Skip to main content

Pressdict is a compressed key-value store for JSON-serializable objects.

Project description

Pressdict is a compressed key-value store for JSON-serializable objects.

The objects to be stored in the container are JSON-serialized and the resulting string is compressed using zlib. The compressed string is then stored as value for the given key. When accessing the values in the container this process is reversed.

Example of usage

Pressdict can mostly be used like a normal Python dict:

from pressdict import Pressdict
pd = Pressdict()
pd["test"] = {"key": "value", "key2": 2}
print(pd["test"])

Important

Remember that everything in the dict is stored as string and is therefor IMMUTABLE!! That means that THIS WILL NOT WORK:

pd["list"].append("item")  # will not work!
pd["dict"]["new_key"] = "value"  # will not work!

Thus, changes to objects in the Pressdict have to be explicit:

pd["list"] = pd["list"] + ["item"]

d = pd["dict"]
d["new_key"] = "value"
pd["dict"] = d

Lists

NEW: Package now also includes a pressed list:

from pressdict import Presslist
pl = Presslist()
pl.append({"key": "value", "key2": 2})
print(pl[0])

Note that the same restrictions apply as for Pressdicts: You can not modify a stored object directly. You need to retrieve the object, modify it and store it again.

Tests

Testing requires having the nose library (pip install nose). After installation, the package can be tested by executing from outside the source directory:

nosetests --exe -v

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Pressdict-1.0.0.tar.gz (3.8 kB view details)

Uploaded Source

File details

Details for the file Pressdict-1.0.0.tar.gz.

File metadata

  • Download URL: Pressdict-1.0.0.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.2 CPython/3.6.9

File hashes

Hashes for Pressdict-1.0.0.tar.gz
Algorithm Hash digest
SHA256 c68bb4c3687a4a32e09c5c89f635c72da25109c7585fc9823bf22559b1e61c2d
MD5 536aa871af1d010d6bd1983c0c097fbf
BLAKE2b-256 9de49034e39e192cd01f71b0c06b008af881414fc4de8a4ed70fe8b53efb84bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page