Package: hooks-vb
Some useful (more or less) git hooks.Hookscheck-commit-msgIt 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]Heretypeis 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 refactoringThecontextkeyword 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.Theissue_idmust be prepended with#if present and it should match
an bug report / feature request ID connected to this specific commit.Thedescriptionis 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>UsageAdd it to your.pre-commit-config.yamlforpre-commit:- repo: https://github.com/violet-black/hooks-vb
  rev: 0.0.2
  hooks:
    - id: check-commit-msgAlso you can install the package via pip and run the hook from the CLI:pip install hooks-vb
check-commit-msg my_project_dirOptions–msg-fmt- different regex format–categories- different list of type tagsadd-version-tagIt automatically adds a version tag to a commit if
the__version__variable in__init__.pyhas changed and if there’s no such version tag exists in repo.
Version tags are checked againstPEP440Examples:1.0.0
1.2
1.1rc2UsageAdd it to your.pre-commit-config.yamlforpre-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_dirOptions–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-packageIt will automatically build and publish a package on each version change.
You will need a properly configured.pypircfor this. If a package with such
version is already present in PyPI then it won’t be built.
Version tags are checked againstPEP440UsageAdd it to your.pre-commit-config.yamlforpre-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_dirOptions–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__)DevelopmentYou 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]