shared
Data exchange and persistence based on human-readable files
What it is and what it does
Shared is a file-based data persistence library that serializes Python dictionaries into human-readable files. It handles strings, numbers, dates, binary data, and nested collections (lists, sets, dictionaries) by encoding them through the Paradict format. The primary use case is storing unstructured application data, managing configuration files, caching, and exchanging data between programs—all without requiring a database server.
The library is intentionally simple and experimental. It does not implement file locking or synchronization, so concurrent access can corrupt data; the author explicitly recommends considering alternatives for production scenarios requiring robustness. Shared is best suited for single-threaded applications, small datasets, or scenarios where human-readable persistence files are a deliberate design choice.
Use it for:
- Store application configuration and user preferences in human-readable format
- Cache computed results or session data to disk without a database
- Exchange structured data with other programs via portable, text-based files
- Persist unstructured datasets in a development or testing environment
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Shared provides a simple file-based data persistence layer that encodes Python dictionaries (including strings, scalars, dates, binary data, and nested collections) into human-readable files using the Paradict format.
Yes, if you need simple file-based persistence for single-threaded applications and prefer human-readable storage over a database. No, if you require concurrent access safety, high performance, or production-grade reliability. The package is stable and dependency-light, but dormant maintenance and lack of concurrency protection are real constraints.
Install
shared on PyPI
pip
pip install shareduv
uv add sharedpoetry
poetry add sharedInstalling shared
Before you install
Low install friction with only two runtime dependencies (paradict and kvf). The package is dormant—last release was 612 days ago—but the repository remains active with a recent commit on 2024-12-10. No maintenance concerns for a stable, single-purpose library.
License in practice
MIT license is permissive, allowing commercial and private use with minimal restrictions. No licensing concerns for adoption.
Quickstart
from shared import Dossier, HOME
from pathlib import Path
path = Path(HOME, "my_dossier")
dossier = Dossier(path)
dossier.set("my_key", {"name": "value"})
data = dossier.get("my_key")
Requires Python 3.5 or newer. No synchronization mechanisms are implemented; concurrent writes to the same file may cause data corruption.
Verify before relying
- Performance characteristics and scalability limits for large dictionaries or frequent operations
- Whether paradict and kvf dependencies are actively maintained or also dormant
- Real-world reliability and data integrity in production use cases
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.5) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — paradict, kvf |
| Maintenance | dormant — 612 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 125,857/month — #11,796 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: shared-0.0.32-py3-none-any.whl
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
paradictParadict serializes and deserializes Python…
permissive · top 15,000 on PyPI
kvfReads and writes configuration files in KvF…
permissive · top 15,000 on PyPI
delta-sharingDelta Sharing is a Python client library for…
permissive · top 5,000 on PyPI
atomic_dictAtomic-Dict provides a lock-free, shared 64-bit…
permissive · top 15,000 on PyPI
datafilesDatafiles is a file-based ORM that…
permissive · top 15,000 on PyPI
braqBraq is a Python library for parsing and…
permissive · top 15,000 on PyPI
fcachefcache provides a dictionary-like file-based…
permissive · top 5,000 on PyPI
treeliteTreelite serializes and exchanges decision tree…
permissive · top 15,000 on PyPI
filelockProvides a platform-independent file locking…
permissive · top 100 on PyPI
plyvelPlyvel is a Python interface to LevelDB, a fast…
permissive · top 5,000 on PyPI