Lesson 20← back to roadmap
Python doesn't reimplement anything. It binds the same ElipsInstance and Vault that C++ users hold.
From docs/python/bindings/pybind11-architecture.md: there is a low-level surface (elips.open, Database, Vault — direct binding mirrors) and a modern surface (connect(), Engine, Arena — opinionated Pythonic wrappers).
python
# low-level — mirrors C++ shapes
db = elips.open("/data/db", dimension=384)
docs = db.vault("documents")
# modern — opinionated
eng = elips.connect("/data/db", dimension=384)
arena = eng.arena("documents")- Vectors cross the boundary as zero-copy float buffers when possible
- Payload dicts are converted via pybind11's std::variant binding
- Errors are translated to elips.ConfigError / StorageError / … on the Python side