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.2.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.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file zeppelin_embed-0.2.0-py3-none-macosx_11_0_arm64.whl.
File metadata
- Download URL: zeppelin_embed-0.2.0-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.3 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69f1b913d477e0f80e10205b6eb4f94706b991ad5472ffaad641e5f429b302ef
|
|
| MD5 |
6497712cffb6dc2aa88e7e76d8e043d5
|
|
| BLAKE2b-256 |
2c21bdf6093cb775d0159349f6e5e9960fd09f9dbb70285a045a7db04427f6c6
|
Provenance
The following attestation bundles were made for zeppelin_embed-0.2.0-py3-none-macosx_11_0_arm64.whl:
Publisher:
python-release.yml on zepdb/zeppelin-embed
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
zeppelin_embed-0.2.0-py3-none-macosx_11_0_arm64.whl -
Subject digest:
69f1b913d477e0f80e10205b6eb4f94706b991ad5472ffaad641e5f429b302ef - Sigstore transparency entry: 2743701564
- Sigstore integration time:
-
Permalink:
zepdb/zeppelin-embed@c84d4425034c711b23b4e4b4d5c91b22113fdd18 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/zepdb
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-release.yml@c84d4425034c711b23b4e4b4d5c91b22113fdd18 -
Trigger Event:
workflow_dispatch
-
Statement type: