Skip to main content

PyJackson is a serialization library based on type hinting

Project description

PyJackson is a serialization library based on type hinting

Example

Just type hint __init__ and you are ready to go:

import pyjackson


class MyPayload:
    def __init__(self, string_field: str, int_field: int):
        self.string_field = string_field
        self.int_field = int_field


pyjackson.serialize(MyPayload('value', 10))  # {'string_field': 'value', 'int_field': 10}

pyjackson.deserialize({'string_field': 'value', 'int_field': 10}, MyPayload)  # MyPayload('value', 10)

More features and examples here and in examples dir.

Installation

pip install pyjackson

Documentation

https://pyjackson.readthedocs.io/

Development

To run all tests run:

tox

Licence

  • Free software: Apache Software License 2.0

Changelog

0.0.15 (2019-11-11)

  • Set class docstring and qualname of hierarchy root to be valid

0.0.14 (2019-11-05)

  • Added decorator for camel case field renaming

0.0.13 (2019-11-03)

  • Added decorator for field renaming

0.0.12 (2019-10-28)

  • Fixed is_serializable for Field

0.0.11 (2019-10-28)

  • Fixed is_serializable for Signature

0.0.10 (2019-10-16)

  • Set class name and module of hierarchy root to be valid

0.0.9 (2019-10-09)

  • Removed empty Serialzier __init__ method and fix for staticmethod in serializer

0.0.8 (2019-10-07)

  • Changed is_collection to not include dict type

0.0.7 (2019-10-04)

  • Added datetime.datetime serializer

0.0.6 (2019-10-02)

  • Added Tuple[X, Y] and Tuple[X, …] support

0.0.5 (2019-09-30)

  • Fixed comparison of serializers

0.0.4 (2019-09-17)

  • Added some examples and minor fixes

0.0.3 (2019-09-17)

  • First release on PyPI.

Project details


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

pyjackson-0.0.15-py2.py3-none-any.whl (16.8 kB view hashes)

Uploaded Python 2 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