Files
cinder/pyproject.toml
Stephen Finucane 49216d3dd5 Migrate setup configuration to pyproject.toml
Change-Id: I9cc146d38596262f03d1b61ae76cc1ae29a714cd
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2025-09-12 14:59:32 +01:00

177 lines
5.2 KiB
TOML

[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
name = "cinder"
description = "OpenStack Block Storage"
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 :: Console",
"Intended Audience :: Developers",
"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.13",
]
[project.urls]
Homepage = "https://docs.openstack.org/cinder"
Repository = "https://opendev.org/openstack/cinder"
Bugs = "https://bugs.launchpad.net/cinder"
[project.entry-points."cinder.scheduler.filters"]
AvailabilityZoneFilter = "cinder.scheduler.filters.availability_zone_filter:AvailabilityZoneFilter"
CapabilitiesFilter = "cinder.scheduler.filters.capabilities_filter:CapabilitiesFilter"
CapacityFilter = "cinder.scheduler.filters.capacity_filter:CapacityFilter"
DifferentBackendFilter = "cinder.scheduler.filters.affinity_filter:DifferentBackendFilter"
DriverFilter = "cinder.scheduler.filters.driver_filter:DriverFilter"
JsonFilter = "cinder.scheduler.filters.json_filter:JsonFilter"
RetryFilter = "cinder.scheduler.filters.ignore_attempted_hosts_filter:IgnoreAttemptedHostsFilter"
SameBackendFilter = "cinder.scheduler.filters.affinity_filter:SameBackendFilter"
InstanceLocalityFilter = "cinder.scheduler.filters.instance_locality_filter:InstanceLocalityFilter"
[project.entry-points."cinder.scheduler.weights"]
AllocatedCapacityWeigher = "cinder.scheduler.weights.capacity:AllocatedCapacityWeigher"
CapacityWeigher = "cinder.scheduler.weights.capacity:CapacityWeigher"
ChanceWeigher = "cinder.scheduler.weights.chance:ChanceWeigher"
GoodnessWeigher = "cinder.scheduler.weights.goodness:GoodnessWeigher"
VolumeNumberWeigher = "cinder.scheduler.weights.volume_number:VolumeNumberWeigher"
[project.entry-points."oslo.config.opts"]
cinder = "cinder.opts:list_opts"
[project.entry-points."oslo.config.opts.defaults"]
cinder = "cinder.common.config:set_external_library_defaults"
[project.entry-points."oslo.policy.enforcer"]
cinder = "cinder.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.
cinder = "cinder.policies:list_rules"
[project.scripts]
cinder-api = "cinder.cmd.api:main"
cinder-backup = "cinder.cmd.backup:main"
cinder-manage = "cinder.cmd.manage:main"
cinder-rootwrap = "oslo_rootwrap.cmd:main"
cinder-rtstool = "cinder.cmd.rtstool:main"
cinder-scheduler = "cinder.cmd.scheduler:main"
cinder-status = "cinder.cmd.status:main"
cinder-volume = "cinder.cmd.volume:main"
cinder-volume-usage-audit = "cinder.cmd.volume_usage_audit:main"
[project.optional-dependencies]
all = [
"websocket-client>=1.3.2", # LGPLv2+
"pyOpenSSL>=17.5.0", # Apache-2.0
"storops>=0.5.10", # Apache-2.0
"pywbem>=0.7.0", #LGPLv2.1+
"python-3parclient>=4.2.10", # Apache-2.0
"krest>=1.3.0", # Apache-2.0
"infinisdk>=103.0.1", # BSD-3
"py-pure-client>=1.47.0", # BSD
"rsd-lib>=1.1.0", # Apache-2.0
"storpool>=7.1.0", # Apache-2.0
"storpool.spopenstack>=2.2.1", # Apache-2.0
"dfs-sdk>=1.2.25", # Apache-2.0
"rbd-iscsi-client>=0.1.8", # Apache-2.0
"python-linstor>=1.7.0", # LGPLv3
"psutil>=5.7.2", # BSD
]
datacore = [
"websocket-client>=1.3.2", # LGPLv2+
]
powermax = [
"pyOpenSSL>=17.5.0", # Apache-2.0
]
vnx = [
"storops>=0.5.10", # Apache-2.0
]
unity = [
"storops>=0.5.10", # Apache-2.0
]
fujitsu = [
"pywbem>=0.7.0", #LGPLv2.1+
]
hpe3par = [
"python-3parclient>=4.2.10", # Apache-2.0
]
kaminario = [
"krest>=1.3.0", # Apache-2.0
]
ds8k = [
"pyOpenSSL>=17.5.0", # Apache-2.0
]
infinidat = [
"infinisdk>=103.0.1", # BSD-3
]
pure = [
"py-pure-client>=1.47.0", # BSD
]
rsd = [
"rsd-lib>=1.1.0", # Apache-2.0
]
storpool = [
"storpool>=7.1.0", # Apache-2.0
"storpool.spopenstack>=2.2.1", # Apache-2.0
]
datera = [
"dfs-sdk>=1.2.25", # Apache-2.0
]
rbd_iscsi = [
"rbd-iscsi-client>=0.1.8", # Apache-2.0
]
linstor = [
"python-linstor>=1.7.0", # LGPLv3
]
quobyte = [
"psutil>=5.7.2", # BSD
]
[tool.setuptools]
packages = [
"cinder"
]
[tool.setuptools.data-files]
"etc/cinder" = [
"etc/cinder/api-paste.ini",
"etc/cinder/rootwrap.conf",
"etc/cinder/resource_filters.json",
]
"etc/cinder/rootwrap.d" = [
"etc/cinder/rootwrap.d/*",
]
[tool.mypy]
python_version = "3.10"
show_column_numbers = true
show_error_context = true
ignore_missing_imports = true
follow_imports = "skip"
incremental = true
check_untyped_defs = true
warn_unused_ignores = true
show_error_codes = true
pretty = true
html_report = "mypy-report"
no_implicit_optional = true
strict_equality = true