GitHub - gabyx/Githooks-Python: Githooks for python development (original) (raw)

Githooks for Python

This repository contains shared repository Git hooks for shell scripts ingithooks/* to be used with theGithooks Manager.

The following is included:

Requirements

Run themcontainerizedwhere only docker is required.

If you want to run them non-containerized, make the following installed on your system:

This works with Windows setups too.

Installation

The hooks can be used by simply using this repository as a shared hook repository inside python projects.See further documentation.

You should configure the shared hook repository in your project to use this repos main branch by using the following .githooks/.shared.yaml :

version: 1 urls:

Hook: pre-commit/1-format/format-python.yaml

Formats all staged files with black.

For temporary using yapf use .githooks/.envs.yaml :

envs: githooks-python: - GITHOOKS_PYTHON_FORMAT_USE_YAPF=1

Hook: pre-commit/2-check/check-python.yaml

Lints all files staged files with flake8.

Scripts

The following scripts are provided:

They can be used in scripts by doing the following trick inside a repo which uses this hook:

shellHooks=$(git hooks shared root ns:githooks-python) "$shellHooks/githooks/scripts/.sh"

Testing

The containerized tests in tests/* are executed by

or only special tests steps by

tests/test.sh --seq 001..010

For showing the output also in case of success use:

tests/test.sh --show-output [other-args]