跳转到主要内容

nameko serializer兼容datetime和namedtuple

项目描述

增强的nameko微服务的json序列化器。

  1. 它允许将datetime.date和datetime.datetime传递到rpc调用和事件参数中。消除nameko中的datetime.datetime不是JSON可序列化错误消息。

  2. 添加对namedtuple在服务传输中的支持。你返回一个namedtuple实例,在另一侧你会得到相同的namedtuple,这是向后兼容的,支持res.attr或res['attr']。

稳定分支

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

开发状态

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

安装

  1. 使用pip安装

    pip install nameko-serializers

  2. 或者,您可以下载或克隆此存储库并使用以下命令安装:

    pip install -e ..

需求

与nameko 1.12.*兼容

示例

  1. 安装: pip install nameko-serializers

  2. 配置:在您的config.yaml中添加以下行: serializer: nameko-serializer

  3. 享受

日期时间支持(含时区)

文档

本README当前是完整文档。这不是一个如此庞大的库...

特性

日期和日期时间序列化

此序列化器将处理日期和日期时间的序列化。如果日期时间是时区未知的,它将使用检测到的当前时区(通过 tzlocal.get_localzone())来使其知道

所有接收到的日期都将时区感知,但时区将固定为UTC。

NamedTuple支持

此序列化器允许将namedtuple作为dict传输,并将其反序列化为特殊的namedtuple,支持dict索引

需求

  • Python 2.7,3.6,3.7

欢迎贡献和pull请求。

错误和请求

如果您发现错误或对附加功能有请求,请使用GitHub上的问题跟踪器。

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

已知限制

  • 如果您传递一些带有键 __type__ 的对象,它将被转换。

  • 所有反序列化的日期都将时区感知,时区信息将设置为UTC。(这是一个在显示时更改时区的良好实践)

  • 对于python < 3.7,namedtuple中的顺序不可保证,请仅使用按名称的kwargs和attrs

许可

您可以在GPLv3下使用此软件。

作者

原作者: Darius BERNARD

感谢

感谢Nameko提供的这个出色的框架。

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面