valkey-glide 1.3.5rc5__cp312-cp312-macosx_11_0_arm64.whl → 2.0.0__cp312-cp312-macosx_11_0_arm64.whl

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.

Potentially problematic release.


This version of valkey-glide might be problematic. Click here for more details.

Files changed (36) hide show
  1. glide/__init__.py +32 -8
  2. glide/async_commands/{transaction.py → batch.py} +1420 -992
  3. glide/async_commands/batch_options.py +261 -0
  4. glide/async_commands/bitmap.py +94 -85
  5. glide/async_commands/cluster_commands.py +293 -126
  6. glide/async_commands/command_args.py +7 -6
  7. glide/async_commands/core.py +1313 -721
  8. glide/async_commands/server_modules/ft.py +83 -14
  9. glide/async_commands/server_modules/ft_options/ft_aggregate_options.py +15 -8
  10. glide/async_commands/server_modules/ft_options/ft_create_options.py +23 -11
  11. glide/async_commands/server_modules/ft_options/ft_profile_options.py +12 -7
  12. glide/async_commands/server_modules/ft_options/ft_search_options.py +12 -6
  13. glide/async_commands/server_modules/glide_json.py +134 -43
  14. glide/async_commands/server_modules/json_batch.py +157 -127
  15. glide/async_commands/sorted_set.py +39 -29
  16. glide/async_commands/standalone_commands.py +202 -95
  17. glide/async_commands/stream.py +94 -87
  18. glide/config.py +253 -112
  19. glide/constants.py +8 -4
  20. glide/glide.cpython-312-darwin.so +0 -0
  21. glide/glide.pyi +25 -0
  22. glide/glide_client.py +305 -94
  23. glide/logger.py +31 -19
  24. glide/opentelemetry.py +181 -0
  25. glide/protobuf/command_request_pb2.py +15 -15
  26. glide/protobuf/command_request_pb2.pyi +75 -46
  27. glide/protobuf/connection_request_pb2.py +12 -12
  28. glide/protobuf/connection_request_pb2.pyi +36 -29
  29. glide/protobuf/response_pb2.py +6 -6
  30. glide/protobuf/response_pb2.pyi +14 -9
  31. glide/protobuf_codec.py +7 -6
  32. glide/routes.py +41 -8
  33. {valkey_glide-1.3.5rc5.dist-info → valkey_glide-2.0.0.dist-info}/METADATA +38 -14
  34. valkey_glide-2.0.0.dist-info/RECORD +39 -0
  35. valkey_glide-1.3.5rc5.dist-info/RECORD +0 -37
  36. {valkey_glide-1.3.5rc5.dist-info → valkey_glide-2.0.0.dist-info}/WHEEL +0 -0
@@ -2,7 +2,6 @@
2
2
  @generated by mypy-protobuf. Do not edit manually!
3
3
  isort:skip_file
