wool 0.1rc8__py3-none-any.whl → 0.1rc10__py3-none-any.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 wool might be problematic. Click here for more details.

Files changed (43) hide show
  1. wool/__init__.py +71 -50
  2. wool/_protobuf/__init__.py +14 -0
  3. wool/_protobuf/exception.py +3 -0
  4. wool/_protobuf/task.py +11 -0
  5. wool/_protobuf/task_pb2.py +42 -0
  6. wool/_protobuf/task_pb2.pyi +43 -0
  7. wool/_protobuf/{mempool/metadata/metadata_pb2_grpc.py → task_pb2_grpc.py} +2 -2
  8. wool/_protobuf/worker.py +24 -0
  9. wool/_protobuf/worker_pb2.py +47 -0
  10. wool/_protobuf/worker_pb2.pyi +39 -0
  11. wool/_protobuf/worker_pb2_grpc.py +141 -0
  12. wool/_resource_pool.py +376 -0
  13. wool/_typing.py +0 -10
  14. wool/_work.py +553 -0
  15. wool/_worker.py +843 -169
  16. wool/_worker_discovery.py +1223 -0
  17. wool/_worker_pool.py +331 -0
  18. wool/_worker_proxy.py +515 -0
  19. {wool-0.1rc8.dist-info → wool-0.1rc10.dist-info}/METADATA +8 -7
  20. wool-0.1rc10.dist-info/RECORD +22 -0
  21. wool-0.1rc10.dist-info/entry_points.txt +2 -0
  22. wool/_cli.py +0 -262
  23. wool/_event.py +0 -109
  24. wool/_future.py +0 -171
  25. wool/_logging.py +0 -44
  26. wool/_manager.py +0 -181
  27. wool/_mempool/__init__.py +0 -4
  28. wool/_mempool/_mempool.py +0 -311
  29. wool/_mempool/_metadata.py +0 -39
  30. wool/_mempool/_service.py +0 -225
  31. wool/_pool.py +0 -524
  32. wool/_protobuf/mempool/mempool_pb2.py +0 -66
  33. wool/_protobuf/mempool/mempool_pb2.pyi +0 -108
  34. wool/_protobuf/mempool/mempool_pb2_grpc.py +0 -312
  35. wool/_protobuf/mempool/metadata/metadata_pb2.py +0 -36
  36. wool/_protobuf/mempool/metadata/metadata_pb2.pyi +0 -17
  37. wool/_queue.py +0 -32
  38. wool/_session.py +0 -429
  39. wool/_task.py +0 -366
  40. wool/_utils.py +0 -63
  41. wool-0.1rc8.dist-info/RECORD +0 -28
  42. wool-0.1rc8.dist-info/entry_points.txt +0 -2
  43. {wool-0.1rc8.dist-info → wool-0.1rc10.dist-info}/WHEEL +0 -0
