Ideally the requirements.txt and setup.py's core dependencies should have different version pins; setup.py should have the broadest definitions possible, usually with >= or <= or *s, and requirements.txt should be pinned to exact versions. But it doesn't seem like this is necessary or possible on this project. The greater danger is the two lists getting out of sync, which is what centralizing in setup.py would do.
Moving dev dependencies to setup.py seems to be the best-practice approach these days, versus having a separate requirements file for the development/testing environment. Plus, then you can have more concise development setup commands; pip install -e .[dev] will install all developer libraries and all core libraries.
@palewire, following up since you didn't mention this commit one way or another in your PR closure: https://github.com/newsdev/elex/pull/322/commits/017fca0f9ca0abc5018e6d31c959b01c5e87e04d
requirements.txt
andsetup.py
's core dependencies should have different version pins;setup.py
should have the broadest definitions possible, usually with>=
or<=
or*
s, andrequirements.txt
should be pinned to exact versions. But it doesn't seem like this is necessary or possible on this project. The greater danger is the two lists getting out of sync, which is what centralizing insetup.py
would do.setup.py
seems to be the best-practice approach these days, versus having a separaterequirements
file for the development/testing environment. Plus, then you can have more concise development setup commands;pip install -e .[dev]
will install all developer libraries and all core libraries.Thoughts, all?