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.
Files changed (53) hide show
  1. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/PKG-INFO +1 -1
  2. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/buildinfo.py +2 -1
  3. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/hardware.py +2 -1
  4. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/PKG-INFO +1 -1
  5. hugpy_platform-0.2.4/src/hugpy_platform.egg-info/scm_version.json +8 -0
  6. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_buildinfo.py +8 -0
  7. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_storage_isolation.py +11 -1
  8. hugpy_platform-0.2.2/src/hugpy_platform.egg-info/scm_version.json +0 -8
  9. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/LICENSE +0 -0
  10. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/README.md +0 -0
  11. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/pyproject.toml +0 -0
  12. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/setup.cfg +0 -0
  13. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/__init__.py +0 -0
  14. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/app_dirs.py +0 -0
  15. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/async_runtime.py +0 -0
  16. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/atomic_json.py +0 -0
  17. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/binaries.py +0 -0
  18. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/central.py +0 -0
  19. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/choices.py +0 -0
  20. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/client_liveness.py +0 -0
  21. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/compat_pydantic.py +0 -0
  22. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/constants.py +0 -0
  23. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/env.py +0 -0
  24. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/environment_status.py +0 -0
  25. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/except_utils.py +0 -0
  26. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/filesystem.py +0 -0
  27. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/formatting.py +0 -0
  28. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/model_keys.py +0 -0
  29. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/module_imports.py +0 -0
  30. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/no_think.py +0 -0
  31. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/paths.py +0 -0
  32. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/platform_facade.py +0 -0
  33. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/procutil.py +0 -0
  34. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/py.typed +0 -0
  35. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/results.py +0 -0
  36. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/runner_config.py +0 -0
  37. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/test_isolation.py +0 -0
  38. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/trust.py +0 -0
  39. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/utils.py +0 -0
  40. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/verdict.py +0 -0
  41. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform/versioning.py +0 -0
  42. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/SOURCES.txt +0 -0
  43. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/dependency_links.txt +0 -0
  44. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/requires.txt +0 -0
  45. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/scm_file_list.json +0 -0
  46. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/src/hugpy_platform.egg-info/top_level.txt +0 -0
  47. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/conftest.py +0 -0
  48. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_constants.py +0 -0
  49. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_import_policy.py +0 -0
  50. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_platform_env_value.py +0 -0
  51. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_public_api.py +0 -0
  52. {hugpy_platform-0.2.2 → hugpy_platform-0.2.4}/tests/test_small_modules.py +0 -0
  53. {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.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 13 in-tree distributions, in partition order (PARTITION.md).
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.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
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "0.2.4",
3
+ "distance": 0,
4
+ "node": "gc769a199bae5671f2e945218fce387746b9ea2e3",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-09-29"
8
+ }
@@ -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):
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "0.2.2",
3
- "distance": 0,
4
- "node": "g65e6f9d20a324f3bc25c9630b30196a58615a10b",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-09-26"
8
- }
File without changes
File without changes
File without changes