erldistpy/pyproject.toml
russell@unturf.com ea2bc9a12c
cap setuptools<77 in build-system, bump to v0.1.2
Pipeline #40344 (v0.1.1) failed at twine check with 'Metadata is
missing required fields: Name, Version' — twine 5.x doesn't recognize
Metadata-Version 2.4 wheels (it caps at 2.3). setuptools 77.0 (March
2025) bumped wheels to 2.4 for PEP 639 license-expression support.

Capping the build env's setuptools at <77 keeps wheels on Metadata-
Version 2.2 (verified locally — twine 5 PASSED).

Long-term fix is Trusted Publishing OIDC, which lets us drop the
twine<6 pin AND the setuptools cap. See the migration plan in our
next commit / pipeline discussion.
2026-06-16 14:19:22 -04:00

77 lines
2.2 KiB
TOML

[build-system]
# setuptools 77+ emits Metadata-Version 2.4 (PEP 639 license-expression).
# twine <6 caps at metadata 2.3 and rejects 2.4 wheels with "Metadata is
# missing required fields: Name, Version." Until we migrate the build
# runner to Trusted Publishing OIDC (which lets us use twine 6+), keep
# setuptools below 77 so the wheel stays metadata 2.3.
requires = ["setuptools>=68,<77", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "erldistpy"
version = "0.1.2"
description = "Native Python client for Erlang distribution protocol — EPMD + v6 handshake + gen_server call(), no asyncio."
readme = { file = "README.md", content-type = "text/markdown" }
requires-python = ">=3.10"
license = { text = "Unlicense" }
authors = [
{ name = "Russell Ballestrini", email = "russell.ballestrini@gmail.com" },
]
keywords = [
"erlang",
"elixir",
"distribution",
"dist",
"gen_server",
"rpc",
"etf",
"epmd",
"inet_tls_dist",
"interop",
]
classifiers = [
"Development Status :: 3 - Alpha",
"Intended Audience :: Developers",
"License :: Public Domain",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Erlang",
"Topic :: Software Development :: Libraries :: Python Modules",
"Topic :: System :: Networking",
]
dependencies = []
[project.urls]
Homepage = "https://git.unturf.com/python/erldistpy"
Repository = "https://git.unturf.com/python/erldistpy"
"Bug Tracker" = "https://git.unturf.com/python/erldistpy/-/issues"
[project.optional-dependencies]
dev = [
"pytest >=8.0,<9",
"pytest-cov >=5.0,<7",
"ruff >=0.6,<1",
"build >=1.0",
"twine >=5.0",
]
[tool.setuptools.packages.find]
include = ["erldistpy*"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-ra --strict-markers"
[tool.ruff]
line-length = 100
target-version = "py310"
[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP", "SIM"]
ignore = ["E501"]