-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
On Travis, follow package dependency graph to expand package list. #2487
Conversation
@dhermes can you fix the conflicts? |
Using boilerplate code snippet in each setup.py to load the requirements.txt and adding the requirements.txt file to MANIFEST.in file.
31d2f51
to
f2b87af
Compare
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.
I am -1 on the "parse requirements.txt
" approach:
- The
requirements.txt
format is effectively an internal implementation detail ofpip
: they provide no public API for parsing it. - In the words of the PyPA docs and @dstufft, it is intended to support "application deployments", not as a substitute driver for
install_requires
/ "library requirements."
I believe we would be better off leaving install_requires
as the definitive version spec for the library, and using the pkg_resources
API in our scripts to get the dependency metadata we need.
/cc @jonparrott
@tseaver SGTM. @jonparrott and I discussed and I view I'll whip up a proof of concept that parses our |
@dhermes To do the analysis on Travis, we are going to have them installed somewhere, likely into a |
To make computing the dependency graph easier I moved the requirements of each package into a
requirements.txt
file.I'm happy to instead write a custom
setup.py
parser but decided that the route of less code was "better" in some sense.