Skip to main content

The Nirum runtime library for Python

Project description

nirum-python

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

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

Changelog

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.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.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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nirum-0.6.0.tar.gz (14.1 kB view details)

Uploaded Source

Built Distribution

nirum-0.6.0-py2.py3-none-any.whl (20.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file nirum-0.6.0.tar.gz.

File metadata

  • Download URL: nirum-0.6.0.tar.gz
  • Upload date:
  • Size: 14.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for nirum-0.6.0.tar.gz
Algorithm Hash digest
SHA256 5af4309a2f58d4a2946f4c431d5643a8460079b9b7fb6bbb5002be40b3a7270d
MD5 0d61a3b7a2d1b614d1213ed74bb6368b
BLAKE2b-256 b80df1b735d59ffae0d117f96e0797d96c572ff7ce826a6078353116b6409387

See more details on using hashes here.

File details

Details for the file nirum-0.6.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for nirum-0.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 1b797b6f0a7cf8f44985994020544c446dd026af40331718d009e994d9d7cbe3
MD5 b628e2b4c1d35472100e7d2cecbd341b
BLAKE2b-256 811c58bceaa2329950351a710572e21513c8fc937bad620eebb5e6125d706576

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page