Skip to main content

nirum-python

Latest PyPI version Build status

The Nirum runtime library for Python. Distributed under MIT license.

(You probably don’t need to directly use this package.)

Changelog

Version 0.7.0

Released on February 23, 2021.

  • nirum.rpc module and Client, Service, and WsgiApp in the module, had been deprecated since 0.6.0, are now completely obsolete.

  • Annotation parameters (service_annotations, method_annotations, and parameter_annotations) of nirum.transport.Transport.call() method now can take multiple arguments.

  • Since Nirum compiler became to give __nirum_type__ attribute to every generated classes (see also the pull request), nirum.deserialize.deserialize_meta() function also became to leverage it if present.

  • Since Nirum compiler became to give __nirum_tag_classes__ mapping to every generated union classes (see also the pull request), nirum.deserialize.deserialize_union_type() function also became to lerverage it if present.

  • Removed unmaintained below codes. Now these will be generated by Nirum, automatically. - nirum/deserialize.py - nirum/serialize.py - nirum/validate.py - tests/deserialize_test.py - tests/serialize_test.py - tests/validate_test.py

Version 0.6.3

Released on April 5, 2018.

  • Added missing equality functions (i.e., ==, != operators, & hash() function) to nirum.datastructures.Map and nirum.datastructures.List. [#110]

Version 0.6.2

Released on February 11, 2018.

  • Added is_optional_type() to ensure optional type includes None type.

  • nirum.datastructures.List became to show its contents when it’s passed to repr(). [#103, #108 by Chang-soo Han]

Version 0.6.1

Released on December 9, 2017.

  • Made nirum.datastructures.List to copy the given value so that it doesn’t refer given value’s state and is immutable.

Version 0.6.0

Released on July 11, 2017.

  • Deprecated nirum.rpc module.

    This module and all it has provided are deprecated or obsolete. The most of them are now distributed as separated packages, or replaced by a newer concept. See also the below for details.

    It will be completely obsolete at version 0.7.0.

  • Client transport layer. [#79]

    • Added nirum.transport.Transport interface.

      The recent builds of Nirum compiler became to generate *_Client classes taking a nirum.transport.Transport instance through their constructor.

      Use nirum-python-http (PyPI handle: nirum-http) instead for HTTP client of services e.g.:

      from yourservice import YourService_Client
      from nirum_http import HttpTransport
      
      transport = HttpTransport('https://service-host/')
      client = YourService_Client(transport)
    • Deprecated nirum.rpc.Client type. The recent builds of Nirum compiler became to generate *_Client classes for services without subclassing nirum.rpc.Client.

      The deprecated nirum.rpc.Client will be completely obsolete at version 0.7.0.

  • nirum.rpc.Service was moved to nirum.service.Service.

    The recent builds of Nirum compiler became to generate service classes that inherit nirum.service.Service instead of nirum.rpc.Service.

    The deprecated nirum.rpc.Service will be completely obsolete at version 0.7.0.

  • Deprecated nirum.rpc.WsgiApp. This will be completely obsolete at version 0.7.0.

    Use nirum-python-wsgi (PyPI handle: nirum-wsgi) instead.

  • nirum-server command is obsolete. The same command is now provided by nirum-python-wsgi (PyPI handle: nirum-wsgi), a separated package.

  • nirum.func.import_string() function and nirum.func.IMPORT_RE constant are obsolete.

  • Fixed NameError raised from forward references. [compiler #138]

Version 0.5.6

Released on April 5, 2018.

  • Fixed a bug that hash() on nirum.datastructures.List had raised TypeError.

Version 0.5.5

Released on April 5, 2018.

  • Added missing equality functions (i.e., ==, != operators, & hash() function) to nirum.datastructures.Map and nirum.datastructures.List. [#110]

Version 0.5.4

Released on December 9, 2017.

  • Made nirum.datastructures.List to copy the given value so that it doesn’t refer given value’s state and is immutable.

Version 0.5.3

Released on July 6, 2017.

  • Fixed a serialization bug that other set-like (i.e. collections.Set) types than Python built-in set hadn’t been reduced to simpler forms so that they can be encoded to JSON.

  • Fixed a serialization bug that other list-like (i.e. collections.Sequence) types than Python built-in list hadn’t been reduced to simpler forms so that they can be encoded to JSON.

Version 0.5.2

Released on June 23, 2017.

  • url of nirum.rpc.Client and method of nirum.rpc.Client.make_request now can be both unicode and str on Python 2.7. [#87]

  • nirum.rpc.Client had been an old-style class on Python 2, but now it became a new-style class also on Python 2. (As Python 3 has only new-style class, there’s no change on Python 3.)

Version 0.5.1

Released on June 22, 2017.

  • Added Python 3.6 support.

  • Fixed a bug that service client methods hadn’t raised the proper error type but nirum.exc.UnexpectedNirumResponseError instead. [#71]

  • Wheel distributions (nirum-*.whl) are now universal between Python 2 and 3. [#78]

  • nirum.rpc.Service had been an old-style class on Python 2, but now it became a new-style class also on Python 2. (As Python 3 has only new-style class, there’s no change on Python 3.) [#83]

  • nirum.rpc.Client and its subtype became to raise TypeError with a better error message when its make_request() method is overridden and it returns a wrong artity of tuple. [#80]

  • nirum.rpc.WsgiApp and its subtype became to raise TypeError with a better error message when its make_response() method is overridden and it returns a wrong artity of tuple. [#80]

  • Fixed a bug that Client.ping() method had always raised TypeError. [#80]

  • Corrected a typo Accepts on request headers Client makes to Accept.

Version 0.5.0

Released on June 1, 2017.

  • Service methods became able to specify its error type. [#71]

  • Added nirum-server command to run simply Nirum service.

Version 0.4.3

Released on April 5, 2018.

  • Added missing equality functions (i.e., ==, != operators, & hash() function) to nirum.datastructures.Map and nirum.datastructures.List. [#110]

Version 0.4.2

Released on July 6, 2017.

  • Fixed a serialization bug that other set-like (i.e. collections.Set) types than Python built-in set hadn’t been reduced to simpler forms so that they can be encoded to JSON.

  • Fixed a serialization bug that other list-like (i.e. collections.Sequence) types than Python built-in list hadn’t been reduced to simpler forms so that they can be encoded to JSON.

Version 0.4.1

Released on May 2, 2017.

  • Compare type with its abstract type in nirum.validate.validate_type.

Version 0.4.0

Released on March 20, 2017.

  • Encoding of map types was changed according to the Nirum serialization specification. [#66]

  • Added nirum.datastructures module and nirum.datastructures.Map which is an immutable dictionary. [#66]

  • Added nirum.datastructures.List which is an immutable list. [#49]

  • Aliased nirum.datastructures.Map as map_type, and nirum.datastructures.List as list_type to avoid name conflict with user-defined types.

Metadata

Release files for nirum 0.7.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 nirum 0.7.0
File Size Uploaded
nirum-0.7.0.tar.gz 11.7 kB Details

Built distribution (wheel)

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

Total release size: 22.4 kB

Release files / nirum-0.7.0.tar.gz

Download URL nirum-0.7.0.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4bd6a84f152614e598dc6fb8212e6c7eb2f622a46fc84ac6202704793e743bbf
BLAKE2b-256 checksum
How to use checksums
e4ec86d135ca68ed1fa7f0d0f80e3b77018c256bbcb5a7e4a2e346fb0824bbe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

Release files / nirum-0.7.0-py2.py3-none-any.whl

Download URL nirum-0.7.0-py2.py3-none-any.whl
Size 10.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
c0b05d40a6c59aac5dec9c7f238f0848e4ccde987aceadcb144a4a8ef6047e92
BLAKE2b-256 checksum
How to use checksums
723d95749c1c1630b930ca94fcf8808d1c5b2703910be128308c738a092f0775
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.8.5

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.2

2 release files

0.0.1

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