跳转到主要内容

Python的Nirum运行时库

项目描述

nirum-python

Latest PyPI version Build status

Nirum的Python运行时库。根据MIT许可证分发。

(你可能不需要直接使用此软件包。)

更新日志

版本 0.7.0

发布于2021年2月23日。

  • 自0.6.0版本以来,nirum.rpc模块以及该模块中的ClientServiceWsgiApp已被弃用,现在已完全过时。

  • 现在,nirum.transport.Transport.call() 方法的注释参数(service_annotationsmethod_annotationsparameter_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.Mapnirum.datastructures.List 添加了缺失的相等函数(即 ==!= 操作符和 hash() 函数)。[#110]

版本 0.6.2

发布于 2018 年 2 月 11 日。

  • 添加了 is_optional_type() 来确保可选类型包括 None 类型。

  • nirum.datastructures.List 在传递给 repr() 时将显示其内容。[#103#108 by Chang-soo Han]

版本 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.Mapnirum.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.Clienturlnirum.rpc.Client.make_requestmethod 在 Python 2.7 上现在可以是 unicodestr。 [#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 在请求头中发送给 AcceptAccepts 上的拼写错误。

版本 0.5.0

发布于 2017 年 6 月 1 日。

  • 服务方法现在可以指定其错误类型。 [#71]

  • 添加了 nirum-server 命令以简单运行 Nirum 服务。

版本 0.4.3

发布于 2018 年 4 月 5 日。

  • nirum.datastructures.Mapnirum.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 (11.7 kB 查看散列)

上传时间

构建分发

nirum-0.7.0-py2.py3-none-any.whl (10.7 kB 查看散列)

上传时间 Python 2 Python 3

由以下机构支持

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