Open williamh opened 4 years ago
Thanks for asking!
Package requirements are specified in https://github.com/collective/sphinxcontrib-httpexample/blob/master/setup.cfg#L24 as follows
install_requires
are run-time requirementssetup_requires
are build-time-only requirements (when not installed from wheel)test_require
are test-only requirementsif there were known minimum versions for requirements, they would be in setup.cfg. Reasonable setuptools version is required to support declarative package configuration from setup.cfg.
Having pytest-runner
in setup_requires
used to be best practice from pytest documentation, but now I see that it has been deprecated https://pypi.org/project/pytest-runner/ so that may change in the future.
requirement*-files are only for reproducible development environment and you should ignore them in downstream packaging
requirements-unfrozen.txt
has known dependencies with known required version pins to get working development environment
requirements.txt
has the exact versions previously used in development to really ensure reproducible development environment
In the future, when touching this next time, I will change naming of requirement*-files somehow to have separate requirements files (both unpinned and pinned) for Python 2 and Python 3. (I'm not in hurry for breaking Python 2 compatibility).
Ok, thanks for the info. another dependency question. It looks like upstream for simonpercivall/astunparse hasn't been touched in a year. Are you using it on python 3.6 ok, or is there another astunparse I haven't found?
I recall the tests are being run on against 3.6.
There seems to be a newer fork, but I’m not currently able to work for switching to that https://github.com/mbdevpl/typed-astunparse
Notes about the recent changes:
requirements.txt is now a shortest one, but it still contains all development dependencies; setup.cfg is still the truth for runtime dependencies
Python 2.7 and Python 3.9 have tested constraint files
also, I assume this package being broken on Python 3.7 and Python 3.8 because astunparse is probably broken on those; Python 3.9 has ast.unparse, which replaces astunparse
Hello,
I am looking at packaging this software for Gentoo Linux.
I'm a bit uncertain about how your dependencies work. I am aware of requirements.txt, but you also have requirements-unfrozen.txt, which is much shorter than requirements.txt.
In my Gentoo package, what should I list as dependencies -- everything in requirements.txt or requirements-unnfrozen.txt?
Also, can you clarify which dependencies are needed to build, run and test your package?
Thanks much,
William