Installation#
Requirements#
- Python 3.10 or newer
- (Optional, recommended) Rust and
cargoonPATH, for the nativehayavega_nativeextension
From PyPI#
This is the normal way to install Hayavega. The published wheel is the pure-Python build; see Install from source below if you want the optional Rust-native extension built locally.
Install from source#
To build the optional Rust-native extension, or to work on Hayavega itself, install directly from a local checkout of the repository instead:
cd hayavega-framework
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1
pip install -e .
If cargo is on PATH, a hatchling build hook builds and bundles
hayavega_native automatically — there's no separate manual step. This
powers a handful of optional, individually benchmarked accelerations:
- Signals' Rust-backed worker-pool dispatcher (a Python
ThreadPoolExecutorfallback is used automatically if the extension isn't present) mango_list, a Rust-backed list type- The Rust runtime (
Settings.server.engine = 'rust') and its optional TLS support
None of these are required for Hayavega to work — every feature above has a pure-Python fallback or is entirely opt-in.
Skip the Rust build
Set HAYAVEGA_SKIP_NATIVE_BUILD=1 before pip install -e . to force a
pure-Python install even when cargo is available — useful for a
faster install when you don't need the native extension's features.
Verify the install#
python -c "import hayavega; print('Hayavega is installed')"
python -c "import hayavega_native" 2>/dev/null && echo "Native extension: built" || echo "Native extension: not built (pure-Python fallback active)"
Development dependencies#
If you're contributing to Hayavega itself rather than building an app with it:
See Testing for how the test suite itself is organized.
Next: Quickstart.