Code Monkey home page Code Monkey logo

python-storable's Introduction

python-storable

https://travis-ci.org/CowboyTim/python-storable.svg?branch=develop

Overview

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.

Warning

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]})

python-storable's People

Contributors

akebonopila avatar cowboytim avatar exhuma avatar quasarj avatar schuyler1d avatar specialforce3331 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.