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
|
[build-system]
requires = [
"setuptools>=61.2",
"setuptools-rust>=1.0.0",
]
build-backend = "setuptools.build_meta"
[project]
name = "fastbencode"
description = "Implementation of bencode with optional fast Rust extensions"
maintainers = [{name = "Breezy Developers", email = "breezy-core@googlegroups.com"}]
readme = "README.md"
license = "Apache-2.0"
classifiers = [
"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 :: Implementation :: PyPy",
"Operating System :: POSIX",
"Operating System :: Microsoft :: Windows",
]
requires-python = ">=3.10"
dynamic = ["version"]
dependencies = []
[project.urls]
Homepage = "https://github.com/breezy-team/fastbencode"
GitHub = "https://github.com/breezy-team/fastbencode"
[project.optional-dependencies]
rust = ["setuptools-rust>=1.0.0"]
dev = [
"ruff==0.14.6"
]
[tool.setuptools]
packages = ["fastbencode"]
include-package-data = false
[tool.setuptools.dynamic]
version = {attr = "fastbencode.__version__"}
[tool.ruff]
target-version = "py37"
line-length = 79
[tool.ruff.lint]
select = [
"ANN",
"D",
"E",
"F",
"I",
"UP",
]
ignore = [
"ANN001",
"ANN002",
"ANN201",
"ANN202",
"ANN204",
"D100",
"D101",
"D102",
"D103",
"D105",
"D107",
]
[tool.ruff.lint.pydocstyle]
convention = "google"
[tool.cibuildwheel]
environment = {PATH="$HOME/.cargo/bin:$PATH"}
before-build = "pip install -U setuptools-rust && curl https://sh.rustup.rs -sSf | sh -s -- --profile=minimal -y && rustup show"
[tool.cibuildwheel.linux]
skip = "*-musllinux_* *cp314*"
archs = ["auto", "aarch64"]
before-build = "pip install -U setuptools-rust && yum -y install libatomic && curl https://sh.rustup.rs -sSf | sh -s -- --profile=minimal -y && rustup show"
[tool.cibuildwheel.macos]
archs = ["auto", "universal2", "x86_64", "arm64"]
before-all = "rustup target add x86_64-apple-darwin aarch64-apple-darwin"
skip = """\
cp39-macosx_x86_64 cp39-macosx_universal2 \
cp310-macosx_x86_64 cp310-macosx_universal2 \
cp311-macosx_x86_64 cp311-macosx_universal2 \
cp312-macosx_x86_64 cp312-macosx_universal2 \
cp313-macosx_x86_64 cp313-macosx_universal2 \
cp314-macosx_x86_64 cp314-macosx_universal2 \
"""
|