Docker image to run pre-commit on Python apps/libraries
| fake_python_module | ||
| .gitignore | ||
| .pre-commit-config.yaml | ||
| .pre-commit-pylint | ||
| .yamllint.yml | ||
| Dockerfile.common | ||
| Dockerfile.common-vars | ||
| Dockerfile.debian11 | ||
| Dockerfile.debian12 | ||
| Dockerfile.debian13 | ||
| README.md | ||
Docker image to run pre-commit on Python apps/libraries
Debian stable based image with common dependencies to run pre-commit on Python apps/libraries:
- common python packages:
python3-all python3-dev python3-pip python3-venv pylint poetry build-essentialto allow local python package usingpippre-commitandgitcommands- pre-install
pre-commitenvironments forruff,pyupgrade,black,isort,flake8,codespell,yamllint,prettier,pylintandbandit.
To use it:
docker run \
-it --rm \
-v "$(pwd)":/src -w /src \
brenard/python-pre-commit \
pre-commit run --all-files
Note: an example .pre-commit-config.yaml file is provided with Docker image source.
To test it on your project, use to following command:
docker run \
-it --rm \
-v "$(pwd)":/src -w /src \
-v "$(pwd)/.pre-commit-config.yaml":/src/.pre-commit-config.yaml \
brenard/python-pre-commit \
pre-commit run --all-files
Build
# Need to use Dockerfile+ (https://github.com/edrevo/dockerfile-plus)
export DOCKER_BUILDKIT=1
export COMPOSE_DOCKER_CLI_BUILD=1
for deb_version in 11 12 13
do
docker build -t docker.io/brenard/python-pre-commit:debian${deb_version} -f Dockerfile.debian${deb_version} .
done
docker build -t docker.io/brenard/python-pre-commit:latest -f Dockerfile.debian${deb_version} .
Publish
for deb_version in 11 12 13
do
docker push docker.io/brenard/python-pre-commit:debian${deb_version}
done
docker push docker.io/brenard/python-pre-commit:latest