Skip to main content

Python Perl Storable module

Project description


This is a Python module that is be able to read Perl storable files. Storable is a nice and efficient binary format for Perl that is very popular. A lot of other serialization/deserialization modules exist that are even more or less standardized: JSON, XML, CSV,.. etc. Storable is more or less Perl specific.

To ease integration between Perl - where storable sometimes is the only option - and Python this module is a bridge.

The module has been tested to work with Python 2.7 and upwards.


Perl Scalar Handling

Care has to be taken when dealing with Perl “scalars”. They are a bit “magical” in that they can behave like different types depending on how they are used. This is currently not supported directly in Python, and neither does this library provide a suitable abstraction!

The way this is currently handled is that types are “guessed” in a fairly iffy manner! The value is tried to be converted to different types (at the time of this writing: float → int → ASCII-string). The first one that matches wins. This means that The Perl scalar “123” will always be returned as an integer

Quick Usage

from storable import retrieve
data = retrieve('/path/to/file.storable')

from storable.output import serialize
# only works (so far) for JSON-able types and recursion-limited depth
# This will not serialize to the exact same object in perl as retrieve/thaw-ing
# but will be readable by perl to load json-like values
serialized_bytes = serialize({'x': 'bar', 'y': 1, 'z': 1.23, 'w':[], 'v':[1,2,3]})

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

storable-1.2.4.tar.gz (10.0 kB view hashes)

Uploaded source

Built Distribution

storable-1.2.4-py2.py3-none-any.whl (10.3 kB view hashes)

Uploaded py2 py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page