Repository navigation
Releases: Gamakon/UltraDim
Release list
UltraDim 0.5.0
UltraDim 0.5.0 — the facet index, and one abi3 wheel per platform
UltraDim is an analytical vector database for ultra-wide data, shipped as a compiled Python wheel. The database runs in-process: no server, no port.
import ultradim
db = ultradim.UltraDim("./db")
print(len(db.capabilities())) # 205 RPCs, all reachable via db.call_json(...)What is in this release
0.5.0 adds the facet index and rebuilds the packaging.
Engine:
- The facet index.
GetUltradimV23RowIdsByFacetselects rows by a payload filter — a date range, a keyword, a prefix, or a conjunction — from a sorted per-facet column beside the payloads, without building a search index first. Measured against the full payload scan it replaces, at 5,000,000 rows with three facets: 43× for a prefix that selects half the family, 3602× for a one-day window of 13,699 rows. Every facet a row carries is indexed on the write path. CreateSyntheticBankgenerates its points on the GPU, with a CPU fallback when no GPU is present.- Half-life decay for the rolling k-means lineage.
cell_cap, a parameter that bounds how many rows the settle gathers per cell.
Packaging:
- One wheel per platform serves every CPython from 3.12 onward. The extension is now built against CPython's stable ABI (
abi3, floor 3.12), so each wheel is taggedcp312-abi3and carriesultradim/_ultradim.abi3.so. The 0.4.0 wheels were taggedcp312-cp312; pip refused them on 3.13 and later. - The wheel has no dependencies. 0.4.0 declared
Requires-Dist: numpy, which pip fetched although nothing in the wheel imports it. The MCP server, the harness and the examples still need numpy and carry it themselves. - No compiled bytecode ships. 0.4.0 carried a 3.12-specific
.pyc; a maturin exclude keeps it out. - The licence is a PEP 639 expression. The metadata declares the SPDX identifier
PolyForm-Noncommercial-1.0.0in theLicense-Expressionfield, with no OSI classifier (PolyForm Noncommercial is not OSI-approved).
The API has 205 RPCs, one more than 0.4.0's 204: GetUltradimV23RowIdsByFacet.
Licence
Noncommercial use (personal study, research, teaching, charities, public research bodies, government) is free under the PolyForm Noncommercial License 1.0.0. Any commercial use, including internal use by a for-profit business, needs a commercial licence from Gamakon Ltd. Contact jesung@gamakon.ai or andrew@gamakon.ai. The licence text is LICENSE; the two-track notice is LICENSES/LICENSE.md. Both ship in this repository and inside the wheel.
Install
CPython 3.12 or newer. Pick the wheel for your platform and install it by path; it has no dependencies:
python3.12 -m venv .venv && source .venv/bin/activate # or any CPython 3.12 or newer
pip install ./ultradim-0.5.0-cp312-abi3-macosx_11_0_arm64.whl # macOS, Apple silicon
pip install ./ultradim-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl # Linux x86_64, glibc 2.28+
pip install ./ultradim-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl # Linux arm64, glibc 2.28+A GPU is used when one is reachable (Metal on macOS, Vulkan on Linux). Without a GPU the database loads, ingests, indexes and searches; UMAP fits, k-means clustering and k-means lineages return an error. See docs/GPU_SETTINGS.md.
Other platforms — Windows, Intel Mac — are available on request: write to jesung@gamakon.ai or andrew@gamakon.ai.
Verify the download
| File | sha256 |
|---|---|
ultradim-0.5.0-cp312-abi3-macosx_11_0_arm64.whl |
c0e13f519859710f1a2f1662087fe0e8a9ddaa718d625387ba00800fb404942a |
ultradim-0.5.0-cp312-abi3-manylinux_2_28_aarch64.whl |
14c6e6edceee80ad8d883737ee7fa01511181b1105ac26a161ecd02242e07730 |
ultradim-0.5.0-cp312-abi3-manylinux_2_28_x86_64.whl |
b49af3d32209024fcd6102ac69e296ebdd722f16b623eee4e60881b5011f1ab0 |
Verified
Each wheel installs and runs on CPython 3.13 with no dependencies — only UltraDim in pip list — and on 3.12 from the same file: capabilities() returns 205 and HealthCheck returns {"status":1}. The extension module was recompiled against abi3, so its sha256 differs from 0.4.0's. The engine's search code is unchanged from 0.4.0, so search quality is unchanged.
One consequence for the MCP server
The MCP server (mcp/ultradim_mcp_server_v0_5_0.py) imports numpy. Until 0.4.0 numpy was pulled in as the wheel's declared dependency; now that the wheel declares none, an MCP install must add numpy explicitly: pip install <wheel> numpy. The examples install numpy themselves and are unaffected.
UltraDim 0.4.0
UltraDim 0.4.0 — compiled wheels, three platforms
UltraDim is an analytical vector database for ultra-wide data, shipped as a compiled Python wheel. The database runs in-process: no server, no port.
import ultradim
db = ultradim.UltraDim("./db")
print(len(db.capabilities())) # 204 RPCs, all reachable via db.call_json(...)What is in this release
- The engine is identical to 0.3.12: 204 RPCs, 46 MCP tools, no behaviour change.
- The wheel now carries its licence inside the package at
ultradim/LICENSES/. Earlier wheels shipped no terms.
Licence
Noncommercial use (personal study, research, teaching, charities, public research bodies, government) is free under the PolyForm Noncommercial License 1.0.0. Any commercial use, including internal use by a for-profit business, needs a commercial licence from Gamakon Ltd. Contact jesung@gamakon.ai or andrew@gamakon.ai. Full terms: LICENSES/LICENSE.md in this repository and inside the wheel.
Install
Python 3.12 only. Pick the wheel for your platform and install it by path; numpy comes with it:
python3.12 -m venv .venv && source .venv/bin/activate
pip install ./UltraDim-0.4.0-cp312-cp312-macosx_11_0_arm64.whl # macOS, Apple silicon
pip install ./UltraDim-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl # Linux x86_64, glibc 2.28+
pip install ./UltraDim-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl # Linux arm64, glibc 2.28+A GPU is used when one is reachable (Metal on macOS, Vulkan on Linux). Without one the database still runs, slower on clustering and index builds.
Verify the download
| File | sha256 |
|---|---|
UltraDim-0.4.0-cp312-cp312-macosx_11_0_arm64.whl |
5cd3e37b62119b132f5e911331cd396299de93ff630d7ee5efb610f5d67575e5 |
UltraDim-0.4.0-cp312-cp312-manylinux_2_28_aarch64.whl |
579be5bbd599b074c029d8cd74d559c6632f0c6d90493849ffc3cd9aeee59e55 |
UltraDim-0.4.0-cp312-cp312-manylinux_2_28_x86_64.whl |
ea961bc9d068aceee255222f2b99ac52f776276a72d8858f766d26e2e1e84a3f |
Each wheel has a .sha256 file beside it; shasum -a 256 -c <file>.sha256 (macOS) or sha256sum -c (Linux) prints OK on a match.