معرفی شرکت ها


chatora.dispatch-0.1


Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر
Card image cap
تبلیغات ما

مشتریان به طور فزاینده ای آنلاین هستند. تبلیغات می تواند به آنها کمک کند تا کسب و کار شما را پیدا کنند.

مشاهده بیشتر

توضیحات

Multiple argument dispatching for Python.
ویژگی مقدار
سیستم عامل -
نام فایل chatora.dispatch-0.1
نام chatora.dispatch
نسخه کتابخانه 0.1
نگهدارنده ['Takao Magoori']
ایمیل نگهدارنده ['takaomag@users.noreply.github.com']
نویسنده Takao Magoori
ایمیل نویسنده takaomag@users.noreply.github.com
آدرس صفحه اصلی https://github.com/takaomag/chatora.dispatch
آدرس اینترنتی https://pypi.org/project/chatora.dispatch/
مجوز MIT
chatora.dispatch ================ Multiple argument dispatching for Python. ## Usage Transform a function into a dispatch generic function, such as the [functools.singledispatch](https://docs.python.org/3/library/functools.html#functools.singledispatch). Unlike the [functools.singledispatch](https://docs.python.org/3/library/functools.html#functools.singledispatch), it supports multi-dispatch. ```python from chatora.dispatch.api import dispatch @dispatch def func(arg0, arg1): return '1st func' assert func(0, 0) == '1st func' assert func('0', '0') == '1st func' @func.register def _(arg0, arg1: int): return '2nd func' assert func(0, 0) == '2nd func' assert func('0', 0) == '2nd func' assert func('0', '0') == '1st func' @func.register def _(arg0: int, arg1: int): return '3rd func' assert func(0, 0) == '3rd func' assert func('0', 0) == '2nd func' assert func('0', '0') == '1st func' ``` It partially supports arguments with typing.Union, typing.Optioanl and typing.Any. typing.Any is equivalent to empty annotation. ```python from chatora.dispatch.api import dispatch import typing @dispatch def func(arg0: typing.Any, arg1: typing.Any): return '1st func' @func.register def _(arg0: typing.Optional[str], arg1: typing.Union[str, list, tuple]): return '2nd func' assert func(0, 0) == '1st func' assert func('0', 0) == '1st func' assert func('0', '0') == '2nd func' assert func('0', []) == '2nd func' assert func(None, ()) == '2nd func' ``` It also partially supports return type annotation. ```python from chatora.dispatch.api import dispatch import typing class ResultTuple(tuple): def __new__(cls, *args): return super().__new__(cls, args) class ResultClass: def __init__(self, a, b): self.a, self.b = a, b @dispatch def func(arg0: typing.Optional[str], arg1: tuple): return '1st func' @func.register def _(arg0: typing.Optional[str], arg1: tuple) -> typing.Sequence[str]: return ['2nd', 'func'] @func.register def _(arg0: typing.Optional[str], arg1: tuple) -> typing.Tuple[str]: return ('3rd', 'func') @func.register def _(arg0: typing.Optional[str], arg1: tuple) -> ResultTuple: return ResultTuple('4th', 'func') @func.register def _(arg0: typing.Optional[str], arg1: tuple) -> ResultClass: return ResultClass('4th', 'func') assert func('0', ()) == '1st func' assert func('0', (), _return_type=typing.Sequence[str]) == ['2nd', 'func'] assert func('0', (), _return_type=typing.Tuple[str]) == ('3rd', 'func') assert func('0', (), _return_type=ResultTuple) == ResultTuple('4th', 'func') assert isinstance(func('0', (), _return_type=ResultClass), ResultClass) ``` Changelog ========= 0.1 (2019-05-01) ---------------- - Birth!


نیازمندی

مقدار نام
>=41.0.1 setuptools
>=19.1.1 pip
>=0.33.4 wheel
>=19.0 packaging
>=0.5.3 bumpversion
>=0.38 check-manifest
>=0.4.1 colorama
>=0.5.1 click-completion
>=0.5 click-help-colors


زبان مورد نیاز

مقدار نام
>=3.7 Python


نحوه نصب


نصب پکیج whl chatora.dispatch-0.1:

    pip install chatora.dispatch-0.1.whl


نصب پکیج tar.gz chatora.dispatch-0.1:

    pip install chatora.dispatch-0.1.tar.gz