@@ -35,6 +35,7 @@ classifiers = [
3535 " Programming Language :: Python :: 3.9" ,
3636 " Programming Language :: Python :: 3.10" ,
3737 " Programming Language :: Python :: 3.11" ,
38+ " Programming Language :: Python :: 3.12" ,
3839 " Programming Language :: Python :: 3 :: Only" ,
3940 " Programming Language :: Python :: Implementation :: CPython" ,
4041 " Programming Language :: Python :: Implementation :: PyPy" ,
@@ -70,7 +71,7 @@ dirty_template = "{tag}+{ccount}.g{sha}.dirty"
7071
7172[tool .black ]
7273line-length = 100
73- target-version = [" py38" , " py39" , " py310" , " py311" ]
74+ target-version = [" py38" , " py39" , " py310" , " py311" , " py312 " ]
7475
7576[tool .isort ]
7677sections = [" FUTURE" , " STDLIB" , " THIRDPARTY" , " FIRSTPARTY" , " LOCALFOLDER" ]
@@ -112,9 +113,14 @@ exclude_lines = [
112113]
113114
114115[tool .ruff ]
115- # https://github.com/charliermarsh /ruff/
116+ # https://github.com/astral-sh /ruff/
116117line-length = 100
117118target-version = " py38"
119+ [tool .ruff .lint ]
120+ unfixable = [
121+ " F841" , # unused-variable (Note: can leave useless expression)
122+ " B905" , # zip-without-explicit-strict (Note: prefer `zip(x, y, strict=True)`)
123+ ]
118124select = [
119125 " ALL" ,
120126]
@@ -171,14 +177,14 @@ ignore = [
171177 " PD" , # pandas-vet (Intended for scripts that use pandas, not libraries)
172178]
173179
174- [tool .ruff .per-file-ignores ]
180+ [tool .ruff .lint . per-file-ignores ]
175181"__init__.py" = [" F401" ] # Allow unused imports (w/o defining `__all__`)
176182"innerscope/tests/*py" = [
177183 " S101" , " S301" , " T201" , " D103" , " D100" , # Allow assert, print, pickle, and no docstring
178184 " A001" , " A002" , " B018" , " C408" , " C416" , " E702" , " E703" , " F821" , " F841" , # Let us test messy code
179185]
180186"innerscope/tests/test_repr.py" = [" E501" ]
181187
182- [tool .ruff .flake8-pytest-style ]
188+ [tool .ruff .lint . flake8-pytest-style ]
183189fixture-parentheses = false
184190mark-parentheses = false
0 commit comments