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.28 (2021-06-02)

  • Support for python 3.9

0.0.27 (2020-12-05)

  • Fix decorated class module name

0.0.26 (2020-07-07)

  • Experimental pydantic support

0.0.25 (2020-03-23)

  • Support for int and float keys in dicts

0.0.24 (2020-02-22)

  • Support for python 3.8

0.0.23 (2019-12-16)

  • Fixed bug in subtype resolving

0.0.21 (2019-11-25)

  • Fixed default type name

0.0.19 (2019-11-25)

  • Allow subtype reregistration flag

0.0.18 (2019-11-22)

  • Added support for full class path in type field (with importing logic)

0.0.17 (2019-11-21)

  • Added Any support for serde skipping

0.0.16 (2019-11-15)

  • Raise on subtype resolve error and fix for camel case forward ref resolving

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 Distribution

pyjackson-0.0.28.tar.gz (36.1 kB view hashes)

Uploaded Source

Built Distribution

pyjackson-0.0.28-py2.py3-none-any.whl (21.0 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