podstack 1.3.3__tar.gz → 1.3.5__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.
- {podstack-1.3.3 → podstack-1.3.5}/PKG-INFO +1 -1
- {podstack-1.3.3 → podstack-1.3.5}/podstack/gpu_runner.py +5 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/experiment.py +9 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack.egg-info/PKG-INFO +1 -1
- {podstack-1.3.3 → podstack-1.3.5}/pyproject.toml +1 -1
- {podstack-1.3.3 → podstack-1.3.5}/LICENSE +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/README.md +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/__init__.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/annotations.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/client.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/exceptions.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/execution.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/models.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/notebook.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/__init__.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/client.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/exceptions.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/model.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack/registry/model_utils.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack.egg-info/SOURCES.txt +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack.egg-info/dependency_links.txt +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack.egg-info/requires.txt +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack.egg-info/top_level.txt +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/__init__.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/app.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/exceptions.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/image.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/runner.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/secret.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/utils.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/podstack_gpu/volume.py +0 -0
- {podstack-1.3.3 → podstack-1.3.5}/setup.cfg +0 -0
|
@@ -812,6 +812,11 @@ _stream_install(
|
|
|
812
812
|
raise ConnectionError(f"Failed to get result after {max_retries} attempts: {e}")
|
|
813
813
|
time.sleep(2 * (attempt + 1))
|
|
814
814
|
|
|
815
|
+
# Prefer the streamed output over the API result's output field,
|
|
816
|
+
# since __PODSTACK_RESULT__ is printed to stdout during execution.
|
|
817
|
+
if output_buffer:
|
|
818
|
+
result.output = "".join(output_buffer)
|
|
819
|
+
|
|
815
820
|
if result.success:
|
|
816
821
|
print(f"\n[Podstack] Completed in {result.gpu_seconds:.1f}s (cost: ₹{result.cost_paise/100:.2f})")
|
|
817
822
|
else:
|
|
@@ -197,6 +197,11 @@ class Run:
|
|
|
197
197
|
if self._client:
|
|
198
198
|
self._client.log_artifact(local_path, artifact_path)
|
|
199
199
|
|
|
200
|
+
def log_model(self, model, artifact_path: str = "model", framework: str = None, metadata: Dict[str, str] = None):
|
|
201
|
+
"""Serialize and log a model for this run."""
|
|
202
|
+
if self._client:
|
|
203
|
+
self._client.log_model(model, artifact_path=artifact_path, framework=framework, metadata=metadata)
|
|
204
|
+
|
|
200
205
|
def set_tag(self, key: str, value: str):
|
|
201
206
|
"""Set a tag on this run."""
|
|
202
207
|
if self._client:
|
|
@@ -209,6 +214,10 @@ class Run:
|
|
|
209
214
|
self._client.end_run(status)
|
|
210
215
|
self.status = status
|
|
211
216
|
|
|
217
|
+
def end_run(self, status: str = "completed"):
|
|
218
|
+
"""End this run (alias for end())."""
|
|
219
|
+
self.end(status)
|
|
220
|
+
|
|
212
221
|
|
|
213
222
|
def _parse_datetime(value: Any) -> Optional[datetime]:
|
|
214
223
|
"""Parse a datetime from string or return None."""
|
|
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
|