# patx/pickledb

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.

Repository: https://github.com/patx/pickledb
Canonical: https://ross.abutalabs.com/products/pickledb
Homepage: https://harrisonerd.com/pickledb
Language: Python
License: BSD-3-Clause
License Family: permissive
Topics: python, python3, pickledb, database, key-value, bsd-3-clause, datastore, json
Last push: 2026-05-10T00:16:30+00:00

## Health v2 (maintenance only)
Score: 69/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 81, release rhythm 35, longevity 100
- inputs: {"age_days": 5424, "days_push": 116, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1069, forks 135 (observed 2026-08-28T04:03:27.838162+00:00)

## What it is
pickleDB is a lightweight in-memory key-value store for Python that persists data to JSON files via or, with an optional SQLite backend for concurrency safety. It offers a simple method-based API with unified synchronous and asynchronous support.

## Use cases
- persist simple key-value data in a Python app without a database server
- store app configuration or user settings as JSON
- replace Redis for small single-process projects
- need async key-value storage in asyncio applications
- require thread-safe local storage via SQLite backend
- quickly save and load Python dictionaries to disk

## When to choose
- you need a tiny embedded key-value store with no external services
- your dataset fits in memory and persistence to JSON is sufficient
- you want a simple sync/async API with atomic writes
- single-machine concurrency requires SQLite-backed safety

## When to avoid
- you need network access, replication, or multi-host concurrency
- you have large datasets that exceed memory limits
- you need complex queries, indexing, or relational features
- multiple processes must write to the JSON backend concurrently

## Facets
- artifact type: library
- maturity: active
- function: database, serialization
- domain: databases, developer-tools, backend
- platform: python, cross-platform
- tags: key-value-store, or, sqlite, asyncio, embedded-database, in-memory

## Member repositories
- patx/pickledb (main) score 69

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:27.838162+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:54:36.129247+00:00, confidence not recorded.
  - readme: https://github.com/patx/pickledb (fetched 2026-08-28T04:03:27.838162+00:00, sha 6c61876769c6)
  - homepage: https://harrisonerd.com/pickledb (fetched 2026-08-29T12:56:54.729698+00:00, sha d81b4db638e8)
  - registry_pypi: https://pypi.org/pypi/pickledb/json (fetched 2026-08-29T12:56:54.738881+00:00, sha 600d7e7efda8)
- Data as of 2026-08-30T08:39:29.467469+00:00.
