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.lockfile. This ensures reproducible builds across different environments. You have to run this everytime you changed thepyproject.tomlfile. And you should commit the latestpoetry.lockfile to git.Run:
poetry lockRef:
poetry lock: https://python-poetry.org/docs/cli/#lock
- 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: https://python-poetry.org/docs/cli/#install
- 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 installRef:
poetry install: https://python-poetry.org/docs/cli/#install
- 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: https://python-poetry.org/docs/cli/#install
- 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: https://python-poetry.org/docs/cli/#install
- 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: https://python-poetry.org/docs/cli/#install
- 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: https://python-poetry.org/docs/cli/#install
- 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 install: https://python-poetry.org/docs/cli/#install
- 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 currentpoetry.lockfile 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.lockfilewith_hash – whether to include the hash of the dependencies in the requirements.txt file.