Skip to main content

enhenced json serializer for nameko micro-services.

  1. it allow to pass datetime.date and datetime.datetime to rpc calls and event arguments. get ride of datetime.datetime not JSON serializable errors messages in nameko.

  2. add support for namedtuple in service transmissions. you return a namedtuple instance, you get the same namedtuple in the other side, which is retro-comatible and support either res.attr or res['attr']

Stable branch

https://img.shields.io/travis/Yupeek/nameko-serializer/master.svg https://readthedocs.org/projects/nameko-serializer/badge/?version=latest https://coveralls.io/repos/github/Yupeek/nameko-serializer/badge.svg?branch=master Latest PyPI version Requirements Status

Development status

https://img.shields.io/travis/Yupeek/nameko-serializer/develop.svg https://coveralls.io/repos/github/Yupeek/nameko-serializer/badge.svg?branch=develop Requirements Status

Installation

  1. Install using pip:

    pip install nameko-serializers

  2. Alternatively, you can download or clone this repo and install with :

    pip install -e ..

Requirements

work with nameko up to 1.12.*

Examples

  1. install: pip install nameko-serializers

  2. configure: add in your config.yaml the folowing line: serializer: nameko-serializer

  3. enjoy

datetime support (with timezone)

Documentation

this Readme is currently the full documentation. it’s not a library this big…

features

date and datetime serializing

this serializer will handle datetime and date serializing. if a datetime is timezone naive, it will be made aware using the detected current timezone (via tzlocal.get_localzone())

all received dates will be timezone aware, but the timezone will be fixed to UTC.

NamedTulpe support

this serializer allow to transmit namedtuple as dict, and will deserialize it as special namedtuple, supporting dict index

Requirements

  • Python 2.7, 3.6, 3.7

Contributions and pull requests are welcome.

Bugs and requests

If you found a bug or if you have a request for additional feature, please use the issue tracker on GitHub.

https://github.com/Yupeek/nameko-serializer/issues

known limitations

  • if you pass some objects with keys __type__, it will be converted.

  • all unserialized dates will be tz aware, and tzinfo will be set to UTC. (this is a good practice to change tz at display time)

  • for python < 3.7, the order in the namedtuple is not garanteed, use exclusively kwargs and attrs by names

License

You can use this under GPLv3.

Author

Original author: Darius BERNARD.

Thanks

Thanks to Nameko for this amazing framework.

Release files for nameko-serializer 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for nameko-serializer 1.0.0
File Size Uploaded
nameko-serializer-1.0.0.tar.gz 7.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for nameko-serializer 1.0.0
File Interpreter ABI Platform
nameko_serializer-1.0.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 13.9 kB

Release files / nameko-serializer-1.0.0.tar.gz

Download URL nameko-serializer-1.0.0.tar.gz
Size 7.3 kB
Tags Source
SHA-256 checksum
How to use checksums
2f3cda106792f3706212a3ad119fe75234910aeb9498c11eee1a79bc8802f23f
BLAKE2b-256 checksum
How to use checksums
2f1d12151b2811940c7093f9e222b574c93928491fb2358dd50de5bfaf0cf77c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7

Release files / nameko_serializer-1.0.0-py2.py3-none-any.whl

Download URL nameko_serializer-1.0.0-py2.py3-none-any.whl
Size 6.6 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
97e18c3e810afd27bb8ad171b1384d20f19e3910a8fc5a51f2f26754761869a7
BLAKE2b-256 checksum
How to use checksums
5718011dbf884a85cf4c983c5615889767b484de19439e031f0c99bd95c170db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.6.7

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page