Files
pycapnp/pyproject.toml
Trey Moen 8d80f4d69e ci: pin ruff to the latest passing release (#408)
* ci: pin ruff to the passing baseline

* ci: use the latest passing ruff release

* ci: share the ruff pin through a lint dependency group

* ci: note follow-up to update lint and unpin ruff
2026-09-21 17:25:17 -07:00

77 lines
1.3 KiB
TOML

[build-system]
requires = ["setuptools", "wheel", "pkgconfig", "cython>=3.0"]
build-backend = "backend"
backend-path = ["_custom_build"]
[project]
name = "pycapnp"
requires-python = ">=3.9"
dynamic = [
"authors",
"classifiers",
"description",
"keywords",
"license",
"readme",
"scripts",
"version",
]
dependencies = [
"jinja2",
]
[dependency-groups]
dev = [
"tox",
"pkgconfig",
"cython>=3.0",
"setuptools",
{include-group = "lint"},
{include-group = "test"},
{include-group = "docs"},
]
lint = [
# TODO: Update lint and formatting for newer Ruff releases, then remove the pin.
"ruff==0.15.22",
]
test = [
"pytest",
"anyio",
"pytest-asyncio",
"pytest-tornasync",
"pytest-trio",
"pytest-twisted",
"twisted",
]
docs = [
"sphinx",
"sphinx-multiversion",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
[tool.ruff]
target-version = "py37"
line-length = 120
exclude = ["benchmark", "build", "capnp/templates/module.pyx"]
[tool.ruff.lint]
ignore = [
"E203", "E211", "E225", "E226", "E227", "E231", "E251",
"E261", "E262", "E265", "E402",
]
[tool.ruff.lint.per-file-ignores]
"test/test_examples.py" = ["C901"]
"capnp/__init__.py" = ["F401", "F403", "F405"]
[tool.ruff.lint.mccabe]
max-complexity = 10
[tool.ruff.format]
quote-style = "double"