qubed/pyproject.toml
2025-02-19 15:00:38 +00:00

60 lines
1.2 KiB
TOML

[build-system]
requires = ["maturin>=1.0,<2.0"]
build-backend = "maturin"
[project]
name = "qubed"
description = "A library that provides a tree of datacubes called Qube."
readme = "README.md"
authors = [
{name = "Tom Hodson", email = "thomas.hodson@ecmwf.int"},
]
classifiers = [
"Programming Language :: Rust",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
requires-python = ">= 3.11"
dynamic = ["version"]
dependencies = [
"frozendict",
]
# Because this is a mixed rust/python project the structure is src/python/qubed rather than the more typical src/qubed
# Since this is slightly non-standard so we have to explicitly tell setuptools the python source is there.
[tool.setuptools.packages.find]
where = ["src/python"]
[project.scripts]
qubed = "qubed.__main__:main"
[tool.maturin]
python-source = "src/python"
module-name = "qubed.rust"
features = ["pyo3/extension-module"]
[project.optional-dependencies]
stac_server = [
"fastapi",
]
docs = [
"sphinx",
"sphinx-rtd-theme",
"myst_nb",
"sphinx-autobuild",
"jupyterlab",
"ipykernel",
]
dev = [
"pytest",
"black",
"ruff",
"flake8",
"pre-commit",
"isort",
]