hooks-vb 0.0.6

Creator: bradpython12

Last updated:

Add to Cart

Description:

hooksvb 0.0.6

Some useful (more or less) git hooks.

Hooks

check-commit-msg
It provides a simple regex check on commit message.
Supported message header formats:
[type]: [description]
[type]([context]): [description]
[type] #[issue_id]: [description]
[type]([context]) #[issue_id]: [description]
Supported message format (if you need a longer commit message):
[header]

[message]
Here type is a specific commit type tag. Recognized types are:
'fix', # bugfix
'feat', 'feature', # feature
'wip', # work-in-progress changes (not ready to use)
'maint', 'maintenance', # code maintenance (dependences, configs)
'backport', # backport to an older branch
'test', 'tests', # code test related
'doc', 'docs', # documentation related
'style' # code style and minor refactoring
The context keyword is optional. It must be in round brackets if present.
You may provide a module name or a service name or any project-specific
information to localize the scope of a problem.
The issue_id must be prepended with # if present and it should match
an bug report / feature request ID connected to this specific commit.
The description is just a short description of your commit. The maximum length
of a description part of a header is 60 symbols.
You also can provide any additional information after the header.
Here are some examples:
fix: fixed possible connection drops in db


feat(cache): added multi-value caching


feature(db) #112: support for sqlalchemy v.2

Added sqlalchemy v.2 support in database services
incl. new table init engine and other bla-bla-bla...
<write text here>

Usage
Add it to your .pre-commit-config.yaml for pre-commit:
- repo: https://github.com/violet-black/hooks-vb
rev: 0.0.2
hooks:
- id: check-commit-msg
Also you can install the package via pip and run the hook from the CLI:
pip install hooks-vb
check-commit-msg my_project_dir


Options

–msg-fmt - different regex format
–categories - different list of type tags




add-version-tag
It automatically adds a version tag to a commit if
the __version__ variable in __init__.py
has changed and if there’s no such version tag exists in repo.
Version tags are checked against PEP440
Examples:
1.0.0
1.2
1.1rc2

Usage
Add it to your .pre-commit-config.yaml for pre-commit:
- repo: https://github.com/violet-black/hooks-vb
rev: 0.0.2
hooks:
- id: add-version-tag
args: [ 'my_package' ]
Also you can install the package via pip and run the hook from the CLI:
pip install hooks-vb
add-version-tag my_project_dir


Options

–skip-tag - skip tagging and only validate a version against PEP440
–version-file - change version file location (__init__.py)
–version-var - change version variable name (__version__)
–remote - change default git remote name to pre-pull tags from (origin)
–branch - change default branch name (master)




publish-package
It will automatically build and publish a package on each version change.
You will need a properly configured .pypirc for this. If a package with such
version is already present in PyPI then it won’t be built.
Version tags are checked against PEP440

Usage
Add it to your .pre-commit-config.yaml for pre-commit:
- repo: https://github.com/violet-black/hooks-vb
rev: 0.0.2
hooks:
- id: publish-package
args: [ 'my_package' ]
Also you can install the package via pip and run the hook from the CLI:
pip install hooks-vb
publish-package my_project_dir


Options

–package-name - alternative package name (package dir name by default)
–dist-type - package type (sdist or wheel)
–output - package storage dir (./dist)
–repository - alternative PyPI repository name (pypi)
–version-file - change version file location (__init__.py)
–version-var - change version variable name (__version__)





Development
You must setup the package in the dev mode and with dev dependencies.
The script will automatically install pre-commit and pre-commit hooks for the
repository.
git clone https://github.com/violet-black/hooks-vb.git
pip install -e .[dev]

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.