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.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file traitschema-1.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: traitschema-1.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 8.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 781c47b4baa9ce051640eb53429333c2f5a4d67e7f2e0747396ade0a0608046d |
|
MD5 | 204811016b7bffec67bb681e7d37a72a |
|
BLAKE2b-256 | b673b41eb2e2fd09dbebbe3e07e6617c17044aa7857bd1798d7e074b64e745d5 |