Dev Tools
Ruff
Ruff is used as a linter. You can find the configuration in the
pyproject.toml
file.
Config
line-length = 90
select = [
"A",
"B",
"BLE",
"C",
"C4",
"COM",
"D",
"E",
"EM",
"EXE",
"F",
"FA",
"FLY",
"G",
"I",
"ICN",
"INP",
"INT",
"ISC",
"N",
"PERF",
"PIE",
"PLE",
"PLC",
"PLR",
"PT",
"PTH",
"PYI",
"Q",
"RET",
"RSE",
"RUF",
"SIM",
"SLF",
"SLOT",
"T10",
"TID",
"TRY",
"UP",
"W",
"YTT",
]
ignore = [
"C408",
"B905",
"C901",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D106",
"D107",
"D203",
"D204",
"D213",
"D215",
"D400",
"D401",
"D404",
"D406",
"D407",
"D408",
"D409",
"D413",
"PLR0912",
"PLR0913",
"PLR0915",
"SLF001",
"TRY003",
]
extend-exclude = [
"docs",
]
target-version = "py311"
[format]
preview = true
[flake8-quotes]
docstring-quotes = "double"
[isort]
lines-after-imports = 2
lines-between-types = 1
force-sort-within-sections = true
combine-as-imports = true
[per-file-ignores]
"__init__.py" = [
"E402",
"I001",
]
Black
Black is used as a code formatter. You can find the configuration in
the pyproject.toml
file.
Config
Pre-Commit
This project uses pre-commit to ensure code quality.
A .pre-commit-config.yaml
configuration file tailored for this project is provided
in the root folder.
Config
default_language_version:
python: python3.11
default_stages: [commit]
repos:
- repo: local
hooks:
- id: pytest-check
name: pytest-check
entry: hatch run test
language: system
# stages: [push]
types: [python]
pass_filenames: false
always_run: true
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.5.0
hooks:
# - id: trailing-whitespace
# - id: check-ast
- id: check-case-conflict
- id: check-docstring-first
- id: check-merge-conflict
# - id: check-yaml
- id: check-toml
- id: check-json
- id: detect-private-key
- id: forbid-new-submodules
# - id: check-added-large-files
https://pre-commit.com/hooks.html
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.6.1
hooks:
- id: mypy
# args: [--ignore-missing-imports]
additional_dependencies: [mkdocs]
- repo: https://github.com/charliermarsh/ruff-pre-commit
rev: v0.1.5
hooks:
- id: ruff
- id: ruff-format
- repo: https://github.com/commitizen-tools/commitizen
rev: 3.12.0
hooks:
- id: commitizen
stages: [commit-msg]
additional_dependencies: [typing-extensions]
Coverage
Coverage is used to monitor test coverage.
Config
MyPy
MyPy is used for type checking. You can find the configuration in the
pyproject.toml
file.
Config
MkDocs
Ruff is used as a linter. You can find the configuration in the
pyproject.toml
file.
Config
line-length = 90
select = [
"A",
"B",
"BLE",
"C",
"C4",
"COM",
"D",
"E",
"EM",
"EXE",
"F",
"FA",
"FLY",
"G",
"I",
"ICN",
"INP",
"INT",
"ISC",
"N",
"PERF",
"PIE",
"PLE",
"PLC",
"PLR",
"PT",
"PTH",
"PYI",
"Q",
"RET",
"RSE",
"RUF",
"SIM",
"SLF",
"SLOT",
"T10",
"TID",
"TRY",
"UP",
"W",
"YTT",
]
ignore = [
"C408",
"B905",
"C901",
"D100",
"D101",
"D102",
"D103",
"D104",
"D105",
"D106",
"D107",
"D203",
"D204",
"D213",
"D215",
"D400",
"D401",
"D404",
"D406",
"D407",
"D408",
"D409",
"D413",
"PLR0912",
"PLR0913",
"PLR0915",
"SLF001",
"TRY003",
]
extend-exclude = [
"docs",
]
target-version = "py311"
[format]
preview = true
[flake8-quotes]
docstring-quotes = "double"
[isort]
lines-after-imports = 2
lines-between-types = 1
force-sort-within-sections = true
combine-as-imports = true
[per-file-ignores]
"__init__.py" = [
"E402",
"I001",
]
Page info
Code for this page
Resources
Resources(css=[],
markdown_extensions={'admonition': {},
'attr_list': {},
'md_in_html': {},
'pymdownx.details': {},
'pymdownx.emoji': {'emoji_generator': <function to_svg at 0x7f170970c540>,
'emoji_index': <function twemoji at 0x7f170970c400>},
'pymdownx.highlight': {'anchor_linenums': True,
'line_spans': '__span',
'pygments_lang_class': True},
'pymdownx.magiclink': {'repo': 'mkdocs_mknodes',
'repo_url_shorthand': True,
'user': 'phil65'},
'pymdownx.superfences': {}},
plugins=[],
js=[],
assets=[],
packages=[])