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 details)

Uploaded Source

Built Distribution

pyjackson-0.0.28-py2.py3-none-any.whl (21.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyjackson-0.0.28.tar.gz.

File metadata

  • Download URL: pyjackson-0.0.28.tar.gz
  • Upload date:
  • Size: 36.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.6.7

File hashes

Hashes for pyjackson-0.0.28.tar.gz
Algorithm Hash digest
SHA256 440b57493e1aa7eef32ca1bf0eb311610080c3845e4a719deb0b31b1bee1a49f
MD5 494583085efa5038344241eced412dbd
BLAKE2b-256 c390326c78b848fa5c1eb782b7d8518d05077751bfbeb4ef6856ec71207e9ec4

See more details on using hashes here.

File details

Details for the file pyjackson-0.0.28-py2.py3-none-any.whl.

File metadata

  • Download URL: pyjackson-0.0.28-py2.py3-none-any.whl
  • Upload date:
  • Size: 21.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.4.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.6.7

File hashes

Hashes for pyjackson-0.0.28-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9926cb2dc229c773837ddc124736af7e1a59f30a1b444e2f795781fe467caae2
MD5 10497eb1cf29aef884bf710f23845deb
BLAKE2b-256 dd3a60fce3e30f3f1cbca6d15c245d10ba0c3bb81e34098c30236b0a683ad1b8

See more details on using hashes here.

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