coredis 4.23.1__tar.gz → 4.24.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 (111) hide show
  1. {coredis-4.23.1 → coredis-4.24.0}/HISTORY.rst +9 -0
  2. {coredis-4.23.1/coredis.egg-info → coredis-4.24.0}/PKG-INFO +1 -1
  3. {coredis-4.23.1 → coredis-4.24.0}/coredis/_version.py +3 -3
  4. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/function.py +10 -5
  5. {coredis-4.23.1 → coredis-4.24.0/coredis.egg-info}/PKG-INFO +1 -1
  6. {coredis-4.23.1 → coredis-4.24.0}/LICENSE +0 -0
  7. {coredis-4.23.1 → coredis-4.24.0}/MANIFEST.in +0 -0
  8. {coredis-4.23.1 → coredis-4.24.0}/README.md +0 -0
  9. {coredis-4.23.1 → coredis-4.24.0}/coredis/__init__.py +0 -0
  10. {coredis-4.23.1 → coredis-4.24.0}/coredis/_json.py +0 -0
  11. {coredis-4.23.1 → coredis-4.24.0}/coredis/_packer.py +0 -0
  12. {coredis-4.23.1 → coredis-4.24.0}/coredis/_protocols.py +0 -0
  13. {coredis-4.23.1 → coredis-4.24.0}/coredis/_sidecar.py +0 -0
  14. {coredis-4.23.1 → coredis-4.24.0}/coredis/_utils.py +0 -0
  15. {coredis-4.23.1 → coredis-4.24.0}/coredis/cache.py +0 -0
  16. {coredis-4.23.1 → coredis-4.24.0}/coredis/client/__init__.py +0 -0
  17. {coredis-4.23.1 → coredis-4.24.0}/coredis/client/basic.py +0 -0
  18. {coredis-4.23.1 → coredis-4.24.0}/coredis/client/cluster.py +0 -0
  19. {coredis-4.23.1 → coredis-4.24.0}/coredis/client/keydb.py +0 -0
  20. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/__init__.py +0 -0
  21. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/_key_spec.py +0 -0
  22. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/_utils.py +0 -0
  23. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/_validators.py +0 -0
  24. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/_wrappers.py +0 -0
  25. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/bitfield.py +0 -0
  26. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/constants.py +0 -0
  27. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/core.py +0 -0
  28. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/monitor.py +0 -0
  29. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/pubsub.py +0 -0
  30. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/script.py +0 -0
  31. {coredis-4.23.1 → coredis-4.24.0}/coredis/commands/sentinel.py +0 -0
  32. {coredis-4.23.1 → coredis-4.24.0}/coredis/config.py +0 -0
  33. {coredis-4.23.1 → coredis-4.24.0}/coredis/connection.py +0 -0
  34. {coredis-4.23.1 → coredis-4.24.0}/coredis/constants.py +0 -0
  35. {coredis-4.23.1 → coredis-4.24.0}/coredis/credentials.py +0 -0
  36. {coredis-4.23.1 → coredis-4.24.0}/coredis/exceptions.py +0 -0
  37. {coredis-4.23.1 → coredis-4.24.0}/coredis/experimental/__init__.py +0 -0
  38. {coredis-4.23.1 → coredis-4.24.0}/coredis/globals.py +0 -0
  39. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/__init__.py +0 -0
  40. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/autocomplete.py +0 -0
  41. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/base.py +0 -0
  42. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/filters.py +0 -0
  43. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/graph.py +0 -0
  44. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/json.py +0 -0
  45. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/__init__.py +0 -0
  46. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/__init__.py +0 -0
  47. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/autocomplete.py +0 -0
  48. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/graph.py +0 -0
  49. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/json.py +0 -0
  50. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/search.py +0 -0
  51. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/_callbacks/timeseries.py +0 -0
  52. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/response/types.py +0 -0
  53. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/search.py +0 -0
  54. {coredis-4.23.1 → coredis-4.24.0}/coredis/modules/timeseries.py +0 -0
  55. {coredis-4.23.1 → coredis-4.24.0}/coredis/parser.py +0 -0
  56. {coredis-4.23.1 → coredis-4.24.0}/coredis/pipeline.py +0 -0
  57. {coredis-4.23.1 → coredis-4.24.0}/coredis/pipeline.pyi +0 -0
  58. {coredis-4.23.1 → coredis-4.24.0}/coredis/pool/__init__.py +0 -0
  59. {coredis-4.23.1 → coredis-4.24.0}/coredis/pool/basic.py +0 -0
  60. {coredis-4.23.1 → coredis-4.24.0}/coredis/pool/cluster.py +0 -0
  61. {coredis-4.23.1 → coredis-4.24.0}/coredis/pool/nodemanager.py +0 -0
  62. {coredis-4.23.1 → coredis-4.24.0}/coredis/py.typed +0 -0
  63. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/__init__.py +0 -0
  64. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/credentials/__init__.py +0 -0
  65. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/credentials/iam_provider.py +0 -0
  66. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/locks/__init__.py +0 -0
  67. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/locks/extend.lua +0 -0
  68. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/locks/lua_lock.py +0 -0
  69. {coredis-4.23.1 → coredis-4.24.0}/coredis/recipes/locks/release.lua +0 -0
  70. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/__init__.py +0 -0
  71. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/__init__.py +0 -0
  72. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/acl.py +0 -0
  73. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/cluster.py +0 -0
  74. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/command.py +0 -0
  75. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/connection.py +0 -0
  76. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/geo.py +0 -0
  77. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/hash.py +0 -0
  78. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/keys.py +0 -0
  79. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/module.py +0 -0
  80. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/script.py +0 -0
  81. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/sentinel.py +0 -0
  82. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/server.py +0 -0
  83. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/sets.py +0 -0
  84. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/sorted_set.py +0 -0
  85. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/streams.py +0 -0
  86. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_callbacks/strings.py +0 -0
  87. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/_utils.py +0 -0
  88. {coredis-4.23.1 → coredis-4.24.0}/coredis/response/types.py +0 -0
  89. {coredis-4.23.1 → coredis-4.24.0}/coredis/retry.py +0 -0
  90. {coredis-4.23.1 → coredis-4.24.0}/coredis/sentinel.py +0 -0
  91. {coredis-4.23.1 → coredis-4.24.0}/coredis/speedups.c +0 -0
  92. {coredis-4.23.1 → coredis-4.24.0}/coredis/speedups.pyi +0 -0
  93. {coredis-4.23.1 → coredis-4.24.0}/coredis/stream.py +0 -0
  94. {coredis-4.23.1 → coredis-4.24.0}/coredis/tokens.py +0 -0
  95. {coredis-4.23.1 → coredis-4.24.0}/coredis/typing.py +0 -0
  96. {coredis-4.23.1 → coredis-4.24.0}/coredis.egg-info/SOURCES.txt +0 -0
  97. {coredis-4.23.1 → coredis-4.24.0}/coredis.egg-info/dependency_links.txt +0 -0
  98. {coredis-4.23.1 → coredis-4.24.0}/coredis.egg-info/requires.txt +0 -0
  99. {coredis-4.23.1 → coredis-4.24.0}/coredis.egg-info/top_level.txt +0 -0
  100. {coredis-4.23.1 → coredis-4.24.0}/pyproject.toml +0 -0
  101. {coredis-4.23.1 → coredis-4.24.0}/requirements/ci.txt +0 -0
  102. {coredis-4.23.1 → coredis-4.24.0}/requirements/dev.txt +0 -0
  103. {coredis-4.23.1 → coredis-4.24.0}/requirements/dev_extra.txt +0 -0
  104. {coredis-4.23.1 → coredis-4.24.0}/requirements/docs.txt +0 -0
  105. {coredis-4.23.1 → coredis-4.24.0}/requirements/main.txt +0 -0
  106. {coredis-4.23.1 → coredis-4.24.0}/requirements/publishing.txt +0 -0
  107. {coredis-4.23.1 → coredis-4.24.0}/requirements/recipes.txt +0 -0
  108. {coredis-4.23.1 → coredis-4.24.0}/requirements/test.txt +0 -0
  109. {coredis-4.23.1 → coredis-4.24.0}/setup.cfg +0 -0
  110. {coredis-4.23.1 → coredis-4.24.0}/setup.py +0 -0
  111. {coredis-4.23.1 → coredis-4.24.0}/versioneer.py +0 -0
