[build-system]
requires = ["maturin>=1.7,<2.0"]
build-backend = "maturin"
[project]
name = "icechunk"
requires-python = ">=3.11"
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dynamic = ["version"]
dependencies = ["zarr==3.0.0a7"]
[tool.poetry]
name = "icechunk"
version = "0.1.0"
description = "Icechunk Python"
authors = ["Earthmover <info@earthmover.io>"]
readme = "README.md"
packages = [
{ include = "icechunk", from = "python" }
]
[project.optional-dependencies]
test = [
"coverage",
"mypy",
"object-store-python",
"pytest",
"pytest-cov",
"pytest-asyncio",
"ruff",
"dask",
"distributed",
]
[tool.maturin]
features = ["pyo3/extension-module"]
module-name = "icechunk._icechunk_python"
python-source = "python"
[tool.pytest.ini_options]
asyncio_mode = "auto"
minversion = "7"
testpaths = ["tests"]
log_cli_level = "INFO"
xfail_strict = true
addopts = ["-ra", "--strict-config", "--strict-markers"]
filterwarnings = ["error"]
[tool.pyright]
venvPath = "."
venv = ".venv"
[tool.mypy]
python_version = "3.11"
strict = true
warn_unreachable = true
enable_error_code = ["ignore-without-code", "redundant-expr", "truthy-bool"]
[tool.ruff]
line-length = 90
[tool.ruff.lint]
extend-select = [
"B",
"I",
"UP",
]