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.

Files for storable, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size storable-1.1.0-py2.py3-none-any.whl (11.6 kB) File type Wheel Python version py2.py3 Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page