pre-commit hooks

pre-commit hooks #

pre-commit is a framework for building and running git hooks. See the official documentation for more information: pre-commit.com

This document provides a list of available pre-commit hooks provided by Poetry.

Note
If you specify the args: for a hook in your .pre-commit-config.yaml, the defaults are overwritten. You must fully specify all arguments for your hook if you make use of args:.
Note
If the pyproject.toml file is not in the root directory, you can specify args: ["-C", "./subdirectory"].

poetry-check #

The poetry-check hook calls the poetry check command to make sure the poetry configuration does not get committed in a broken state.

Arguments #

The hook takes the same arguments as the poetry command. For more information see the check command.

poetry-lock #

The poetry-lock hook calls the poetry lock command to make sure the lock file is up-to-date when committing changes.

Arguments #

The hook takes the same arguments as the poetry command. For more information see the lock command.

poetry-export #

The poetry-export hook calls the poetry export command to sync your requirements.txt file with your current dependencies.

Warning
This hook is provided by the Export Poetry Plugin.
Note
It is recommended to run the poetry-lock hook or poetry-check with argument --lock prior to this one.

Arguments #

The hook takes the same arguments as the poetry command. For more information, see the export command.

The default arguments are args: ["-f", "requirements.txt", "-o", "requirements.txt"], which will create/update the requirements.txt file in the current working directory.

You may add verbose: true in your .pre-commit-config.yaml in order to output to the console:

hooks:
-   id: poetry-export
    args: ["-f", "requirements.txt"]
    verbose: true

Also, --dev can be added to args to write dev-dependencies to requirements.txt:

hooks:
-   id: poetry-export
    args: ["--dev", "-f", "requirements.txt", "-o", "requirements.txt"]

poetry-install #

The poetry-install hook calls the poetry install command to make sure all locked packages are installed. In order to install this hook, you either need to specify default_install_hook_types, or you have to install it via pre-commit install --install-hooks -t post-checkout -t post-merge.

Arguments #

The hook takes the same arguments as the poetry command. For more information, see the install command.

Usage #

For more information on how to use pre-commit, please see the official documentation.

A minimalistic .pre-commit-config.yaml example:

repos:
-   repo: https://github.com/python-poetry/poetry
    rev