hypertensor-runtime 0.1.0__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.
@@ -0,0 +1,60 @@
1
+ """
2
+ hypertensor-runtime — installable package wrapping the geodessical C binary and
3
+ libhypercore native library for the current platform.
4
+
5
+ This is a thin packaging shim. The actual binaries live under
6
+ `hypertensor_runtime/bin/<platform>/` and are produced by:
7
+ - CMake (libhypercore.so / .dylib / .dll)
8
+ - The host build script (geodessical / geodessical.exe)
9
+
10
+ Build wheels per platform with cibuildwheel; see deploy/cibuildwheel.toml.
11
+ """
12
+ from __future__ import annotations
13
+ import os, platform, subprocess, sys
14
+ from pathlib import Path
15
+
16
+ PKG_DIR = Path(__file__).resolve().parent
17
+
18
+
19
+ def _platform_dir() -> str:
20
+ s = platform.system().lower()
21
+ m = platform.machine().lower()
22
+ if s == "windows": return f"win-{m}"
23
+ if s == "darwin": return f"mac-{m}"
24
+ return f"linux-{m}"
25
+
26
+
27
+ def bin_dir() -> Path:
28
+ return PKG_DIR / "bin" / _platform_dir()
29
+
30
+
31
+ def geodessical_path() -> Path | None:
32
+ exe = "geodessical.exe" if platform.system() == "Windows" else "geodessical"
33
+ p = bin_dir() / exe
34
+ return p if p.exists() else None
35
+
36
+
37
+ def libhypercore_path() -> Path | None:
38
+ sysname = platform.system()
39
+ name = ("hypercore.dll" if sysname == "Windows"
40
+ else "libhypercore.dylib" if sysname == "Darwin"
41
+ else "libhypercore.so")
42
+ p = bin_dir() / name
43
+ return p if p.exists() else None
44
+
45
+
46
+ def run_geodessical(*args: str) -> int:
47
+ g = geodessical_path()
48
+ if not g:
49
+ print(f"geodessical binary not bundled for {_platform_dir()}", file=sys.stderr)
50
+ print("Build from source: see CMakeLists.txt and build_host.ps1", file=sys.stderr)
51
+ return 127
52
+ return subprocess.call([str(g), *args])
53
+
54
+
55
+ def cli_main() -> int:
56
+ return run_geodessical(*sys.argv[1:])
57
+
58
+
59
+ __version__ = "0.1.0"
60
+ __all__ = ["geodessical_path", "libhypercore_path", "run_geodessical", "bin_dir"]
@@ -0,0 +1,73 @@
1
+ Metadata-Version: 2.4
2
+ Name: hypertensor-runtime
3
+ Version: 0.1.0
4
+ Summary: Native C runtime (geodessical binary + libhypercore) for the HyperTensor framework
5
+ Author-email: William Ken Ohara Stewart <nagusamecs@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/NagusameCS/HyperTensor
8
+ Keywords: hypertensor,runtime,geodessical,hypercore,native
9
+ Classifier: Development Status :: 4 - Beta
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: License :: OSI Approved :: MIT License
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: C
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Topic :: Scientific/Engineering
16
+ Requires-Python: >=3.9
17
+ Description-Content-Type: text/markdown
18
+
19
+ # hypertensor-runtime
20
+
21
+ Installable Python package wrapping the **geodessical** C binary and the
22
+ **libhypercore** shared library so they can be installed via pip alongside the
23
+ rest of the HyperTensor ecosystem:
24
+
25
+ | Package | Role |
26
+ |---|---|
27
+ | `hypertensor-framework` | Pure-Python research framework |
28
+ | `hypertensor-core` | Python bindings + core algorithms |
29
+ | `hypertensor-runtime` | **This package** — native binaries |
30
+ | `ht-repro` | Reproduction CLI + web UI |
31
+
32
+ ## Install
33
+
34
+ ```bash
35
+ pip install hypertensor-runtime
36
+ geodessical --help
37
+ ```
38
+
39
+ If a binary is not bundled for your platform you'll get a clear error pointing
40
+ at the build instructions.
41
+
42
+ ## Building wheels per platform
43
+
44
+ Bundled binaries live under `hypertensor_runtime/bin/<platform>/` where
45
+ `<platform>` is e.g. `linux-x86_64`, `win-amd64`, `mac-arm64`.
46
+
47
+ Local build (Windows host):
48
+
49
+ ```powershell
50
+ cd ..
51
+ .\build_host.ps1
52
+ mkdir -p hypertensor_runtime\bin\win-amd64
53
+ copy build_host\geodessical.exe hypertensor_runtime\bin\win-amd64\
54
+ copy build_host\hypercore.dll hypertensor_runtime\bin\win-amd64\
55
+ python -m build --wheel hypertensor_runtime
56
+ ```
57
+
58
+ Linux / macOS (via cibuildwheel):
59
+
60
+ ```bash
61
+ cibuildwheel --config-file deploy/cibuildwheel.toml hypertensor_runtime
62
+ ```
63
+
64
+ ## Programmatic access
65
+
66
+ ```python
67
+ from hypertensor_runtime import geodessical_path, libhypercore_path
68
+ print(geodessical_path()) # absolute Path to the bundled binary
69
+ print(libhypercore_path()) # absolute Path to the shared lib
70
+ ```
71
+
72
+ `ht_repro.runtime_loader` will pick these up automatically when both packages
73
+ are installed.
@@ -0,0 +1,11 @@
1
+ hypertensor_runtime/__init__.py,sha256=t21J_akxxEeuBQCwjbD1kdNVDjf_K-2G6WXl4krSp68,1885
2
+ hypertensor_runtime/bin/win-amd64/geodessical.exe,sha256=S-0vaJ3h9_4KhoeBr4Y1Ue-C4lj9LTKqhK2Y6lzpgB0,1180160
3
+ hypertensor_runtime/bin/win-amd64/hypercore.dll,sha256=r2PJLl19lxVYNIIxVITabw33lfKcqzGhbv0fyuDfpSA,193024
4
+ hypertensor_runtime/bin/win-amd64/hypercore.lib,sha256=Ixf-eNOSAVsh9QeU2q2ogQRef-1B9iLPVadc60PC4JQ,5078
5
+ hypertensor_runtime/bin/win-amd64/hypercore.pdb,sha256=ZEKr2LEtH6ErxF1hmC7wzGA-g7TeitQlbhK-TMCgkaQ,1040384
6
+ hypertensor_runtime/bin/win-amd64/libopenblas.dll,sha256=xjvp-Tm_zooevATqwPofE7o5_fuYOM4IbD0U6SonqcY,50987903
7
+ hypertensor_runtime-0.1.0.dist-info/METADATA,sha256=N-beKiLlG0gLlTQmbPHZ2nzMIZ81LTYfx_3FKka1_wU,2398
8
+ hypertensor_runtime-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
9
+ hypertensor_runtime-0.1.0.dist-info/entry_points.txt,sha256=leaj4pXPRRBrYOsEx0iE8t8d12o4N-amczKjD3fRzg4,61
10
+ hypertensor_runtime-0.1.0.dist-info/top_level.txt,sha256=rxXpppgFivgioUkHzkBGDazNhaCtK-izVwwLt7s0-A8,20
11
+ hypertensor_runtime-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ geodessical = hypertensor_runtime:cli_main
@@ -0,0 +1 @@
1
+ hypertensor_runtime