Zeppelin Embed for Python
Python 3.11+ bindings for the Zeppelin Embed C ABI. Platform wheels include the native library, so a wheel installation does not require a separate Rust build.
python -m pip install zeppelin-embed
from pathlib import Path
import numpy as np
import zeppelin_embed as ze
vectors = np.asarray([[0.0, 0.5, 1.0, 1.5]], dtype=np.float32)
with ze.open(Path("example-store")) as store:
store.ingest([1], vectors, texts=["first document"])
result = store.query(vector=vectors[0], text="first", k=1)
print(result.hits[0].doc_id)
Native library loading
The loader uses ZEPPELIN_EMBED_LIBRARY when it is set. Otherwise, an installed
wheel loads its bundled library from zeppelin_embed/.dylibs. Source-tree use
also recognizes the workspace's debug and release Cargo outputs for development.
An invalid override fails loudly and does not fall back to another library.
The v0.4.0 wheel supports macOS 11 or newer on Apple silicon. Other platforms are not part of this PyPI release.
The bundled wheel library does not enable the optional Rust text feature.
open_text therefore requires a compatible feature-enabled library supplied
through ZEPPELIN_EMBED_LIBRARY.
Development
The package is built from the repository because the wheel build compiles
crates/zeppelin-embed-ffi with the locked Rust 1.93 dependency graph:
python -m build --wheel python
Run the core binding checks against an explicit development library:
cargo build --locked -p zeppelin-embed-ffi
ZEPPELIN_EMBED_LIBRARY="$PWD/target/debug/libzeppelin_embed_ffi.dylib" \
python -m pytest bindings/python/tests --ignore=bindings/python/tests/test_text_api.py
On Linux, use libzeppelin_embed_ffi.so in that command. The text API test also
requires the repository's baked model fixture and a library built with
--features text.
Releasing
Publishing a GitHub release whose tag matches v<version> builds and verifies
the macOS arm64 wheel, then uploads it with PyPI Trusted Publishing. Configure
the PyPI publisher with owner zepdb, repository zeppelin-embed, workflow
python-release.yml, and environment pypi.
Metadata
Release files for zeppelin-embed 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zeppelin_embed-0.4.2-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
Release files / zeppelin_embed-0.4.2-py3-none-macosx_11_0_arm64.whl
| Download URL | zeppelin_embed-0.4.2-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7f4c02710b46d053c5c68d030ef4ea11f02a046c6c109b36b61a08ccf345d335
|
|
BLAKE2b-256 checksum How to use checksums |
a7a0a9741a13336e33af5839b028c99169d76a73bfdc7dcab5bb83fa80d60f96
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.
Transparency log