Metadata-Version: 2.1
Name: bigdict
Version: 0.2.2
Summary: Bigdict
Author-email: Zepu Zhang <zepu.zhang@gmail.com>
Requires-Python: >=3.8
Description-Content-Type: text/x-rst
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: lmdb
Requires-Dist: sphinx ; extra == "doc"
Requires-Dist: numpydoc ; extra == "doc"
Requires-Dist: pydata-sphinx-theme ; extra == "doc"
Requires-Dist: rocksdb ; extra == "rocksdb"
Requires-Dist: mypy ; extra == "test"
Requires-Dist: ruff ; extra == "test"
Requires-Dist: pytest-asyncio ; extra == "test"
Project-URL: Source, https://github.com/zpz/bigdict
Provides-Extra: doc
Provides-Extra: rocksdb
Provides-Extra: test

bigdict
=======

``bigdict`` implements a persisted, out-of-memory dict for Python.

The usage API strives to be as close as possible to the built-in ``dict``, with a small number of extras.

The "engine", or "back-end", is currently ``lmdb``. However, ``lmdb`` is not the point; the point is rather a "persisted, out-of-memory dict". Criteria used in choosing the engine:

- It must be *embedded*, as opposed to client/server.
- It must be a mature project with a reliable Python binding.

In addition,

- It must use more files for storage as the data size grows, hence keeping file sizes modest,
  as opposed to a single file growing in size.

If the chosen backend does not meet this requirement, it's the responsibility of ``bigdict`` to implement that.

Installation::


    $ pip install bigdict


