redis-client-kit 0.3.0__tar.gz → 0.4.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/CHANGELOG.md +11 -0
  2. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/PKG-INFO +5 -1
  3. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/README.md +3 -0
  4. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/pyproject.toml +1 -0
  5. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/__init__.py +1 -1
  6. redis_client_kit-0.4.0/redis_client_kit/__version__.py +1 -0
  7. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/config.py +1 -0
  8. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/settings/redis.py +1 -0
  9. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/utils.py +1 -0
  10. redis_client_kit-0.3.0/redis_client_kit/__version__.py +0 -1
  11. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/.gitignore +0 -0
  12. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/LICENSE +0 -0
  13. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/aio/__init__.py +0 -0
  14. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/aio/factory.py +0 -0
  15. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/aio/instrumented.py +0 -0
  16. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/aio/lifecycle.py +0 -0
  17. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/aio/types.py +0 -0
  18. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/metrics/__init__.py +0 -0
  19. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/metrics/_deps.py +0 -0
  20. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/metrics/redis.py +0 -0
  21. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/protocols.py +0 -0
  22. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/providers/__init__.py +0 -0
  23. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/providers/_deps.py +0 -0
  24. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/providers/metrics.py +0 -0
  25. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/providers/redis.py +0 -0
  26. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/providers/utils.py +0 -0
  27. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/py.typed +0 -0
  28. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/settings/__init__.py +0 -0
  29. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/settings/_deps.py +0 -0
  30. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/sync/__init__.py +0 -0
  31. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/sync/factory.py +0 -0
  32. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/sync/instrumented.py +0 -0
  33. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/sync/lifecycle.py +0 -0
  34. {redis_client_kit-0.3.0 → redis_client_kit-0.4.0}/redis_client_kit/sync/types.py +0 -0
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.0](https://github.com/bedrock-python/redis-client-kit/compare/redis-client-kit-v0.3.0...redis-client-kit-v0.4.0) (2026-10-09)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * a hand-written connection object now needs a username attribute (None for the default user); without it the factories raise AttributeError.
9
+
10
+ ### Features
11
+
12
+ * log in as a Redis ACL user with connection.username ([#49](https://github.com/bedrock-python/redis-client-kit/issues/49)) ([53b09e5](https://github.com/bedrock-python/redis-client-kit/commit/53b09e5132fb8bdcfdd1beadfda5a581c22dd02b))
13
+
3
14
  ## [0.3.0](https://github.com/bedrock-python/redis-client-kit/compare/redis-client-kit-v0.2.0...redis-client-kit-v0.3.0) (2026-09-15)
4
15
 
5
16
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: redis-client-kit
3
- Version: 0.3.0
3
+ Version: 0.4.0
4
4
  Summary: Redis client with optional Pydantic, Prometheus, and Dishka support
5
5
  Project-URL: Repository, https://github.com/bedrock-python/redis-client-kit
6
6
  Project-URL: Documentation, https://bedrock-python.github.io/redis-client-kit/
@@ -219,6 +219,7 @@ Classifier: Programming Language :: Python :: 3.10
219
219
  Classifier: Programming Language :: Python :: 3.11
220
220
  Classifier: Programming Language :: Python :: 3.12
221
221
  Classifier: Programming Language :: Python :: 3.13
222
+ Classifier: Programming Language :: Python :: 3.14
222
223
  Classifier: Topic :: Database
223
224
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
224
225
  Classifier: Typing :: Typed
@@ -312,7 +313,10 @@ class MySettings:
312
313
  class connection:
313
314
  host = "localhost"
314
315
  port = 6379
316
+ username = None
315
317
  db = 0
318
+ client_name = None
319
+ protocol = 2
316
320
 
317
321
  @staticmethod
318
322
  def get_password():
@@ -72,7 +72,10 @@ class MySettings:
72
72
  class connection:
73
73
  host = "localhost"
74
74
  port = 6379
75
+ username = None
75
76
  db = 0
77
+ client_name = None
78
+ protocol = 2
76
79
 
77
80
  @staticmethod
78
81
  def get_password():
@@ -17,6 +17,7 @@ classifiers = [
17
17
  "Programming Language :: Python :: 3.11",
18
18
  "Programming Language :: Python :: 3.12",
19
19
  "Programming Language :: Python :: 3.13",
20
+ "Programming Language :: Python :: 3.14",
20
21
  "Topic :: Database",
21
22
  "Topic :: Software Development :: Libraries :: Python Modules",
22
23
  "Typing :: Typed",
@@ -24,7 +24,7 @@ from .utils import build_base_redis_kwargs, build_redis_retry, parse_redis_url_n
24
24
  try:
25
25
  __version__ = version("redis-client-kit")
26
26
  except PackageNotFoundError: # pragma: no cover
27
- __version__ = "0.3.0"
27
+ __version__ = "0.4.0"
28
28
 
29
29
  # ruff: noqa: RUF022
30
30
  __all__ = [
@@ -0,0 +1 @@
1
+ __version__ = "0.4.0"
@@ -8,6 +8,7 @@ class RedisConnectionProtocol(Protocol):
8
8
 
9
9
  host: str
10
10
  port: int
11
+ username: str | None
11
12
  db: int
12
13
  client_name: str | None
13
14
  protocol: int
@@ -10,6 +10,7 @@ class RedisConnectionSettings(BaseModel): # type: ignore[misc]
10
10
 
11
11
  host: str = Field(default="localhost", description="Redis host")
12
12
  port: int = Field(default=6379, ge=1, le=65535, description="Redis port")
13
+ username: str | None = Field(default=None, description="Redis ACL user name (optional; `default` when unset)")
13
14
  password: SecretStr | None = Field(default=None, description="Redis password (optional)")
14
15
  db: int = Field(default=0, ge=0, le=15, description="Redis database number (ignored in cluster mode)")
15
16
  client_name: str | None = Field(default=None, description="Identifier for this client in Redis")
@@ -53,6 +53,7 @@ def build_base_redis_kwargs(settings: RedisSettingsProtocol, *, asyncio: bool =
53
53
  _validate_pem_format(settings.ssl.keyfile, "PRIVATE KEY")
54
54
 
55
55
  kwargs: dict[str, object] = {
56
+ "username": settings.connection.username,
56
57
  "password": settings.connection.get_password(),
57
58
  "max_connections": settings.pool.max_connections,
58
59
  "socket_timeout": settings.pool.socket_timeout,
@@ -1 +0,0 @@
1
- __version__ = "0.3.0"