collective / sphinxcontrib-httpexample

Adds example directive for sphinx-contrib httpdomain
23 stars 20 forks source link

questions about dependencies #51

Open williamh opened 4 years ago

williamh commented 4 years ago

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

datakurre commented 4 years ago

Thanks for asking!

Package requirements are specified in https://github.com/collective/sphinxcontrib-httpexample/blob/master/setup.cfg#L24 as follows

if 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).

williamh commented 4 years ago

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?

datakurre commented 4 years ago

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

datakurre commented 3 years ago

Notes about the recent changes: