-
-
Notifications
You must be signed in to change notification settings - Fork 36
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
[REVIEW]: WEdiff: A Python and C++ package for automatic differentiation #820
Comments
Hello human, I'm @whedon. I'm here to help you with some common editorial tasks. @highlando, it looks like you're currently assigned as the reviewer for this paper 🎉. ⭐ Important ⭐ If you haven't already, you should seriously consider unsubscribing from GitHub notifications for this (https://github.com/openjournals/joss-reviews) repository. As a reviewer, you're probably currently watching this repository which means for GitHub's default behaviour you will receive notifications (emails) for all reviews 😿 To fix this do the following two things:
For a list of things I can do to help you, just type:
|
|
@highlando, @kyleniemeyer - please try and carry out your reviews soon please 🙏 |
I'm done with my review... Didn't check 3 boxes. Which, however, I don't find critical.
I had a few minor issues and wishes for improvements, which were resolved immediately: |
Thanks @highlando for your review! I've added a few guidelines to the repo regarding contributions/support now. I've also added DOIs to the references that have them. Let me know if I should add the statement of need also to the documentation or if it is ok in the JOSS paper. |
@whedon commands |
Here are some things you can ask me to do:
|
@whedon generate pdf |
|
@ctdegroot @arfon I'm perfectly fine with everything!!! |
@kyleniemeyer - when do you think you might be able to complete your review by? |
@arfon - since we haven’t heard anything from @kyleniemeyer in a couple of months, I’m wondering what the next steps in the process are? |
@arfon @ctdegroot sorry for my lack of response. I will complete my review by the end of the week. |
@kyleniemeyer - Great! Thanks for your quick reply! |
👋 @kyleniemeyer - friendly reminder to complete this review when you get a chance please :-) |
Some comments (will add more as I go) Installation infoThe installation info is pretty specific to Linux machines. Also, perhaps installation would be made easier by creating a conda package for the software? Right now installation is all manual, including dependencies, and something like this would make it a lot easier. I did run into a problem when building the software, which I submitted as an issue: https://bitbucket.org/cdegroot/wediff/issues/4/build-error-static-vs-shared |
Thanks for the comments so far. I would like to be able to create a conda package, but I have not yet figured out a way to do so, given that it also relies on compiled C++ libraries. I will continue to look into this because I agree that the installation procedure could be improved, if that is possible. |
@ctdegroot conda is not limited to Python packages—you can definitely include C++ libraries. For example, the Cantera package also uses scons to build from source, and requires boost (plus a few other libraries): https://github.com/Cantera/conda-recipes/tree/master/cantera |
@kyleniemeyer Thanks for the link; it looks helpful. I'll need to spend some time to implement that for my code. |
@ctdegroot just a suggestion, but it would definitely help. |
@kyleniemeyer I agree with the suggestion. I've been looking to do something like this anyways. |
For the paper, I've submitted a few minor fixes myself (https://bitbucket.org/cdegroot/wediff/pull-requests/1/), and have some additional comments:
|
Thanks; I've accepted your changes in the pull request. I'll look into these additional items as soon as I can. I'm making some progress on the conda pacakge as well, but have no idea what is going on with the swig error at this point in time (we have the same platform and versions of everything and mine works fine). |
@ctdegroot After playing around with it a bit more, and installing swig using homebrew rather than miniconda, I was able to get it to build! |
@kyleniemeyer Great! Sorry it wasn't very convenient to build. Hopefully the conda package will be a lot easier! |
@kyleniemeyer I've made all of the requested changes to the paper and the README. I haven't had much of a chance yet to work on the conda package yet, but it will be coming soon. |
@kyleniemeyer Ok, I finally got the conda recipe working. It took a really long time to figure out, but there was an issue with conda doing static linking with the Python library and swig doing dynamic linking. Long story short, I finally got rid of a pesky segfault. The package can be found here: https://anaconda.org/cdegroo5/wediff Right now I've just done the MacOS version, but the Linux one should be straightforward. I'm not planning to look into Windows support for the time being. Can you check that it works for you? In order to get the conda recipe working, I had to change the install procedure somewhat, but it made it more robust. I will be updating the install instructions in the README shortly. Can you let me know if there are any more issues that need to be addressed before closing out this review? |
Hi @ctdegroot, I could install the conda package fine, but ran into some problems when trying to import within python:
(To replicate, I created a new conda environment called |
@kyleniemeyer That was my mistake. It was picking up the _fwd_diff file from another installation, not the conda one. I have uploaded the package again and I think it should work. Works on my system with the other installation removed. |
@ctdegroot I'm sorry, but I just tried again and got the same error as above, after removing the wediff install and then reinstalling it (and confirming that no other package is present, at least via python). Could it still be picking up the other installed package on your system? |
@kyleniemeyer Just checked by importing wediff and issuing command "wediff._fwd_diff.file", which confirms that it is the one installed by conda. So, it's working on my system. |
@kyleniemeyer Can you check if this file exists on your system? /usr/local/miniconda3/envs/wediff/lib/python3.7/site-packages/wediff/_fwd_diff.so |
@ctdegroot the contents of |
@kyleniemeyer I've just uninstalled from my system and verified that the file in question is removed. After reinstalling it is back and the package works. Could you perhaps try installing again? Maybe somehow the downloaded package was cached from the previous version? I don't know all of the details of how conda packages work, but it seems like you are getting the old version somehow. |
@kyleniemeyer If you download the tar.bz2 file from https://anaconda.org/cdegroo5/wediff/files you can see that the _fwd_diff.so file should be in the site-packages directory. |
@ctdegroot got it! I had to clean conda's cache, after which reinstalling the package worked fine. (I imagine this is because the fixed package had the same version number, so conda didn't think it needed to download anything. ) Last change needed: you should add a mention of the conda package as another way to install wediff in the README. With that, I'm happy to recommend acceptance. |
@kyleniemeyer Ok, great! I've updated the README and tagged a version v1.0 to match with the paper. Thanks for all of your feedback here! |
@arfon I recommend accepting now! |
@ctdegroot - At this point could you make an archive of the reviewed software in Zenodo/figshare/other service and update this thread with the DOI of the archive? I can then move forward with accepting the submission. |
@whedon set 10.5281/zenodo.1495614 as archive |
OK. 10.5281/zenodo.1495614 is the archive. |
@whedon accept |
|
Check final proof 👉 openjournals/joss-papers#78 If the paper PDF and Crossref deposit XML look good in openjournals/joss-papers#78, then you can now move forward with accepting the submission by compiling again with the flag
|
@whedon accept deposit=true |
|
🚨🚨🚨 THIS IS NOT A DRILL, YOU HAVE JUST ACCEPTED A PAPER INTO JOSS! 🚨🚨🚨 Here's what you must now do:
Any issues? notify your editorial technical team... |
@highlando, @kyleniemeyer - many thanks for your reviews here ✨ @ctdegroot - your paper is now accepted into JOSS! ⚡🚀💥 |
🎉🎉🎉 Congratulations on your paper acceptance! 🎉🎉🎉 If you would like to include a link to your paper from your README use the following code snippets:
This is how it will look in your documentation: We need your help! Journal of Open Source Software is a community-run journal and relies upon volunteer effort. If you'd like to support us please consider doing either one (or both) of the the following:
|
Submitting author: @ctdegroot (Christopher DeGroot)
Repository: https://bitbucket.org/cdegroot/wediff
Version: N/A
Editor: @arfon
Reviewer: @highlando, @kyleniemeyer
Archive: 10.5281/zenodo.1495614
Status
Status badge code:
Reviewers and authors:
Please avoid lengthy details of difficulties in the review thread. Instead, please create a new issue in the target repository and link to those issues (especially acceptance-blockers) in the review thread below. (For completists: if the target issue tracker is also on GitHub, linking the review thread in the issue or vice versa will create corresponding breadcrumb trails in the link target.)
Reviewer instructions & questions
@highlando & @kyleniemeyer, please carry out your review in this issue by updating the checklist below. If you cannot edit the checklist please:
The reviewer guidelines are available here: https://joss.theoj.org/about#reviewer_guidelines. Any questions/concerns please let @arfon know.
Review checklist for @highlando
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?Review checklist for @kyleniemeyer
Conflict of interest
Code of Conduct
General checks
Functionality
Documentation
Software paper
paper.md
file include a list of authors with their affiliations?The text was updated successfully, but these errors were encountered: