Serializable schema using traits
Project description
traitschema
===========
.. image:: https://travis-ci.org/mivade/traitschema.svg?branch=master
:target: https://travis-ci.org/mivade/traitschema
.. image:: https://readthedocs.org/projects/traitschema/badge/?version=latest
:target: http://traitschema.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://codecov.io/gh/mivade/traitschema/branch/master/graph/badge.svg
:target: https://codecov.io/gh/mivade/traitschema
.. image:: https://img.shields.io/github/release/mivade/traitschema.svg
:target: https://github.com/mivade/traitschema
Create serializable, type-checked schema using traits_ and Numpy. A typical use
case involves saving several Numpy arrays of varying shape and type.
.. _traits: http://docs.enthought.com/traits/
Defining schema
---------------
.. note::
The following assumes a basic familiarity with the ``traits`` package. See
its `documentation <http://docs.enthought.com/traits/>`_ for details.
In order to be able to properly serialize data, non-scalar traits should be
declared as a ``traits.api.Array`` type. Example:
.. code-block:: python
import numpy as np
from traits.api import Array, String
from traitschema import Schema
class NamedMatrix(Schema):
name = String()
data = Array(dtype=np.float64)
matrix = NamedMatrix(name="name", data=np.random.random((8, 8)))
For other demos, see the ``demos`` directory.
Saving and loading
------------------
Data can be stored in the following formats:
* HDF5 via ``h5py``
* JSON via the standard library ``json`` module
* Numpy ``npz`` format
Multiple schema can be saved at once to a zip file via
:func:`traitschema.bundle_schema` and loaded with
:func:`traitschema.load_bundle`.
===========
.. image:: https://travis-ci.org/mivade/traitschema.svg?branch=master
:target: https://travis-ci.org/mivade/traitschema
.. image:: https://readthedocs.org/projects/traitschema/badge/?version=latest
:target: http://traitschema.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
.. image:: https://codecov.io/gh/mivade/traitschema/branch/master/graph/badge.svg
:target: https://codecov.io/gh/mivade/traitschema
.. image:: https://img.shields.io/github/release/mivade/traitschema.svg
:target: https://github.com/mivade/traitschema
Create serializable, type-checked schema using traits_ and Numpy. A typical use
case involves saving several Numpy arrays of varying shape and type.
.. _traits: http://docs.enthought.com/traits/
Defining schema
---------------
.. note::
The following assumes a basic familiarity with the ``traits`` package. See
its `documentation <http://docs.enthought.com/traits/>`_ for details.
In order to be able to properly serialize data, non-scalar traits should be
declared as a ``traits.api.Array`` type. Example:
.. code-block:: python
import numpy as np
from traits.api import Array, String
from traitschema import Schema
class NamedMatrix(Schema):
name = String()
data = Array(dtype=np.float64)
matrix = NamedMatrix(name="name", data=np.random.random((8, 8)))
For other demos, see the ``demos`` directory.
Saving and loading
------------------
Data can be stored in the following formats:
* HDF5 via ``h5py``
* JSON via the standard library ``json`` module
* Numpy ``npz`` format
Multiple schema can be saved at once to a zip file via
:func:`traitschema.bundle_schema` and loaded with
:func:`traitschema.load_bundle`.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Built Distribution
Close
Hashes for traitschema-1.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781c47b4baa9ce051640eb53429333c2f5a4d67e7f2e0747396ade0a0608046d |
|
MD5 | 204811016b7bffec67bb681e7d37a72a |
|
BLAKE2-256 | b673b41eb2e2fd09dbebbe3e07e6617c17044aa7857bd1798d7e074b64e745d5 |