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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
|
[build-system]
requires = [
"setuptools >= 77",
"setuptools_scm[toml] >= 6.4"
]
build-backend = "setuptools.build_meta"
[project]
name = "cbor2"
description = "CBOR (de)serializer with extensive tag support"
readme = "README.rst"
authors = [{name = "Alex Grönholm", email = "alex.gronholm@nextday.fi"}]
license = "MIT"
keywords = ["serialization", "cbor"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"Typing :: Typed",
"Programming Language :: Python",
"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 :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]
requires-python = ">= 3.9"
dynamic = ["version"]
[project.urls]
Changelog = "https://cbor2.readthedocs.io/en/latest/versionhistory.html"
Documentation = "https://cbor2.readthedocs.org/en/latest/"
"Source Code" = "https://github.com/agronholm/cbor2"
"Issue Tracker" = "https://github.com/agronholm/cbor2/issues"
[project.scripts]
cbor2 = "cbor2.tool:main"
[dependency-groups]
test = [
"coverage >= 7",
"pytest",
"hypothesis",
]
doc = [
"packaging",
"Sphinx >= 7",
"sphinx-rtd-theme >= 1.3.0",
"sphinx-autodoc-typehints >= 1.2.0",
"typing_extensions; python_version < '3.12'",
]
benchmarks = [
"pytest-benchmark==4.0.0",
]
[tool.setuptools.packages.find]
include = ["cbor2"]
[tool.setuptools_scm]
version_scheme = "post-release"
local_scheme = "dirty-tag"
[tool.ruff]
line-length = 99
[tool.ruff.lint]
extend-select = [
"I", # isort
"ISC", # flake8-implicit-str-concat
"PGH", # pygrep-hooks
"RUF100", # unused noqa (yesqa)
"UP", # pyupgrade
"W", # pycodestyle warnings
]
ignore = ["ISC001"]
[tool.mypy]
strict = true
[tool.pytest.ini_options]
addopts = "-rsfE --tb=short"
testpaths = ["tests"]
[tool.coverage.run]
source = ["cbor2"]
relative_files = true
[tool.coverage.report]
show_missing = true
[tool.tox]
env_list = ["py39", "py310", "py311", "py312", "py313", "py314", "pypy3"]
skip_missing_interpreters = true
requires = ["tox >= 4.22"]
[tool.tox.env.run_base]
commands = [["pytest", { replace = "posargs", extend = true }]]
package = "wheel"
dependency_groups = ["test"]
set_env = { TZ = "America/New_York", CBOR2_BUILD_C_EXTENSION = "1" }
[tool.tox.env.pypy3]
set_env = { TZ = "America/New_York" }
[tool.tox.env.docs]
commands = [["sphinx-build", "-W", "-n", "docs", "build/sphinx"]]
dependency_groups = ["doc"]
set_env = { CBOR2_BUILD_C_EXTENSION = "0" }
|