EngramDB 的 Python 分发包
Disk-first storage engine for Engram / PLE n-gram memory tables (Rust).
分发名
engramdb-python(PyPI 相似名规避);import 名仍为engramdb。当前 v0.1.x 同时包含两条 Python 接入路径:
- PyO3 原生扩展(优先):
crates/engramdb-pyo3,构建后以python/engramdb/_engramdb.so提供Store/View。- ctypes C-ABI 回退:
crates/engramdb-python,无 PyO3 构建产物时也能用。
python/engramdb/__init__.py会自动优先加载 PyO3,失败则回退 ctypes。
快速使用
# 方式 1:maturin 构建 wheel(推荐,直接产生可安装的 native wheel)
cd python
CARGO_HOME=/tmp/cargo-home RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup" \
maturin build --release --interpreter python3
# 方式 2:开发期内直接构建并复制到包目录
CARGO_HOME=/tmp/cargo-home RUSTFLAGS="-C link-arg=-undefined -C link-arg=dynamic_lookup" \
cargo build -p engramdb-pyo3 --release
cp target/release/lib_engramdb.dylib python/engramdb/_engramdb.so
# 在 engram-peft 等项目中用 uv 添加本地开发依赖
cd ~/code/engram-peft
uv add --editable ../EngramDB/python
# 发布到 PyPI 后可直接:
# uv add engramdb-python
import engramdb
# 打开 Store-I:目录内为 shard_000.bin 等定长行文件
store = engramdb.Store("path/to/rows", shards=1, rows_per_shard=100, width=256)
row_bytes = store.fetch([0, 1, 2]) # bytes, 每条 256B
store.close()
# 打开 Store-P 视图
view = engramdb.View("path/to/view.bin")
rec = view.read_record(0) # 一条 e_t 记录
engram-peft 集成
安装 engramdb-python 后,可以直接使用内置的磁盘版 MultiHeadEmbedding:
import engramdb
from engramdb.integrations import install_disk_multi_head_embedding
store = engramdb.Store("path/to/embedding-store", shards=1, rows_per_shard=100, width=256)
install_disk_multi_head_embedding(store)
# 之后再调用 engram-peft 的 get_engram_model(...) 即可让 Engram 层从磁盘读取 embedding
定位(一句话)
让"确定性哈希的 n-gram 记忆表"(Qwen PLE、DeepSeek Engram 等)像数据库一样落盘、建索引、预取、服务化——单机 CPU+NVMe 低延迟推理 / 高吞吐训练预处理。
详细文档见上游仓库 docs/(design.md / specifications / roadmap)以及 examples/interop_engram_peft.py。
Metadata
Release files for engramdb-python 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| engramdb_python-0.2.0.tar.gz | 33.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| engramdb_python-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
Total release size: 349.1 kB
Release files / engramdb_python-0.2.0.tar.gz
| Download URL | engramdb_python-0.2.0.tar.gz |
|---|---|
| Size | 33.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2bd1c247cf92394d3d1fb8b16848827fd56da7a4546d5ac9f60bb145d4e5ff83
|
|
BLAKE2b-256 checksum How to use checksums |
42591f772f3811dbde03081ac860d8a82a3bad7f47bbc8c996dce44cc8f6c315
|
| 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 Aug 30, 2026.
Transparency logRelease files / engramdb_python-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | engramdb_python-0.2.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 316.0 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
375d746d939ee24eac2af7adaf667fe8cb0ac208fb5dad177a8ef627be0b9743
|
|
BLAKE2b-256 checksum How to use checksums |
07bdf4ca4d2f100b1d3421f1301dcb4273b1dfb5dc8fc5356c01f78d3370dc17
|
| 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 Aug 30, 2026.
Transparency log