-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JOSS Review] Bits and Pieces - Version 2.2 #31
Conversation
Thank you very much for the JOSS review and the detailed feedback on implementation, documentation, and paper 👍 If there are still issues or something still needs to be sufficiently improved, please feel free to point them out. Also, many thanks to you for pointing out and detailing the sign issue of the accelerations 👍 You "must" review (approve) this PR so that it can be merged 🙃 Any comments are welcome. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for pushing all these changes @schuhmaj! I think this satisfies my requirements related to the JOSS review process.
I left one minor suggestion below, feel free to commit or edit it.
One thing I still noticed is I couldn't manage to install the Python package from sources with pip install .
if Ninja is not installed. Even after the changes you made to setup.py
in this branch. I don't think this is major issue for the JOSS review (I can actually install it with ninja-build
installed in my system). But I wanted to raise the issue so you can keep investigating why this is happening. I can post some details in #22 if you desire.
Thanks again for these fixes. I enjoyed reviewing this submission.
Co-authored-by: Santiago Soler <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @schuhmaj !
Thanks for taking care of this 🙏 However, it is extremely difficult for me with all these changes and issues mixed in one PR to discern which change is supposed to do what and to resolve which issue.
From a quick glance, I suspect, the majority of the changes are doc changes and data changes?
If you want me to have a meaningful look I would ask you to maybe at least split it in
- code changes
- doc changes
- For data I would also suggest to use LFS or similar. Just looking at the txts almost crashes my browser :D
Otherwise I can only have a very cursory glance at the code as I have no idea how to connect intent of the change with the change 🙏
Sorry for being complicated :D
@gomezzz Sorry for the confusion; I totally agree that it got crowded. In theory, it should be sufficient to review the three "actual code changes" and review the new docs (which are temporarily published under the given link to avoid the need to go through the all the (The incorporated change of santisoler is not included in the temporary build of the docs) Code ChangesActual Code Changes
Pseudo Code Changes
Documentation
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for elaborating! Okay, that actually makes it pretty tangible. My only remaining concern now is re the comment I left of introducing a non-breaking change that still fundamentally changes results. We can address it here or maybe it is better to merge this and have a separate issue + PR for it?
@@ -66,7 +66,7 @@ namespace polyhedralGravity { | |||
|
|||
//10. Step: Final expressions after application of the prefix (and a division by 2 for the potential) | |||
potential = (potential * prefix) / 2.0; | |||
acceleration = acceleration * prefix; | |||
acceleration = acceleration * (-1.0 * prefix); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One thing I am mildly worried about is that once you push this if somebody built some code based on the old version and updates / reinstalls their env they will get wrong results without knowing about the change. It would be desirable to make their code break in that case. Maybe we could rename some function or something along the way to make this a breaking change that shows a message that the sign has changed if the they try to call the old version of this function in this release?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, I agree; however, I am unsure about how.
A warning
or rename/ depcreation
seems un-intuitive.
The best I could imagine would be something like a verbose
option being True
by default. The option could provide information about recent changes but also enable logging.
evaluate(..., verbose=False)
.
So, basically, a new feature.
On the other hand, simply having more options also seems a bit counterintuitive and contradicts the "slim, easy-to-use interface idea."
Not sure. Anyway, I will merge this so that we can get the JOSS paper rolling.
The verbose
option might be something that fits nicely with #34, which will adapt the signature.
For now, I hope that a user who notices a different behavior's first idea is to check the Changelog—and there, I will definitely put the change in bold letters (Also, the package description now states which convention we follow).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gomezzz Or, alternatively, we increase the major version?
So, not 2.2
, but rather 3.0
. This is usually also an indicator of "breaking changes" and is much more recognizable.
Thanks a lot for the review santisoler and gomezzz 🙂 Let's get this merged! |
Changelog
Documentation
Have a look at the new deployed docs as temporary site
(This simplifies the review process. I'll remove that once the PR is merged.)
README.md
, I fully removed the link.README.md
examplesquick_python.rst
ninja
dependency was hardcoded with an opt-out by setting theCMAKE_GENERATOR
environment variable beforehandpip
ninja
is not foundCMAKE_GENERATOR
environment variable if setninja
if installedREADME.md
,Jupyter Notebook
,CONTRIBUTING.md
) which now resides on GitHub Pagesenvironment.yml
for the Jupyter Notebookenvironment.yml
for ARM-based systemsREADME.md
Implementation
TODOs when merged:
Improvements based on openjournals/joss-reviews#6384