bindep/pyproject.toml
Jeremy Stanley 32c0590450 Comment reminding to replace extras with depgroups
Our use of project.optional-dependencies for nox test environment
package lists is effectively an abuse of that feature, which is
intended to be more user-facing. There is finally a solution agreed
upon in PEP 735 and supported in unreleased pip under development,
slated for inclusion in pip 25.1 (which will require Python 3.9):

https://github.com/pypa/pip/commit/e930fee

Until we can rely on that, add code comments to pyproject.toml and
noxfile.py as a reminder.

While we're here, also correct a TODO comment about license
expressions, the fix for which will also require a minimum of Python
3.9 to work.

Change-Id: I6f38e9a48b06fcea9ad6adca195bb4204cd42a64
2025-03-25 14:12:41 +00:00

93 lines
2.8 KiB
TOML

[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
authors = [
{email = "service-discuss@lists.opendev.org"},
{name = "OpenDev Contributors"},
]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"License :: OSI Approved :: Apache Software License",
"Operating System :: MacOS :: MacOS X",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"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 :: Implementation :: CPython",
"Topic :: Software Development :: Quality Assurance",
"Topic :: Software Development :: Testing",
"Topic :: System :: Archiving :: Packaging",
"Topic :: Utilities",
]
dependencies = [
"distro>=1.7",
"packaging",
"Parsley",
"pbr>=2",
]
description = "Binary dependency utility"
dynamic = ["version"]
keywords = [
"binary",
"commandline",
"dependency",
"distribution",
"distro",
"package",
]
# TODO: Add 'license = "Apache-2.0"' here and drop the License classifier above
# once support for Python 3.8 is dropped (requires SetupTools>=77).
maintainers = [
{email = "service-discuss@lists.opendev.org"},
{name = "OpenDev Contributors"},
]
name = "bindep"
readme = {charset = "UTF-8", content-type = "text/x-rst", file = "README.rst"}
requires-python = ">=3.7"
# TODO: replace these with PEP 735 compliant dependency groups once support for
# Python 3.8 is dropped (requires pip>=25.1).
[project.optional-dependencies]
build-docs = [
# needed because we use autodoc to document our tests in the dev docs
"fixtures>=0.3.12",
"reno>=2.8.0", # Apache-2.0
"sphinx!=1.6.6,!=1.6.7,!=2.1.0", # BSD
"sphinxcontrib-programoutput", # BSD license
]
test-cover = [
"bindep[test-unit]",
"coverage>=3.6",
]
test-linters = [
"hacking>=7,<8"
]
test-unit = [
"fixtures>=0.3.12",
"python-subunit",
"stestr>=1",
"testtools>=0.9.27",
]
[project.scripts]
bindep = "bindep.__main__:main"
[project.urls]
"Browse Source" = "https://opendev.org/opendev/bindep"
"Bug Reporting" = "https://storyboard.openstack.org/#!/project/opendev/bindep"
"Documentation" = "https://docs.opendev.org/opendev/bindep"
"Git Clone URL" = "https://opendev.org/opendev/bindep"
"License Texts" = "https://opendev.org/opendev/bindep/src/branch/master/LICENSE"
"Release Notes" = "https://docs.opendev.org/opendev/bindep/latest/releasenotes.html"