Simple CLI tool to check and update pre-commit hooks.
Project description
pre-commit-update
pre-commit-update is a simple CLI tool to check and update pre-commit hooks.
Table of contents
1. Reasoning
pre-commit is a nice little tool that helps you polish your code before releasing it into the wild.
It is fairly easy to use. A single pre-commit-config.yaml file can hold multiple hooks (checks) that will go through
your code or repository and do certain checks. The trick is that file is static and once you pin your hook versions
after a while they get outdated.
pre-commit has a CLI that helps with that by making use of pre-commit autoupdate command so the question is
why the f* are you reading this?
pre-commit-update was created mostly because there is no easy way to update your hooks by using
pre-commit autoupdate and avoiding non-stable (alpha, beta, ...) hook versions. pre-commit-update comes
with a CLI that can be configured to solve that problem - along with other use cases.
Other than that - I was bored ^^
2. Installation
pre-commit-update is available on PyPI:
$ python -m pip install pre-commit-update
Python >= 3.7 is supported.
3. Usage
pre-commit-update currently supports github.com and gitlab.com repositories.
pre-commit-update CLI can be used as below:
Usage: pre-commit-update [OPTIONS]
Options:
-d, --dry-run Dry run only checks for new versions
-a, --all-versions Include alpha/beta versions
-v, --verbose Display complete output
--help Show this message and exit.
If you want to just check for updates (without updating pre-commit-config.yaml), for example, you would use:
pre-commit-update -d
OR
pre-commit-update --dry-run
Pipeline usage example
GitLab job:
pre-commit-hooks-update:
stage: update
script:
- pip install pre-commit-update
- pre-commit-update --dry-run
except:
- main
when: manual
allow_failure: true
NOTE: This is just an example, feel free to do your own configuration
pre-commit hook usage example
You can also use pre-commit-update as a hook in your pre-commit hooks:
- repo: local
hooks:
- id: pre-commit-update
entry: pre-commit-update
language: python
name: pre-commit-update
pass_filenames: false
args: [--dry-run]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pre_commit_update-0.0.3.tar.gz.
File metadata
- Download URL: pre_commit_update-0.0.3.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.11.0 Linux/6.0.6-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9a3c12dff2759409991a46934558107ffd5dce46771124ae5309afcb96e0265
|
|
| MD5 |
e77086e5e885e7d586461344890678e7
|
|
| BLAKE2b-256 |
beb875997c0524dfe28c91a0ea68e59d9591ee2253c68e7e30e7b0329320792e
|
File details
Details for the file pre_commit_update-0.0.3-py3-none-any.whl.
File metadata
- Download URL: pre_commit_update-0.0.3-py3-none-any.whl
- Upload date:
- Size: 8.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.11.0 Linux/6.0.6-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
119b9504047ca6f5dd215cefdc54fbd0ed6f570e356cd1069eaaf78c3d566fdb
|
|
| MD5 |
dd45edecc5c0977855465b6d52b1f1ef
|
|
| BLAKE2b-256 |
ef48f3c90ea9597a95293c8d7994045ca0ff2c144bb3f096cba3cae635d5d5a5
|