A fast, in-memory Python key-value store with async support, using orjson or SQLite for persistence.
pickleDB is a fast, in-memory key-value store for Python that provides a simple way to store and retrieve data using a dictionary-like interface. It solves the need for lightweight, temporary data storage in Python applications without requiring a full database setup, offering optional persistence through JSON files or SQLite.
Python developers who need a simple, high-performance key-value store for caching, configuration management, or temporary data storage in their applications.
Developers choose pickleDB for its exceptional speed (thanks to orjson), native async support, and dead-simple API that requires minimal setup compared to heavier database solutions.
pickleDB is an in memory key-value store using Python's orjson module for persistence. It can also use SQLite instead of orjson if needed.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages the orjson module for extremely high-speed serialization and deserialization, making it ideal for latency-sensitive operations like caching.
First-class async/await compatibility allows seamless non-blocking operations in modern Python async frameworks, such as FastAPI or aiohttp.
Provides simple methods like set(), get(), and load() that mirror dictionary operations, reducing the learning curve and setup time.
Supports both JSON file storage and SQLite backends, giving developers choice in how data is persisted without locking into a single format.
Only supports key-value pairs, lacking features for complex queries, indexes, or relational structures, which restricts use cases to simple storage needs.
Data is stored in memory and can be lost on application crashes unless explicitly persisted, adding manual overhead for data durability.
Does not include built-in mechanisms for handling concurrent writes, potentially leading to race conditions in multi-threaded or async environments.
Relies on orjson for performance, which may introduce installation complexities or compatibility issues in environments with restricted packages.