Migrate setup configuration to pyproject.toml

Or as much of it as we can currently.

Change-Id: I25f8e0ae5f7a652576678829e574b5bf2d2441a2
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
This commit is contained in:
Stephen Finucane
2025-06-28 13:05:00 +01:00
parent 0b5461e18b
commit 324af749bb
2 changed files with 104 additions and 85 deletions
+104 -1
View File
@@ -1,7 +1,110 @@
[build-system]
requires = ["pbr>=6.0.0", "setuptools>=64.0.0"]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
name = "nova"
description = "Cloud computing fabric controller"
authors = [
{name = "OpenStack", email = "openstack-discuss@lists.openstack.org"},
]
readme = {file = "README.rst", content-type = "text/x-rst"}
license = {text = "Apache-2.0"}
dynamic = ["version", "dependencies"]
requires-python = ">=3.10"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: OpenStack",
"Intended Audience :: Information Technology",
"Intended Audience :: System Administrators",
"License :: OSI Approved :: Apache Software License",
"Operating System :: POSIX :: Linux",
"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 :: Only",
"Programming Language :: Python :: Implementation :: CPython",
]
[project.optional-dependencies]
osprofiler = [
"osprofiler>=1.4.0", # Apache-2.0
]
zvm = [
"zVMCloudConnector>=1.3.0;sys_platform!='win32'", # Apache 2.0 License
]
vmware = [
"oslo.vmware>=3.6.0", # Apache-2.0
]
[project.urls]
"Bug Tracker" = "https://bugs.launchpad.net/nova/"
"Documentation" = "https://docs.openstack.org/nova/"
"Source Code" = "https://opendev.org/openstack/nova"
[project.scripts]
nova-compute = "nova.cmd.compute:main"
nova-conductor = "nova.cmd.conductor:main"
nova-manage = "nova.cmd.manage:main"
nova-novncproxy = "nova.cmd.novncproxy:main"
nova-policy = "nova.cmd.policy:main"
nova-rootwrap = "oslo_rootwrap.cmd:main"
nova-rootwrap-daemon = "oslo_rootwrap.cmd:daemon"
nova-scheduler = "nova.cmd.scheduler:main"
nova-serialproxy = "nova.cmd.serialproxy:main"
nova-spicehtml5proxy = "nova.cmd.spicehtml5proxy:main"
nova-status = "nova.cmd.status:main"
[project.entry-points."oslo.config.opts"]
"nova.conf" = "nova.conf.opts:list_opts"
[project.entry-points."oslo.config.opts.defaults"]
"nova.conf" = "nova.config:set_lib_defaults"
[project.entry-points."oslo.policy.enforcer"]
nova = "nova.policy:get_enforcer"
[project.entry-points."oslo.policy.policies"]
# The sample policies will be ordered by entry point and then by list
# returned from that entry point. If more control is desired split out each
# list_rules method into a separate entry point rather than using the
# aggregate method.
nova = "nova.policies:list_rules"
[project.entry-points."nova.api.extra_spec_validators"]
accel = "nova.api.validation.extra_specs.accel"
aggregate_instance_extra_specs = "nova.api.validation.extra_specs.aggregate_instance_extra_specs"
capabilities = "nova.api.validation.extra_specs.capabilities"
hw = "nova.api.validation.extra_specs.hw"
hw_rng = "nova.api.validation.extra_specs.hw_rng"
hw_video = "nova.api.validation.extra_specs.hw_video"
null = "nova.api.validation.extra_specs.null"
os = "nova.api.validation.extra_specs.os"
pci_passthrough = "nova.api.validation.extra_specs.pci_passthrough"
quota = "nova.api.validation.extra_specs.quota"
resources = "nova.api.validation.extra_specs.resources"
traits = "nova.api.validation.extra_specs.traits"
vmware = "nova.api.validation.extra_specs.vmware"
[project.entry-points."nova.compute.monitors.cpu"]
virt_driver = "nova.compute.monitors.cpu.virt_driver:Monitor"
[tool.setuptools]
packages = [
"nova"
]
[tool.setuptools.data-files]
"etc/nova" = [
"etc/nova/api-paste.ini",
"etc/nova/rootwrap.conf",
]
"etc/nova/rootwrap.d" = [
"etc/nova/rootwrap.d/*",
]
[tool.autopep8]
aggressive = 3
in-place = true