pickleshare
Tiny 'shelve'-like database with concurrency support
What it is and what it does
PickleShare is a lightweight, file-based datastore designed for low-load scenarios where multiple processes need to share data. Unlike the standard shelve module, it stores each key-value pair in a separate file within a directory, allowing true concurrent access—changes made by one process are immediately visible to others. The API mimics a Python dictionary, making it familiar to use.
The package is intended for non-mission-critical applications where simplicity and small code size matter more than the advanced features of a full object database. It uses pickle for serialization and relies on the filesystem for concurrency control, making it suitable for scenarios like inter-process communication or simple shared state in development and testing environments.
Use it for:
- Sharing configuration or state between multiple worker processes in a simple application
- Storing temporary results or caches that need to be accessible across process boundaries
- Prototyping a multi-process system before committing to a more complex database solution
- Passing data between independent scripts or services in a low-concurrency environment
- Debugging and testing scenarios where you need quick, process-safe data persistence
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
PickleShare provides a dictionary-like datastore where multiple processes can read and write concurrently by storing each key-value pair in a separate file within a directory.
Yes, if you need simple inter-process data sharing in a low-load scenario and want to avoid external database dependencies. The permissive MIT license, low install friction, and stable codebase make it a reasonable choice for development, testing, or lightweight production use. However, the dormant maintenance status (no releases since 2018) means you should verify compatibility with your Python version and filesystem before relying on it for new projects.
Install
pickleshare on PyPI
pip
pip install pickleshareuv
uv add picklesharepoetry
poetry add pickleshareInstalling pickleshare
Before you install
Installation is straightforward with low friction; the package is dormant (last release 2018-09-25, last commit 2023-11-15) but remains stable and carries only one lightweight runtime dependency (pathlib2).
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the package freely as long as you retain the license notice.
Quickstart
pip install pickleshare
from pickleshare import PickleShareDB
db = PickleShareDB('~/testpickleshare')
db['hello'] = 15
print(db['hello'])
Verify before relying
- Whether pathlib2 is required on modern Python versions or only for Python 2 compatibility
- Current performance characteristics under concurrent load compared to alternatives
- Whether the package works reliably on Windows and other non-POSIX filesystems
Package facts
| License | MIT (permissive) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — pathlib2 |
| Maintenance | dormant — 2,880 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 15,209,634/month — #1,194 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pickleshare-0.7.5-py2.py3-none-any.whl
Keywords: database, persistence, pickle, ipc, shelve
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
fcachefcache provides a dictionary-like file-based…
permissive · top 5,000 on PyPI
partdPartd is a key-value byte store that appends…
permissive · top 1,000 on PyPI
speedictSpeeDict is a Python key-value storage library…
permissive · top 15,000 on PyPI
diskcache-weaveDisk-backed cache library that stores key-value…
permissive · top 15,000 on PyPI
diskcacheDiskCache provides a pure-Python disk-backed…
permissive · top 1,000 on PyPI
sqlitedictProvides a dict-like interface to SQLite…
permissive · top 5,000 on PyPI
rocksdictRocksDict provides a Python interface to…
permissive · top 15,000 on PyPI
locketLocket provides file-based locks for…
permissive · top 1,000 on PyPI
oslo.concurrencyoslo.concurrency provides locking mechanisms…
permissive · top 15,000 on PyPI
pykkaPykka is a Python implementation of the actor…
permissive · top 15,000 on PyPI