hugpy-platform 0.2.2__tar.gz → 0.2.4__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.
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/PKG-INFO +1 -1
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/buildinfo.py +2 -1
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/hardware.py +2 -1
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/PKG-INFO +1 -1
- hugpy_platform-0.2.4/src/hugpy_platform.egg-info/scm_version.json +8 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_buildinfo.py +8 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_storage_isolation.py +11 -1
- hugpy_platform-0.2.2/src/hugpy_platform.egg-info/scm_version.json +0 -8
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/LICENSE +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/README.md +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/pyproject.toml +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/setup.cfg +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/__init__.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/app_dirs.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/async_runtime.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/atomic_json.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/binaries.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/central.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/choices.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/client_liveness.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/compat_pydantic.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/constants.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/env.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/environment_status.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/except_utils.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/filesystem.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/formatting.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/model_keys.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/module_imports.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/no_think.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/paths.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/platform_facade.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/procutil.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/py.typed +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/results.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/runner_config.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/test_isolation.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/trust.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/utils.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/verdict.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/versioning.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/SOURCES.txt +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/dependency_links.txt +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/requires.txt +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/scm_file_list.json +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/top_level.txt +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/conftest.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_constants.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_import_policy.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_platform_env_value.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_public_api.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_small_modules.py +0 -0
- {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hugpy-platform
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Hugpy platform: stdlib-first foundation shared by every Hugpy package (env-backed configuration, app dirs, hardware and process probes, central URL, pydantic compatibility shim)
|
|
5
5
|
Author-email: putkoff <support@hugpy.ai>
|
|
6
6
|
License-Expression: LicenseRef-Proprietary
|
|
@@ -29,9 +29,10 @@ import subprocess
|
|
|
29
29
|
import sys
|
|
30
30
|
import time
|
|
31
31
|
|
|
32
|
-
#: The
|
|
32
|
+
#: The 14 in-tree distributions, in partition order (py/partition.toml).
|
|
33
33
|
WORKSPACE_DISTRIBUTIONS: "tuple[str, ...]" = (
|
|
34
34
|
"hugpy-platform",
|
|
35
|
+
"hugpy-tools",
|
|
35
36
|
"hugpy-control",
|
|
36
37
|
"hugpy-storage",
|
|
37
38
|
"hugpy-engine",
|
|
@@ -68,7 +68,7 @@ def _detect_gpus_nvidia_smi() -> List[dict]:
|
|
|
68
68
|
return []
|
|
69
69
|
try:
|
|
70
70
|
out = subprocess.check_output(
|
|
71
|
-
[smi, "--query-gpu=index,name,memory.total,memory.free",
|
|
71
|
+
[smi, "--query-gpu=index,name,memory.total,memory.free,utilization.gpu",
|
|
72
72
|
"--format=csv,noheader,nounits"],
|
|
73
73
|
stderr=subprocess.DEVNULL, timeout=10,
|
|
74
74
|
).decode("utf-8", "replace")
|
|
@@ -86,6 +86,7 @@ def _detect_gpus_nvidia_smi() -> List[dict]:
|
|
|
86
86
|
"name": name,
|
|
87
87
|
"memory_total": tot * 1024 * 1024 if tot else None, # MiB -> bytes
|
|
88
88
|
"memory_free": free * 1024 * 1024 if free else None,
|
|
89
|
+
"utilization": _safe_int(parts[4]) if len(parts) > 4 else None,
|
|
89
90
|
})
|
|
90
91
|
return gpus
|
|
91
92
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hugpy-platform
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Hugpy platform: stdlib-first foundation shared by every Hugpy package (env-backed configuration, app dirs, hardware and process probes, central URL, pydantic compatibility shim)
|
|
5
5
|
Author-email: putkoff <support@hugpy.ai>
|
|
6
6
|
License-Expression: LicenseRef-Proprietary
|
|
@@ -17,12 +17,20 @@ import json
|
|
|
17
17
|
import os
|
|
18
18
|
import subprocess
|
|
19
19
|
import sys
|
|
20
|
+
import tomllib
|
|
21
|
+
from pathlib import Path
|
|
20
22
|
from types import SimpleNamespace
|
|
21
23
|
|
|
22
24
|
import pytest
|
|
23
25
|
|
|
24
26
|
from hugpy_platform import buildinfo
|
|
25
27
|
|
|
28
|
+
|
|
29
|
+
def test_workspace_roster_matches_partition_manifest():
|
|
30
|
+
manifest = Path(__file__).resolve().parents[4] / "py" / "partition.toml"
|
|
31
|
+
expected = tuple(p["distribution"] for p in tomllib.loads(manifest.read_text())["package"])
|
|
32
|
+
assert buildinfo.WORKSPACE_DISTRIBUTIONS == expected
|
|
33
|
+
|
|
26
34
|
GIT = ["git", "-c", "user.name=t", "-c", "user.email=t@t", "-c", "commit.gpgsign=false"]
|
|
27
35
|
|
|
28
36
|
|
|
@@ -15,15 +15,25 @@ from hugpy_platform import test_isolation as ti
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
@pytest.fixture
|
|
18
|
-
def _saved_roots():
|
|
18
|
+
def _saved_roots(monkeypatch):
|
|
19
|
+
"""Env restored afterwards — AND the in-process rebinding disabled. These
|
|
20
|
+
tests exercise the ENV/dir contract; letting ``isolate_storage_to_tmp``
|
|
21
|
+
also rewrite ``hugpy_platform.constants`` (already imported by the server
|
|
22
|
+
package's conftest at collection) left constants pointing at this test's
|
|
23
|
+
throwaway base for the rest of the session, while modules that had bound
|
|
24
|
+
UPLOADS_HOME/DEFAULT_ROOT at import kept the session base (triage
|
|
25
|
+
2026-09-29: test_member_tier / test_video_presets_route jail mismatches)."""
|
|
19
26
|
keys = tuple(ti._ROOT_SUBPATHS) + ("HUGPY_TEST_STORAGE_BASE", "HUGPY_TEST_LIVE_ROOT")
|
|
20
27
|
saved = {k: os.environ.get(k) for k in keys}
|
|
28
|
+
saved_live_roots = ti._LIVE_ROOTS
|
|
29
|
+
monkeypatch.setattr(ti, "_rebind_already_imported", lambda resolved: None)
|
|
21
30
|
yield
|
|
22
31
|
for k, v in saved.items():
|
|
23
32
|
if v is None:
|
|
24
33
|
os.environ.pop(k, None)
|
|
25
34
|
else:
|
|
26
35
|
os.environ[k] = v
|
|
36
|
+
ti._LIVE_ROOTS = saved_live_roots
|
|
27
37
|
|
|
28
38
|
|
|
29
39
|
def test_isolate_forces_roots_under_base_over_inherited_live(_saved_roots):
|
|
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
|
{hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
{hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/scm_file_list.json
RENAMED
|
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
|