Skip to content

Installation

RequirementMinimum versionNotes
macOS or LinuxWindows not yet supported
C compilerclang 14 / gcc 11Must support C11 + __attribute__((packed))
GNU Make3.81+Used to compile libhypermesh
Python3.11+3.14 (Homebrew) tested
pip / venvanyUse a virtual environment

Terminal window
git clone https://github.com/sree181/hypermesh-workbench.git
cd hypermesh-workbench

The core storage engine is a native C library (libhypermesh.dylib on macOS, libhypermesh.so on Linux).

Terminal window
cd hypermesh_core
make install # compiles and copies the library to server/
cd ..

To verify:

Terminal window
ls server/libhypermesh.*
# server/libhypermesh.dylib (macOS)
# server/libhypermesh.so (Linux)

Step 3 — Create a Python virtual environment

Section titled “Step 3 — Create a Python virtual environment”
Terminal window
python3 -m venv .venv
source .venv/bin/activate # macOS / Linux
# .venv\Scripts\activate # Windows (not yet supported)

Terminal window
pip install -e .

This registers the hmdb command-line tool and the hypermeshdb importable package. The -e flag installs in editable mode so source edits take effect immediately without reinstalling.

Verify:

Terminal window
hmdb --version
# hmdb 0.1.0
python3 -c "import hypermeshdb; print(hypermeshdb.__version__)"
# 0.1.0

Terminal window
pip install pytest
pytest tests/ -v

Expected: all tests pass.


FileNotFoundError: Cannot find libhypermesh.dylib

Section titled “FileNotFoundError: Cannot find libhypermesh.dylib”

The Python SDK searches these locations in order:

  1. hypermesh_core/libhypermesh.dylib (relative to hm_store.py)
  2. server/libhypermesh.dylib
  3. Current working directory
  4. hypermesh_core/ subdirectory of cwd

Run make install inside hypermesh_core/ to build and copy the library.

Install a C compiler:

Terminal window
# macOS
xcode-select --install
# Ubuntu / Debian
sudo apt install build-essential

Python 3.14 on Homebrew shows “externally managed environment”

Section titled “Python 3.14 on Homebrew shows “externally managed environment””

Create a virtual environment as shown in Step 3. Never use --break-system-packages.