1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
[project]
name = "zstandard"
dynamic = ["version"]
description = "Zstandard bindings for Python"
readme = { file = "README.rst", content-type = "text/x-rst" }
authors = [
{ name = "Gregory Szorc", email = "gregory.szorc@gmail.com" },
]
license = "BSD-3-Clause"
requires-python = ">=3.9"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Programming Language :: C",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Free Threading :: 1 - Unstable",
]
keywords = ["zstandard", "zstd", "compression"]
dependencies = []
[project.optional-dependencies]
cffi = [
"cffi~=1.17; platform_python_implementation != 'PyPy' and python_version < '3.14'",
"cffi>=2.0.0b; platform_python_implementation != 'PyPy' and python_version >= '3.14'",
]
[project.urls]
Homepage = "https://github.com/indygreg/python-zstandard"
Documentation = "https://python-zstandard.readthedocs.io/en/latest/"
[build-system]
requires = [
"cffi~=1.17; platform_python_implementation != 'PyPy' and python_version < '3.14'",
"cffi>=2.0.0b; platform_python_implementation != 'PyPy' and python_version >= '3.14'",
"packaging",
"setuptools>=77.0.0",
]
build-backend = "setuptools.build_meta"
[dependency-groups]
dev = [
"cffi~=1.17; platform_python_implementation != 'PyPy' and python_version < '3.14'",
"cffi>=2.0.0b; platform_python_implementation != 'PyPy' and python_version >= '3.14'",
"hypothesis==6.111.0",
"mypy>=1.17.1",
"pytest>=8.4.1",
"pytest-xdist>=3.8.0",
]
[tool.pytest.ini_options]
testpaths = ["tests"]
[tool.ruff]
line-length = 80
[tool.ruff.lint]
select = ["E4", "E7", "E9", "F", "I"]
[tool.cibuildwheel]
enable = ["cpython-freethreading", "cpython-prerelease"]
build-frontend = "build[uv]"
# Turn compiler warnings into errors.
environment = "ZSTD_WARNINGS_AS_ERRORS=1"
test-command = [
"pytest -v --numprocesses=auto",
"PYTHON_ZSTANDARD_IMPORT_POLICY=cffi pytest -v --numprocesses=auto",
]
test-groups = ["dev"]
test-sources = ["tests"]
[tool.cibuildwheel.linux]
before-all = "if [ -x /usr/bin/yum ]; then yum install -y libffi-devel; fi"
[tool.cibuildwheel.windows]
# Environment variable syntax is different on Windows.
test-command = [
"pytest -v --numprocesses=auto",
"set PYTHON_ZSTANDARD_IMPORT_POLICY=cffi",
"pytest -v --numprocesses=auto",
]
|