125 lines
3.1 KiB
TOML
125 lines
3.1 KiB
TOML
[build-system]
|
|
requires = ["pbr>=6.1.1"]
|
|
build-backend = "pbr.build"
|
|
|
|
[project]
|
|
name = "tooz"
|
|
description = "Coordination library for distributed systems."
|
|
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",
|
|
"Topic :: System :: Distributed Computing",
|
|
"Typing :: Typed",
|
|
]
|
|
|
|
[project.urls]
|
|
Homepage = "https://docs.openstack.org/tooz"
|
|
Repository = "https://opendev.org/openstack/tooz"
|
|
|
|
[project.entry-points."tooz.backends"]
|
|
"etcd3+http" = "tooz.drivers.etcd3gw:Etcd3Driver"
|
|
"etcd3+https" = "tooz.drivers.etcd3gw:Etcd3Driver"
|
|
"kazoo" = "tooz.drivers.zookeeper:KazooDriver"
|
|
"memcached" = "tooz.drivers.memcached:MemcachedDriver"
|
|
"ipc" = "tooz.drivers.ipc:IPCDriver"
|
|
"redis" = "tooz.drivers.redis:RedisDriver"
|
|
"postgresql" = "tooz.drivers.pgsql:PostgresDriver"
|
|
"mysql" = "tooz.drivers.mysql:MySQLDriver"
|
|
"file" = "tooz.drivers.file:FileDriver"
|
|
"zookeeper" = "tooz.drivers.zookeeper:KazooDriver"
|
|
"consul" = "tooz.drivers.consul:ConsulDriver"
|
|
"kubernetes" = "tooz.drivers.kubernetes:SherlockDriver"
|
|
|
|
[project.optional-dependencies]
|
|
consul = [
|
|
"python-consul2>=0.0.16", # MIT License
|
|
]
|
|
etcd3gw = [
|
|
"etcd3gw>=2.3.0", # Apache-2.0
|
|
]
|
|
redis = [
|
|
"redis>=4.0.0", # MIT
|
|
]
|
|
postgresql = [
|
|
"psycopg2>=2.5", # LGPL/ZPL
|
|
]
|
|
mysql = [
|
|
"PyMySQL>=0.6.2", # MIT License
|
|
]
|
|
zookeeper = [
|
|
"kazoo>=2.6", # Apache-2.0
|
|
]
|
|
memcached = [
|
|
"pymemcache>=1.2.9", # Apache 2.0 License
|
|
]
|
|
ipc = [
|
|
"sysv-ipc>=0.6.8", # BSD License
|
|
]
|
|
kubernetes = [
|
|
"kubernetes>=2.8.1", # Apache-2.0
|
|
"sherlock>=0.4.1", # MIT License
|
|
]
|
|
|
|
[tool.setuptools]
|
|
packages = [
|
|
"tooz"
|
|
]
|
|
|
|
[tool.mypy]
|
|
python_version = "3.10"
|
|
show_column_numbers = true
|
|
show_error_context = true
|
|
strict = true
|
|
disable_error_code = ["import-untyped"]
|
|
exclude = "(?x)(doc | examples | releasenotes | tools)"
|
|
# Vendored stubs for packages pending upstream type annotation merges.
|
|
# Remove stubs/sysv_ipc when [1] has merged.
|
|
#
|
|
# [1] https://github.com/osvenskan/sysv_ipc/pull/78
|
|
mypy_path = ["stubs"]
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = ["tooz.tests.*"]
|
|
disallow_untyped_calls = false
|
|
disallow_untyped_defs = false
|
|
disallow_subclassing_any = false
|
|
|
|
[[tool.mypy.overrides]]
|
|
module = [
|
|
"tooz.drivers.consul",
|
|
"tooz.drivers.etcd",
|
|
"tooz.tests.drivers.test_etcd",
|
|
]
|
|
ignore_errors = true
|
|
|
|
[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"]
|
|
external = ["H"]
|
|
ignore = [
|
|
# asserts are only used for type narrowing
|
|
"S101",
|
|
]
|