Fast Python bindings for UnQLite, a lightweight, embedded NoSQL database and JSON document store.
UnQLite features:
- Embedded, zero-conf database
- Transactional (ACID)
- Single file or in-memory database
- Key/value store
- Cursor support and linear record traversal
- JSON document store
- Thread-safe
- Terabyte-sized databases
UnQLite-Python features:
- Compiled library, extremely fast with minimal overhead.
- Supports key/value operations, cursors, and transactions using Pythonic APIs.
- Support for Jx9 scripting.
- APIs for working with Jx9 JSON document collections.
- Supports both Python 2 and Python 3.
The previous version (0.2.0) of unqlite-python
utilized ctypes
to wrap the UnQLite C library. By switching to Cython, key/value, cursor and Jx9 collection operations are an order of magnitude faster. In particular, filtering collections using user-defined Python functions is now much, much more performant.
The source code for unqlite-python is hosted on GitHub.
Note
If you encounter any bugs in the library, please open an issue, including a description of the bug and any related traceback.
Note
If you like UnQLite, you might also want to check out Vedis, an embedded key/value database modeled after Redis (python bindings: vedis-python).
Contents:
.. toctree:: :maxdepth: 2 :glob: installation quickstart api