Skip to content
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

Running "python -m pip check" in every Python package #962

Open
1 of 4 tasks
xhochy opened this issue Jan 28, 2020 · 12 comments
Open
1 of 4 tasks

Running "python -m pip check" in every Python package #962

xhochy opened this issue Jan 28, 2020 · 12 comments

Comments

@xhochy
Copy link
Member

xhochy commented Jan 28, 2020

Now that we have automerge support and that the newer pip versions support pip check to check for a consistent environment, should we add this as a test to all Python packages?

I have added it to some packages and I see it failing quite often as downstream miss dependency updates when they do version updates.

Todos:

@jakirkham
Copy link
Member

@CJ-Wright @beckermr, what do you think?

Is there a way to automatically add this to recipes?

@ocefpaf
Copy link
Member

ocefpaf commented Jan 28, 2020

Is there a way to automatically add this to recipes?

We need three things:

  • a migrator for the existing recipes
  • a lint check to ensure future recipes will have it
  • a default test added in the skeleton (ping @marcelotrevisani)

@marcelotrevisani
Copy link
Member

Now that we have automerge support and that the newer pip versions support pip check to check for a consistent environment, should we add this as a test to all Python packages?

I have added it to some packages and I see it failing quite often as downstream miss dependency updates when they do version updates.

Do you know since which version pip has this feature?

@xhochy
Copy link
Member Author

xhochy commented Jan 28, 2020

One of the example where this recently popped up: conda-forge/watchdog-feedstock#14 (it broke conda-forge/dagster-feedstock#8)

@xhochy
Copy link
Member Author

xhochy commented Jan 28, 2020

Now that we have automerge support and that the newer pip versions support pip check to check for a consistent environment, should we add this as a test to all Python packages?
I have added it to some packages and I see it failing quite often as downstream miss dependency updates when they do version updates.

Do you know since which version pip has this feature?

It was added in pip=9 https://pip.pypa.io/en/stable/news/#id286

@CJ-Wright
Copy link
Member

I would structure this as a mini migratior so it can run piggy back on the main migratiors.

@scopatz
Copy link
Member

scopatz commented Jan 28, 2020

This would be great to have, but only for packages that use pip

@xhochy
Copy link
Member Author

xhochy commented Jan 29, 2020

This would be great to have, but only for packages that use pip

This check is also working for Python packages that are installed without pip. This checks the general Python environment for consistency on their declared dependencies, independent of their installer.

@scopatz
Copy link
Member

scopatz commented Jan 30, 2020

@xhochy - I guess I am ignorant here, then. How does it work?

@xhochy
Copy link
Member Author

xhochy commented Feb 5, 2020

It retrieves the current working_set from https://setuptools.readthedocs.io/en/latest/pkg_resources.html#workingset-objects and checks it for consistency. AFAIK this based on information in $CONDA_PREFIX/lib/pythonX.X/site-packages/*.dist-info/METADATA.

@djsutherland
Copy link
Contributor

Related: regro/cf-scripts#519

@beckermr
Copy link
Member

beckermr commented Feb 7, 2020

Alright, we have a piggybakc migrator going for this. It will slowly creep into the feedstocks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

8 participants