Metadata-Version: 2.4
Name: pickleshare-modern
Version: 0.7.5
Summary: Maintained modern fork of PickleShare with Python 3.14 support
Home-page: https://github.com/TharakaUmayanga/pickleshare-modern
Author: Tharaka Umayanga
Author-email: tharakau@gmail.com
License: MIT
Keywords: database persistence pickle ipc shelve
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-python
Dynamic: summary

# pickleshare-modern

`pickleshare-modern` is a small `shelve`-like datastore with file-based
concurrency support.

It is a maintained fork of the original `pickleshare` project, intended for
modern Python releases including Python 3.14, while keeping the original MIT
license.

The published package name is `pickleshare-modern`, while the import path stays
`pickleshare` for compatibility with existing code.

## Why This Fork Exists

The original project is a neat tiny library, but it has not been updated in
years. This fork keeps the same lightweight design and API while updating the
code and packaging for current Python environments.

## Features

- Dictionary-like API
- File-per-key storage
- Simple multi-process visibility for updates
- Nested keys such as `paths/are/ok/key`
- Hashed helper methods via `hset()` and `hget()`
- Python 3.9+ support, including Python 3.14

## Installation

Install from PyPI:

```sh
pip install pickleshare-modern
```

Install from source:

```sh
pip install .
```

## Compatibility

- Distribution name: `pickleshare-modern`
- Import path: `pickleshare`
- Supported Python versions: 3.9 to 3.14

## Usage

```python
from pickleshare import PickleShareDB

db = PickleShareDB("~/testpickleshare")
db.clear()

db["hello"] = 15
db["aku ankka"] = [1, 2, 313]
db["paths/are/ok/key"] = [1, (5, 46)]

print(db["hello"])
print(db.keys())

db.hset("hash", "aku", 12)
print(db.hget("hash", "aku"))

link = db.getlink("myobjects/test")
link.foo = 2
link.bar = link.foo + 5
print(link.bar)
```

## Notes

- This library is intentionally small and simple.
- It works well for low-load, non-mission-critical persistence.
- It is not a replacement for a full database or object store.

## License And Attribution

This project remains available under the MIT License.

This fork is based on the original `pickleshare` project by ipython. The
license and copyright notice are preserved.

