Metadata-Version: 2.1
Name: pyjackson
Version: 0.0.27
Summary: PyJackson is a serialization library based on type hinting 
Home-page: https://github.com/mike0sv/pyjackson
Author: Mikhail Sveshnikov
Author-email: mike0sv@gmail.com
License: Apache-2.0
Project-URL: Documentation, https://pyjackson.readthedocs.io/
Project-URL: Changelog, https://pyjackson.readthedocs.io/en/latest/changelog.html
Project-URL: Issue Tracker, https://github.com/mike0sv/pyjackson/issues
Keywords: pyjackson,jackson,serialization
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: Unix
Classifier: Operating System :: POSIX
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Provides-Extra: pydantic
Requires-Dist: pydantic (==1.4) ; extra == 'pydantic'

========
Overview
========



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
<https://pyjackson.readthedocs.io/en/latest/usage/index.html>`_ 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.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.


