[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