1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
[build-system]
requires = ["pbr>=6.1.1"]
build-backend = "pbr.build"
[project]
name = "neutron-lib"
description = "Neutron shared routines and utilities"
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.13",
"Programming Language :: Python :: 3 :: Only",
]
[project.optional-dependencies]
osprofiler = [
"osprofiler>=1.4.0", # Apache-2.0
]
[project.urls]
"Bug Tracker" = "https://bugs.launchpad.net/neutron"
"Documentation" = "https://docs.openstack.org/neutron-lib"
"Source Code" = "https://opendev.org/openstack/neutron-lib"
[project.entry-points."oslo.policy.enforcer"]
neutron_lib = "neutron_lib._policy:get_enforcer"
[project.entry-points."oslo.policy.policies"]
neutron_lib = "neutron_lib._policy:list_rules"
[project.entry-points."flake8.extension"]
N521 = "neutron_lib.hacking.checks:use_jsonutils"
N524 = "neutron_lib.hacking.checks:check_no_contextlib_nested"
N529 = "neutron_lib.hacking.checks:no_mutable_default_args"
N530 = "neutron_lib.hacking.checks:check_neutron_namespace_imports"
N532 = "neutron_lib.hacking.translation_checks:check_log_warn_deprecated"
N534 = "neutron_lib.hacking.translation_checks:check_raised_localized_exceptions"
N536 = "neutron_lib.hacking.checks:assert_equal_none"
N537 = "neutron_lib.hacking.translation_checks:no_translate_logs"
N535 = "neutron_lib.hacking.checks:check_no_eventlet_imports"
[tool.setuptools]
packages = [
"neutron_lib"
]
[tool.mypy]
incremental = true
pretty = true
show_error_context = true
show_column_numbers = true
warn_unused_ignores = true
# remove gradually as progress is made
disable_error_code = "import-untyped,var-annotated,import-not-found"
# honor excludes by not following there through imports
follow_imports = "silent"
files = "neutron_lib"
[tool.ruff]
line-length = 79
[tool.ruff.lint]
select = ["E4", "E5", "E7", "E9", "F", "S", "UP"]
ignore = [
"S104", # Possible binding to all interfaces
"S311", # Suspicious non-cryptographic random usage
"UP031", # Use format specifiers instead of percent format
]
[tool.ruff.lint.per-file-ignores]
"neutron_lib/tests/*" = ["S"]
|