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

[project]
name = "s4-codec"
# v0.8.5 #82 C-2: declare `version` as `dynamic` so maturin reads it from
# `Cargo.toml` (which now inherits from `[workspace.package]`). Hard-coding
# "0.1.0" here would have desynced the wheel from the workspace semver and
# shipped a misleading pre-release tag on PyPI.
dynamic = ["version"]
description = "Python bindings for s4-codec — in-process CPU compression (zstd / gzip) for ML and ETL pipelines. GPU codecs are not exposed in Python in v1.0; route GPU workloads through the s4 server gateway."
readme = "README.md"
requires-python = ">=3.9"
license = { text = "Apache-2.0" }
authors = [
    { name = "abyo software 合同会社" },
    { name = "masumi-ryugo", email = "abyo.software@gmail.com" },
]
keywords = ["s3", "compression", "zstd", "gzip"]
classifiers = [
    "Development Status :: 5 - Production/Stable",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: Apache Software License",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Rust",
    "Topic :: System :: Archiving :: Compression",
]

[project.urls]
Homepage = "https://github.com/abyo-software/s4"
Repository = "https://github.com/abyo-software/s4"
Documentation = "https://github.com/abyo-software/s4#readme"
Issues = "https://github.com/abyo-software/s4/issues"

# v0.8.5 #85 H-8: declare the pytest dev-dep so `pip install -e ".[dev]"`
# pulls in the harness needed to run `tests/test_binding.py` after a
# `maturin develop`. Kept on the `dev` extra so end users `pip install
# s4-codec` still get the slim runtime dep set.
[project.optional-dependencies]
dev = ["pytest>=7.0"]

[tool.maturin]
# The cdylib's library name is `s4_codec` (= the importable Python module).
# Maturin maps that to the `s4-codec` PyPI distribution name automatically.
module-name = "s4_codec"
features = ["pyo3/extension-module"]
strip = true
