Files
osc-lib/pyproject.toml
Stephen Finucane 009a567f8f Run mypy from tox
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>
2025-12-11 14:20:58 +00:00

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"]