@@ -3,6 +3,14 @@
3
3
  Changelog
4
4
  =========
5
5
 
6
+ v4.24.0
7
+ -------
8
+ Release Date: 2025-07-05
9
+
10
+ * Bug Fix
11
+
12
+ * Add support for using library functions with pipelines
13
+
6
14
  v4.23.1
7
15
  -------
8
16
  Release Date: 2025-06-20
@@ -1930,3 +1938,4 @@ v1.0.1
1930
1938
 
1931
1939
 
1932
1940
 
1941
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coredis
3
- Version: 4.23.1
3
+ Version: 4.24.0
4
4
  Summary: Python async client for Redis key-value store
5
5
  Home-page: https://github.com/alisaifee/coredis
6
6
  Author: Ali-Akber Saifee
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-06-20T20:01:58-0700",
11
+ "date": "2025-07-05T19:34:23-0700",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "1205cfeb7a65ac8807380f8c5eb8596ac31791e9",
15
- "version": "4.23.1"
14
+ "full-revisionid": "cd4583e1ad0eb6d8ca23e80203ab230efe1e3b2e",
15
+ "version": "4.24.0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -107,11 +107,17 @@ class Library(Generic[AnyStr]):
107
107
  return False
108
108
 
109
109
  async def initialize(self: LibraryT, replace: bool = False) -> LibraryT:
110
+ from coredis.pipeline import ClusterPipelineImpl, PipelineImpl # type: ignore
111
+
110
112
  self._functions.clear()
111
- library = (await self.client.function_list(self.name)).get(self.name)
113
+ if isinstance(self.client, (PipelineImpl, ClusterPipelineImpl)):
114
+ redis_client = self.client.client
115
+ else:
116
+ redis_client = self.client
117
+ library = (await redis_client.function_list(self.name)).get(self.name)
112
118
  if (not library and self.code) or (replace or self.replace):
113
- await self.client.function_load(self.code, replace=replace or self.replace)
114
- library = (await self.client.function_list(self.name)).get(self.name)
119
+ await redis_client.function_load(self.code, replace=replace or self.replace)
120
+ library = (await redis_client.function_list(self.name)).get(self.name)
115
121
 
116
122
  if not library:
117
123
  raise FunctionError(f"No library found for {self.name}")
@@ -320,8 +326,7 @@ class Library(Generic[AnyStr]):
320
326
  @functools.wraps(func)
321
327
  async def _inner(*args: P.args, **kwargs: P.kwargs) -> R:
322
328
  instance, keys, arguments = split_args(*args, **kwargs)
323
- func = instance.functions[function_name]
324
- if not func:
329
+ if (func := instance.functions.get(function_name, None)) is None:
325
330
  raise AttributeError(
326
331
  f"Library {instance.name} has no registered function {function_name}"
327
332
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: coredis
3
- Version: 4.23.1
3
+ Version: 4.24.0
4
4
  Summary: Python async client for Redis key-value store
5
5
  Home-page: https://github.com/alisaifee/coredis
6
6
  Author: Ali-Akber Saifee
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes