Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(below is also in the README.md)
Managing dependencies
clean-python
has all of its dependencies pinned, because in that way the automated tests runin the same environment that the application that uses
clean-python
. The requirements are automaticallyupdated each week by the GH Actions script located in
.github/workflows/bump.yml
.This works as follows:
requirements/*.in
files. Mostly, they do not have version specifies.a single requirement file
all.txt
from all*.in
files together. We use pip-tools for that(see https://github.com/jazzband/pip-tools).
*.in
file, a requirements file is generated. This requirement file is constrained tothe consistent set generated in the previous step using
-c all.txt
.For instance the
fastapi.txt
is generated fromfastapi.in
.pyproject.toml
refers to requirement files from itsdependencies
andoptional-dependencies
section. Each optional dependency has its own requirement file.
The result of this is that you can install
clean-python
with any combination of optional dependencies.