To be released.
Released on February 23, 2021.
nirum.rpc
module andClient
,Service
, andWsgiApp
in 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 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
Released on April 5, 2018.
- Added missing equality functions (i.e.,
==
,!=
operators, &hash()
function) tonirum.datastructures.Map
andnirum.datastructures.List
. [#110]
Released on February 11, 2018.
- Added
is_optional_type()
to ensure optional type includesNone
type. nirum.datastructures.List
became to show its contents when it's passed torepr()
. [#103, #108 by Chang-soo Han]
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.
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 anirum.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 subclassingnirum.rpc.Client
.The deprecated
nirum.rpc.Client
will be completely obsolete at version 0.7.0.
nirum.rpc.Service
was moved tonirum.service.Service
.The recent builds of Nirum compiler became to generate service classes that inherit
nirum.service.Service
instead ofnirum.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 andnirum.func.IMPORT_RE
constant are obsolete.Fixed
NameError
raised from forward references. [compiler #138]
Released on April 5, 2018.
- Fixed a bug that
hash()
onnirum.datastructures.List
had raisedTypeError
.
Released on April 5, 2018.
- Added missing equality functions (i.e.,
==
,!=
operators, &hash()
function) tonirum.datastructures.Map
andnirum.datastructures.List
. [#110]
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.
Released on July 6, 2017.
- Fixed a serialization bug that other set-like (i.e.
collections.Set
) types than Python built-inset
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-inlist
hadn't been reduced to simpler forms so that they can be encoded to JSON.
Released on June 23, 2017.
url
ofnirum.rpc.Client
andmethod
ofnirum.rpc.Client.make_request
now can be bothunicode
andstr
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.)
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 raiseTypeError
with a better error message when itsmake_request()
method is overridden and it returns a wrong artity of tuple. [#80]nirum.rpc.WsgiApp
and its subtype became to raiseTypeError
with a better error message when itsmake_response()
method is overridden and it returns a wrong artity of tuple. [#80]- Fixed a bug that
Client.ping()
method had always raisedTypeError
. [#80] - Corrected a typo
Accepts
on request headersClient
makes toAccept
.
Released on June 1, 2017.
- Service methods became able to specify its error type. [#71]
- Added
nirum-server
command to run simply Nirum service.
Released on April 5, 2018.
- Added missing equality functions (i.e.,
==
,!=
operators, &hash()
function) tonirum.datastructures.Map
andnirum.datastructures.List
. [#110]
Released on July 6, 2017.
- Fixed a serialization bug that other set-like (i.e.
collections.Set
) types than Python built-inset
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-inlist
hadn't been reduced to simpler forms so that they can be encoded to JSON.
Released on May 2, 2017.
- Compare type with its abstract type in
nirum.validate.validate_type
.
Released on March 20, 2017.
- Encoding of map types was changed according to the Nirum serialization specification. [#66]
- Added
nirum.datastructures
module andnirum.datastructures.Map
which is an immutable dictionary. [#66] - Added
nirum.datastructures.List
which is an immutable list. [#49] - Aliased
nirum.datastructures.Map
asmap_type
, andnirum.datastructures.List
aslist_type
to avoid name conflict with user-defined types.