22build-backend = " hatchling.build"
33requires = [
44 " hatch-vcs>=0.3" ,
5- " hatchling>=1.14 " ,
5+ " hatchling>=1.18 " ,
66]
77
88[project ]
@@ -14,7 +14,7 @@ keywords = [
1414 " sphinx" ,
1515]
1616license = " MIT"
17- maintainers = [{
name =
" Bernat Gabor" ,
email =
" [email protected] " }]
17+ maintainers = [{
name =
" Bernat Gabor" ,
email =
" [email protected] " }]
# noqa: E999 1818requires-python = " >=3.8"
1919classifiers = [
2020 " Development Status :: 5 - Production/Stable" ,
@@ -24,8 +24,12 @@ classifiers = [
2424 " Intended Audience :: Developers" ,
2525 " License :: OSI Approved :: MIT License" ,
2626 " Operating System :: OS Independent" ,
27- " Programming Language :: Python :: 3" ,
2827 " Programming Language :: Python :: 3 :: Only" ,
28+ " Programming Language :: Python :: 3.8" ,
29+ " Programming Language :: Python :: 3.9" ,
30+ " Programming Language :: Python :: 3.10" ,
31+ " Programming Language :: Python :: 3.11" ,
32+ " Programming Language :: Python :: 3.12" ,
2933 " Programming Language :: Python :: Implementation :: CPython" ,
3034 " Topic :: Documentation" ,
3135 " Topic :: Documentation :: Sphinx" ,
@@ -34,12 +38,12 @@ dynamic = [
3438 " version" ,
3539]
3640dependencies = [
37- " sphinx>=6.1.3 " ,
41+ " sphinx>=7.0.1 " ,
3842]
3943optional-dependencies.test = [
4044 " covdefaults>=2.3" ,
41- " pytest>=7.3.1 " ,
42- " pytest-cov>=4" ,
45+ " pytest>=7.3.2 " ,
46+ " pytest-cov>=4.1 " ,
4347]
4448urls.Documentation = " https://github.com/tox-dev/sphinx-argparse-cli#sphinx-argparse-cli"
4549urls.Homepage = " https://github.com/tox-dev/sphinx-argparse-cli"
@@ -54,20 +58,30 @@ version.source = "vcs"
5458[tool .black ]
5559line-length = 120
5660
57- [tool .isort ]
58- known_first_party = [" sphinx_argparse_cli" , " tests" ]
59- profile = " black"
60- line_length = 120
61-
62- [tool .flake8 ]
63- max-complexity = 22
64- max-line-length = 120
65- unused-arguments-ignore-abstract-functions = true
66- noqa-require-code = true
67- dictionaries = [" en_US" , " python" , " technical" , " django" ]
61+ [tool .ruff ]
62+ select = [" ALL" ]
63+ line-length = 120
64+ target-version = " py38"
65+ isort = {known-first-party = [" sphinx_argparse_cli" ], required-imports = [" from __future__ import annotations" ]}
6866ignore = [
69- " E203" , # whitespace before ':'
70- " W503" , # line break before binary operator
67+ " ANN101" , # no typoe annotation for self
68+ " ANN401" , # allow Any as type annotation
69+ " D203" , # `one-blank-line-before-class` (D203) and `no-blank-line-before-class` (D211) are incompatible
70+ " D212" , # `multi-line-summary-first-line` (D212) and `multi-line-summary-second-line` (D213) are incompatible
71+ " S104" , # Possible binding to all interface
72+ ]
73+ [tool .ruff .per-file-ignores ]
74+ "tests/**/*.py" = [
75+ " S101" , # asserts allowed in tests...
76+ " FBT" , # don"t care about booleans as positional arguments in tests
77+ " INP001" , # no implicit namespace
78+ " D" , # don"t care about documentation in tests
79+ " S603" , # `subprocess` call: check for execution of untrusted input
80+ " PLR2004" , # Magic value used in comparison, consider replacing with a constant variable
81+ ]
82+ "roots/**/*.py" = [
83+ " INP001" , # no namespace
84+ " D" , # no docs
7185]
7286
7387[tool .coverage ]
@@ -84,6 +98,3 @@ run.relative_files = true
8498python_version = " 3.11"
8599show_error_codes = true
86100strict = true
87-
88- [tool .pep8 ]
89- max-line-length = " 120"
0 commit comments