-
Notifications
You must be signed in to change notification settings - Fork 532
[MRG] Fix prov and rdflib in nipype #2701
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
Conversation
* upstream/master: (42 commits) tst+fix: do not save empty tar.gz file + use fastest gzip compression tst+enh: update neurodocker version + retry building base image fix: use gzip compression -6 instead of -1 [skip ci] clarify `new plugin_arg` description [ENH] Set maxtasksperchild in MultiProc Pool fix: ensure encoding when opening commit info add jakub kaczmarzyk (mit) generate dockerfiles in ci + rm dockerfiles fix: included testing data fix: missing comma fix: testing for non-developer installation use nipype/nipype repo instead of kaczmarj/nipype enh: optimize + use nipype/nipype dockerhub repo regenerate dockerfiles with base nipype/nipype:base FIX: T2/FLAIR inputs not mutually exclusive make specs ENH: Enable recon-all -FLAIR/-FLAIRpial Fix logging in utils and algorithms. Fix logging in dipy interface. Fix logging formatting in several interfaces. ...
* master: (1016 commits) RF: Use runtime.cwd in Rename Add gitter and slack channels Update link to mailing list Update links to user and developer help forums CI: Install nipy dependencies when installing AFNI/FSL from NeuroDebian CI: Remove non-working Circle filters CI: Attempt again to ignore travis branches CI: Separate matrix for 3.4 CI: Ignore branches, not tags CI: Move tests to Xenial CI: Do not run Circle tests on Travis-focused branches [skip ci] Install Release Drafter CI: Try Python 3.7 matrix entry CI: Test 3.7-dev, remove fmri extra from Travis MAINT: Bump version to 1.1.3-dev REL: 1.1.2 CI: Only run PyPI pre-checks on rel/* and tags DOC: Update changelog FIX: Pybids grabbids API is going away importing InputMultiObject ...
* upstream/master: Change in normalize_mc_params fix/enh: added the colorfa as an output in DTI
@satra I'm assuming this isn't going to make it into 1.1.3? |
@effigies - when do you want to cut 1.1.3 ? |
Monday. (My targets have been the last Mondays of every month.) |
thanks @effigies - i'm running the test locally to try and replicate the issue. should be able to update this PR with a yay/nay in the next day or two. |
the good news is that it doesn't crash locally with the special rdflib and the updated prov. i need to figure out how to get the setup procedure install the special rdflib. simply adding it to requirements was insufficient. this may need to be added to setup.py as well. will see if that works. |
Codecov Report
@@ Coverage Diff @@
## master #2701 +/- ##
==========================================
+ Coverage 66.92% 67.68% +0.76%
==========================================
Files 340 340
Lines 43144 43364 +220
Branches 5349 5448 +99
==========================================
+ Hits 28876 29353 +477
+ Misses 13528 13304 -224
+ Partials 740 707 -33
Continue to review full report at Codecov.
|
@effigies - this passes. if you can take a look at the changes, i would appreciate a notion of how we make this pip installable as a wheel, and enable the corresponding conda changes. this dependence on a fork of rdflib is super frustrating! |
I think the cleanest option would be to give the rdflib fork a PyPI name that it can push wheels to. For conda, as the feedstock maintainer, you could see about giving it some kind of tag that we can depend on that hopefully would not force-upgrade people happily using 4.2.2. |
@tgbugs - do you think this would be possible for your rdflib fork? |
Ya, I can create https://pypi.org/project/neurdflib/ if that works for you all. |
@tgbugs - let's give it a try. |
Ok, it's up. I may still have had setup.py in dev mode instead of release mode, so if there are any issues with the rdflib version printing let me know and I can fix it. |
that installed fine, but i think i can't force it replace hmmm - will need to think about a good path forward. |
|
Maybe we need a PEP to support the equivalent of |
Imports don't have to change. It works with |
the problem is that
|
Hrm. The hackish way to fix it is to install prov, uninstall rdflib, and then install neurdflib. |
We can get there on a given system, but what we need to work for users is |
I guess the question is if there is a way to have the |
EDIT: The above is false, I forgot to run |
@tgbugs - i did test in a container and it seemed to work - just pushed the changes here to test on circle. |
Huh, ok. Maybe it did work, my concern would be that the order may not be deterministic, so sometimes neurdflib would install first, and other times rdflib would. |
You could try making |
Will we need to make a |
I have never used conda so I don't know whether it will pull in packages from pypi that are listed in |
this is what the recipe looks like: https://github.com/conda-forge/nipype-feedstock/blob/master/recipe/meta.yaml#L18 so the only place rdflib comes in is the run section, i'll have to check if they have changed what it can be. in the past the dependency structure had to be a version on the forge. |
I see nothing in the docs that indicates conda can pull in from pip during the installation. So I think we would need a |
Ok will take a look. EDIT: can use this as a base https://github.com/conda-forge/rdflib-feedstock |
At this point I'm a little worried about trying to get the conda packages aligned before Monday. I think if we update the dependency, and the conda package is not there, we're just asking for things to break, such as We could push the release off by a day or two, if that would help. Or we could plan on a 1.1.4 release that is just 1.1.3 + #2701, and we can kick off that process as soon as neurdflib exists on conda-forge. |
@effigies - i agree that this is not essential for this release. it's good to know that we have some hackish solutions. we can punt this to 1.1.4, together with an actual alignment of provenance to current NIDM-W. and perhaps we will get a response on our comment in the rdflib PR. |
Sounds good. |
@satra did you ever encounter an error like this while trying to build rdflib for conda? https://ci.appveyor.com/project/conda-forge/staged-recipes/build/1.0.28125 I have an inkling that it is because of the colons in the filename, since it works when I test using 7zip on windows which replaces the colons with underscores. |
@tgbugs - don't know why that error would happen now relative to all the rdflib builds - i would ping the conda maintainers for help. |
The recipe checks have passed so now we just wait for the feedstock repo to appear I think. |
@satra What's left to do on this one? |
feedstock is available now. so i'm fine with this upgrade path. anything that you can think of that we should improve. |
I'm feeling lucky. |
Fix build by dropping a patch for an issue that is already fixed. See: nipy/nipype#2701 Also had to disable tests. See: nipy/nipype#2839
* pythonPackages.nipype: 1.1.5 -> 1.1.7 Fix build by dropping a patch for an issue that is already fixed. See: nipy/nipype#2701 Also had to disable tests. See: nipy/nipype#2839 * pythonPackages.xvfbwrapper: disable tests See: cgoldberg/xvfbwrapper#30
this is just a test to get circle feedback on workflows.