spart 0.2.0

A collection of space partitioning tree data structures for Rust
Documentation
[project]
name = "spart"
version = "0.1.0"
description = "Python environment for Spart library"

requires-python = ">=3.10,<4.0"
dependencies = []

[project.optional-dependencies]
dev = [
    "pytest>=8.0.1",
    "pytest-cov>=6.0.0",
    "pytest-mock>=3.14.0",
    "pytest-asyncio (>=0.26.0,<0.27.0)",
    "mypy>=1.11.1",
    "ruff>=0.9.3",
    "pre-commit (>=4.2.0,<5.0.0)",
    "griffe (>=1.7.3,<2.0.0)",
    "types-requests (>=2.32.0.20250515,<3.0.0.0)",
    "maturin[zig]>=1.9.0",
    "twine>=6.1.0",
]

[tool.pytest.ini_options]
pythonpath = ["pyspart"]
testpaths = ["pyspart/tests"]
addopts = [
    "--tb=short",
    #"--disable-warnings",
    "--cov=library",
    "--cov-branch",
    "--cov-report=term",
    "--cov-report=xml",
    "-rs"
]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "function"
asyncio_default_test_loop_scope = "function"

[tool.coverage.run]
branch = true
parallel = true
source = ["pyspart"]
omit = ["pyspart/tests/*"]

[tool.coverage.report]
show_missing = false
skip_empty = true
precision = 2

[tool.mypy]
python_version = "3.10"
ignore_missing_imports = true
disallow_untyped_defs = true
disallow_untyped_calls = true
disallow_incomplete_defs = true
check_untyped_defs = true
warn_return_any = true
strict_optional = true
warn_redundant_casts = true
exclude = "pyspart/tests"

[tool.ruff]
exclude = [
    ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache",
    ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv",
    "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules",
    "venv", "pyspart/tests"
]
line-length = 100
indent-width = 4
src = ["pyspart"]
target-version = "py310"
unsafe-fixes = false

[tool.ruff.lint]
select = ["ANN", "E", "F", "I", "W", "B", "RUF", "SIM", "C90"]
ignore = ["D100", "D101", "D102", "D103", "D104", "D105", "D106", "D107"]
fixable = ["ALL"]
unfixable = []
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"

[tool.ruff.format]
quote-style = "double"
indent-style = "space"
skip-magic-trailing-comma = false
line-ending = "auto"

[tool.ruff.lint.pydocstyle]
convention = "google"

[tool.ruff.lint.per-file-ignores]
"pyspart/tests/*.py" = []