apply pre-commit
This commit is contained in:
parent
6d98edb320
commit
570aebdc4b
92
.pre-commit-config.yaml
Normal file
92
.pre-commit-config.yaml
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
# SPDX-FileCopyrightText: : 2022 The PyPSA-Eur Authors
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: CC0-1.0
|
||||||
|
exclude: "^LICENSES"
|
||||||
|
|
||||||
|
repos:
|
||||||
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
|
rev: v4.4.0
|
||||||
|
hooks:
|
||||||
|
- id: check-merge-conflict
|
||||||
|
- id: end-of-file-fixer
|
||||||
|
- id: fix-encoding-pragma
|
||||||
|
- id: mixed-line-ending
|
||||||
|
- id: trailing-whitespace
|
||||||
|
- id: check-added-large-files
|
||||||
|
args: ["--maxkb=2000"]
|
||||||
|
|
||||||
|
# Sort package imports alphabetically
|
||||||
|
- repo: https://github.com/PyCQA/isort
|
||||||
|
rev: 5.12.0
|
||||||
|
hooks:
|
||||||
|
- id: isort
|
||||||
|
args: ["--profile", "black", "--filter-files"]
|
||||||
|
|
||||||
|
# Convert relative imports to absolute imports
|
||||||
|
- repo: https://github.com/MarcoGorelli/absolufy-imports
|
||||||
|
rev: v0.3.1
|
||||||
|
hooks:
|
||||||
|
- id: absolufy-imports
|
||||||
|
|
||||||
|
# Find common spelling mistakes in comments and docstrings
|
||||||
|
- repo: https://github.com/codespell-project/codespell
|
||||||
|
rev: v2.2.2
|
||||||
|
hooks:
|
||||||
|
- id: codespell
|
||||||
|
args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom'] # Ignore capital case words, e.g. country codes
|
||||||
|
types_or: [python, rst, markdown]
|
||||||
|
files: ^(scripts|doc)/
|
||||||
|
|
||||||
|
# Make docstrings PEP 257 compliant
|
||||||
|
- repo: https://github.com/PyCQA/docformatter
|
||||||
|
rev: v1.5.1
|
||||||
|
hooks:
|
||||||
|
- id: docformatter
|
||||||
|
args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"]
|
||||||
|
|
||||||
|
- repo: https://github.com/keewis/blackdoc
|
||||||
|
rev: v0.3.8
|
||||||
|
hooks:
|
||||||
|
- id: blackdoc
|
||||||
|
|
||||||
|
# Formatting with "black" coding style
|
||||||
|
- repo: https://github.com/psf/black
|
||||||
|
rev: 23.1.0
|
||||||
|
hooks:
|
||||||
|
# Format Python files
|
||||||
|
- id: black
|
||||||
|
# Format Jupyter Python notebooks
|
||||||
|
- id: black-jupyter
|
||||||
|
|
||||||
|
# Remove output from Jupyter notebooks
|
||||||
|
- repo: https://github.com/aflc/pre-commit-jupyter
|
||||||
|
rev: v1.2.1
|
||||||
|
hooks:
|
||||||
|
- id: jupyter-notebook-cleanup
|
||||||
|
args: ["--remove-kernel-metadata"]
|
||||||
|
|
||||||
|
# Do YAML formatting (before the linter checks it for misses)
|
||||||
|
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
|
||||||
|
rev: v2.7.0
|
||||||
|
hooks:
|
||||||
|
- id: pretty-format-yaml
|
||||||
|
args: [--autofix, --indent, "2", --preserve-quotes]
|
||||||
|
|
||||||
|
# Format Snakemake rule / workflow files
|
||||||
|
- repo: https://github.com/snakemake/snakefmt
|
||||||
|
rev: v0.8.1
|
||||||
|
hooks:
|
||||||
|
- id: snakefmt
|
||||||
|
|
||||||
|
# For cleaning jupyter notebooks
|
||||||
|
- repo: https://github.com/aflc/pre-commit-jupyter
|
||||||
|
rev: v1.2.1
|
||||||
|
hooks:
|
||||||
|
- id: jupyter-notebook-cleanup
|
||||||
|
exclude: examples/solve-on-remote.ipynb
|
||||||
|
|
||||||
|
# Check for FSFE REUSE compliance (licensing)
|
||||||
|
- repo: https://github.com/fsfe/reuse-tool
|
||||||
|
rev: v1.1.2
|
||||||
|
hooks:
|
||||||
|
- id: reuse
|
Loading…
Reference in New Issue
Block a user