Metadata-Version: 2.1
Name: dikort
Version: 0.2.1
Summary: Commit messages checking tool.
Home-page: https://github.com/weastur/dikort
Author: Pavel Sapezhko
Author-email: me@weastur.com
License: MIT
Description: [![Build Status](https://travis-ci.com/weastur/dikort.svg?branch=main)](https://travis-ci.com/weastur/dikort)
        [![codecov](https://codecov.io/gh/weastur/dikort/branch/main/graph/badge.svg)](https://codecov.io/gh/weastur/dikort)
        [![PyPi version](https://img.shields.io/pypi/v/dikort.svg)](https://pypi.org/project/dikort/)
        [![Python versions](https://img.shields.io/pypi/pyversions/dikort)](https://pypi.org/project/dikort/)
        [![black-formatter](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
        [![wemake-python-styleguide](https://img.shields.io/badge/style-wemake-000000.svg)](https://github.com/wemake-services/wemake-python-styleguide)
        [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
        ![visitors](https://visitor-badge.glitch.me/badge?page_id=weastur.dikort)
        
        # Dikort: git commit message format checking tool
        
        The tool that helps you make commit message in your repository clear.
        
        ## Key Features
        
        * Wide check list: author name, email, trailing periods, capitalize sentence, singleline summary, singoff, gpg, regex.
        * Checks any commit range: acceptable for both CI and pre-commit hook usage
        * Separate rules for both: merge and regular commits
        * Support all available python versions: 3.6+
        
        ## Technical Requirements/Installation
        
        ### Pre-requirements
        Install any supported python distribution (for now it's 3.6+), and pip package management tool. Also make sure you have git installed
        
        Examples:
        
        #### Ubuntu/Debian
        ```shell
        sudo apt install python3 python3-pip git
        ```
        
        #### CentOS/RedHat/Fedora
        ```shell
        sudo yum install python3 git
        ```
        
        ### Installation
        
        By default, pip tries to install package directly to you system. You may need to use sudo to achieve this
        
        ```shell
        sudo pip3 install dikort
        ```
        
        The more right way is to **install to your home directory**. But be sure you have `$HOME/.local/bin` at your `$PATH` variable 
        ```shell
        pip3 install --user dikort
        ```
        
        ## Running and Configuring
        
        Dikort is a command line tool. To see all available options with explanation hit `dikort -h`. 
        The only one unnamed option is commit range in the notation of `"<commit1>..<commit2>"`, where `"commit1"` and `"commit2"` are any of:
        hash, branch, tag, HEAD pointer.
        
        ### Examples
        
        #### Check last commit. Use this in git pre-commit hook
        ```shell
        dikort HEAD~1..HEAD
        ```
        
        #### Check last 10 commits
        ```shell
        dikort HEAD~10..HEAD
        ```
        
        #### Check all commits in fix-123 branch
        ```shell
        dikort master..fix-123
        ```
        
        #### Configure through command line
        ```shell
        dikort --enable-length --enable-capitalized-summary --min-length=20 --max-length=72 HEAD~5..HEAD
        ```
        
        #### Get log and save it (DEBUG mode)
        ```shell
        dikort --enable-logging --logging-level=DEBUG 2>debug.log
        ```
        
        ### Run in docker
        
        Also you can run inside docker. Just mount your repository to container and tell dikort where to find.
        
        ```shell
        docker run -v `pwd`:/tmp/repo weastur/dikort:latest --repository=/tmp/repo --enable-length
        ```
        
        ## File configuration
        
        Refer to [config example](./dikort.example.cfg), as a full configuration file. By default, config searched at `./.dikort.cfg` 
        
        ## Development Status
        
        Dikort is in active development and accepts contributions. See our [Contributing](#how-to-contribute) section below for more details.
        
        We report new releases information [here](https://github.com/weastur/dikort/releases).
        
        ## How to contribute
        
        Fork, clone, setup development environment. **No third-party build or test tools** need to be insttalled at your system.
        
        ```shell
        python3 -m venv .venv
        . ./.venv/bin/activate
        pip install setuptools wheel
        pip install -e '.[dev]'
        ```
        
        After that you'll have dikort and all development tools installed into virtualenv. Just run here `dikort` to execute your development version.
        Hack, then make PR. Don't forget to write unit tests, and check your code:
        
        ```shell
        dikort
        flake8 dikort
        isort dikort
        black dikort
        coverage run -m unittest discover
        coverage report
        ```
        
        Or you can just install git-hooks
        
        ### Git hooks
        
        ```shell
        ln -s -r -t ./.git/hooks/ ./hooks/*
        ```
        
        ## License
        
        MIT, see [LICENSE](./LICENSE).
        
Platform: UNKNOWN
Classifier: Development Status :: 1 - Planning
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: Software Development :: Pre-processors
Classifier: Topic :: Software Development :: Testing :: Acceptance
Classifier: Topic :: Software Development :: Version Control :: Git
Classifier: Topic :: Utilities
Description-Content-Type: text/markdown
Provides-Extra: dev
