diff --git a/pyproject.toml b/pyproject.toml index 88890a6..859c713 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -66,3 +66,19 @@ hd_active = 'hd_active.main:main' [tool.flit.module] name = 'hd_active' + + +[tool.flake8] +max-line-length = 100 +exclude = [ + '.git', '.github', '.venv*', 'venv*', '__pycache__', + 'assets', 'src/hd_active/ui/forms', 'docs', 'site', 'build', +] +# Errors being ignored: +# - E203 is not PEP8 compliant and clashes with black +# - E701,E704 multiple statements on one line (colon) +# Conflict with black, where empty class definitions (with Ellipsis) are formatted to be in +# one line in black, ex: class FileUpdateError(Exception): ... +# - W503 line break before binary operator clashes with black +# - F811 redefinition of unused import happens when importing pytest fixtures in test modules +ignore = ['E203', 'E701', 'E704', 'W503', 'F811'] diff --git a/requirements-dev.in b/requirements-dev.in index 610759a..06a8eed 100644 --- a/requirements-dev.in +++ b/requirements-dev.in @@ -9,6 +9,7 @@ pre-commit # Pre-commit hooks bandit # Linter black # Linter flake8 # Linter +flake8-pyproject # Flake8 plugin isort # Linter mypy # Code inspector diff --git a/requirements-dev.txt b/requirements-dev.txt index 9e620d3..b31ece1 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -8,17 +8,17 @@ altgraph==0.17.4 # via pyinstaller bandit==1.8.6 # via -r requirements-dev.in -black==25.1.0 +black==25.9.0 # via -r requirements-dev.in build==1.3.0 # via pip-tools -certifi==2025.8.3 +certifi==2025.10.5 # via requests cfgv==3.4.0 # via pre-commit -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via requests -click==8.2.1 +click==8.3.0 # via # black # pip-tools @@ -30,25 +30,29 @@ colorama==0.4.6 # pytest distlib==0.4.0 # via virtualenv -docutils==0.22 +docutils==0.22.2 # via flit -filelock==3.19.1 +filelock==3.20.0 # via virtualenv flake8==7.3.0 + # via + # -r requirements-dev.in + # flake8-pyproject +flake8-pyproject==1.2.3 # via -r requirements-dev.in flit==3.12.0 # via -r requirements-dev.in flit-core==3.12.0 # via flit -identify==2.6.13 +identify==2.6.15 # via pre-commit -idna==3.10 +idna==3.11 # via requests -iniconfig==2.1.0 +iniconfig==2.3.0 # via pytest -invoke==2.2.0 +invoke==2.2.1 # via -r requirements-dev.in -isort==6.0.1 +isort==7.0.0 # via -r requirements-dev.in markdown-it-py==4.0.0 # via rich @@ -56,7 +60,7 @@ mccabe==0.7.0 # via flake8 mdurl==0.1.2 # via markdown-it-py -mypy==1.17.1 +mypy==1.18.2 # via -r requirements-dev.in mypy-extensions==1.1.0 # via @@ -77,9 +81,9 @@ pathspec==0.12.1 # mypy pefile==2023.2.7 # via pyinstaller -pip-tools==7.5.0 +pip-tools==7.5.1 # via -r requirements-dev.in -platformdirs==4.4.0 +platformdirs==4.5.0 # via # black # virtualenv @@ -97,26 +101,26 @@ pygments==2.19.2 # via # pytest # rich -pyinstaller==6.15.0 +pyinstaller==6.16.0 # via -r requirements-dev.in -pyinstaller-hooks-contrib==2025.8 +pyinstaller-hooks-contrib==2025.9 # via pyinstaller pyproject-hooks==1.2.0 # via # build # pip-tools -pyside6==6.9.2 +pyside6==6.9.1 # via -r requirements.txt -pyside6-addons==6.9.2 +pyside6-addons==6.9.1 # via # -r requirements.txt # pyside6 -pyside6-essentials==6.9.2 +pyside6-essentials==6.9.1 # via # -r requirements.txt # pyside6 # pyside6-addons -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements-dev.in # pytest-params @@ -125,17 +129,19 @@ pytest-params==0.3.0 # via -r requirements-dev.in pytest-qt==4.5.0 # via -r requirements-dev.in +pytokens==0.2.0 + # via black pywin32-ctypes==0.2.3 # via pyinstaller -pyyaml==6.0.2 +pyyaml==6.0.3 # via # bandit # pre-commit requests==2.32.5 # via flit -rich==14.1.0 +rich==14.2.0 # via bandit -shiboken6==6.9.2 +shiboken6==6.9.1 # via # -r requirements.txt # pyside6 @@ -151,7 +157,7 @@ typing-extensions==4.15.0 # pytest-qt urllib3==2.5.0 # via requests -virtualenv==20.34.0 +virtualenv==20.35.3 # via pre-commit wheel==0.45.1 # via pip-tools diff --git a/requirements-docs.txt b/requirements-docs.txt index 559dd77..50dd204 100644 --- a/requirements-docs.txt +++ b/requirements-docs.txt @@ -8,19 +8,18 @@ babel==2.17.0 # via mkdocs-material backrefs==5.9 # via mkdocs-material -certifi==2025.8.3 +certifi==2025.10.5 # via # -c requirements-dev.txt # requests -charset-normalizer==3.4.3 +charset-normalizer==3.4.4 # via # -c requirements-dev.txt # requests -click==8.2.1 +click==8.3.0 # via # -c requirements-dev.txt # mkdocs - # mkdocs-material colorama==0.4.6 # via # -c requirements-dev.txt @@ -29,7 +28,7 @@ colorama==0.4.6 # mkdocs-material ghp-import==2.1.0 # via mkdocs -idna==3.10 +idna==3.11 # via # -c requirements-dev.txt # requests @@ -37,13 +36,13 @@ jinja2==3.1.6 # via # mkdocs # mkdocs-material -markdown==3.8.2 +markdown==3.9 # via # mdx-truly-sane-lists # mkdocs # mkdocs-material # pymdown-extensions -markupsafe==3.0.2 +markupsafe==3.0.3 # via # jinja2 # mkdocs @@ -59,9 +58,9 @@ mkdocs==1.6.1 # mkdocs-material mkdocs-get-deps==0.2.0 # via mkdocs -mkdocs-glightbox==0.4.0 +mkdocs-glightbox==0.5.1 # via -r requirements-docs.in -mkdocs-material==9.6.18 +mkdocs-material==9.6.22 # via -r requirements-docs.in mkdocs-material-extensions==1.3.1 # via mkdocs-material @@ -75,7 +74,7 @@ pathspec==0.12.1 # via # -c requirements-dev.txt # mkdocs -platformdirs==4.4.0 +platformdirs==4.5.0 # via # -c requirements-dev.txt # mkdocs-get-deps @@ -87,7 +86,7 @@ pymdown-extensions==10.16.1 # via mkdocs-material python-dateutil==2.9.0.post0 # via ghp-import -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -c requirements-dev.txt # mkdocs @@ -100,6 +99,8 @@ requests==2.32.5 # via # -c requirements-dev.txt # mkdocs-material +selectolax==0.3.29 + # via mkdocs-glightbox six==1.17.0 # via python-dateutil urllib3==2.5.0 diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index 014c1d4..0000000 --- a/setup.cfg +++ /dev/null @@ -1,14 +0,0 @@ -# Configuration for tools that don't support `pyproject.toml`. - -[flake8] -exclude = .git,.github,.venv*,venv*,__pycache__,assets,src/hd_active/ui/forms,docs,site,build -max-line-length = 100 - -# Errors being ignored: -# E203 is not PEP8 compliant and clashes with black -# E701,E704 multiple statements on one line (colon) -# Conflict with `black`, where empty class definitions (with Ellipsis) are formatted to be in -# one line in `black`, ex `class FileUpdateError(Exception): ...` -# W503 line break before binary operator clashes with black -# F811 redefinition of unused import happens when importing pytest fixtures in test modules -ignore = E203,E701,E704,W503,F811