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.
This commit is contained in:
russell@unturf.com 2026-06-16 14:19:22 -04:00
parent 6f05f7eef4
commit ea2bc9a12c
No known key found for this signature in database
2 changed files with 8 additions and 3 deletions

View file

@ -1,6 +1,6 @@
"""erldistpy — native Python client for our Erlang distribution protocol."""
__version__ = "0.1.1"
__version__ = "0.1.2"
from erldistpy.channel import Channel, ChannelError, IncomingMessage
from erldistpy.epmd import EpmdError, EpmdInfo, lookup

View file

@ -1,10 +1,15 @@
[build-system]
requires = ["setuptools>=68", "wheel"]
# 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.1"
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"