-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Expand file tree
/
Copy pathpyproject.toml
More file actions
145 lines (132 loc) · 3.97 KB
/
pyproject.toml
File metadata and controls
145 lines (132 loc) · 3.97 KB
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "redis"
dynamic = ["version"]
description = "Python client for Redis database and key-value store"
readme = "README.md"
license = "MIT"
requires-python = ">=3.10"
authors = [{ name = "Redis Inc.", email = "oss@redis.com" }]
keywords = ["Redis", "database", "key-value-store"]
classifiers = [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
]
dependencies = [
'async-timeout>=4.0.3; python_full_version<"3.11.3"',
]
[project.optional-dependencies]
hiredis = [
"hiredis>=3.2.0",
]
xxhash = [
'xxhash~=3.6.0',
]
ocsp = [
"cryptography>=36.0.1",
"pyopenssl>=20.0.1",
"requests>=2.31.0",
]
jwt = [
"PyJWT>=2.12.0",
]
circuit_breaker = [
"pybreaker>=1.4.0"
]
otel = [
"opentelemetry-api>=1.39.1",
"opentelemetry-sdk>=1.39.1",
"opentelemetry-exporter-otlp-proto-http>=1.39.1",
]
[project.urls]
Changes = "https://github.com/redis/redis-py/releases"
Code = "https://github.com/redis/redis-py"
Documentation = "https://redis.readthedocs.io/en/latest/"
Homepage = "https://github.com/redis/redis-py"
"Issue tracker" = "https://github.com/redis/redis-py/issues"
[tool.hatch.version]
path = "redis/__init__.py"
[tool.hatch.build.targets.sdist]
include = ["/redis", "/tests", "dev_requirements.txt"]
[tool.hatch.build.targets.wheel]
include = ["/redis"]
[tool.pytest.ini_options]
addopts = "-s"
markers = [
"redismod: run only the redis module tests",
"pipeline: pipeline tests",
"onlycluster: marks tests to be run only with cluster mode redis",
"onlynoncluster: marks tests to be run only with standalone redis",
"ssl: marker for only the ssl tests",
"asyncio: marker for async tests",
"replica: replica tests",
"experimental: run only experimental tests",
"cp_integration: credential provider integration tests",
"no_mock_connections: skip the autouse mock_health_check_connections fixture",
]
asyncio_default_fixture_loop_scope = "function"
asyncio_mode = "auto"
timeout = 30
filterwarnings = [
"always",
# Ignore a coverage warning when COVERAGE_CORE=sysmon for Pythons < 3.12.
"ignore:sys.monitoring isn't available:coverage.exceptions.CoverageWarning",
]
log_cli_level = "INFO"
log_cli_date_format = "%H:%M:%S:%f"
log_cli = false
log_cli_format = "%(asctime)s %(levelname)s %(threadName)s: %(message)s"
log_level = "INFO"
capture = "yes"
[tool.ruff]
target-version = "py310"
line-length = 88
exclude = [
"*.egg-info",
"*.pyc",
".git",
".venv*",
"build",
"dist",
"docker",
"docs/*",
"doctests/*",
"tasks.py",
"venv*",
"whitelist.py",
]
[tool.ruff.lint]
ignore = [
"E501", # line too long (taken care of with ruff format)
"E741", # ambiguous variable name
"N818", # Errors should have Error suffix
]
select = ["E", "F", "FLY", "I", "N", "W"]
[tool.ruff.lint.per-file-ignores]
"redis/commands/bf/*" = [
# the `bf` module uses star imports, so this is required there.
"F405", # name may be undefined, or defined from star imports
]
"redis/commands/{bf,timeseries,json,search}/*" = ["N"]
"tests/*" = [
"I", # TODO: could be enabled, plenty of changes
"N801", # class name should use CapWords convention
"N803", # argument name should be lowercase
"N802", # function name should be lowercase
"N806", # variable name should be lowercase
]