@@ -1,312 +0,0 @@
1
- # Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT!
2
- """Client and server classes corresponding to protobuf-defined services."""
3
- import grpc
4
- import warnings
5
-
6
- from mempool import mempool_pb2 as mempool_dot_mempool__pb2
7
-
8
- GRPC_GENERATED_VERSION = '1.73.1'
9
- GRPC_VERSION = grpc.__version__
10
- _version_not_supported = False
11
-
12
- try:
13
- from grpc._utilities import first_version_is_lower
14
- _version_not_supported = first_version_is_lower(GRPC_VERSION, GRPC_GENERATED_VERSION)
15
- except ImportError:
16
- _version_not_supported = True
17
-
18
- if _version_not_supported:
19
- raise RuntimeError(
20
- f'The grpc package installed is at version {GRPC_VERSION},'
21
- + f' but the generated code in mempool/mempool_pb2_grpc.py depends on'
22
- + f' grpcio>={GRPC_GENERATED_VERSION}.'
23
- + f' Please upgrade your grpc module to grpcio>={GRPC_GENERATED_VERSION}'
24
- + f' or downgrade your generated code using grpcio-tools<={GRPC_VERSION}.'
25
- )
26
-
27
-
28
- class MemoryPoolStub(object):
29
- """Missing associated documentation comment in .proto file."""
30
-
31
- def __init__(self, channel):
32
- """Constructor.
33
-
34
- Args:
35
- channel: A grpc.Channel.
36
- """
37
- self.session = channel.unary_stream(
38
- '/wool._protobuf.mempool.MemoryPool/session',
39
- request_serializer=mempool_dot_mempool__pb2.SessionRequest.SerializeToString,
40
- response_deserializer=mempool_dot_mempool__pb2.SessionResponse.FromString,
41
- _registered_method=True)
42
- self.acquire = channel.unary_unary(
43
- '/wool._protobuf.mempool.MemoryPool/acquire',
44
- request_serializer=mempool_dot_mempool__pb2.AcquireRequest.SerializeToString,
45
- response_deserializer=mempool_dot_mempool__pb2.AcquireResponse.FromString,
46
- _registered_method=True)
47
- self.put = channel.unary_unary(
48
- '/wool._protobuf.mempool.MemoryPool/put',
49
- request_serializer=mempool_dot_mempool__pb2.PutRequest.SerializeToString,
50
- response_deserializer=mempool_dot_mempool__pb2.PutResponse.FromString,
51
- _registered_method=True)
52
- self.post = channel.unary_unary(
53
- '/wool._protobuf.mempool.MemoryPool/post',
54
- request_serializer=mempool_dot_mempool__pb2.PostRequest.SerializeToString,
55
- response_deserializer=mempool_dot_mempool__pb2.PostResponse.FromString,
56
- _registered_method=True)
57
- self.get = channel.unary_unary(
58
- '/wool._protobuf.mempool.MemoryPool/get',
59
- request_serializer=mempool_dot_mempool__pb2.GetRequest.SerializeToString,
60
- response_deserializer=mempool_dot_mempool__pb2.GetResponse.FromString,
61
- _registered_method=True)
62
- self.release = channel.unary_unary(
63
- '/wool._protobuf.mempool.MemoryPool/release',
64
- request_serializer=mempool_dot_mempool__pb2.ReleaseRequest.SerializeToString,
65
- response_deserializer=mempool_dot_mempool__pb2.ReleaseResponse.FromString,
66
- _registered_method=True)
67
-
68
-
69
- class MemoryPoolServicer(object):
70
- """Missing associated documentation comment in .proto file."""
71
-
72
- def session(self, request, context):
73
- """Missing associated documentation comment in .proto file."""
74
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
75
- context.set_details('Method not implemented!')
76
- raise NotImplementedError('Method not implemented!')
77
-
78
- def acquire(self, request, context):
79
- """Missing associated documentation comment in .proto file."""
80
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
81
- context.set_details('Method not implemented!')
82
- raise NotImplementedError('Method not implemented!')
83
-
84
- def put(self, request, context):
85
- """Missing associated documentation comment in .proto file."""
86
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
87
- context.set_details('Method not implemented!')
88
- raise NotImplementedError('Method not implemented!')
89
-
90
- def post(self, request, context):
91
- """Missing associated documentation comment in .proto file."""
92
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
93
- context.set_details('Method not implemented!')
94
- raise NotImplementedError('Method not implemented!')
95
-
96
- def get(self, request, context):
97
- """Missing associated documentation comment in .proto file."""
98
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
99
- context.set_details('Method not implemented!')
100
- raise NotImplementedError('Method not implemented!')
101
-
102
- def release(self, request, context):
103
- """Missing associated documentation comment in .proto file."""
104
- context.set_code(grpc.StatusCode.UNIMPLEMENTED)
105
- context.set_details('Method not implemented!')
106
- raise NotImplementedError('Method not implemented!')
107
-
108
-
109
- def add_MemoryPoolServicer_to_server(servicer, server):
110
- rpc_method_handlers = {
111
- 'session': grpc.unary_stream_rpc_method_handler(
112
- servicer.session,
113
- request_deserializer=mempool_dot_mempool__pb2.SessionRequest.FromString,
114
- response_serializer=mempool_dot_mempool__pb2.SessionResponse.SerializeToString,
115
- ),
116
- 'acquire': grpc.unary_unary_rpc_method_handler(
117
- servicer.acquire,
118
- request_deserializer=mempool_dot_mempool__pb2.AcquireRequest.FromString,
119
- response_serializer=mempool_dot_mempool__pb2.AcquireResponse.SerializeToString,
120
- ),
121
- 'put': grpc.unary_unary_rpc_method_handler(
122
- servicer.put,
123
- request_deserializer=mempool_dot_mempool__pb2.PutRequest.FromString,
124
- response_serializer=mempool_dot_mempool__pb2.PutResponse.SerializeToString,
125
- ),
126
- 'post': grpc.unary_unary_rpc_method_handler(
127
- servicer.post,
128
- request_deserializer=mempool_dot_mempool__pb2.PostRequest.FromString,
129
- response_serializer=mempool_dot_mempool__pb2.PostResponse.SerializeToString,
130
- ),
131
- 'get': grpc.unary_unary_rpc_method_handler(
132
- servicer.get,
133
- request_deserializer=mempool_dot_mempool__pb2.GetRequest.FromString,
134
- response_serializer=mempool_dot_mempool__pb2.GetResponse.SerializeToString,
135
- ),
136
- 'release': grpc.unary_unary_rpc_method_handler(
137
- servicer.release,
138
- request_deserializer=mempool_dot_mempool__pb2.ReleaseRequest.FromString,
139
- response_serializer=mempool_dot_mempool__pb2.ReleaseResponse.SerializeToString,
140
- ),
141
- }
142
- generic_handler = grpc.method_handlers_generic_handler(
143
- 'wool._protobuf.mempool.MemoryPool', rpc_method_handlers)
144
- server.add_generic_rpc_handlers((generic_handler,))
145
- server.add_registered_method_handlers('wool._protobuf.mempool.MemoryPool', rpc_method_handlers)
146
-
147
-
148
- # This class is part of an EXPERIMENTAL API.
149
- class MemoryPool(object):
150
- """Missing associated documentation comment in .proto file."""
151
-
152
- @staticmethod
153
- def session(request,
154
- target,
155
- options=(),
156
- channel_credentials=None,
157
- call_credentials=None,
158
- insecure=False,
159
- compression=None,
160
- wait_for_ready=None,
161
- timeout=None,
162
- metadata=None):
163
- return grpc.experimental.unary_stream(
164
- request,
165
- target,
166
- '/wool._protobuf.mempool.MemoryPool/session',
167
- mempool_dot_mempool__pb2.SessionRequest.SerializeToString,
168
- mempool_dot_mempool__pb2.SessionResponse.FromString,
169
- options,
170
- channel_credentials,
171
- insecure,
172
- call_credentials,
173
- compression,
174
- wait_for_ready,
175
- timeout,
176
- metadata,
177
- _registered_method=True)
178
-
179
- @staticmethod
180
- def acquire(request,
181
- target,
182
- options=(),
183
- channel_credentials=None,
184
- call_credentials=None,
185
- insecure=False,
186
- compression=None,
187
- wait_for_ready=None,
188
- timeout=None,
189
- metadata=None):
190
- return grpc.experimental.unary_unary(
191
- request,
192
- target,
193
- '/wool._protobuf.mempool.MemoryPool/acquire',
194
- mempool_dot_mempool__pb2.AcquireRequest.SerializeToString,
195
- mempool_dot_mempool__pb2.AcquireResponse.FromString,
196
- options,
197
- channel_credentials,
198
- insecure,
199
- call_credentials,
200
- compression,
201
- wait_for_ready,
202
- timeout,
203
- metadata,
204
- _registered_method=True)
205
-
206
- @staticmethod
207
- def put(request,
208
- target,
209
- options=(),
210
- channel_credentials=None,
211
- call_credentials=None,
212
- insecure=False,
213
- compression=None,
214
- wait_for_ready=None,
215
- timeout=None,
216
- metadata=None):
217
- return grpc.experimental.unary_unary(
218
- request,
219
- target,
220
- '/wool._protobuf.mempool.MemoryPool/put',
221
- mempool_dot_mempool__pb2.PutRequest.SerializeToString,
222
- mempool_dot_mempool__pb2.PutResponse.FromString,
223
- options,
224
- channel_credentials,
225
- insecure,
226
- call_credentials,
227
- compression,
228
- wait_for_ready,
229
- timeout,
230
- metadata,
231
- _registered_method=True)
232
-
233
- @staticmethod
234
- def post(request,
235
- target,
236
- options=(),
237
- channel_credentials=None,
238
- call_credentials=None,
239
- insecure=False,
240
- compression=None,
241
- wait_for_ready=None,
242
- timeout=None,
243
- metadata=None):
244
- return grpc.experimental.unary_unary(
245
- request,
246
- target,
247
- '/wool._protobuf.mempool.MemoryPool/post',
248
- mempool_dot_mempool__pb2.PostRequest.SerializeToString,
249
- mempool_dot_mempool__pb2.PostResponse.FromString,
250
- options,
251
- channel_credentials,
252
- insecure,
253
- call_credentials,
254
- compression,
255
- wait_for_ready,
256
- timeout,
257
- metadata,
258
- _registered_method=True)
259
-
260
- @staticmethod
261
- def get(request,
262
- target,
263
- options=(),
264
- channel_credentials=None,
265
- call_credentials=None,
266
- insecure=False,
267
- compression=None,
268
- wait_for_ready=None,
269
- timeout=None,
270
- metadata=None):
271
- return grpc.experimental.unary_unary(
272
- request,
273
- target,
274
- '/wool._protobuf.mempool.MemoryPool/get',
275
- mempool_dot_mempool__pb2.GetRequest.SerializeToString,
276
- mempool_dot_mempool__pb2.GetResponse.FromString,
277
- options,
278
- channel_credentials,
279
- insecure,
280
- call_credentials,
281
- compression,
282
- wait_for_ready,
283
- timeout,
284
- metadata,
285
- _registered_method=True)
286
-
287
- @staticmethod
288
- def release(request,
289
- target,
290
- options=(),
291
- channel_credentials=None,
292
- call_credentials=None,
293
- insecure=False,
294
- compression=None,
295
- wait_for_ready=None,
296
- timeout=None,
297
- metadata=None):
298
- return grpc.experimental.unary_unary(
299
- request,
300
- target,
301
- '/wool._protobuf.mempool.MemoryPool/release',
302
- mempool_dot_mempool__pb2.ReleaseRequest.SerializeToString,
303
- mempool_dot_mempool__pb2.ReleaseResponse.FromString,
304
- options,
305
- channel_credentials,
306
- insecure,
307
- call_credentials,
308
- compression,
309
- wait_for_ready,
310
- timeout,
311
- metadata,
312
- _registered_method=True)
@@ -1,36 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- # Generated by the protocol buffer compiler. DO NOT EDIT!
3
- # NO CHECKED-IN PROTOBUF GENCODE
4
- # source: mempool/metadata/metadata.proto
5
- # Protobuf Python Version: 6.31.0
6
- """Generated protocol buffer code."""
7
- from google.protobuf import descriptor as _descriptor
8
- from google.protobuf import descriptor_pool as _descriptor_pool
9
- from google.protobuf import runtime_version as _runtime_version
10
- from google.protobuf import symbol_database as _symbol_database
11
- from google.protobuf.internal import builder as _builder
12
- _runtime_version.ValidateProtobufRuntimeVersion(
13
- _runtime_version.Domain.PUBLIC,
14
- 6,
15
- 31,
16
- 0,
17
- '',
18
- 'mempool/metadata/metadata.proto'
19
- )
20
- # @@protoc_insertion_point(imports)
21
-
22
- _sym_db = _symbol_database.Default()
23
-
24
-
25
-
26
-
27
- DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fmempool/metadata/metadata.proto\x12\x16wool._mempool.metadata\"K\n\x10_MetadataMessage\x12\x0b\n\x03ref\x18\x01 \x01(\t\x12\x0f\n\x07mutable\x18\x02 \x01(\x08\x12\x0c\n\x04size\x18\x03 \x01(\x03\x12\x0b\n\x03md5\x18\x04 \x01(\x0c\x62\x06proto3')
28
-
29
- _globals = globals()
30
- _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
31
- _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'mempool.metadata.metadata_pb2', _globals)
32
- if not _descriptor._USE_C_DESCRIPTORS:
33
- DESCRIPTOR._loaded_options = None
34
- _globals['__METADATAMESSAGE']._serialized_start=59
35
- _globals['__METADATAMESSAGE']._serialized_end=134
36
- # @@protoc_insertion_point(module_scope)
@@ -1,17 +0,0 @@
1
- from google.protobuf import descriptor as _descriptor
2
- from google.protobuf import message as _message
3
- from typing import ClassVar as _ClassVar, Optional as _Optional
4
-
5
- DESCRIPTOR: _descriptor.FileDescriptor
6
-
7
- class _MetadataMessage(_message.Message):
8
- __slots__ = ("ref", "mutable", "size", "md5")
9
- REF_FIELD_NUMBER: _ClassVar[int]
10
- MUTABLE_FIELD_NUMBER: _ClassVar[int]
11
- SIZE_FIELD_NUMBER: _ClassVar[int]
12
- MD5_FIELD_NUMBER: _ClassVar[int]
13
- ref: str
14
- mutable: bool
15
- size: int
16
- md5: bytes
17
- def __init__(self, ref: _Optional[str] = ..., mutable: bool = ..., size: _Optional[int] = ..., md5: _Optional[bytes] = ...) -> None: ...
wool/_queue.py DELETED
@@ -1,32 +0,0 @@
1
- from queue import Queue
2
- from time import time
3
- from typing import Generic
4
- from typing import TypeVar
5
-
6
- T = TypeVar("T")
7
-
8
-
9
- class TaskQueue(Queue, Generic[T]):
10
- def __init__(self, maxsize: int = 0, maxidle: int | None = None) -> None:
11
- if maxidle is not None:
12
- if maxidle <= -1:
13
- raise ValueError(f"Max idle must be positive, got {maxidle}")
14
- super().__init__(maxsize)
15
- self.last_cleared: float | None = time()
16
- self.maxidle: int | None = maxidle
17
-
18
- def put(self, item: T, *args, **kwargs) -> None:
19
- return super().put(item, *args, **kwargs)
20
-
21
- def get(self, *args, **kwargs) -> T:
22
- result = super().get(*args, **kwargs)
23
- if self.empty():
24
- self.last_cleared = time()
25
- return result
26
-
27
- def idle(self) -> bool:
28
- return (
29
- self.last_cleared is not None
30
- and self.maxidle is not None
31
- and (time() - self.last_cleared) >= self.maxidle
32
- )