Pickle Warehouse makes it easy to save Python objects to files with meaningful identifiers.
How to use
Pickle Warehouse provides a dictionary-like object that is associated with a particular directory on your computer.
from pickle_warehouse import Warehouse
warehouse = Warehouse('/tmp/a-directory')
The keys correspond to files, and the values get pickled to the files.
warehouse['filename'] = range(100)
import pickle
range(100) == pickle.load(open('/tmp/a-directory/filename', 'rb'))
You can also read and delete things.
# Read range(100) == warehouse['filename'] # Delete del(warehouse['filename'])
The coolest part is that the key gets interpreted in a fancy way. Aside from strings and string-like objects, you can use iterables of strings; all of these indices refer to the file /tmp/a-directory/foo/bar/baz:
warehouse[('foo','bar','baz')]
warehouse[['foo','bar','baz']]
If you pass a relative path to a file, it will be broken up as you’d expect; that is, strings get split on slashes and backslashes.
warehouse['foo/bar/baz'] warehouse['foo\\bar\\baz']
Note well: Specifying an absolute path won’t save things outside the warehouse directory.
warehouse['/foo/bar/baz'] # -> foo, bar, baz
warehouse['C:\\foo\\bar\\baz'] # -> c, foo, bar, baz
# (lowercase "c")
If you pass a URL, it will also get broken up in a reasonable way.
# /tmp/a-directory/http/thomaslevine.com/!/?foo=bar#baz warehouse['http://thomaslevine.com/!/?foo=bar#baz'] # /tmp/a-directory/thomaslevine.com/!?foo=bar#baz warehouse['thomaslevine.com/!?foo=bar#baz']
Dates and datetimes get converted to YYYY-MM-DD format.
import datetime # /tmp/a-directory/2014-02-26 warehouse[datetime.date(2014,2,26)] warehouse[datetime.datetime(2014,2,26,13,6,42)]
And you can mix these formats!
# /tmp/a-directory/http/thomaslevine.com/open-data/2014-02-26
warehouse[('http://thomaslevine.com/open-data', datetime.date(2014,2,26))]
It also has typical dictionary methods like keys, values, items,
and update.
When to use
pickle-warehouse is for when you want a persistant store of Python objects. If you want an in-memory pickle store, look at _pickleDB: https://pythonhosted.org/pickleDB/.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pickle-warehouse-0.0.10.tar.gz.
File metadata
- Download URL: pickle-warehouse-0.0.10.tar.gz
- Upload date:
- Size: 3.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f8efb6ccf7284071c03dddf0d348ac97e4a9ddb95c771cbe335ec20bf247924d
|
|
| MD5 |
73f1d9aae4a53b2cb541b756a629f005
|
|
| BLAKE2b-256 |
d5c7063e388328afbf31956fbddf74abcb309c837eec6a6e1cfc0c61cb42b1d8
|