[build-system]
requires = ["maturin>=1.4.0,<2.0"]
build-backend = "maturin"

[project]
name = "async-tiff"
requires-python = ">=3.10"
readme = "README.md"
dependencies = ["obspec>=0.1.0"]
dynamic = ["version"]
classifiers = [
    "Programming Language :: Rust",
    "Programming Language :: Python :: Implementation :: CPython",
    "Programming Language :: Python :: Implementation :: PyPy",
]

[tool.maturin]
features = ["pyo3/extension-module"]
module-name = "async_tiff._async_tiff"
manifest-path = "python/Cargo.toml"
python-source = "python"

[tool.uv]
dev-dependencies = [
    # To enable following symlinks for pyi files
    "griffe-inherited-docstrings>=1.0.1",
    "griffe>=1.6.0",
    "ipykernel>=6.29.5",
    "matplotlib>=3.8.0",
    "maturin>=1.7.4",
    "mike>=2.1.3",
    "mkdocs-material[imaging]>=9.6.3",
    "mkdocs>=1.6.1",
    "mkdocstrings-python>=1.13.0",
    "mkdocstrings>=0.27.0",
    "numpy>=2",
    "obstore>=0.9.0",
    "pytest-asyncio>=1.3",
    "pytest>=9.0",
    "rasterio>=1.4",
    "ruff>=0.15",
]

[tool.pytest.ini_options]
addopts = "--color=yes"
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "auto"
testpaths = ["tests"]

[tool.ruff]
extend-exclude = ["_obstore"]

[tool.ruff.lint]
select = ["I"]
