Skip to content

Latest commit

 

History

History
91 lines (64 loc) · 2.26 KB

File metadata and controls

91 lines (64 loc) · 2.26 KB

To integrate Black, PEP 8 compliance (using flake8), and isort into a pre-commit hook in a Django project, you can use the pre-commit framework. pre-commit is a tool that manages and executes multi-language pre-commit hooks in your repository. Here are the steps to set it up:

Step 1: Install pre-commit

First, install pre-commit using a package manager like pip:

pip install pre-commit

Step 2: Create a .pre-commit-config.yaml file

Create a file named .pre-commit-config.yaml in the root of your project and define the hooks you want to use. Here's an example configuration for Black, flake8, and isort:

.pre-commit-config.yaml

# .pre-commit-config.yaml
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.0.1
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: check-added-large-files

-   repo: https://github.com/psf/black
    rev: 22.3.0
    hooks:
      - id: black

-   repo: https://github.com/pycqa/flake8
    rev: 3.8.4
    hooks:
      - id: flake8

-   repo: https://github.com/pre-commit/mirrors-isort
    rev: v5.7.0
    hooks:
      - id: isort

create a file name .flake8 and paste the content

[flake8]
# https://flake8.pycqa.org/en/latest/user/error-codes.html
# https://pycodestyle.pycqa.org/en/latest/intro.html#error-codes
select =
    F
    E
    W1 #Indentation warning
    W2 #Whitespace warning
    W6 #Deprecation warning
    N8
ignore = E800
max-line-length = 170
max-complexity = 18
exclude = .git,__pycache__,venv/,migrations/,static

Step 3: Run pre-commit install

Run the following command to install the pre-commit hooks:

pre-commit install

This will set up the pre-commit hook in your .git/hooks directory.

Step 4: Run pre-commit run --all-files

Run the pre-commit checks on all files:

pre-commit run --all-files

If there are any issues, pre-commit will automatically fix them or provide suggestions. You can then commit the changes.

Step 5: Commit your changes

Now, when you run git commit, the configured hooks will run automatically, checking and formatting your code according to the specified rules.

By using this setup, you ensure that your code adheres to PEP 8, is formatted with Black, and sorted with isort before each commit.