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.
- hypertensor_runtime/__init__.py +60 -0
- hypertensor_runtime/bin/win-amd64/geodessical.exe +0 -0
- hypertensor_runtime/bin/win-amd64/hypercore.dll +0 -0
- hypertensor_runtime/bin/win-amd64/hypercore.lib +0 -0
- hypertensor_runtime/bin/win-amd64/hypercore.pdb +0 -0
- hypertensor_runtime/bin/win-amd64/libopenblas.dll +0 -0
- hypertensor_runtime-0.1.0.dist-info/METADATA +73 -0
- hypertensor_runtime-0.1.0.dist-info/RECORD +11 -0
- hypertensor_runtime-0.1.0.dist-info/WHEEL +5 -0
- hypertensor_runtime-0.1.0.dist-info/entry_points.txt +2 -0
- hypertensor_runtime-0.1.0.dist-info/top_level.txt +1 -0
|
@@ -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"]
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -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 @@
|
|
|
1
|
+
hypertensor_runtime
|