Library for managing git hooks
Library for managing and writing git hooks
in Python using
pyproject.toml for its settings.
Looking for automatic formatting and linting, e.g., with black and pylint,
while creating a git commit using a pure Python implementation? Do you just want
to have your git hook settings in the
pyproject.toml file too?
Welcome to autohooks!
However, they need another interpreter besides python (like husky), require a
different config file besides
pyproject.toml or are too ambiguous (like
pre-commit). pre-commit is written in python but has support hooks written in
all kind of languages. Additionally, it maintains the dependencies by itself and
does not install them in the current environment.
autohooks is a pure python library that installs a minimal
executable git hook.
It allows the decision of how to maintain the hook dependencies
by supporting different modes and stores its settings in the well known
Python 3.8+ is required for autohooks.
Python code formatting via black
Python code formatting via autopep8
Python code linting via pylint
Python code linting via flake8
Python code linting via ruff
Python code linting via mypy
Python import sorting via isort
Running tests via pytest
poetry add --dev autohooks autohooks-plugin-black autohooks-plugin-pylint poetry run autohooks activate --mode poetry poetry run autohooks plugins add autohooks.plugins.black autohooks.plugins.pylint
The output of
autohooks activate should be similar to
✓ autohooks pre-commit hook installed at /autohooks-test/.git/hooks/pre-commit using poetry mode.
Autohooks has an extensible plugin model. Each plugin provides different functionality which often requires to install additional dependencies.
For managing these dependencies currently three modes are supported by autohooks:
pythonpathfor dependency management via pip
poetryfor dependency management via poetry (recommended)
pipenvfor dependency management via pipenv
These modes handle how autohooks, the plugins and their dependencies are loaded during git hook execution.
This project is maintained by Greenbone AG.
Copyright (C) 2019 - 2023 Greenbone AG
Licensed under the GNU General Public License v3.0 or later.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for autohooks-23.7.0-py3-none-any.whl