diff --git a/pyproject.toml b/pyproject.toml index d5731b3..87ce5cb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,6 +15,7 @@ dev = [ "pyright", "ruff", "typing-extensions", + "flake8-pyproject", ] [tool.pyright] @@ -70,3 +71,16 @@ section-order = [ "local-folder", "typing", ] + +# ruff doesn't provide all the pycodestyle rules, and pycodestyle is not well +# supported by some IDEs, so we use flake8 for that +[tool.flake8] +max-line-length = 120 +ignore = [ + "E261", # At least two spaces before inline comment + "E302", # Expected 2 blank lines, found 0 + "E305", # Expected 2 blank lines after end of function or class + "W503", # Line break occurred before a binary operator + "F", # already done by ruff +] +exclude=[".git", ".venv"] diff --git a/requirements/dev.txt b/requirements/dev.txt index 7b5e635..467f872 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -5,4 +5,5 @@ flake8 pyright ruff typing-extensions +flake8-pyproject -r base.txt diff --git a/setup.cfg b/setup.cfg deleted file mode 100644 index a44b04a..0000000 --- a/setup.cfg +++ /dev/null @@ -1,4 +0,0 @@ -[flake8] -max-line-length=120 -ignore=E261,E302,E305,W503,F -exclude=.git,.venv diff --git a/uv.lock b/uv.lock index 07f83b5..544946a 100644 --- a/uv.lock +++ b/uv.lock @@ -43,6 +43,17 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9f/56/13ab06b4f93ca7cac71078fbe37fcea175d3216f31f85c3168a6bbd0bb9a/flake8-7.3.0-py2.py3-none-any.whl", hash = "sha256:b9696257b9ce8beb888cdbe31cf885c90d31928fe202be0889a7cdafad32f01e", size = 57922, upload-time = "2025-06-20T19:31:34.425Z" }, ] +[[package]] +name = "flake8-pyproject" +version = "1.2.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "flake8" }, +] +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/1d/635e86f9f3a96b7ea9e9f19b5efe17a987e765c39ca496e4a893bb999112/flake8_pyproject-1.2.3-py3-none-any.whl", hash = "sha256:6249fe53545205af5e76837644dc80b4c10037e73a0e5db87ff562d75fb5bd4a", size = 4756, upload-time = "2023-03-21T20:51:38.911Z" }, +] + [[package]] name = "icecream" version = "2.1.5" @@ -174,6 +185,7 @@ source = { virtual = "." } [package.dev-dependencies] dev = [ { name = "flake8" }, + { name = "flake8-pyproject" }, { name = "icecream" }, { name = "mypy" }, { name = "pyright" }, @@ -186,6 +198,7 @@ dev = [ [package.metadata.requires-dev] dev = [ { name = "flake8" }, + { name = "flake8-pyproject" }, { name = "icecream" }, { name = "mypy" }, { name = "pyright" },