pyproject.toml (60 lines of code) (raw):

[project] name = "orjson" version = "3.10.14-post3" repository = "https://github.com/ijl/orjson" requires-python = ">=3.8" classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "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 :: Implementation :: CPython", "Programming Language :: Python", "Programming Language :: Rust", "Typing :: Typed", ] [project.urls] Documentation = "https://github.com/ijl/orjson" Changelog = "https://github.com/ijl/orjson/blob/master/CHANGELOG.md" [build-system] build-backend = "maturin" requires = ["maturin>=1,<2"] [tool.maturin] python-source = "pysrc" include = [ { format = "sdist", path = ".cargo/*" }, { format = "sdist", path = "build.rs" }, { format = "sdist", path = "Cargo.lock" }, { format = "sdist", path = "include/cargo/**/*" }, { format = "sdist", path = "include/pyo3/**/*" }, { format = "sdist", path = "include/yyjson/**/*" }, ] [tool.ruff] line-length = 88 target-version = "py38" [tool.ruff.lint] select = [ "I", ] ignore = [ "E501", # line too long "F601", # Dictionary key literal ... repeated ] [tool.ruff.lint.isort] known-first-party = ["orjson"] [tool.mypy] python_version = "3.8" [[tool.mypy.overrides]] module = ["dateutil", "pytz"] ignore_missing_imports = true