[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"]