Metadata-Version: 2.1
Name: commitguard
Version: 2.0.0
Summary: Library for managing and writing git hooks in Python using pyproject.toml for its settings ✨
Project-URL: Homepage, https://github.com/yezz123/CommitGuard
Project-URL: Funding, https://github.com/sponsors/yezz123
Author-email: Yasser Tahiri <hello@yezz.me>
License-Expression: MIT
License-File: LICENSE
Keywords: commit,git,hooks,pre-commit
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Typing :: Typed
Requires-Python: >=3.7
Requires-Dist: colorful<0.6.0,>=0.5.4
Requires-Dist: httpx[http2]<1.0.0,>=0.24.0
Requires-Dist: rich<20.0.0,>=13.0.0
Requires-Dist: tomlkit>=0.5.11
Requires-Dist: typing-extensions<4.6.0,>=3.7.4
Provides-Extra: docs
Requires-Dist: jinja2==3.1.2; extra == 'docs'
Requires-Dist: markdown-include==0.8.1; extra == 'docs'
Requires-Dist: mdx-include<2.0.0,>=1.4.1; extra == 'docs'
Requires-Dist: mkdocs-markdownextradata-plugin<0.3.0,>=0.1.7; extra == 'docs'
Requires-Dist: mkdocs-material<10.0.0,>=8.1.4; extra == 'docs'
Requires-Dist: mkdocs-mermaid2-plugin==0.6.0; extra == 'docs'
Requires-Dist: mkdocs<2.0.0,>=1.1.2; extra == 'docs'
Requires-Dist: pymdown-extensions==9.11; extra == 'docs'
Provides-Extra: lint
Requires-Dist: mypy==1.3.0; extra == 'lint'
Requires-Dist: pre-commit==3.3.1; extra == 'lint'
Provides-Extra: test
Requires-Dist: pytest-asyncio==0.21.0; extra == 'test'
Requires-Dist: pytest-cov==4.0.0; extra == 'test'
Requires-Dist: pytest-pretty; extra == 'test'
Requires-Dist: pytest==7.3.1; extra == 'test'
Description-Content-Type: text/markdown


<p align="center">
    <em>Library for managing and writing git hooks in Python using `pyproject.toml` for its settings ✨</em>
</p>

## Installation

You can add commitguard in a few easy steps. First of all, install the dependency:

```shell
$ pip install commitguard

---> 100%

Successfully installed commitguard-0.1.0
```

or Using poetry

```shell
poetry add --dev commitguard
poetry run commitguard activate --mode poetry
```

The output of `commitguard activate` should be similar to:

```shell
 ✓ commitguard pre-commit hook installed at /commitguard/.git/hooks/pre-commit using poetry mode.
```

CommitGuard offers an adaptable plugin architecture where each plugin offers unique features that might require the installation of supplementary dependencies.

To manage these dependencies, CommitGuard presently supports three modes:


* `pythonpath` for dependency management via [pip]
* `poetry` for dependency management via [poetry] (recommended)
* `pipenv` for dependency management via [pipenv]

These modes dictate how CommitGuard, the plugins, and their dependencies are loaded during git hook execution.

## License

This project is licensed under the terms of the MIT license.
