Skip to content
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

Automatically bump versions #100

Closed
wants to merge 7 commits into from
Closed

Automatically bump versions #100

wants to merge 7 commits into from

Conversation

caspervdw
Copy link
Contributor

@caspervdw caspervdw commented Jan 29, 2025

(below is also in the README.md)

Managing dependencies

clean-python has all of its dependencies pinned, because in that way the automated tests run
in the same environment that the application that uses clean-python. The requirements are automatically
updated each week by the GH Actions script located in .github/workflows/bump.yml.

This works as follows:

  • Requirements are specified in requirements/*.in files. Mostly, they do not have version specifies.
  • To ensure that all optional requirements are consistent with one another, we first generate
    a single requirement file all.txt from all *.in files together. We use pip-tools for that
    (see https://github.com/jazzband/pip-tools).
  • Then for each *.in file, a requirements file is generated. This requirement file is constrained to
    the consistent set generated in the previous step using -c all.txt.
    For instance the fastapi.txt is generated from fastapi.in.
  • The pyproject.toml refers to requirement files from its dependencies and optional-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.

@caspervdw
Copy link
Contributor Author

Superseded by #101

@caspervdw caspervdw closed this Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant