structpack
==========
A Python library for serializing and deserializing object trees to JSON-compatable values (dicts, lists, strings, ints, floats, bools).
Installation
------------
The recommended way to install structpack is with [pip](http://pypi.python.org/pypi/pip/):
pip install structpack
Examples
========
`structpack` is designed to be a base class (`msg`) that you inherit from and add properties to (`bool`, `int`, `float`, `string`, `list`, and `dict`).
The `msg` class adds methods `pack` and `load` which convert your object to and from native types, respectively.
The following is a trivial example of how to make a `Point` type using structpack
import structpack
class Point(structpack.msg):
x = structpack.float
y = structpack.float
z = structpack.float
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
>>> p1 = Point(1., 2., 3.)
>>> data = p1.pack()
>>> print data
(1.0, 2.0, 3.0)
>>> p2 = Point.load(data)
>>> print p2
<__main__.Point object at 0x0000000001EDA390>
>>> print p2.x, p2.y, p2.z
1.0 2.0 3.0
More
----
Please see the [test suite](https://github.com/Knio/structpack/blob/master/tests/test_structpack.py) for more examples until they are documented here.
TODO
====
- Docs / examples
- Type check values
- Benchmark & optimize
==========
A Python library for serializing and deserializing object trees to JSON-compatable values (dicts, lists, strings, ints, floats, bools).
Installation
------------
The recommended way to install structpack is with [pip](http://pypi.python.org/pypi/pip/):
pip install structpack
Examples
========
`structpack` is designed to be a base class (`msg`) that you inherit from and add properties to (`bool`, `int`, `float`, `string`, `list`, and `dict`).
The `msg` class adds methods `pack` and `load` which convert your object to and from native types, respectively.
The following is a trivial example of how to make a `Point` type using structpack
import structpack
class Point(structpack.msg):
x = structpack.float
y = structpack.float
z = structpack.float
def __init__(self, x, y, z):
self.x = x
self.y = y
self.z = z
>>> p1 = Point(1., 2., 3.)
>>> data = p1.pack()
>>> print data
(1.0, 2.0, 3.0)
>>> p2 = Point.load(data)
>>> print p2
<__main__.Point object at 0x0000000001EDA390>
>>> print p2.x, p2.y, p2.z
1.0 2.0 3.0
More
----
Please see the [test suite](https://github.com/Knio/structpack/blob/master/tests/test_structpack.py) for more examples until they are documented here.
TODO
====
- Docs / examples
- Type check values
- Benchmark & optimize
Metadata
Release files for structpack 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| structpack-1.3.0.zip | 5.9 kB | Details |
Release files / structpack-1.3.0.zip
| Download URL | structpack-1.3.0.zip |
|---|---|
| Size | 5.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a6924b9723f1d9d1953755d24a4e4012a4e694317b3785c38d903e4240396204
|
|
BLAKE2b-256 checksum How to use checksums |
7666bd290c11f175010775f62b689192a1ee9a41ae4ecfed4c948b4d64ed02f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |