-
Notifications
You must be signed in to change notification settings - Fork 97
Add entrypoints to setup.py #332
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
Looks like the tests aren't passing on Windows, @martindurant.
|
I guess we can always |
@martindurant, that subsequently fails since the codec isn't registered:
I assume the fixture isn't setup to be imported on Windows. |
Tried it on ubuntu-under-WSL and I don't see any error. I can't tell, but since the CI job uses bash, I assume I am doing the same thing it is (i.e., not gitbash or something weird). |
Apparently is was also previously failing on the other platforms, @martindurant. Now it's only failing on ubuntu and macos. 🤷🏽 |
I just can't get it to fail :| |
|
@@ -370,6 +370,7 @@ def run_setup(with_extensions): | |||
maintainer_email='[email protected]', | |||
url='https://github.com/zarr-developers/numcodecs', | |||
license='MIT', | |||
zip_safe=False, |
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.
This might not be needed. Just trying something 🍀
That said, we probably already should have had this given we have shared libraries
Or at least shared libraries misbehaving was what had usually prompted this before. Maybe it is not as relevant anymore
Knowing this is breaking condo-forge space, thoughts on getting the addition of |
You define your own tests in conda-forge. Some packages just test that the imports work, others run the whole test suite. |
We run the full test suite in conda-forge Edit: Think to Josh's point, we run |
Should we, in the end, ignore entrypoints and use builtins only? Like the following: out = []
for dist in importlib.metadata.distributions():
eps = [ep for ep in dist.entry_points if ep.group == "numcodecs.codecs"]
if eps:
out.extend(eps) This takes 0.1s on my bloated env, and we only do it once, all taken up by path-string manipulating and config file parsing; however, nothing is cached, so other packages that do this kind of thing (e.g., intake) would end up repeating the work. |
95467c5
to
01e19e7
Compare
@martindurant @jakirkham thoughts on xfailing like this? |
Well, OK; but it would be good to know if any real situations face this problem! I suppose we may start to see reports as people use entrypoints-based codecs, perhaps via kerchunk. |
Definitely! But the current situation is breaking downstream already. |
Sounds like you should hit the big green button, @joshmoore |
It might be worth configuring automerge and/or disabling the requirement to update PRs to latest. Just a thought 🙂 |
Created #343 Merging. |
0.10.0 has broken conda-forge builds. Propose for a quick 0.10.1 release.
see:
entrypoints
requirement in next release conda-forge/numcodecs-feedstock#82TODO:
tox -e py39
passes locallytox -e docs
passes locally