define_03_deps

Dependency Management Automation for Python Projects.

This module provides comprehensive automation for managing project dependencies using `Poetry <<https://python-poetry.org/>`_, including locking, installation, and export requirements.txt functionalities.

class pywf_open_source.define_03_deps.PyWfDeps[source]

Namespace class for managing project dependencies using Poetry.

poetry_lock(real_run: bool = True, verbose: bool = True)[source]

Lock project dependencies defined in pyproject.toml.

Resolves and writes exact dependency versions to poetry.lock file. This ensures reproducible builds across different environments. You have to run this everytime you changed the pyproject.toml file. And you should commit the latest poetry.lock file to git.

Run:

poetry lock

Ref:

poetry_install_only_root(real_run: bool = True, verbose: bool = True)[source]

Install only the package source code in editable mode.

Skips installing any external dependencies, useful for development and testing package structure.

Run:

poetry install --only-root

Ref:

poetry_install(real_run: bool = True, verbose: bool = True)[source]

Install main dependencies and the package in editable mode.

Installs core project dependencies without development or optional groups.

Run:

poetry install

Ref:

poetry_install_dev(real_run: bool = True, verbose: bool = True)[source]

Install development dependencies. Adds dependencies from the [tool.poetry.group.dev.dependencies] group to the project environment.

Run:

poetry install --extras dev

Ref:

poetry_install_test(real_run: bool = True, verbose: bool = True)[source]

Install test dependencies. Adds dependencies from the [tool.poetry.group.test.dependencies] group to the project environment.

Run:

poetry install --extras test

Ref:

poetry_install_doc(real_run: bool = True, verbose: bool = True)[source]

Install documentation build dependencies. Adds dependencies from the [tool.poetry.group.doc.dependencies] group to the project environment.

Run:

poetry install --extras doc

Ref:

poetry_install_auto(real_run: bool = True, verbose: bool = True)[source]

Install automation dependencies. Adds dependencies from the [tool.poetry.group.auto.dependencies] group to the project environment.

Run:

poetry install --extras auto

Ref:

poetry_install_all(real_run: bool = True, verbose: bool = True)[source]

Install all dependency groups.

Adds dependencies from all configured groups to the project environment.

Run:

poetry install --all-extras

Ref:

poetry_export(with_hash: bool = False, real_run: bool = True, verbose: bool = True)[source]

Run poetry export --format requirements.txt ... command and write the sha256 hash of the current poetry.lock file to the cache file.

Run:

poetry export --format requirements.txt --output requirements.txt --without-hashes
poetry export --format requirements.txt --output requirements-dev.txt --extras dev --without-hashes
poetry export --format requirements.txt --output requirements-test.txt --extras test --without-hashes
poetry export --format requirements.txt --output requirements-doc.txt --extras doc --without-hashes
poetry export --format requirements.txt --output requirements-automation.txt --extras auto --without-hashes
Parameters:
  • current_poetry_lock_hash – the sha256 hash of the current poetry.lock file

  • with_hash – whether to include the hash of the dependencies in the requirements.txt file.