Skip to content

jvrana/poetry-hooks

Repository files navigation

Poetry Hooks

CI codecov Language grade: Python Total alerts Code style: black pre-commit

Pre-commit hooks for poetry.

Version up hook

Exports pyproject.toml project information to <pkg>/_version.py. The tool.poetry.packages key is used. If multiple entries are found, the first entry is used. Else, tool.poetry.name is used as the main package.

-   repo: https://github.com/jvrana/poetry-hooks
    rev: 0.1.0
    hooks:
    -   id: poetry-version-up

You can change the default filename of the created version file by adding the option to the pyproject.toml file (must end in .py):

[tool.poetryhooks]
version_up_name = "_pkg_version.py"

Export hook

Exports pyproject.toml to a requirements.txt file(s). Multiple requirement.txt files are supported.

Basic usage:

repos:
-   repo: https://github.com/jvrana/poetry-hooks
    rev: 0.1.0
    hooks:
    -   id: poetry-export

Exporting basic requirements + development requirements with custom filename.

repos:
-   repo: https://github.com/jvrana/poetry-hooks
    rev: 0.1.0
    hooks:
    -   id: poetry-export
        args: ["--requirements", "requirements-dev.txt", "--poetry='--dev'"]

Exporting extra requirements:

repos:
-   repo: https://github.com/jvrana/poetry-export-hook
    rev: 0.0.1a2
    hooks:
    -   id: poetry-export
        args: ["--requirements", "requirements-docs.txt", "--poetry='-E docs'"]

Verbose:

repos:
-   repo: https://github.com/jvrana/poetry-hooks
    rev: 0.1.0
    hooks:
    -   id: poetry-export
        args: ["-vvv"]

Export basic, development, and doc requirement files:

repos:
-   repo: https://github.com/jvrana/poetry-hooks
    rev: 0.1.0
    hooks:
    -   id: poetry-export
    -   id: poetry-export
        args: ['--requirements', 'requirements-dev.txt', "--poetry='--dev'"]    
    -   id: poetry-export
        args: ['--requirements', 'requirements-docs.txt', "--poetry='--dev -E docs'"]