Package: nirum
nirum-pythonTheNirumruntime library for Python.  Distributed under MIT license.(You probably don’t need to directly use this package.)ChangelogVersion 0.7.0Released on February 23, 2021.nirum.rpcmodule andClient,Service, andWsgiAppin
the module, had been deprecated since 0.6.0, are now completely obsolete.Annotation parameters (service_annotations,method_annotations, andparameter_annotations) ofnirum.transport.Transport.call()method
now can take multiple arguments.Since Nirum compiler became to give__nirum_type__attribute to
every generated classes (see also thepull 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 thepull 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.pyVersion 0.6.3Released on April 5, 2018.Added missing equality functions (i.e.,==,!=operators, &hash()function) tonirum.datastructures.Mapandnirum.datastructures.List.
[#110]Version 0.6.2Released on February 11, 2018.Addedis_optional_type()to ensure optional type includesNonetype.nirum.datastructures.Listbecame to show its contents when it’s passed
torepr().  [#103,#108by Chang-soo Han]Version 0.6.1Released on December 9, 2017.Madenirum.datastructures.Listto copy the given value so that
it doesn’t refer given value’s state and is immutable.Version 0.6.0Released on July 11, 2017.Deprecatednirum.rpcmodule.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]Addednirum.transport.Transportinterface.The recent builds of Nirum compiler became to generate*_Clientclasses
taking anirum.transport.Transportinstance through their constructor.Usenirum-python-http(PyPI handle:nirum-http) instead for HTTP
client of services e.g.:fromyourserviceimportYourService_Clientfromnirum_httpimportHttpTransporttransport=HttpTransport('https://service-host/')client=YourService_Client(transport)Deprecatednirum.rpc.Clienttype.  The recent builds of Nirum compiler
became to generate*_Clientclasses for services without subclassingnirum.rpc.Client.The deprecatednirum.rpc.Clientwill be completely obsolete at
version 0.7.0.nirum.rpc.Servicewas moved tonirum.service.Service.The recent builds of Nirum compiler became to generate service classes
that inheritnirum.service.Serviceinstead ofnirum.rpc.Service.The deprecatednirum.rpc.Servicewill be completely obsolete at
version 0.7.0.Deprecatednirum.rpc.WsgiApp.  This will be completely obsolete at
version 0.7.0.Usenirum-python-wsgi(PyPI handle:nirum-wsgi) instead.nirum-servercommand is obsolete.  The same command is now provided
bynirum-python-wsgi(PyPI handle:nirum-wsgi), a separated package.nirum.func.import_string()function andnirum.func.IMPORT_REconstant
are obsolete.FixedNameErrorraised from forward references.  [compiler #138]Version 0.5.6Released on April 5, 2018.Fixed a bug thathash()onnirum.datastructures.Listhad raisedTypeError.Version 0.5.5Released on April 5, 2018.Added missing equality functions (i.e.,==,!=operators, &hash()function) tonirum.datastructures.Mapandnirum.datastructures.List.
[#110]Version 0.5.4Released on December 9, 2017.Madenirum.datastructures.Listto copy the given value so that
it doesn’t refer given value’s state and is immutable.Version 0.5.3Released on July 6, 2017.Fixed a serialization bug that other set-like (i.e.collections.Set) types
than Python built-insethadn’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-inlisthadn’t been reduced to simpler forms so
that they can be encoded to JSON.Version 0.5.2Released on June 23, 2017.urlofnirum.rpc.Clientandmethodofnirum.rpc.Client.make_requestnow can be bothunicodeandstron Python 2.7. [#87]nirum.rpc.Clienthad 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.1Released on June 22, 2017.Added Python 3.6 support.Fixed a bug that service client methods hadn’t raised the proper error
type butnirum.exc.UnexpectedNirumResponseErrorinstead.  [#71]Wheel distributions (nirum-*.whl) are now universal between Python 2
and 3.  [#78]nirum.rpc.Servicehad 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.Clientand its subtype became to raiseTypeErrorwith
a better error message when itsmake_request()method is overridden and
it returns a wrong artity of tuple.  [#80]nirum.rpc.WsgiAppand its subtype became to raiseTypeErrorwith
a better error message when itsmake_response()method is overridden and
it returns a wrong artity of tuple.  [#80]Fixed a bug thatClient.ping()method had always raisedTypeError.
[#80]Corrected a typoAcceptson request headersClientmakes toAccept.Version 0.5.0Released on June 1, 2017.Service methods became able to specify its error type. [#71]Addednirum-servercommand to run simply Nirum service.Version 0.4.3Released on April 5, 2018.Added missing equality functions (i.e.,==,!=operators, &hash()function) tonirum.datastructures.Mapandnirum.datastructures.List.
[#110]Version 0.4.2Released on July 6, 2017.Fixed a serialization bug that other set-like (i.e.collections.Set) types
than Python built-insethadn’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-inlisthadn’t been reduced to simpler forms so
that they can be encoded to JSON.Version 0.4.1Released on May 2, 2017.Compare type with its abstract type innirum.validate.validate_type.Version 0.4.0Released on March 20, 2017.Encoding of map types was changed according to theNirum serialization
specification.  [#66]Addednirum.datastructuresmodule andnirum.datastructures.Mapwhich is an immutable dictionary.  [#66]Addednirum.datastructures.Listwhich is an immutable list.
[#49]Aliasednirum.datastructures.Mapasmap_type, andnirum.datastructures.Listaslist_typeto avoid name
conflict with user-defined types.