checkpointer 2.14.7__tar.gz → 2.14.9__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.
- {checkpointer-2.14.7 → checkpointer-2.14.9}/PKG-INFO +2 -1
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/checkpoint.py +24 -17
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/fn_ident.py +3 -2
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/object_hash.py +3 -1
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/storages/pickle_storage.py +1 -1
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/storages/storage.py +3 -3
- {checkpointer-2.14.7 → checkpointer-2.14.9}/pyproject.toml +3 -2
- {checkpointer-2.14.7 → checkpointer-2.14.9}/uv.lock +81 -48
- {checkpointer-2.14.7 → checkpointer-2.14.9}/.gitignore +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/.python-version +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/ATTRIBUTION.md +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/LICENSE +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/README.md +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/__init__.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/fn_string.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/import_mappings.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/print_checkpoint.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/storages/__init__.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/storages/memory_storage.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/types.py +0 -0
- {checkpointer-2.14.7 → checkpointer-2.14.9}/checkpointer/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: checkpointer
|
|
3
|
-
Version: 2.14.
|
|
3
|
+
Version: 2.14.9
|
|
4
4
|
Summary: checkpointer adds code-aware caching to Python functions, maintaining correctness and speeding up execution as your code changes.
|
|
5
5
|
Project-URL: Repository, https://github.com/Reddan/checkpointer.git
|
|
6
6
|
Author: Hampus Hallman
|
|
@@ -11,6 +11,7 @@ Keywords: async,cache,caching,data analysis,data processing,fast,hashing,invalid
|
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.12
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.13
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
15
|
Requires-Python: >=3.11
|
|
15
16
|
Description-Content-Type: text/markdown
|
|
16
17
|
|
|
@@ -150,6 +150,8 @@ class CachedFunction(Generic[Fn]):
|
|
|
150
150
|
|
|
151
151
|
@property
|
|
152
152
|
def fn(self) -> Fn:
|
|
153
|
+
if self.bound:
|
|
154
|
+
return self.ident.fn.__get__(self.bound[0], self.bound[0].__class__) # type: ignore
|
|
153
155
|
return self.ident.fn # type: ignore
|
|
154
156
|
|
|
155
157
|
@cached_property
|
|
@@ -162,7 +164,7 @@ class CachedFunction(Generic[Fn]):
|
|
|
162
164
|
def cleanup(self):
|
|
163
165
|
return self.storage.cleanup
|
|
164
166
|
|
|
165
|
-
def reinit(self, recursive=True) ->
|
|
167
|
+
def reinit(self, recursive=True) -> Self:
|
|
166
168
|
depend_idents = list(self.ident.deep_idents()) if recursive else [self.ident]
|
|
167
169
|
for ident in depend_idents: ident.reset()
|
|
168
170
|
for ident in depend_idents: ident.fn_hash
|
|
@@ -198,26 +200,25 @@ class CachedFunction(Generic[Fn]):
|
|
|
198
200
|
else:
|
|
199
201
|
return self.storage.store(call_hash, AwaitableValue(await coroutine)).value
|
|
200
202
|
|
|
201
|
-
def
|
|
202
|
-
|
|
203
|
-
params = self.ident.checkpointer
|
|
204
|
-
storage = self.storage
|
|
205
|
-
if not params.when:
|
|
206
|
-
return self.fn(*full_args, **kw)
|
|
203
|
+
def is_expired(self, call_hash: str) -> bool:
|
|
204
|
+
return not self.storage.exists(call_hash) or self.storage.expired(call_hash)
|
|
207
205
|
|
|
206
|
+
def _call(self: CachedFunction[Callable[P, R]], args: tuple, kw: dict, cached=True, rerun=False) -> R:
|
|
207
|
+
params = self.ident.checkpointer
|
|
208
|
+
if not cached:
|
|
209
|
+
return self.fn(*args, **kw)
|
|
208
210
|
call_hash = self._get_call_hash(args, kw)
|
|
209
|
-
call_id = f"{storage.fn_id()}/{call_hash}"
|
|
210
|
-
refresh = rerun or not storage.exists(call_hash) or storage.expired(call_hash)
|
|
211
|
+
call_id = f"{self.storage.fn_id()}/{call_hash}"
|
|
211
212
|
|
|
212
|
-
if
|
|
213
|
+
if rerun or self.is_expired(call_hash):
|
|
213
214
|
print_checkpoint(params.verbosity >= 1, "MEMORIZING", call_id, "blue")
|
|
214
|
-
data = self.fn(*
|
|
215
|
+
data = self.fn(*args, **kw)
|
|
215
216
|
if iscoroutine(data):
|
|
216
217
|
return self._store_coroutine(call_hash, data)
|
|
217
|
-
return storage.store(call_hash, data)
|
|
218
|
+
return self.storage.store(call_hash, data)
|
|
218
219
|
|
|
219
220
|
try:
|
|
220
|
-
data = storage.load(call_hash)
|
|
221
|
+
data = self.storage.load(call_hash)
|
|
221
222
|
print_checkpoint(params.verbosity >= 2, "REMEMBERED", call_id, "green")
|
|
222
223
|
if isinstance(data, AwaitableValue):
|
|
223
224
|
return to_coroutine(data.value) # type: ignore
|
|
@@ -225,18 +226,24 @@ class CachedFunction(Generic[Fn]):
|
|
|
225
226
|
except (EOFError, FileNotFoundError):
|
|
226
227
|
pass
|
|
227
228
|
print_checkpoint(params.verbosity >= 1, "CORRUPTED", call_id, "yellow")
|
|
228
|
-
return self._call(args, kw, True)
|
|
229
|
+
return self._call(args, kw, rerun=True)
|
|
229
230
|
|
|
230
231
|
def __call__(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> R:
|
|
231
|
-
return self._call(args, kw)
|
|
232
|
+
return self._call(args, kw, self.ident.checkpointer.when)
|
|
232
233
|
|
|
233
|
-
def
|
|
234
|
+
def cached(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> R:
|
|
234
235
|
return self._call(args, kw, True)
|
|
235
236
|
|
|
237
|
+
def uncached(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> R:
|
|
238
|
+
return self._call(args, kw, False)
|
|
239
|
+
|
|
240
|
+
def rerun(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> R:
|
|
241
|
+
return self._call(args, kw, rerun=True)
|
|
242
|
+
|
|
236
243
|
def exists(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> bool:
|
|
237
244
|
return self.storage.exists(self._get_call_hash(args, kw))
|
|
238
245
|
|
|
239
|
-
def delete(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs):
|
|
246
|
+
def delete(self: CachedFunction[Callable[P, R]], *args: P.args, **kw: P.kwargs) -> None:
|
|
240
247
|
self.storage.delete(self._get_call_hash(args, kw))
|
|
241
248
|
|
|
242
249
|
@overload
|
|
@@ -69,9 +69,10 @@ def extract_scope_values(code: CodeType, scope_vars: dict) -> Iterable[tuple[Att
|
|
|
69
69
|
scope_vars = {**scope_vars, **{k: {**scope_vars[k], **v} for k, v in classvars.items()}}
|
|
70
70
|
instructs = seekable(dis.get_instructions(code))
|
|
71
71
|
for instruct in instructs:
|
|
72
|
-
|
|
72
|
+
opname = instruct.opname.replace("LOAD_FAST_BORROW", "LOAD_FAST")
|
|
73
|
+
if opname in scope_vars:
|
|
73
74
|
attrs = takewhile((x.opname in ("LOAD_ATTR", "LOAD_METHOD"), x.argval) for x in instructs)
|
|
74
|
-
attr_path = AttrPath((
|
|
75
|
+
attr_path = AttrPath((opname, instruct.argval, *attrs))
|
|
75
76
|
parent_path = attr_path[:-1]
|
|
76
77
|
instructs.step(-1)
|
|
77
78
|
obj = get_at(scope_vars, *attr_path)
|
|
@@ -35,6 +35,8 @@ else:
|
|
|
35
35
|
nc = nullcontext()
|
|
36
36
|
stdlib = Path(sysconfig.get_paths()["stdlib"]).resolve()
|
|
37
37
|
|
|
38
|
+
Buffer = bytes | bytearray | memoryview
|
|
39
|
+
|
|
38
40
|
def encode_type(t: type | FunctionType) -> str:
|
|
39
41
|
return f"{t.__module__}:{t.__qualname__}"
|
|
40
42
|
|
|
@@ -69,7 +71,7 @@ class ObjectHash:
|
|
|
69
71
|
def nested_hash(self, *objs: object) -> str:
|
|
70
72
|
return ObjectHash(iter=objs, tolerable=self.tolerable.value).hexdigest()
|
|
71
73
|
|
|
72
|
-
def write_bytes(self, *data:
|
|
74
|
+
def write_bytes(self, *data: Buffer, iter: Iterable[Buffer] = ()) -> Self:
|
|
73
75
|
for d in chain(data, iter):
|
|
74
76
|
self.hash.update(d)
|
|
75
77
|
return self
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
from datetime import datetime, timedelta
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import TYPE_CHECKING, Any
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Protocol
|
|
5
5
|
|
|
6
6
|
if TYPE_CHECKING:
|
|
7
7
|
from ..checkpoint import CachedFunction, Checkpointer
|
|
8
8
|
|
|
9
|
-
class Storage:
|
|
9
|
+
class Storage(Protocol):
|
|
10
10
|
checkpointer: Checkpointer
|
|
11
|
-
|
|
11
|
+
cached_fn: CachedFunction
|
|
12
12
|
|
|
13
13
|
def __init__(self, cached_fn: CachedFunction):
|
|
14
14
|
self.checkpointer = cached_fn.ident.checkpointer
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "checkpointer"
|
|
3
|
-
version = "2.14.
|
|
3
|
+
version = "2.14.9"
|
|
4
4
|
requires-python = ">=3.11"
|
|
5
5
|
dependencies = []
|
|
6
6
|
authors = [
|
|
@@ -14,6 +14,7 @@ classifiers = [
|
|
|
14
14
|
"Programming Language :: Python :: 3.11",
|
|
15
15
|
"Programming Language :: Python :: 3.12",
|
|
16
16
|
"Programming Language :: Python :: 3.13",
|
|
17
|
+
"Programming Language :: Python :: 3.14",
|
|
17
18
|
]
|
|
18
19
|
keywords = [
|
|
19
20
|
"data processing",
|
|
@@ -42,7 +43,7 @@ dev = [
|
|
|
42
43
|
"pytest>=9.0.0",
|
|
43
44
|
"pytest-asyncio>=1.3.0",
|
|
44
45
|
"rich>=14.0.0",
|
|
45
|
-
"torch>=2.
|
|
46
|
+
"torch>=2.9.1",
|
|
46
47
|
]
|
|
47
48
|
|
|
48
49
|
[tool.poe.tasks]
|
|
@@ -8,7 +8,7 @@ resolution-markers = [
|
|
|
8
8
|
|
|
9
9
|
[[package]]
|
|
10
10
|
name = "checkpointer"
|
|
11
|
-
version = "2.14.
|
|
11
|
+
version = "2.14.9"
|
|
12
12
|
source = { editable = "." }
|
|
13
13
|
|
|
14
14
|
[package.dev-dependencies]
|
|
@@ -34,7 +34,7 @@ dev = [
|
|
|
34
34
|
{ name = "pytest", specifier = ">=9.0.0" },
|
|
35
35
|
{ name = "pytest-asyncio", specifier = ">=1.3.0" },
|
|
36
36
|
{ name = "rich", specifier = ">=14.0.0" },
|
|
37
|
-
{ name = "torch", specifier = ">=2.
|
|
37
|
+
{ name = "torch", specifier = ">=2.9.1" },
|
|
38
38
|
]
|
|
39
39
|
|
|
40
40
|
[[package]]
|
|
@@ -222,69 +222,77 @@ wheels = [
|
|
|
222
222
|
|
|
223
223
|
[[package]]
|
|
224
224
|
name = "nvidia-cublas-cu12"
|
|
225
|
-
version = "12.4.
|
|
225
|
+
version = "12.8.4.1"
|
|
226
226
|
source = { registry = "https://pypi.org/simple" }
|
|
227
227
|
wheels = [
|
|
228
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
228
|
+
{ url = "https://files.pythonhosted.org/packages/dc/61/e24b560ab2e2eaeb3c839129175fb330dfcfc29e5203196e5541a4c44682/nvidia_cublas_cu12-12.8.4.1-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:8ac4e771d5a348c551b2a426eda6193c19aa630236b418086020df5ba9667142", size = 594346921, upload-time = "2025-03-07T01:44:31.254Z" },
|
|
229
229
|
]
|
|
230
230
|
|
|
231
231
|
[[package]]
|
|
232
232
|
name = "nvidia-cuda-cupti-cu12"
|
|
233
|
-
version = "12.
|
|
233
|
+
version = "12.8.90"
|
|
234
234
|
source = { registry = "https://pypi.org/simple" }
|
|
235
235
|
wheels = [
|
|
236
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
236
|
+
{ url = "https://files.pythonhosted.org/packages/f8/02/2adcaa145158bf1a8295d83591d22e4103dbfd821bcaf6f3f53151ca4ffa/nvidia_cuda_cupti_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ea0cb07ebda26bb9b29ba82cda34849e73c166c18162d3913575b0c9db9a6182", size = 10248621, upload-time = "2025-03-07T01:40:21.213Z" },
|
|
237
237
|
]
|
|
238
238
|
|
|
239
239
|
[[package]]
|
|
240
240
|
name = "nvidia-cuda-nvrtc-cu12"
|
|
241
|
-
version = "12.
|
|
241
|
+
version = "12.8.93"
|
|
242
242
|
source = { registry = "https://pypi.org/simple" }
|
|
243
243
|
wheels = [
|
|
244
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
244
|
+
{ url = "https://files.pythonhosted.org/packages/05/6b/32f747947df2da6994e999492ab306a903659555dddc0fbdeb9d71f75e52/nvidia_cuda_nvrtc_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:a7756528852ef889772a84c6cd89d41dfa74667e24cca16bb31f8f061e3e9994", size = 88040029, upload-time = "2025-03-07T01:42:13.562Z" },
|
|
245
245
|
]
|
|
246
246
|
|
|
247
247
|
[[package]]
|
|
248
248
|
name = "nvidia-cuda-runtime-cu12"
|
|
249
|
-
version = "12.
|
|
249
|
+
version = "12.8.90"
|
|
250
250
|
source = { registry = "https://pypi.org/simple" }
|
|
251
251
|
wheels = [
|
|
252
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
252
|
+
{ url = "https://files.pythonhosted.org/packages/0d/9b/a997b638fcd068ad6e4d53b8551a7d30fe8b404d6f1804abf1df69838932/nvidia_cuda_runtime_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:adade8dcbd0edf427b7204d480d6066d33902cab2a4707dcfc48a2d0fd44ab90", size = 954765, upload-time = "2025-03-07T01:40:01.615Z" },
|
|
253
253
|
]
|
|
254
254
|
|
|
255
255
|
[[package]]
|
|
256
256
|
name = "nvidia-cudnn-cu12"
|
|
257
|
-
version = "9.
|
|
257
|
+
version = "9.10.2.21"
|
|
258
258
|
source = { registry = "https://pypi.org/simple" }
|
|
259
259
|
dependencies = [
|
|
260
260
|
{ name = "nvidia-cublas-cu12" },
|
|
261
261
|
]
|
|
262
262
|
wheels = [
|
|
263
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
263
|
+
{ url = "https://files.pythonhosted.org/packages/ba/51/e123d997aa098c61d029f76663dedbfb9bc8dcf8c60cbd6adbe42f76d049/nvidia_cudnn_cu12-9.10.2.21-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:949452be657fa16687d0930933f032835951ef0892b37d2d53824d1a84dc97a8", size = 706758467, upload-time = "2025-06-06T21:54:08.597Z" },
|
|
264
264
|
]
|
|
265
265
|
|
|
266
266
|
[[package]]
|
|
267
267
|
name = "nvidia-cufft-cu12"
|
|
268
|
-
version = "11.
|
|
268
|
+
version = "11.3.3.83"
|
|
269
269
|
source = { registry = "https://pypi.org/simple" }
|
|
270
270
|
dependencies = [
|
|
271
271
|
{ name = "nvidia-nvjitlink-cu12" },
|
|
272
272
|
]
|
|
273
273
|
wheels = [
|
|
274
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
274
|
+
{ url = "https://files.pythonhosted.org/packages/1f/13/ee4e00f30e676b66ae65b4f08cb5bcbb8392c03f54f2d5413ea99a5d1c80/nvidia_cufft_cu12-11.3.3.83-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4d2dd21ec0b88cf61b62e6b43564355e5222e4a3fb394cac0db101f2dd0d4f74", size = 193118695, upload-time = "2025-03-07T01:45:27.821Z" },
|
|
275
|
+
]
|
|
276
|
+
|
|
277
|
+
[[package]]
|
|
278
|
+
name = "nvidia-cufile-cu12"
|
|
279
|
+
version = "1.13.1.3"
|
|
280
|
+
source = { registry = "https://pypi.org/simple" }
|
|
281
|
+
wheels = [
|
|
282
|
+
{ url = "https://files.pythonhosted.org/packages/bb/fe/1bcba1dfbfb8d01be8d93f07bfc502c93fa23afa6fd5ab3fc7c1df71038a/nvidia_cufile_cu12-1.13.1.3-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1d069003be650e131b21c932ec3d8969c1715379251f8d23a1860554b1cb24fc", size = 1197834, upload-time = "2025-03-07T01:45:50.723Z" },
|
|
275
283
|
]
|
|
276
284
|
|
|
277
285
|
[[package]]
|
|
278
286
|
name = "nvidia-curand-cu12"
|
|
279
|
-
version = "10.3.
|
|
287
|
+
version = "10.3.9.90"
|
|
280
288
|
source = { registry = "https://pypi.org/simple" }
|
|
281
289
|
wheels = [
|
|
282
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
290
|
+
{ url = "https://files.pythonhosted.org/packages/fb/aa/6584b56dc84ebe9cf93226a5cde4d99080c8e90ab40f0c27bda7a0f29aa1/nvidia_curand_cu12-10.3.9.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:b32331d4f4df5d6eefa0554c565b626c7216f87a06a4f56fab27c3b68a830ec9", size = 63619976, upload-time = "2025-03-07T01:46:23.323Z" },
|
|
283
291
|
]
|
|
284
292
|
|
|
285
293
|
[[package]]
|
|
286
294
|
name = "nvidia-cusolver-cu12"
|
|
287
|
-
version = "11.
|
|
295
|
+
version = "11.7.3.90"
|
|
288
296
|
source = { registry = "https://pypi.org/simple" }
|
|
289
297
|
dependencies = [
|
|
290
298
|
{ name = "nvidia-cublas-cu12" },
|
|
@@ -292,50 +300,58 @@ dependencies = [
|
|
|
292
300
|
{ name = "nvidia-nvjitlink-cu12" },
|
|
293
301
|
]
|
|
294
302
|
wheels = [
|
|
295
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
303
|
+
{ url = "https://files.pythonhosted.org/packages/85/48/9a13d2975803e8cf2777d5ed57b87a0b6ca2cc795f9a4f59796a910bfb80/nvidia_cusolver_cu12-11.7.3.90-py3-none-manylinux_2_27_x86_64.whl", hash = "sha256:4376c11ad263152bd50ea295c05370360776f8c3427b30991df774f9fb26c450", size = 267506905, upload-time = "2025-03-07T01:47:16.273Z" },
|
|
296
304
|
]
|
|
297
305
|
|
|
298
306
|
[[package]]
|
|
299
307
|
name = "nvidia-cusparse-cu12"
|
|
300
|
-
version = "12.
|
|
308
|
+
version = "12.5.8.93"
|
|
301
309
|
source = { registry = "https://pypi.org/simple" }
|
|
302
310
|
dependencies = [
|
|
303
311
|
{ name = "nvidia-nvjitlink-cu12" },
|
|
304
312
|
]
|
|
305
313
|
wheels = [
|
|
306
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
314
|
+
{ url = "https://files.pythonhosted.org/packages/c2/f5/e1854cb2f2bcd4280c44736c93550cc300ff4b8c95ebe370d0aa7d2b473d/nvidia_cusparse_cu12-12.5.8.93-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:1ec05d76bbbd8b61b06a80e1eaf8cf4959c3d4ce8e711b65ebd0443bb0ebb13b", size = 288216466, upload-time = "2025-03-07T01:48:13.779Z" },
|
|
307
315
|
]
|
|
308
316
|
|
|
309
317
|
[[package]]
|
|
310
318
|
name = "nvidia-cusparselt-cu12"
|
|
311
|
-
version = "0.
|
|
319
|
+
version = "0.7.1"
|
|
312
320
|
source = { registry = "https://pypi.org/simple" }
|
|
313
321
|
wheels = [
|
|
314
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
322
|
+
{ url = "https://files.pythonhosted.org/packages/56/79/12978b96bd44274fe38b5dde5cfb660b1d114f70a65ef962bcbbed99b549/nvidia_cusparselt_cu12-0.7.1-py3-none-manylinux2014_x86_64.whl", hash = "sha256:f1bb701d6b930d5a7cea44c19ceb973311500847f81b634d802b7b539dc55623", size = 287193691, upload-time = "2025-02-26T00:15:44.104Z" },
|
|
315
323
|
]
|
|
316
324
|
|
|
317
325
|
[[package]]
|
|
318
326
|
name = "nvidia-nccl-cu12"
|
|
319
|
-
version = "2.
|
|
327
|
+
version = "2.27.5"
|
|
320
328
|
source = { registry = "https://pypi.org/simple" }
|
|
321
329
|
wheels = [
|
|
322
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
330
|
+
{ url = "https://files.pythonhosted.org/packages/6e/89/f7a07dc961b60645dbbf42e80f2bc85ade7feb9a491b11a1e973aa00071f/nvidia_nccl_cu12-2.27.5-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ad730cf15cb5d25fe849c6e6ca9eb5b76db16a80f13f425ac68d8e2e55624457", size = 322348229, upload-time = "2025-06-26T04:11:28.385Z" },
|
|
323
331
|
]
|
|
324
332
|
|
|
325
333
|
[[package]]
|
|
326
334
|
name = "nvidia-nvjitlink-cu12"
|
|
327
|
-
version = "12.
|
|
335
|
+
version = "12.8.93"
|
|
336
|
+
source = { registry = "https://pypi.org/simple" }
|
|
337
|
+
wheels = [
|
|
338
|
+
{ url = "https://files.pythonhosted.org/packages/f6/74/86a07f1d0f42998ca31312f998bd3b9a7eff7f52378f4f270c8679c77fb9/nvidia_nvjitlink_cu12-12.8.93-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:81ff63371a7ebd6e6451970684f916be2eab07321b73c9d244dc2b4da7f73b88", size = 39254836, upload-time = "2025-03-07T01:49:55.661Z" },
|
|
339
|
+
]
|
|
340
|
+
|
|
341
|
+
[[package]]
|
|
342
|
+
name = "nvidia-nvshmem-cu12"
|
|
343
|
+
version = "3.3.20"
|
|
328
344
|
source = { registry = "https://pypi.org/simple" }
|
|
329
345
|
wheels = [
|
|
330
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
346
|
+
{ url = "https://files.pythonhosted.org/packages/3b/6c/99acb2f9eb85c29fc6f3a7ac4dccfd992e22666dd08a642b303311326a97/nvidia_nvshmem_cu12-3.3.20-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d00f26d3f9b2e3c3065be895e3059d6479ea5c638a3f38c9fec49b1b9dd7c1e5", size = 124657145, upload-time = "2025-08-04T20:25:19.995Z" },
|
|
331
347
|
]
|
|
332
348
|
|
|
333
349
|
[[package]]
|
|
334
350
|
name = "nvidia-nvtx-cu12"
|
|
335
|
-
version = "12.
|
|
351
|
+
version = "12.8.90"
|
|
336
352
|
source = { registry = "https://pypi.org/simple" }
|
|
337
353
|
wheels = [
|
|
338
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
354
|
+
{ url = "https://files.pythonhosted.org/packages/a2/eb/86626c1bbc2edb86323022371c39aa48df6fd8b0a1647bc274577f72e90b/nvidia_nvtx_cu12-12.8.90-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5b17e2001cc0d751a5bc2c6ec6d26ad95913324a4adb86788c944f8ce9ba441f", size = 89954, upload-time = "2025-03-07T01:42:44.131Z" },
|
|
339
355
|
]
|
|
340
356
|
|
|
341
357
|
[[package]]
|
|
@@ -501,19 +517,19 @@ wheels = [
|
|
|
501
517
|
|
|
502
518
|
[[package]]
|
|
503
519
|
name = "sympy"
|
|
504
|
-
version = "1.
|
|
520
|
+
version = "1.14.0"
|
|
505
521
|
source = { registry = "https://pypi.org/simple" }
|
|
506
522
|
dependencies = [
|
|
507
523
|
{ name = "mpmath" },
|
|
508
524
|
]
|
|
509
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
525
|
+
sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" }
|
|
510
526
|
wheels = [
|
|
511
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
527
|
+
{ url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" },
|
|
512
528
|
]
|
|
513
529
|
|
|
514
530
|
[[package]]
|
|
515
531
|
name = "torch"
|
|
516
|
-
version = "2.
|
|
532
|
+
version = "2.9.1"
|
|
517
533
|
source = { registry = "https://pypi.org/simple" }
|
|
518
534
|
dependencies = [
|
|
519
535
|
{ name = "filelock" },
|
|
@@ -526,12 +542,14 @@ dependencies = [
|
|
|
526
542
|
{ name = "nvidia-cuda-runtime-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
527
543
|
{ name = "nvidia-cudnn-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
528
544
|
{ name = "nvidia-cufft-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
545
|
+
{ name = "nvidia-cufile-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
529
546
|
{ name = "nvidia-curand-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
530
547
|
{ name = "nvidia-cusolver-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
531
548
|
{ name = "nvidia-cusparse-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
532
549
|
{ name = "nvidia-cusparselt-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
533
550
|
{ name = "nvidia-nccl-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
534
551
|
{ name = "nvidia-nvjitlink-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
552
|
+
{ name = "nvidia-nvshmem-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
535
553
|
{ name = "nvidia-nvtx-cu12", marker = "platform_machine == 'x86_64' and sys_platform == 'linux'" },
|
|
536
554
|
{ name = "setuptools", marker = "python_full_version >= '3.12'" },
|
|
537
555
|
{ name = "sympy" },
|
|
@@ -539,28 +557,43 @@ dependencies = [
|
|
|
539
557
|
{ name = "typing-extensions" },
|
|
540
558
|
]
|
|
541
559
|
wheels = [
|
|
542
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
543
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
544
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
545
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
546
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
547
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
548
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
549
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
550
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
551
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
552
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
553
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
560
|
+
{ url = "https://files.pythonhosted.org/packages/15/db/c064112ac0089af3d2f7a2b5bfbabf4aa407a78b74f87889e524b91c5402/torch-2.9.1-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:62b3fd888277946918cba4478cf849303da5359f0fb4e3bfb86b0533ba2eaf8d", size = 104220430, upload-time = "2025-11-12T15:20:31.705Z" },
|
|
561
|
+
{ url = "https://files.pythonhosted.org/packages/56/be/76eaa36c9cd032d3b01b001e2c5a05943df75f26211f68fae79e62f87734/torch-2.9.1-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:d033ff0ac3f5400df862a51bdde9bad83561f3739ea0046e68f5401ebfa67c1b", size = 899821446, upload-time = "2025-11-12T15:20:15.544Z" },
|
|
562
|
+
{ url = "https://files.pythonhosted.org/packages/47/cc/7a2949e38dfe3244c4df21f0e1c27bce8aedd6c604a587dd44fc21017cb4/torch-2.9.1-cp311-cp311-win_amd64.whl", hash = "sha256:0d06b30a9207b7c3516a9e0102114024755a07045f0c1d2f2a56b1819ac06bcb", size = 110973074, upload-time = "2025-11-12T15:21:39.958Z" },
|
|
563
|
+
{ url = "https://files.pythonhosted.org/packages/1e/ce/7d251155a783fb2c1bb6837b2b7023c622a2070a0a72726ca1df47e7ea34/torch-2.9.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:52347912d868653e1528b47cafaf79b285b98be3f4f35d5955389b1b95224475", size = 74463887, upload-time = "2025-11-12T15:20:36.611Z" },
|
|
564
|
+
{ url = "https://files.pythonhosted.org/packages/0f/27/07c645c7673e73e53ded71705045d6cb5bae94c4b021b03aa8d03eee90ab/torch-2.9.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:da5f6f4d7f4940a173e5572791af238cb0b9e21b1aab592bd8b26da4c99f1cd6", size = 104126592, upload-time = "2025-11-12T15:20:41.62Z" },
|
|
565
|
+
{ url = "https://files.pythonhosted.org/packages/19/17/e377a460603132b00760511299fceba4102bd95db1a0ee788da21298ccff/torch-2.9.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:27331cd902fb4322252657f3902adf1c4f6acad9dcad81d8df3ae14c7c4f07c4", size = 899742281, upload-time = "2025-11-12T15:22:17.602Z" },
|
|
566
|
+
{ url = "https://files.pythonhosted.org/packages/b1/1a/64f5769025db846a82567fa5b7d21dba4558a7234ee631712ee4771c436c/torch-2.9.1-cp312-cp312-win_amd64.whl", hash = "sha256:81a285002d7b8cfd3fdf1b98aa8df138d41f1a8334fd9ea37511517cedf43083", size = 110940568, upload-time = "2025-11-12T15:21:18.689Z" },
|
|
567
|
+
{ url = "https://files.pythonhosted.org/packages/6e/ab/07739fd776618e5882661d04c43f5b5586323e2f6a2d7d84aac20d8f20bd/torch-2.9.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:c0d25d1d8e531b8343bea0ed811d5d528958f1dcbd37e7245bc686273177ad7e", size = 74479191, upload-time = "2025-11-12T15:21:25.816Z" },
|
|
568
|
+
{ url = "https://files.pythonhosted.org/packages/20/60/8fc5e828d050bddfab469b3fe78e5ab9a7e53dda9c3bdc6a43d17ce99e63/torch-2.9.1-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:c29455d2b910b98738131990394da3e50eea8291dfeb4b12de71ecf1fdeb21cb", size = 104135743, upload-time = "2025-11-12T15:21:34.936Z" },
|
|
569
|
+
{ url = "https://files.pythonhosted.org/packages/f2/b7/6d3f80e6918213babddb2a37b46dbb14c15b14c5f473e347869a51f40e1f/torch-2.9.1-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:524de44cd13931208ba2c4bde9ec7741fd4ae6bfd06409a604fc32f6520c2bc9", size = 899749493, upload-time = "2025-11-12T15:24:36.356Z" },
|
|
570
|
+
{ url = "https://files.pythonhosted.org/packages/a6/47/c7843d69d6de8938c1cbb1eba426b1d48ddf375f101473d3e31a5fc52b74/torch-2.9.1-cp313-cp313-win_amd64.whl", hash = "sha256:545844cc16b3f91e08ce3b40e9c2d77012dd33a48d505aed34b7740ed627a1b2", size = 110944162, upload-time = "2025-11-12T15:21:53.151Z" },
|
|
571
|
+
{ url = "https://files.pythonhosted.org/packages/28/0e/2a37247957e72c12151b33a01e4df651d9d155dd74d8cfcbfad15a79b44a/torch-2.9.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5be4bf7496f1e3ffb1dd44b672adb1ac3f081f204c5ca81eba6442f5f634df8e", size = 74830751, upload-time = "2025-11-12T15:21:43.792Z" },
|
|
572
|
+
{ url = "https://files.pythonhosted.org/packages/4b/f7/7a18745edcd7b9ca2381aa03353647bca8aace91683c4975f19ac233809d/torch-2.9.1-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:30a3e170a84894f3652434b56d59a64a2c11366b0ed5776fab33c2439396bf9a", size = 104142929, upload-time = "2025-11-12T15:21:48.319Z" },
|
|
573
|
+
{ url = "https://files.pythonhosted.org/packages/f4/dd/f1c0d879f2863ef209e18823a988dc7a1bf40470750e3ebe927efdb9407f/torch-2.9.1-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:8301a7b431e51764629208d0edaa4f9e4c33e6df0f2f90b90e261d623df6a4e2", size = 899748978, upload-time = "2025-11-12T15:23:04.568Z" },
|
|
574
|
+
{ url = "https://files.pythonhosted.org/packages/1f/9f/6986b83a53b4d043e36f3f898b798ab51f7f20fdf1a9b01a2720f445043d/torch-2.9.1-cp313-cp313t-win_amd64.whl", hash = "sha256:2e1c42c0ae92bf803a4b2409fdfed85e30f9027a66887f5e7dcdbc014c7531db", size = 111176995, upload-time = "2025-11-12T15:22:01.618Z" },
|
|
575
|
+
{ url = "https://files.pythonhosted.org/packages/40/60/71c698b466dd01e65d0e9514b5405faae200c52a76901baf6906856f17e4/torch-2.9.1-cp313-none-macosx_11_0_arm64.whl", hash = "sha256:2c14b3da5df416cf9cb5efab83aa3056f5b8cd8620b8fde81b4987ecab730587", size = 74480347, upload-time = "2025-11-12T15:21:57.648Z" },
|
|
576
|
+
{ url = "https://files.pythonhosted.org/packages/48/50/c4b5112546d0d13cc9eaa1c732b823d676a9f49ae8b6f97772f795874a03/torch-2.9.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1edee27a7c9897f4e0b7c14cfc2f3008c571921134522d5b9b5ec4ebbc69041a", size = 74433245, upload-time = "2025-11-12T15:22:39.027Z" },
|
|
577
|
+
{ url = "https://files.pythonhosted.org/packages/81/c9/2628f408f0518b3bae49c95f5af3728b6ab498c8624ab1e03a43dd53d650/torch-2.9.1-cp314-cp314-manylinux_2_28_aarch64.whl", hash = "sha256:19d144d6b3e29921f1fc70503e9f2fc572cde6a5115c0c0de2f7ca8b1483e8b6", size = 104134804, upload-time = "2025-11-12T15:22:35.222Z" },
|
|
578
|
+
{ url = "https://files.pythonhosted.org/packages/28/fc/5bc91d6d831ae41bf6e9e6da6468f25330522e92347c9156eb3f1cb95956/torch-2.9.1-cp314-cp314-manylinux_2_28_x86_64.whl", hash = "sha256:c432d04376f6d9767a9852ea0def7b47a7bbc8e7af3b16ac9cf9ce02b12851c9", size = 899747132, upload-time = "2025-11-12T15:23:36.068Z" },
|
|
579
|
+
{ url = "https://files.pythonhosted.org/packages/63/5d/e8d4e009e52b6b2cf1684bde2a6be157b96fb873732542fb2a9a99e85a83/torch-2.9.1-cp314-cp314-win_amd64.whl", hash = "sha256:d187566a2cdc726fc80138c3cdb260970fab1c27e99f85452721f7759bbd554d", size = 110934845, upload-time = "2025-11-12T15:22:48.367Z" },
|
|
580
|
+
{ url = "https://files.pythonhosted.org/packages/bd/b2/2d15a52516b2ea3f414643b8de68fa4cb220d3877ac8b1028c83dc8ca1c4/torch-2.9.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:cb10896a1f7fedaddbccc2017ce6ca9ecaaf990f0973bdfcf405439750118d2c", size = 74823558, upload-time = "2025-11-12T15:22:43.392Z" },
|
|
581
|
+
{ url = "https://files.pythonhosted.org/packages/86/5c/5b2e5d84f5b9850cd1e71af07524d8cbb74cba19379800f1f9f7c997fc70/torch-2.9.1-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:0a2bd769944991c74acf0c4ef23603b9c777fdf7637f115605a4b2d8023110c7", size = 104145788, upload-time = "2025-11-12T15:23:52.109Z" },
|
|
582
|
+
{ url = "https://files.pythonhosted.org/packages/a9/8c/3da60787bcf70add986c4ad485993026ac0ca74f2fc21410bc4eb1bb7695/torch-2.9.1-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:07c8a9660bc9414c39cac530ac83b1fb1b679d7155824144a40a54f4a47bfa73", size = 899735500, upload-time = "2025-11-12T15:24:08.788Z" },
|
|
583
|
+
{ url = "https://files.pythonhosted.org/packages/db/2b/f7818f6ec88758dfd21da46b6cd46af9d1b3433e53ddbb19ad1e0da17f9b/torch-2.9.1-cp314-cp314t-win_amd64.whl", hash = "sha256:c88d3299ddeb2b35dcc31753305612db485ab6f1823e37fb29451c8b2732b87e", size = 111163659, upload-time = "2025-11-12T15:23:20.009Z" },
|
|
554
584
|
]
|
|
555
585
|
|
|
556
586
|
[[package]]
|
|
557
587
|
name = "triton"
|
|
558
|
-
version = "3.
|
|
588
|
+
version = "3.5.1"
|
|
559
589
|
source = { registry = "https://pypi.org/simple" }
|
|
560
590
|
wheels = [
|
|
561
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
562
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
563
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
591
|
+
{ url = "https://files.pythonhosted.org/packages/b0/72/ec90c3519eaf168f22cb1757ad412f3a2add4782ad3a92861c9ad135d886/triton-3.5.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:61413522a48add32302353fdbaaf92daaaab06f6b5e3229940d21b5207f47579", size = 170425802, upload-time = "2025-11-11T17:40:53.209Z" },
|
|
592
|
+
{ url = "https://files.pythonhosted.org/packages/f2/50/9a8358d3ef58162c0a415d173cfb45b67de60176e1024f71fbc4d24c0b6d/triton-3.5.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d2c6b915a03888ab931a9fd3e55ba36785e1fe70cbea0b40c6ef93b20fc85232", size = 170470207, upload-time = "2025-11-11T17:41:00.253Z" },
|
|
593
|
+
{ url = "https://files.pythonhosted.org/packages/27/46/8c3bbb5b0a19313f50edcaa363b599e5a1a5ac9683ead82b9b80fe497c8d/triton-3.5.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f3f4346b6ebbd4fad18773f5ba839114f4826037c9f2f34e0148894cd5dd3dba", size = 170470410, upload-time = "2025-11-11T17:41:06.319Z" },
|
|
594
|
+
{ url = "https://files.pythonhosted.org/packages/37/92/e97fcc6b2c27cdb87ce5ee063d77f8f26f19f06916aa680464c8104ef0f6/triton-3.5.1-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0b4d2c70127fca6a23e247f9348b8adde979d2e7a20391bfbabaac6aebc7e6a8", size = 170579924, upload-time = "2025-11-11T17:41:12.455Z" },
|
|
595
|
+
{ url = "https://files.pythonhosted.org/packages/a4/e6/c595c35e5c50c4bc56a7bac96493dad321e9e29b953b526bbbe20f9911d0/triton-3.5.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0637b1efb1db599a8e9dc960d53ab6e4637db7d4ab6630a0974705d77b14b60", size = 170480488, upload-time = "2025-11-11T17:41:18.222Z" },
|
|
596
|
+
{ url = "https://files.pythonhosted.org/packages/16/b5/b0d3d8b901b6a04ca38df5e24c27e53afb15b93624d7fd7d658c7cd9352a/triton-3.5.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bac7f7d959ad0f48c0e97d6643a1cc0fd5786fe61cb1f83b537c6b2d54776478", size = 170582192, upload-time = "2025-11-11T17:41:23.963Z" },
|
|
564
597
|
]
|
|
565
598
|
|
|
566
599
|
[[package]]
|
|
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
|