4
4
  """
5
-
6
5
  import builtins
7
6
  import google.protobuf.descriptor
8
7
  import google.protobuf.internal.enum_type_wrapper
@@ -49,7 +48,7 @@ class ConstantResponse(_ConstantResponse, metaclass=_ConstantResponseEnumTypeWra
49
48
  OK: ConstantResponse.ValueType # 0
50
49
  global___ConstantResponse = ConstantResponse
51
50
 
52
- @typing.final
51
+ @typing_extensions.final
53
52
  class RequestError(google.protobuf.message.Message):
54
53
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
55
54
 
@@ -63,11 +62,11 @@ class RequestError(google.protobuf.message.Message):
63
62
  type: global___RequestErrorType.ValueType = ...,
64
63
  message: builtins.str = ...,
65
64
  ) -> None: ...
66
- def ClearField(self, field_name: typing.Literal["message", b"message", "type", b"type"]) -> None: ...
65
+ def ClearField(self, field_name: typing_extensions.Literal["message", b"message", "type", b"type"]) -> None: ...
67
66
 
68
67
  global___RequestError = RequestError
69
68
 
70
- @typing.final
69
+ @typing_extensions.final
71
70
  class Response(google.protobuf.message.Message):
72
71
  DESCRIPTOR: google.protobuf.descriptor.Descriptor
73
72
 
@@ -77,13 +76,15 @@ class Response(google.protobuf.message.Message):
77
76
  REQUEST_ERROR_FIELD_NUMBER: builtins.int
78
77
  CLOSING_ERROR_FIELD_NUMBER: builtins.int
79
78
  IS_PUSH_FIELD_NUMBER: builtins.int
79
+ ROOT_SPAN_PTR_FIELD_NUMBER: builtins.int
80
80
  callback_idx: builtins.int
81
81
  resp_pointer: builtins.int
82
82
  constant_response: global___ConstantResponse.ValueType
83
- closing_error: builtins.str
84
- is_push: builtins.bool
85
83
  @property
86
84
  def request_error(self) -> global___RequestError: ...
85
+ closing_error: builtins.str
86
+ is_push: builtins.bool
87
+ root_span_ptr: builtins.int
87
88
  def __init__(
88
89
  self,
89
90
  *,
@@ -93,9 +94,13 @@ class Response(google.protobuf.message.Message):
93
94
  request_error: global___RequestError | None = ...,
94
95
  closing_error: builtins.str = ...,
95
96
  is_push: builtins.bool = ...,
97
+ root_span_ptr: builtins.int | None = ...,
96
98
  ) -> None: ...
97
- def HasField(self, field_name: typing.Literal["closing_error", b"closing_error", "constant_response", b"constant_response", "request_error", b"request_error", "resp_pointer", b"resp_pointer", "value", b"value"]) -> builtins.bool: ...
98
- def ClearField(self, field_name: typing.Literal["callback_idx", b"callback_idx", "closing_error", b"closing_error", "constant_response", b"constant_response", "is_push", b"is_push", "request_error", b"request_error", "resp_pointer", b"resp_pointer", "value", b"value"]) -> None: ...
99
- def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["resp_pointer", "constant_response", "request_error", "closing_error"] | None: ...
99
+ def HasField(self, field_name: typing_extensions.Literal["_root_span_ptr", b"_root_span_ptr", "closing_error", b"closing_error", "constant_response", b"constant_response", "request_error", b"request_error", "resp_pointer", b"resp_pointer", "root_span_ptr", b"root_span_ptr", "value", b"value"]) -> builtins.bool: ...
100
+ def ClearField(self, field_name: typing_extensions.Literal["_root_span_ptr", b"_root_span_ptr", "callback_idx", b"callback_idx", "closing_error", b"closing_error", "constant_response", b"constant_response", "is_push", b"is_push", "request_error", b"request_error", "resp_pointer", b"resp_pointer", "root_span_ptr", b"root_span_ptr", "value", b"value"]) -> None: ...
101
+ @typing.overload
102
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["_root_span_ptr", b"_root_span_ptr"]) -> typing_extensions.Literal["root_span_ptr"] | None: ...
103
+ @typing.overload
104
+ def WhichOneof(self, oneof_group: typing_extensions.Literal["value", b"value"]) -> typing_extensions.Literal["resp_pointer", "constant_response", "request_error", "closing_error"] | None: ...
100
105
 
101
106
  global___Response = Response
glide/protobuf_codec.py CHANGED
@@ -5,13 +5,13 @@ from typing import List, Tuple, Type
5
5
 
6
6
  from google.protobuf import message
7
7
 
8
- """
9
- Codec for protobuf messages.
10
- All of the Varint functions were copied from https://github.com/protocolbuffers/protobuf
11
- """
12
-
13
8
 
14
9
  class ProtobufCodec:
10
+ """
11
+ Codec for protobuf messages.
12
+ All of the Varint functions were copied from [protobuf](https://github.com/protocolbuffers/protobuf)
13
+ """
14
+
15
15
  @classmethod
16
16
  def _decode_varint_32(cls, buffer, pos):
17
17
  decoder_func = cls._varint_decoder((1 << 32) - 1, int)
@@ -91,7 +91,8 @@ class ProtobufCodec:
91
91
  # Recieved only partial response
92
92
  raise PartialMessageException("Recieved only a partial response")
93
93
  offset = new_pos
94
- msg_buf = read_bytes_view[offset : offset + msg_len]
94
+ end = offset + msg_len
95
+ msg_buf = read_bytes_view[offset:end]
95
96
  offset += msg_len
96
97
  message = message_class()
97
98
  message.ParseFromString(msg_buf)
glide/routes.py CHANGED
@@ -10,9 +10,17 @@ from glide.protobuf.command_request_pb2 import SlotTypes as ProtoSlotTypes
10
10
 
11
11
  class SlotType(Enum):
12
12
  PRIMARY = 1
13
- # `REPLICA` overrides the `read_from_replica` configuration. If it's used the request
14
- # will be routed to a replica, even if the strategy is `ALWAYS_FROM_MASTER`.
13
+ """
14
+ Address a primary node.
15
+ """
16
+
15
17
  REPLICA = 2
18
+ """
19
+ Address a replica node.
20
+
21
+ `REPLICA` overrides the `read_from_replica` configuration. If it's used the request
22
+ will be routed to a replica, even if the strategy is `ALWAYS_FROM_MASTER`.
23
+ """
16
24
 
17
25
 
18
26
  class Route:
@@ -26,6 +34,7 @@ class Route:
26
34
  class AllNodes(Route):
27
35
  """
28
36
  Route request to all nodes.
37
+
29
38
  Warning:
30
39
  Don't use it with write commands, they could be routed to a replica (RO) node and fail.
31
40
  """
@@ -34,12 +43,17 @@ class AllNodes(Route):
34
43
 
35
44
 
36
45
  class AllPrimaries(Route):
46
+ """
47
+ Route request to all primary nodes.
48
+ """
49
+
37
50
  pass
38
51
 
39
52
 
40
53
  class RandomNode(Route):
41
54
  """
42
55
  Route request to a random node.
56
+
43
57
  Warning:
44
58
  Don't use it with write commands, because they could be randomly routed to a replica (RO) node and fail.
45
59
  """
@@ -48,6 +62,13 @@ class RandomNode(Route):
48
62
 
49
63
 
50
64
  class SlotKeyRoute(Route):
65
+ """Routes a request to a node by its slot key
66
+
67
+ Attributes:
68
+ slot_type (SlotType): Defines type of the node being addressed.
69
+ slot_key (str): The request will be sent to nodes managing this key.
70
+ """
71
+
51
72
  def __init__(self, slot_type: SlotType, slot_key: str) -> None:
52
73
  super().__init__()
53
74
  self.slot_type = slot_type
@@ -55,6 +76,15 @@ class SlotKeyRoute(Route):
55
76
 
56
77
 
57
78
  class SlotIdRoute(Route):
79
+ """Routes a request to a node by its slot ID
80
+
81
+ Attributes:
82
+ slot_type (SlotType): Defines type of the node being addressed.
83
+ slot_id (int): Slot number. There are 16384 slots in a Valkey cluster, and each shard
84
+ manages a slot range. Unless the slot is known, it's better to route using
85
+ `SlotType.PRIMARY`
86
+ """
87
+
58
88
  def __init__(self, slot_type: SlotType, slot_id: int) -> None:
59
89
  super().__init__()
60
90
  self.slot_type = slot_type
@@ -62,13 +92,16 @@ class SlotIdRoute(Route):
62
92
 
63
93
 
64
94
  class ByAddressRoute(Route):
65
- def __init__(self, host: str, port: Optional[int] = None) -> None:
66
- """Routes a request to a node by its address
95
+ """Routes a request to a node by its address
67
96
 
68
- Args:
69
- host (str): The endpoint of the node. If `port` is not provided, should be in the f"{address}:{port}" format, where `address` is the preferred endpoint as shown in the output of the `CLUSTER SLOTS` command.
70
- port (Optional[int]): The port to access on the node. If port is not provided, `host` is assumed to be in the format f"{address}:{port}".
71
- """
97
+ Attributes:
98
+ host (str): The endpoint of the node. If `port` is not provided, should be in the f"{address}:{port}" format,
99
+ where `address` is the preferred endpoint as shown in the output of the `CLUSTER SLOTS` command.
100
+ port (Optional[int]): The port to access on the node. If port is not provided, `host` is assumed to be in
101
+ the format f"{address}:{port}".
102
+ """
103
+
104
+ def __init__(self, host: str, port: Optional[int] = None) -> None:
72
105
  super().__init__()
73
106
  if port is None:
74
107
  split = host.split(":")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: valkey-glide
3
- Version: 1.3.5rc5
3
+ Version: 2.0.0
4
4
  Classifier: Topic :: Database
5
5
  Classifier: Topic :: Utilities
6
6
  Classifier: License :: OSI Approved :: Apache Software License
@@ -9,7 +9,10 @@ Classifier: Topic :: Software Development
9
9
  Classifier: Programming Language :: Rust
10
10
  Classifier: Programming Language :: Python :: Implementation :: CPython
11
11
  Classifier: Programming Language :: Python :: Implementation :: PyPy
12
- Requires-Dist: async-timeout>=4.0.2; python_version < '3.11'
12
+ Classifier: Framework :: AsyncIO
13
+ Classifier: Framework :: Trio
14
+ Classifier: Framework :: AnyIO
15
+ Requires-Dist: anyio>=4.9.0
13
16
  Requires-Dist: typing-extensions>=4.8.0; python_version < '3.11'
14
17
  Requires-Dist: protobuf>=3.20
15
18
  Summary: An open source Valkey client library that supports Valkey and Redis open source 6.2, 7.0, 7.2 and 8.0.
@@ -18,9 +21,24 @@ License: Apache-2.0
18
21
  Requires-Python: >=3.9
19
22
  Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
20
23
 
21
- # Valkey GLIDE
24
+ # Welcome to Valkey GLIDE!
22
25
 
23
- Valkey General Language Independent Driver for the Enterprise (GLIDE), is an open-source Valkey client library. Valkey GLIDE is one of the official client libraries for Valkey, and it supports all Valkey commands. Valkey GLIDE supports Valkey 7.2 and above, and Redis open-source 6.2, 7.0 and 7.2. Application programmers use Valkey GLIDE to safely and reliably connect their applications to Valkey- and Redis OSS- compatible services. Valkey GLIDE is designed for reliability, optimized performance, and high-availability, for Valkey and Redis OSS based applications. It is sponsored and supported by AWS, and is pre-configured with best practices learned from over a decade of operating Redis OSS-compatible services used by hundreds of thousands of customers. To help ensure consistency in application development and operations, Valkey GLIDE is implemented using a core driver framework, written in Rust, with language specific extensions. This design ensures consistency in features across languages and reduces overall complexity.
26
+ Valkey General Language Independent Driver for the Enterprise (GLIDE) is the official open-source Valkey client library, proudly part of the Valkey organization. Our mission is to make your experience with Valkey and Redis OSS seamless and enjoyable. Whether you're a seasoned developer or just starting out, Valkey GLIDE is here to support you every step of the way.
27
+
28
+ # Why Choose Valkey GLIDE?
29
+
30
+ - **Community and Open Source**: Join our vibrant community and contribute to the project. We are always here to respond, and the client is for the community.
31
+ - **Reliability**: Built with best practices learned from over a decade of operating Redis OSS-compatible services.
32
+ - **Performance**: Optimized for high performance and low latency.
33
+ - **High Availability**: Designed to ensure your applications are always up and running.
34
+ - **Cross-Language Support**: Implemented using a core driver framework written in Rust, with language-specific extensions to ensure consistency and reduce complexity.
35
+ - **Stability and Fault Tolerance**: We brought our years of experience to create a bulletproof client.
36
+ - **Backed and Supported by AWS and GCP**: Ensuring robust support and continuous improvement of the project.
37
+
38
+ ## Documentation
39
+
40
+ See GLIDE's [documentation site](https://valkey.io/valkey-glide/).
41
+ Visit our [wiki](https://github.com/valkey-io/valkey-glide/wiki/Python-wrapper) for examples and further details on TLS, Read strategy, Timeouts and various other configurations.
24
42
 
25
43
  ## Supported Engine Versions
26
44
 
@@ -34,14 +52,15 @@ The release of Valkey GLIDE was tested on the following platforms:
34
52
 
35
53
  Linux:
36
54
 
37
- - Ubuntu 22.04.1 (x86_64 and aarch64)
38
- - Amazon Linux 2023 (AL2023) (x86_64)
55
+ - Ubuntu 20 (x86_64/amd64 and arm64/aarch64)
56
+ - Amazon Linux 2 (AL2) and 2023 (AL2023) (x86_64)
57
+
58
+ **Note: Currently Alpine Linux / MUSL is NOT supported.**
39
59
 
40
60
  macOS:
41
61
 
42
- - macOS (Apple silicon/aarch_64 and Intel/x86_64)
43
- Testing are being done on macOS arm64 platforms.
44
- Please note that the package is not tested on macOS intel platforms, only minimal testing is done during CD.
62
+ - macOS 14.7 (Apple silicon/aarch_64)
63
+ - macOS 13.7 (x86_64/amd64)
45
64
 
46
65
  ## Python Supported Versions
47
66
 
@@ -53,6 +72,8 @@ Please note that the package is not tested on macOS intel platforms, only minima
53
72
  | 3.12 |
54
73
  | 3.13 |
55
74
 
75
+ Valkey GLIDE transparently supports both the `asyncio` and `trio` concurrency frameworks.
76
+
56
77
  ## Installation and Setup
57
78
 
58
79
  ### Installing via Package Manager (pip)
@@ -79,7 +100,8 @@ To install Valkey GLIDE using `pip`, follow these steps:
79
100
  >>> from glide import GlideClusterClientConfiguration, NodeAddress, GlideClusterClient
80
101
  >>> async def test_cluster_client():
81
102
  ... addresses = [NodeAddress("address.example.com", 6379)]
82
- ... config = GlideClusterClientConfiguration(addresses)
103
+ ... # It is recommended to set a timeout for your specific use case
104
+ ... config = GlideClusterClientConfiguration(addresses, request_timeout=500) # 500ms timeout
83
105
  ... client = await GlideClusterClient.create(config)
84
106
  ... set_result = await client.set("foo", "bar")
85
107
  ... print(f"Set response is {set_result}")
@@ -101,7 +123,8 @@ Get response is bar
101
123
  ... NodeAddress("server_primary.example.com", 6379),
102
124
  ... NodeAddress("server_replica.example.com", 6379)
103
125
  ... ]
104
- ... config = GlideClientConfiguration(addresses)
126
+ ... # It is recommended to set a timeout for your specific use case
127
+ ... config = GlideClientConfiguration(addresses, request_timeout=500) # 500ms timeout
105
128
  ... client = await GlideClient.create(config)
106
129
  ... set_result = await client.set("foo", "bar")
107
130
  ... print(f"Set response is {set_result}")
@@ -115,11 +138,12 @@ Get response is bar
115
138
 
116
139
  For complete examples with error handling, please refer to the [cluster example](https://github.com/valkey-io/valkey-glide/blob/main/examples/python/cluster_example.py) and the [standalone example](https://github.com/valkey-io/valkey-glide/blob/main/examples/python/standalone_example.py).
117
140
 
118
- ## Documentation
119
-
120
- Visit our [wiki](https://github.com/valkey-io/valkey-glide/wiki/Python-wrapper) for examples and further details on TLS, Read strategy, Timeouts and various other configurations.
121
141
 
122
142
  ### Building & Testing
123
143
 
124
144
  Development instructions for local building & testing the package are in the [DEVELOPER.md](https://github.com/valkey-io/valkey-glide/blob/main/python/DEVELOPER.md#build-from-source) file.
125
145
 
146
+ ## Community and Feedback
147
+
148
+ We encourage you to join our community to support, share feedback, and ask questions. You can approach us for anything on our Valkey Slack: [Join Valkey Slack](https://join.slack.com/t/valkey-oss-developer/shared_invite/zt-2nxs51chx-EB9hu9Qdch3GMfRcztTSkQ).
149
+
@@ -0,0 +1,39 @@
1
+ valkey_glide-2.0.0.dist-info/METADATA,sha256=aqQIwzM0sYqTDEFWSaX_R34hUhjeL-8qpRgMdnzn8TY,5968
2
+ valkey_glide-2.0.0.dist-info/WHEEL,sha256=IJlM2Xh3vRQbalygYiwksbDWr8IZ2NUICKQxwJgJ2EQ,106
3
+ glide/config.py,sha256=XCn_w2vVt7GPvxklZzLW64XjC6s6kQrSK1dVD8_-RS0,33083
4
+ glide/protobuf_codec.py,sha256=xwt4-D4WbvNIY_vjOd-00c73HOyNjWq7nN-Z718PBVA,3667
5
+ glide/constants.py,sha256=Kb-wTQrcshjCivNXcrrOzz7xp7pNL_-Gt6Updiq9k4o,4354
6
+ glide/async_commands/sorted_set.py,sha256=nALPJQNNjW7dAqXMDJIur_xDwnJzQCdqxtx5zXYCRNM,11458
7
+ glide/async_commands/batch.py,sha256=XJ80d2aWJvDs5HHUtYyWpPEam7EDUOTI33u1qqBALTE,230726
8
+ glide/async_commands/__init__.py,sha256=_tbTAFATlzp4L2qe-H77PpAQK-16VsV-y7uKNUKLC_o,136
9
+ glide/async_commands/core.py,sha256=QOT8xwUBHqG7SEsOZml9toW9icQryhr7f_gK0amgI5k,316739
10
+ glide/async_commands/server_modules/glide_json.py,sha256=cf93MG6GioA7hFLPn1vNMjipoUt6G-qJ2oK9E91KRkw,63120
11
+ glide/async_commands/server_modules/json_batch.py,sha256=XBySnoRJnm1ABPYBnajHmPK6C-Wr9uk3gjNg2s7wVm8,36631
12
+ glide/async_commands/server_modules/ft.py,sha256=xOV22Znj9z9clKK5XZUL8UhthSbiA1F2H11EOKtMJCg,16840
13
+ glide/async_commands/server_modules/ft_options/ft_search_options.py,sha256=q72JVuLMFIVWXDOe0IQWTYFZYNiPSE6Yo3fKIn27hTA,4855
14
+ glide/async_commands/server_modules/ft_options/ft_aggregate_options.py,sha256=hnutaOAZB5iFNJ_GKK2K48gm-iiuR-rhaCFUOD6VtBM,9919
15
+ glide/async_commands/server_modules/ft_options/ft_create_options.py,sha256=hz-H8so5VC4ZsNxJgj1EqyMlFCnSx4II_lTIino8bkA,13721
16
+ glide/async_commands/server_modules/ft_options/ft_profile_options.py,sha256=19t7pHHFu-Vbp_1e5XSNHHDjnssU4kI49wglE0YskDk,4273
17
+ glide/async_commands/server_modules/ft_options/ft_constants.py,sha256=r9uLAExg2qThjwOBC8LxqXBITF0fwa5xfnD7EXnyPrw,1704
18
+ glide/async_commands/stream.py,sha256=y3tmuOc-Ndnjvc__xybBcf2wqoNUQ1H1hPXYerpwNA8,15582
19
+ glide/async_commands/standalone_commands.py,sha256=FKNzDpW6IK9Wkkmo6Gzc2OIKFBy_gkGQHgtnqYYg5_o,39478
20
+ glide/async_commands/cluster_commands.py,sha256=z2yNzF8bUiTTsrcFDUhyuVEZs0z8vlqlhW7CYCqcLlE,60074
21
+ glide/async_commands/batch_options.py,sha256=xI68I0BLooi8fUmjPdRFU14ey2TMR4WOs05tAOD1hTU,11123
22
+ glide/async_commands/command_args.py,sha256=55vpSxeQr8wFU7olkFTEecl66wPk1g6vWxVYj16UvXs,2529
23
+ glide/async_commands/bitmap.py,sha256=ZHGLcKBP7RADtANqIR7PWdIW_gfDBFgpkIsQ-T4QFBQ,10125
24
+ glide/__init__.py,sha256=vLOTarcMsPMaYkUkTDNO-Y54M_m__h0DFyYfZlXlrrg,7840
25
+ glide/glide.pyi,sha256=060F58qBw25Y5JswOCW8tg3HSMorFPW-28zH1R6Hibk,2086
26
+ glide/opentelemetry.py,sha256=rMI6EFY-o8phqfYOGqVAIja2P8Bv-uDEXOL8H1UKaks,7452
27
+ glide/glide_client.py,sha256=A3DknrzMoH9Ma3dZJ7STVGng5wE3hMBoNQr0yqCBX5g,32852
28
+ glide/logger.py,sha256=YBO4-Nc-vr_QgHVnP4qdTpnYkQLUSFvirpKAdKcQT8Q,4014
29
+ glide/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
30
+ glide/exceptions.py,sha256=ZI_LwIduoR-1jHm9-6jWZkx90AqCJLRtjbv4iESIEEA,1194
31
+ glide/protobuf/response_pb2.pyi,sha256=5MLh6kwg5rRKVTpKZJMiHjPgSXRpSFeU6Kbfb0G6zfg,4625
32
+ glide/protobuf/connection_request_pb2.pyi,sha256=6gdW-sS01629c4kvlotnhIrDQm6Op_7jayhhVcc58Tk,13302
33
+ glide/protobuf/command_request_pb2.py,sha256=oSW7BjR3r0e2yJUAoTdiXPpyWOScouHVin5SsrGlJMA,18957
34
+ glide/protobuf/connection_request_pb2.py,sha256=b3jDmMetSHUrZGmQd8b5DooZZQ_eIbcWvbu1nFgVW7Y,5365
35
+ glide/protobuf/command_request_pb2.pyi,sha256=kMluOdgsklPAeN6bLaLSO3wHNMOTDBLmn4INSumkYLk,52943
36
+ glide/protobuf/response_pb2.py,sha256=oT2GHUwjrxvBVdINRKCvb3_BFN0Fq2wqwHbTj7KAX2E,2110
37
+ glide/routes.py,sha256=ZcLV_HrMzAYxHJW7uk905gdhOZbchBDSHlG1LVF7BJ4,4439
38
+ glide/glide.cpython-312-darwin.so,sha256=Kp2wASrkW4zksc5CVk7jPYdc2u1o-toA4YAqFXQKeRc,8165552
39
+ valkey_glide-2.0.0.dist-info/RECORD,,
@@ -1,37 +0,0 @@
1
- valkey_glide-1.3.5rc5.dist-info/METADATA,sha256=ImWuNDfkHF_spNDr4gE-GZj-x3_8oEJMlimjBqzwaL4,5119
2
- valkey_glide-1.3.5rc5.dist-info/WHEEL,sha256=IJlM2Xh3vRQbalygYiwksbDWr8IZ2NUICKQxwJgJ2EQ,106
3
- glide/config.py,sha256=5kpn5OKkuzNHaRe7kpmLxlJNZ3D8V_H2t3k4DnVqAEQ,27648
4
- glide/protobuf_codec.py,sha256=3tQnc3L-y1VoNLggN6FyYFR4POkgZLfu-xYAKE2dN8M,3623
5
- glide/constants.py,sha256=B_mMzUS48ulnpQhv4h_NecRNTTENl6CuEl6OuJURYEI,4346
6
- glide/async_commands/sorted_set.py,sha256=swS10R7AwEY8cNI3XlxUkfvlV_R9kx9fvN2encofmUg,11384
7
- glide/async_commands/transaction.py,sha256=f3U5e3qtppXvsXLdIlwYCZFckyxtsVowQlCZjjBWHxE,222911
8
- glide/async_commands/__init__.py,sha256=_tbTAFATlzp4L2qe-H77PpAQK-16VsV-y7uKNUKLC_o,136
9
- glide/async_commands/core.py,sha256=9M09GMvxCIcyN9c93_qUwG_gFi6O-bn5J9Cro-74Fec,308681
10
- glide/async_commands/server_modules/glide_json.py,sha256=JAoPqjtJH0XDWCKVigHwwghMJGYTTSYKTLT80W89WWw,61278
11
- glide/async_commands/server_modules/json_batch.py,sha256=wBGOplaOp9ALJsAUJkTlrTmvO2ZWu044_4LKJqQd7Cg,36786
12
- glide/async_commands/server_modules/ft.py,sha256=ysNIKNSU69j2pbl-_lWWxznklId2_4G88_bX4UyeUiQ,15507
13
- glide/async_commands/server_modules/ft_options/ft_search_options.py,sha256=PN1m9gJ1V6CZrFLb3Espoa7THr6puk1J8H-lH_yEUeI,4759
14
- glide/async_commands/server_modules/ft_options/ft_aggregate_options.py,sha256=No9LxyQ25-x7943guocs0vrwnzx-ruq8Oi7GWAlezww,9849
15
- glide/async_commands/server_modules/ft_options/ft_create_options.py,sha256=9VCsI47tyyG5ai4Gy1mOl3HCha8AMK7mI1GMGCfJkeM,13529
16
- glide/async_commands/server_modules/ft_options/ft_profile_options.py,sha256=s4XSiKpjFjBbtC5oCf6ddNYImf6ag7KvFcgOk2dNbYs,4185
17
- glide/async_commands/server_modules/ft_options/ft_constants.py,sha256=r9uLAExg2qThjwOBC8LxqXBITF0fwa5xfnD7EXnyPrw,1704
18
- glide/async_commands/stream.py,sha256=U7n2HPmHpcK1mmbI68szphZqjAoGPJTLOZscgw0WEK0,15791
19
- glide/async_commands/standalone_commands.py,sha256=RrumL-O2rt6yPYS9QtftY1rebAcqxoshLsQvf_8GCMo,34742
20
- glide/async_commands/cluster_commands.py,sha256=JjYuJbIkipQGllzwSJGvWzM88frFQenk1LTFY2qJueI,54315
21
- glide/async_commands/command_args.py,sha256=Lz-Rl9pXtEcQ4hhcRns23x0dVPQ0shpqQw1a0vxFGAI,2561
22
- glide/async_commands/bitmap.py,sha256=eYKfA1Xuikr7nXxCVGRsZ9RFKJOU_QN4nLXXTRtBSgU,10325
23
- glide/__init__.py,sha256=2YpdncnGRo9mHjXVPBvLn2MuvllaMp7-HemVgQYmbA0,7328
24
- glide/glide.pyi,sha256=K2CeC-F0E8vlr-rbko-E0PofzFoWl4da-xUQSuvuFDo,1105
25
- glide/glide_client.py,sha256=g_HK93WjNYTJn1H_q1T5t6Cvym2Av5z2aCdYLXQsWLA,24356
26
- glide/logger.py,sha256=zP_ENonH15lEvXlAYo1yg0QoJmHyZgEkI8H2-kO_QuY,3804
27
- glide/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
28
- glide/exceptions.py,sha256=ZI_LwIduoR-1jHm9-6jWZkx90AqCJLRtjbv4iESIEEA,1194
29
- glide/protobuf/response_pb2.pyi,sha256=1US9ekAXkanJnzwArqHzj4NezV8TJl36QADmiAFqlKg,4076
30
- glide/protobuf/connection_request_pb2.pyi,sha256=uwyWm81mAjtKnGGJFUoJVGr9_ou0xAxYd_ERgM7OXTw,12391
31
- glide/protobuf/command_request_pb2.py,sha256=7BYmHeBKF76Yk911Nmeq5jwEGzjiOaHFnka08L6DOkI,18481
32
- glide/protobuf/connection_request_pb2.py,sha256=LcB4WVCmhQEJ7n7Rx6VZyr6dIAh3zdF0PuYga6EeQBA,5221
33
- glide/protobuf/command_request_pb2.pyi,sha256=QnRKhSy1jPbPBtHJsdbQyFWYGQkNZ8CVyG1IsZBYPBk,49860
34
- glide/protobuf/response_pb2.py,sha256=r3_OFhf8HZvEmBSigSyBzG7S7kWl7CCgVMog4HgMFXM,2025
35
- glide/routes.py,sha256=riaUkzI36tq4Lhsn11H7uSBdx7HfSvdT9YXxNabMNKk,3699
36
- glide/glide.cpython-312-darwin.so,sha256=XZJQSLo3rCLb0YsLyqWaH1mV_al0GPqfW9dBHwd5iy0,4104240
37
- valkey_glide-1.3.5rc5.dist-info/RECORD,,