Skip to main content

Create git hooks with ease using a simple configuration file in a git project

Project description

py-githooks

code linting: flake8 code quality: pytest MIT license CircleCI Coverage Status Dependabot badge

Create git hooks with ease using a simple configuration file in a git project

Install

pip install py-githooks

Usage

  1. Create a .githooks.ini configuration file (If not provided a dummy configuration file will be created).
  2. Add sections based on git hooks names followed by a command property with the shell code you want to run.
  3. Run either python -m python_githooks or githooks in your virtual environment.

Configuration file example:

# .githooks.ini

[pre-commit]
command = pytest --cov

[pre-push]
command = pytest --cov && flake8

Removing a hook

If you already created a hook and now want to remove it, just set the command value to empty, like this:

# .githooks.ini

[pre-commit]
command =

This will not actually physically remove the hook from the git local project, just will make it instantly exit with 0 status code.

Unuse

  1. Running python -m python_githooks --deactivate or githooks --deactivate will stop shimming git hooks but keep the commands in .git/hooks
  2. Run rm .githooks.ini to remove the configuration file (optional).
  3. rm .git/hooks/pre-commit or any other githook to stop them from executing (optional). e.g. rm .git/hooks/*

License

py-githooks is MIT-licensed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py-githooks-1.1.1.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

py_githooks-1.1.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file py-githooks-1.1.1.tar.gz.

File metadata

  • Download URL: py-githooks-1.1.1.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.2.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for py-githooks-1.1.1.tar.gz
Algorithm Hash digest
SHA256 7be404d01ab489a883440300884b8ea89ad98bf7f159b6598136ea67e39ff704
MD5 3ca9d6311f4ed950337cf17e62b7e964
BLAKE2b-256 07b8c294e740f080e2cb812a844ddbaa16deabf2080a1d2f8adfa7aba74b3ccf

See more details on using hashes here.

File details

Details for the file py_githooks-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: py_githooks-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.2.0 keyring/23.4.1 rfc3986/1.5.0 colorama/0.4.4 CPython/3.6.6

File hashes

Hashes for py_githooks-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 23adc01f3042fab2e38da2ca97e14ba066b7f2d89b8e53ec5358c71850dd7a18
MD5 1acfa7758ec863e08769808e6b585c10
BLAKE2b-256 a411d3ab177ea46a0a6d8a016fd4f6bba28b938752faaea459b34b44bc80f945

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page