File: pyproject.toml

package info (click to toggle)
python-redis 6.1.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 9,296 kB
  • sloc: python: 57,443; sh: 179; makefile: 128
file content (124 lines) | stat: -rw-r--r-- 3,626 bytes parent folder | download
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
[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.8"
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.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Programming Language :: Python :: 3.13",
    "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.0.0",
]
ocsp = [
    "cryptography>=36.0.1",
    "pyopenssl>=20.0.1",
    "requests>=2.31.0",
]
jwt = [
    "PyJWT>=2.9.0",
]

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

[tool.ruff]
target-version = "py38"
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
]