[build-system] requires = ["pbr>=6.1.1"] build-backend = "pbr.build" [project] name = "castellan" description = "Generic Key Manager interface for OpenStack" 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", "Typing :: Typed", ] [project.urls] Homepage = "https://docs.openstack.org/castellan/" Repository = "https://opendev.org/openstack/castellan/" [project.entry-points."oslo.config.opts"] "castellan.tests.functional.config" = "castellan.tests.functional.config:list_opts" "castellan.config" = "castellan.options:list_opts" [project.entry-points."oslo.config.driver"] castellan = "castellan._config_driver:CastellanConfigurationSourceDriver" [project.entry-points."castellan.drivers"] barbican = "castellan.key_manager.barbican_key_manager:BarbicanKeyManager" vault = "castellan.key_manager.vault_key_manager:VaultKeyManager" [tool.setuptools] packages = [ "castellan" ] [tool.ruff] line-length = 79 [tool.ruff.format] quote-style = "preserve" docstring-code-format = true [tool.ruff.lint] select = ["E4", "E5", "E7", "E9", "F", "G", "LOG", "S", "UP"] # S105-S107: hardcoded password checks - likely to generate false # positives in a gate environment # S607: start process with a partial path - this should be a project # level decision ignore = ["S105", "S106", "S107", "S607"] [tool.ruff.lint.per-file-ignores] "castellan/tests/*" = ["S"] [tool.mypy] python_version = "3.10" show_column_numbers = true show_error_context = true strict = true disable_error_code = ["import-untyped"] exclude = '(?x)(doc | releasenotes)' [[tool.mypy.overrides]] module = ["castellan.tests.*"] disallow_untyped_calls = false disallow_untyped_defs = false disallow_subclassing_any = false