This avoids the need to duplicate our dependency list in multiple places and allows us to take advantage of tox's dependency management infrastructure, to ensure we always get the latest and greatest version of a package allowed by upper-constraints. It also removes the slowest pre-commit hook (by some distance), making pre-commit faster Change-Id: I3249b2f7dfa1bf35707d4953fb99b54bdfbaec1b Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
75 lines
1.9 KiB
TOML
75 lines
1.9 KiB
TOML
[build-system]
|
|
requires = ["pbr>=6.1.1"]
|
|
build-backend = "pbr.build"
|
|
|
|
[project]
|
|
name = "osc-lib"
|
|
description = "OpenStackClient Library"
|
|
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 :: 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/osc-lib/"
|
|
Repository = "https://opendev.org/openstack/osc-lib/"
|
|
"Bug Tracker" = "https://storyboard.openstack.org/#!/project/openstack/osc-lib"
|
|
|
|
[project.optional-dependencies]
|
|
test = [
|
|
"fixtures>=3.0.0", # Apache-2.0/BSD
|
|
"testtools>=2.2.0", # MIT
|
|
]
|
|
|
|
[tool.setuptools]
|
|
packages = [
|
|
"osc_lib"
|
|
]
|
|
|
|
[tool.mypy]
|
|
show_column_numbers = true
|
|
show_error_context = true
|
|
# we set this to false since the typing situation of dependencies is rapidly
|
|
# evolving right now
|
|
warn_unused_ignores = false
|
|
strict = true
|
|
exclude = '(?x)(doc | releasenotes)'
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["osc_lib.tests.*"]
|
|
ignore_errors = true
|
|
|
|
[tool.ruff]
|
|
line-length = 79
|
|
target-version = "py310"
|
|
|
|
[tool.ruff.format]
|
|
quote-style = "preserve"
|
|
docstring-code-format = true
|
|
|
|
[tool.ruff.lint]
|
|
select = ["E4", "E5", "E7", "E9", "F", "S", "UP"]
|
|
ignore = [
|
|
# we only use asserts for type narrowing
|
|
"S101",
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"osc_lib/tests/*" = ["S"]
|