Skip to main content

A library to encode/decode luabins serialized data in python

Project description

luabins_py

A simple python library for encoding and decoding luabins formatted serialized data.

API

def decode_luabins(stream: BytesIO) -> List[Any]

Given a file-like object (here BytesIO, but a raw file pointer should work as well), this will return the list of values decoded from the file.

def encode_luabins(values: List[Any]) -> bytes

Given a set of values, it will serialize them to bytes in the luabins format.

Supported types are:

  • String
  • Int
  • Float
  • Dict
  • List
  • None
  • Bool

Limitations

In lua, arrays and maps have the same underlying representation, whereas in python, they're differentiated more. This means that you can serialize a list, but it will deserialize to a dict, where the keys are the original indexes, and there is some potential for weirdness there.

I believe this library supports the full scope of the lua data model, so this mostly crops up if you try to do some weird python stuff.

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

luabins_py-1.1.0.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

luabins_py-1.1.0-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

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