Python的Nirum运行时库
项目描述
nirum-python
Nirum的Python运行时库。根据MIT许可证分发。
(你可能不需要直接使用此软件包。)
更新日志
版本 0.7.0
发布于2021年2月23日。
自0.6.0版本以来,nirum.rpc模块以及该模块中的Client、Service和WsgiApp已被弃用,现在已完全过时。
现在,nirum.transport.Transport.call() 方法的注释参数(service_annotations、method_annotations 和 parameter_annotations)可以接受多个参数。
由于 Nirum 编译器开始为每个生成的类提供 __nirum_type__ 属性(参见pull request),nirum.deserialize.deserialize_meta() 函数也开始利用它(如果存在)。
由于 Nirum 编译器开始为每个生成的联合类提供 __nirum_tag_classes__ 映射(参见pull request),nirum.deserialize.deserialize_union_type() 函数也开始利用它(如果存在)。
移除了以下不再维护的代码。现在这些将由 Nirum 自动生成。 - nirum/deserialize.py - nirum/serialize.py - nirum/validate.py - tests/deserialize_test.py - tests/serialize_test.py - tests/validate_test.py
版本 0.6.3
发布于 2018 年 4 月 5 日。
为 nirum.datastructures.Map 和 nirum.datastructures.List 添加了缺失的相等函数(即 ==、!= 操作符和 hash() 函数)。[#110]
版本 0.6.2
发布于 2018 年 2 月 11 日。
版本 0.6.1
发布于 2017 年 12 月 9 日。
使 nirum.datastructures.List 复制给定的值,这样它就不会引用给定值的对象状态,且是不可变的。
版本 0.6.0
发布于 2017 年 7 月 11 日。
弃用 nirum.rpc 模块。
此模块及其提供的内容已被弃用或过时。其中大部分现在作为单独的包分发,或被较新的概念所取代。有关详细信息,请参阅以下内容。
在版本 0.7.0 中将完全过时。
客户端传输层。[#79]
添加了 nirum.transport.Transport 接口。
Nirum 编译器的最新构建开始生成通过其构造函数接受 nirum.transport.Transport 实例的 *_Client 类。
对于服务的 HTTP 客户端,请使用 nirum-python-http(PyPI 处理程序:nirum-http)。
from yourservice import YourService_Client from nirum_http import HttpTransport transport = HttpTransport('https://service-host/') client = YourService_Client(transport)
弃用 nirum.rpc.Client 类型。Nirum 编译器的最新构建开始为没有继承 nirum.rpc.Client 的服务生成 *_Client 类。
弃用的 nirum.rpc.Client 将在版本 0.7.0 中完全过时。
nirum.rpc.Service 已移至 nirum.service.Service。
Nirum 编译器的最新构建开始生成继承 nirum.service.Service 的服务类,而不是 nirum.rpc.Service。
弃用的 nirum.rpc.Service 将在版本 0.7.0 中完全过时。
弃用 nirum.rpc.WsgiApp。这将完全过时于版本 0.7.0。
请使用 nirum-python-wsgi(PyPI 处理程序:nirum-wsgi)代替。
nirum-server 命令已过时。现在相同的命令由 nirum-python-wsgi (PyPI 处理名称:nirum-wsgi)提供,这是一个独立的包。
nirum.func.import_string() 函数和 nirum.func.IMPORT_RE 常量已过时。
修复了由前向引用引起的 NameError。 [编译器 #138]
版本 0.5.6
发布于 2018 年 4 月 5 日。
修复了在 nirum.datastructures.List 上调用 hash() 时引发 TypeError 的一个错误。
版本 0.5.5
发布于 2018 年 4 月 5 日。
为 nirum.datastructures.Map 和 nirum.datastructures.List 添加了缺失的相等函数(即 ==、!= 操作符和 hash() 函数)。[#110]
版本 0.5.4
发布于 2017 年 12 月 9 日。
使 nirum.datastructures.List 复制给定的值,这样它就不会引用给定值的对象状态,且是不可变的。
版本 0.5.3
发布于 2017 年 7 月 6 日。
修复了一个序列化错误,该错误导致除了 Python 内置的 set 之外的其它集合类型(例如 collections.Set)没有被简化为更简单的形式,因此无法被编码为 JSON。
修复了一个序列化错误,该错误导致除了 Python 内置的 list 之外的其它列表类型(例如 collections.Sequence)没有被简化为更简单的形式,因此无法被编码为 JSON。
版本 0.5.2
发布于 2017 年 6 月 23 日。
nirum.rpc.Client 的 url 和 nirum.rpc.Client.make_request 的 method 在 Python 2.7 上现在可以是 unicode 和 str。 [#87]
nirum.rpc.Client 在 Python 2 上曾经是一个旧式类,但现在它也成为了一个新式类(因为 Python 3 只有新式类,所以 Python 3 上没有变化)。
版本 0.5.1
发布于 2017 年 6 月 22 日。
添加了对 Python 3.6 的支持。
修复了一个错误,即服务客户端方法没有引发适当的错误类型,而是引发了 nirum.exc.UnexpectedNirumResponseError。 [#71]
轮式发行版(nirum-*.whl)现在在 Python 2 和 3 之间是通用的。 [#78]
nirum.rpc.Service 在 Python 2 上曾经是一个旧式类,但现在它也成为了一个新式类(因为 Python 3 只有新式类,所以 Python 3 上没有变化)。 [#83]
nirum.rpc.Client 及其子类在 make_request() 方法被重写并返回错误的元组形式时,现在会引发带有更好错误信息的 TypeError。 [#80]
nirum.rpc.WsgiApp 及其子类在 make_response() 方法被重写并返回错误的元组形式时,现在会引发带有更好错误信息的 TypeError。 [#80]
修复了 Client.ping() 方法总是引发 TypeError 的错误。 [#80]
纠正了 Client 在请求头中发送给 Accept 的 Accepts 上的拼写错误。
版本 0.5.0
发布于 2017 年 6 月 1 日。
服务方法现在可以指定其错误类型。 [#71]
添加了 nirum-server 命令以简单运行 Nirum 服务。
版本 0.4.3
发布于 2018 年 4 月 5 日。
为 nirum.datastructures.Map 和 nirum.datastructures.List 添加了缺失的相等函数(即 ==、!= 操作符和 hash() 函数)。[#110]
版本 0.4.2
发布于 2017 年 7 月 6 日。
修复了一个序列化错误,该错误导致除了 Python 内置的 set 之外的其它集合类型(例如 collections.Set)没有被简化为更简单的形式,因此无法被编码为 JSON。
修复了一个序列化错误,该错误导致除了 Python 内置的 list 之外的其它列表类型(例如 collections.Sequence)没有被简化为更简单的形式,因此无法被编码为 JSON。
版本 0.4.1
发布于 2017 年 5 月 2 日。
在 nirum.validate.validate_type 中比较类型与其抽象类型。
版本 0.4.0
发布于 2017 年 3 月 20 日。
根据Nirum 序列化规范,地图类型编码已更改。[#66]
添加了 nirum.datastructures 模块和 nirum.datastructures.Map,它是一个不可变字典。[#66]
添加了 nirum.datastructures.List,它是一个不可变列表。[#49]
将 nirum.datastructures.Map 别名为 map_type,将 nirum.datastructures.List 别名为 list_type,以避免与用户定义的类型发生名称冲突。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
nirum-0.7.0.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 4bd6a84f152614e598dc6fb8212e6c7eb2f622a46fc84ac6202704793e743bbf |
|
MD5 | 42f4f01112757435f16d655f34431c92 |
|
BLAKE2b-256 | e4ec86d135ca68ed1fa7f0d0f80e3b77018c256bbcb5a7e4a2e346fb0824bbe3 |
nirum-0.7.0-py2.py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | c0b05d40a6c59aac5dec9c7f238f0848e4ccde987aceadcb144a4a8ef6047e92 |
|
MD5 | f04f1ac4e7e18eaf06f4b11c6d58c504 |
|
BLAKE2b-256 | 723d95749c1c1630b930ca94fcf8808d1c5b2703910be128308c738a092f0775 |