Z0Z-tools 3.2.2__tar.gz → 3.2.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {z0z_tools-3.2.2/Z0Z_tools.egg-info → z0z_tools-3.2.4}/PKG-INFO +2 -2
- {z0z_tools-3.2.2 → z0z_tools-3.2.4/Z0Z_tools.egg-info}/PKG-INFO +2 -2
- z0z_tools-3.2.4/humpy_cytoolz/functoolz.pyi +268 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/functoolz.py +7 -1
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/pyproject.toml +2 -2
- z0z_tools-3.2.2/humpy_cytoolz/functoolz.pyi +0 -192
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/LICENSE +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/LICENSE-Rocklin +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/LICENSE-Welch +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/README.md +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools/functionsNeedAHome.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools/py.typed +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools.egg-info/SOURCES.txt +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools.egg-info/dependency_links.txt +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools.egg-info/requires.txt +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/Z0Z_tools.egg-info/top_level.txt +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/__init__.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/__init__.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/_signatures.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/_signatures.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/cpython.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/curried/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/curried/exceptions.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/curried/exceptions.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/curried/operator.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/dicttoolz.c +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/dicttoolz.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/dicttoolz.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/dicttoolz.pyx +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/functoolz.c +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/functoolz.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/functoolz.pyx +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/itertoolz.c +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/itertoolz.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/itertoolz.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/itertoolz.pyx +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/py.typed +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/recipes.c +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/recipes.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/recipes.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/recipes.pyx +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/dev_skip_test.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_curried.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_curried_toolzlike.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_dev_skip_test.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_dicttoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_docstrings.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_doctests.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_embedded_sigs.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_functoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_get.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_inspect_args.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_itertoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_none_safe.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_recipes.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_serialization.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_signatures.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_stubs.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_tlz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/test_utils.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/typeAssertions_dicttoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/tests/typeAssertions_get.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/theTypes.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/utils.c +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/utils.pxd +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/utils.pyi +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_cytoolz/utils.pyx +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_tlz/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_tlz/_build_tlz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/_signatures.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/curried/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/curried/exceptions.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/curried/operator.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/curried/toolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/dicttoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/itertoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/py.typed +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/recipes.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/core.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/parallel.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/tests/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/tests/test_core.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/sandbox/tests/test_parallel.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/__init__.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_curried.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_curried_doctests.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_dicttoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_functoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_get.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_inspect_args.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_itertoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_package.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_recipes.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_serialization.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_signatures.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_tlz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/test_utils.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/typeAssertions_dicttoolz.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/tests/typeAssertions_get.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/theTypes.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/humpy_toolz/utils.py +0 -0
- {z0z_tools-3.2.2 → z0z_tools-3.2.4}/setup.cfg +0 -0
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Z0Z_tools
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.4
|
|
4
4
|
Summary: Typing, documenting, and improving toolz and cytoolz.
|
|
5
5
|
Author-email: Hunter Hogan <HunterHogan@pm.me>
|
|
6
6
|
License-Expression: CC-BY-NC-4.0
|
|
7
|
-
Project-URL: Context7, https://context7.com/hunterhogan/
|
|
7
|
+
Project-URL: Context7, https://context7.com/hunterhogan/z0z_tools
|
|
8
8
|
Project-URL: Donate, https://www.patreon.com/integrated
|
|
9
9
|
Project-URL: Download, https://pypi.org/project/Z0Z_tools
|
|
10
10
|
Project-URL: Homepage, https://github.com/hunterhogan/Z0Z_tools
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: Z0Z_tools
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.4
|
|
4
4
|
Summary: Typing, documenting, and improving toolz and cytoolz.
|
|
5
5
|
Author-email: Hunter Hogan <HunterHogan@pm.me>
|
|
6
6
|
License-Expression: CC-BY-NC-4.0
|
|
7
|
-
Project-URL: Context7, https://context7.com/hunterhogan/
|
|
7
|
+
Project-URL: Context7, https://context7.com/hunterhogan/z0z_tools
|
|
8
8
|
Project-URL: Donate, https://www.patreon.com/integrated
|
|
9
9
|
Project-URL: Download, https://pypi.org/project/Z0Z_tools
|
|
10
10
|
Project-URL: Homepage, https://github.com/hunterhogan/Z0Z_tools
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
from collections.abc import Callable, Iterable, Mapping
|
|
2
|
+
from functools import partial
|
|
3
|
+
from typing import Any, Concatenate, overload
|
|
4
|
+
import inspect
|
|
5
|
+
|
|
6
|
+
type CurryState = tuple[Any, ...]
|
|
7
|
+
type _Getter[_Instance, _T] = Callable[[_Instance], _T]
|
|
8
|
+
type _Setter[_Instance, _T] = Callable[[_Instance, _T], None]
|
|
9
|
+
type _Deleter[_Instance] = Callable[[_Instance], None]
|
|
10
|
+
type InstancePropertyState[_Instance, _T] = tuple[
|
|
11
|
+
_Getter[_Instance, _T] | None, _Setter[_Instance, _T] | None, _Deleter[_Instance] | None, str | None, _T | None
|
|
12
|
+
]
|
|
13
|
+
PYPY: bool
|
|
14
|
+
__all__: tuple[str, ...] = (
|
|
15
|
+
'apply',
|
|
16
|
+
'complement',
|
|
17
|
+
'compose',
|
|
18
|
+
'compose_left',
|
|
19
|
+
'curry',
|
|
20
|
+
'do',
|
|
21
|
+
'excepts',
|
|
22
|
+
'flip',
|
|
23
|
+
'identity',
|
|
24
|
+
'juxt',
|
|
25
|
+
'memoize',
|
|
26
|
+
'pipe',
|
|
27
|
+
'thread_first',
|
|
28
|
+
'thread_last',
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
def identity[T](x: T) -> T: ...
|
|
32
|
+
@overload
|
|
33
|
+
def apply[**P, T](func: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T: ...
|
|
34
|
+
@overload
|
|
35
|
+
def apply(*func_and_args: Any, **kwargs: Any) -> Any: ...
|
|
36
|
+
def apply(*func_and_args: Any, **kwargs: Any) -> Any: ...
|
|
37
|
+
def thread_first[T, R](val: T, *forms: Callable[[T], R] | tuple[Callable[..., R], Any]) -> R: ...
|
|
38
|
+
def thread_last[T, U](val: T, *forms: Callable[[T], U] | tuple[Callable[..., U], ...]) -> U: ...
|
|
39
|
+
@overload
|
|
40
|
+
def instanceproperty[Instance, T](
|
|
41
|
+
fget: _Getter[Instance, T],
|
|
42
|
+
fset: _Setter[Instance, T] | None = ...,
|
|
43
|
+
fdel: _Deleter[Instance] | None = ...,
|
|
44
|
+
doc: str | None = ...,
|
|
45
|
+
classval: T | None = ...,
|
|
46
|
+
) -> InstanceProperty[Instance, T]: ...
|
|
47
|
+
@overload
|
|
48
|
+
def instanceproperty[Instance, T](
|
|
49
|
+
fget: None = None,
|
|
50
|
+
fset: _Setter[Instance, T] | None = ...,
|
|
51
|
+
fdel: _Deleter[Instance] | None = ...,
|
|
52
|
+
doc: str | None = ...,
|
|
53
|
+
classval: T | None = ...,
|
|
54
|
+
) -> Callable[[_Getter[Instance, T]], InstanceProperty[Instance, T]]: ...
|
|
55
|
+
def instanceproperty[Instance, T](
|
|
56
|
+
fget: _Getter[Instance, T] | None = None,
|
|
57
|
+
fset: _Setter[Instance, T] | None = None,
|
|
58
|
+
fdel: _Deleter[Instance] | None = None,
|
|
59
|
+
doc: str | None = None,
|
|
60
|
+
classval: T | None = None,
|
|
61
|
+
) -> InstanceProperty[Instance, T] | Callable[[_Getter[Instance, T]], InstanceProperty[Instance, T]]: ...
|
|
62
|
+
|
|
63
|
+
class InstanceProperty[Instance, T](property):
|
|
64
|
+
def __init__(
|
|
65
|
+
self,
|
|
66
|
+
fget: _Getter[Instance, T] | None = None,
|
|
67
|
+
fset: _Setter[Instance, T] | None = None,
|
|
68
|
+
fdel: _Deleter[Instance] | None = None,
|
|
69
|
+
doc: str | None = None,
|
|
70
|
+
classval: T | None = None,
|
|
71
|
+
) -> None: ...
|
|
72
|
+
@overload
|
|
73
|
+
def __get__(self, obj: None, type: type | None = ...) -> T | None: ...
|
|
74
|
+
@overload
|
|
75
|
+
def __get__(self, obj: Instance, type: type | None = ...) -> T: ...
|
|
76
|
+
def __get__(self, obj: Instance | None, type: type | None = None) -> T | None: ...
|
|
77
|
+
def __reduce__(self) -> tuple[type[InstanceProperty[Any, Any]], InstancePropertyState[Callable[..., Any], Any]]: ...
|
|
78
|
+
|
|
79
|
+
class curry[**P, T]:
|
|
80
|
+
@overload
|
|
81
|
+
def __init__(self, func: curry[P, T] | partial[T], /, *args: Any, **kwargs: Any) -> None: ...
|
|
82
|
+
@overload
|
|
83
|
+
def __init__(self, func: Callable[P, T], /, *args: Any, **kwargs: Any) -> None: ...
|
|
84
|
+
def __init__(self, *args: Any, **kwargs: Any) -> None: ...
|
|
85
|
+
@instanceproperty
|
|
86
|
+
def func(self) -> Callable[P, T]: ...
|
|
87
|
+
@instanceproperty
|
|
88
|
+
def __signature__(self) -> inspect.Signature: ...
|
|
89
|
+
@instanceproperty
|
|
90
|
+
def args(self) -> tuple[Any, ...]: ...
|
|
91
|
+
@instanceproperty
|
|
92
|
+
def keywords(self) -> dict[str, Any]: ...
|
|
93
|
+
@instanceproperty
|
|
94
|
+
def func_name(self) -> str: ...
|
|
95
|
+
def __hash__(self) -> int: ...
|
|
96
|
+
def __eq__(self, other: object) -> bool: ...
|
|
97
|
+
def __ne__(self, other: object) -> bool: ...
|
|
98
|
+
@overload
|
|
99
|
+
def __call__(self, *args: P.args, **kwargs: P.kwargs) -> T: ...
|
|
100
|
+
@overload
|
|
101
|
+
def __call__[First, **Remaining](self: curry[Concatenate[First, Remaining], T], first: First, /) -> curry[Remaining, T]: ...
|
|
102
|
+
@overload
|
|
103
|
+
def __call__[First, Second, **Remaining](
|
|
104
|
+
self: curry[Concatenate[First, Second, Remaining], T], first: First, second: Second, /
|
|
105
|
+
) -> curry[Remaining, T]: ...
|
|
106
|
+
@overload
|
|
107
|
+
def __call__(self, *args: Any, **kwargs: Any) -> curry[P, T]: ...
|
|
108
|
+
def __call__(self, *args: Any, **kwargs: Any) -> T | curry[P, T]: ...
|
|
109
|
+
def _should_curry(self, args: tuple[Any, ...], kwargs: dict[str, Any], exc: TypeError | None = None) -> bool: ...
|
|
110
|
+
def bind(self, *args: Any, **kwargs: Any) -> curry[P, T]: ...
|
|
111
|
+
def call(self, *args: Any, **kwargs: Any) -> T: ...
|
|
112
|
+
def __get__(self, instance: object | None, owner: type | None) -> curry[P, T]: ...
|
|
113
|
+
def __reduce__(self) -> tuple[Callable[..., T], CurryState]: ...
|
|
114
|
+
|
|
115
|
+
def _restore_curry[**P, T](
|
|
116
|
+
cls: type[curry[P, T]],
|
|
117
|
+
func: str | Callable[P, T],
|
|
118
|
+
args: tuple[Any, ...],
|
|
119
|
+
kwargs: Mapping[str, Any] | None,
|
|
120
|
+
userdict: Iterable[tuple[str, Any]],
|
|
121
|
+
is_decorated: bool | None,
|
|
122
|
+
) -> curry[P, T] | Callable[P, T]: ...
|
|
123
|
+
@curry
|
|
124
|
+
def memoize[T](
|
|
125
|
+
func: Callable[..., T], cache: dict[Any, T] | None = None, key: Callable[[tuple[Any, ...], Mapping[str, Any]], Any] | None = None
|
|
126
|
+
) -> Callable[..., T]: ...
|
|
127
|
+
|
|
128
|
+
class Compose:
|
|
129
|
+
first: Callable[..., Any]
|
|
130
|
+
funcs: tuple[Callable[..., Any], ...]
|
|
131
|
+
|
|
132
|
+
def __init__(self, funcs: Iterable[Callable[..., Any]]) -> None: ...
|
|
133
|
+
def __call__(self, *args: Any, **kwargs: Any) -> Any: ...
|
|
134
|
+
def __getstate__(self) -> tuple[Callable[..., Any], tuple[Callable[..., Any], ...]]: ...
|
|
135
|
+
def __setstate__(self, state: tuple[Callable[..., Any], tuple[Callable[..., Any], ...]]) -> None: ...
|
|
136
|
+
__doc__: str
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def __name__(self) -> str: ...
|
|
140
|
+
def __eq__(self, other: object) -> bool: ...
|
|
141
|
+
def __ne__(self, other: object) -> bool: ...
|
|
142
|
+
def __hash__(self) -> int: ...
|
|
143
|
+
def __get__(self, obj: object | None, objtype: type | None = None) -> Compose: ...
|
|
144
|
+
@instanceproperty
|
|
145
|
+
def __signature__(self) -> inspect.Signature: ...
|
|
146
|
+
|
|
147
|
+
@overload
|
|
148
|
+
def compose[**P, T](fn_0: Callable[P, T]) -> Callable[P, T]: ...
|
|
149
|
+
@overload
|
|
150
|
+
def compose[**P, T0, T1](fn_0: Callable[[T0], T1], fn_1: Callable[P, T0]) -> Callable[P, T1]: ...
|
|
151
|
+
@overload
|
|
152
|
+
def compose[**P, T0, T1, T2](fn_0: Callable[[T1], T2], fn_1: Callable[[T0], T1], fn_2: Callable[P, T0]) -> Callable[P, T2]: ...
|
|
153
|
+
@overload
|
|
154
|
+
def compose[**P, T0, T1, T2, T3](
|
|
155
|
+
fn_0: Callable[[T2], T3], fn_1: Callable[[T1], T2], fn_2: Callable[[T0], T1], fn_3: Callable[P, T0]
|
|
156
|
+
) -> Callable[P, T3]: ...
|
|
157
|
+
@overload
|
|
158
|
+
def compose[**P, T0, T1, T2, T3, T4](
|
|
159
|
+
fn_0: Callable[[T3], T4], fn_1: Callable[[T2], T3], fn_2: Callable[[T1], T2], fn_3: Callable[[T0], T1], fn_4: Callable[P, T0]
|
|
160
|
+
) -> Callable[P, T4]: ...
|
|
161
|
+
@overload
|
|
162
|
+
def compose[**P, T0, T1, T2, T3, T4, T5](
|
|
163
|
+
fn_0: Callable[[T4], T5],
|
|
164
|
+
fn_1: Callable[[T3], T4],
|
|
165
|
+
fn_2: Callable[[T2], T3],
|
|
166
|
+
fn_3: Callable[[T1], T2],
|
|
167
|
+
fn_4: Callable[[T0], T1],
|
|
168
|
+
fn_5: Callable[P, T0],
|
|
169
|
+
) -> Callable[P, T5]: ...
|
|
170
|
+
@overload
|
|
171
|
+
def compose(*funcs: Callable[..., Any]) -> Callable[..., Any]: ...
|
|
172
|
+
def compose(*funcs: Callable[..., Any]) -> Callable[..., Any]: ...
|
|
173
|
+
@overload
|
|
174
|
+
def compose_left[**P, T](fn_0: Callable[P, T]) -> Callable[P, T]: ...
|
|
175
|
+
@overload
|
|
176
|
+
def compose_left[**P, T0, T1](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1]) -> Callable[P, T1]: ...
|
|
177
|
+
@overload
|
|
178
|
+
def compose_left[**P, T0, T1, T2](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2]) -> Callable[P, T2]: ...
|
|
179
|
+
@overload
|
|
180
|
+
def compose_left[**P, T0, T1, T2, T3](
|
|
181
|
+
fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2], fn_3: Callable[[T2], T3]
|
|
182
|
+
) -> Callable[P, T3]: ...
|
|
183
|
+
@overload
|
|
184
|
+
def compose_left[**P, T0, T1, T2, T3, T4](
|
|
185
|
+
fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2], fn_3: Callable[[T2], T3], fn_4: Callable[[T3], T4]
|
|
186
|
+
) -> Callable[P, T4]: ...
|
|
187
|
+
@overload
|
|
188
|
+
def compose_left[**P, T0, T1, T2, T3, T4, T5](
|
|
189
|
+
fn_0: Callable[P, T0],
|
|
190
|
+
fn_1: Callable[[T0], T1],
|
|
191
|
+
fn_2: Callable[[T1], T2],
|
|
192
|
+
fn_3: Callable[[T2], T3],
|
|
193
|
+
fn_4: Callable[[T3], T4],
|
|
194
|
+
fn_5: Callable[[T4], T5],
|
|
195
|
+
) -> Callable[P, T5]: ...
|
|
196
|
+
@overload
|
|
197
|
+
def compose_left(*funcs: Callable[..., Any]) -> Callable[..., Any]: ...
|
|
198
|
+
def compose_left(*funcs: Callable[..., Any]) -> Callable[..., Any]: ...
|
|
199
|
+
@overload
|
|
200
|
+
def pipe[T0, T1](data: T0, fn_0: Callable[[T0], T1]) -> T1: ...
|
|
201
|
+
@overload
|
|
202
|
+
def pipe[T0, T1, T2](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2]) -> T2: ...
|
|
203
|
+
@overload
|
|
204
|
+
def pipe[T0, T1, T2, T3](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3]) -> T3: ...
|
|
205
|
+
@overload
|
|
206
|
+
def pipe[T0, T1, T2, T3, T4](
|
|
207
|
+
data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3], fn_3: Callable[[T3], T4]
|
|
208
|
+
) -> T4: ...
|
|
209
|
+
@overload
|
|
210
|
+
def pipe[T0, T1, T2, T3, T4, T5](
|
|
211
|
+
data: T0,
|
|
212
|
+
fn_0: Callable[[T0], T1],
|
|
213
|
+
fn_1: Callable[[T1], T2],
|
|
214
|
+
fn_2: Callable[[T2], T3],
|
|
215
|
+
fn_3: Callable[[T3], T4],
|
|
216
|
+
fn_4: Callable[[T4], T5],
|
|
217
|
+
) -> T5: ...
|
|
218
|
+
@overload
|
|
219
|
+
def pipe[T0, T1, T2, T3, T4, T5, T6](
|
|
220
|
+
data: T0,
|
|
221
|
+
fn_0: Callable[[T0], T1],
|
|
222
|
+
fn_1: Callable[[T1], T2],
|
|
223
|
+
fn_2: Callable[[T2], T3],
|
|
224
|
+
fn_3: Callable[[T3], T4],
|
|
225
|
+
fn_4: Callable[[T4], T5],
|
|
226
|
+
fn_5: Callable[[T5], T6],
|
|
227
|
+
) -> T6: ...
|
|
228
|
+
@overload
|
|
229
|
+
def pipe(data: Any, *funcs: Callable[..., Any]) -> Any: ...
|
|
230
|
+
def pipe(data: Any, *funcs: Callable[..., Any]) -> Any: ...
|
|
231
|
+
def complement[**P](func: Callable[P, bool]) -> Callable[P, bool]: ...
|
|
232
|
+
|
|
233
|
+
class juxt[**P, T]:
|
|
234
|
+
funcs: tuple[Callable[..., Any], ...]
|
|
235
|
+
|
|
236
|
+
def __init__(self, *funcs: Callable[..., Any] | Iterable[Callable[..., Any]]) -> None: ...
|
|
237
|
+
def __call__(self, *args: Any, **kwargs: Any) -> tuple[Any, ...]: ...
|
|
238
|
+
def __getstate__(self) -> tuple[Callable[..., Any], ...]: ...
|
|
239
|
+
def __setstate__(self, state: tuple[Callable[..., Any], ...]) -> None: ...
|
|
240
|
+
|
|
241
|
+
def do[T](func: Callable[[T], Any], x: T) -> T: ...
|
|
242
|
+
@curry
|
|
243
|
+
def flip[T, U, R](func: Callable[[T, U], R], a: U, b: T) -> R: ...
|
|
244
|
+
def return_none(exc: Exception) -> None: ...
|
|
245
|
+
|
|
246
|
+
class excepts[**P, T]:
|
|
247
|
+
def __init__(
|
|
248
|
+
self, exc: type[Exception] | tuple[type[Exception], ...], func: Callable[P, T], handler: Callable[[Exception], T] = return_none
|
|
249
|
+
) -> None: ...
|
|
250
|
+
def __call__(self, *args: P.args, **kwargs: P.kwargs) -> T: ...
|
|
251
|
+
__doc__: str
|
|
252
|
+
|
|
253
|
+
@property
|
|
254
|
+
def __name__(self) -> str: ...
|
|
255
|
+
|
|
256
|
+
def _check_sigspec[T](
|
|
257
|
+
sigspec: inspect.Signature | None, func: Callable[..., Any], builtin_func: Callable[..., T], *builtin_args: Any
|
|
258
|
+
) -> tuple[inspect.Signature | None, T | bool | None]: ...
|
|
259
|
+
def num_required_args(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> int | None: ...
|
|
260
|
+
def has_varargs(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None: ...
|
|
261
|
+
def has_keywords(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None: ...
|
|
262
|
+
def is_valid_args(
|
|
263
|
+
func: Callable[..., Any], args: tuple[Any, ...], kwargs: Mapping[str, Any], sigspec: inspect.Signature | None = None
|
|
264
|
+
) -> bool | None: ...
|
|
265
|
+
def is_partial_args(
|
|
266
|
+
func: Callable[..., Any], args: tuple[Any, ...], kwargs: Mapping[str, Any], sigspec: inspect.Signature | None = None
|
|
267
|
+
) -> bool | None: ...
|
|
268
|
+
def is_arity(n: int, func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None: ...
|
|
@@ -29,7 +29,7 @@ from humpy_toolz.utils import no_default
|
|
|
29
29
|
from importlib import import_module
|
|
30
30
|
from operator import attrgetter, not_
|
|
31
31
|
from types import MethodType
|
|
32
|
-
from typing import overload, TYPE_CHECKING
|
|
32
|
+
from typing import Concatenate, overload, TYPE_CHECKING
|
|
33
33
|
import contextlib
|
|
34
34
|
import inspect
|
|
35
35
|
import sys
|
|
@@ -394,6 +394,12 @@ class curry[**P, T]:
|
|
|
394
394
|
@overload
|
|
395
395
|
def __call__(self, *args: P.args, **kwargs: P.kwargs) -> T: ...
|
|
396
396
|
|
|
397
|
+
@overload
|
|
398
|
+
def __call__[First, **Remaining](self: curry[Concatenate[First, Remaining], T], first: First, /) -> curry[Remaining, T]: ...
|
|
399
|
+
|
|
400
|
+
@overload
|
|
401
|
+
def __call__[First, Second, **Remaining](self: curry[Concatenate[First, Second, Remaining], T], first: First, second: Second, /) -> curry[Remaining, T]: ...
|
|
402
|
+
|
|
397
403
|
@overload
|
|
398
404
|
def __call__(self, *args: Any, **kwargs: Any) -> curry[P, T]: ...
|
|
399
405
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "Z0Z_tools"
|
|
3
|
-
version = "3.2.
|
|
3
|
+
version = "3.2.4"
|
|
4
4
|
description = "Typing, documenting, and improving toolz and cytoolz."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.12"
|
|
@@ -33,7 +33,7 @@ optional-dependencies = { development = [
|
|
|
33
33
|
], testing = ["pytest"] }
|
|
34
34
|
|
|
35
35
|
[project.urls]
|
|
36
|
-
Context7 = "https://context7.com/hunterhogan/
|
|
36
|
+
Context7 = "https://context7.com/hunterhogan/z0z_tools"
|
|
37
37
|
Donate = "https://www.patreon.com/integrated"
|
|
38
38
|
Download = "https://pypi.org/project/Z0Z_tools"
|
|
39
39
|
Homepage = "https://github.com/hunterhogan/Z0Z_tools"
|
|
@@ -1,192 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
from collections.abc import Callable, Iterable, Mapping
|
|
3
|
-
from typing import Any, overload
|
|
4
|
-
import inspect
|
|
5
|
-
|
|
6
|
-
type CurryState = tuple[Any, ...]
|
|
7
|
-
type _Getter[_Instance, _T] = Callable[[_Instance], _T]
|
|
8
|
-
type _Setter[_Instance, _T] = Callable[[_Instance, _T], None]
|
|
9
|
-
type _Deleter[_Instance] = Callable[[_Instance], None]
|
|
10
|
-
type InstancePropertyState[_Instance, _T] = tuple[_Getter[_Instance, _T] | None, _Setter[_Instance, _T] | None, _Deleter[_Instance] | None, str | None, _T | None]
|
|
11
|
-
PYPY: bool
|
|
12
|
-
__all__: tuple[str, ...] = ('apply', 'complement', 'compose', 'compose_left', 'curry', 'do', 'excepts', 'flip', 'identity', 'juxt', 'memoize', 'pipe', 'thread_first', 'thread_last')
|
|
13
|
-
|
|
14
|
-
def identity[T](x: T) -> T:
|
|
15
|
-
...
|
|
16
|
-
|
|
17
|
-
@overload
|
|
18
|
-
def apply[**P, T](func: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> T:
|
|
19
|
-
...
|
|
20
|
-
|
|
21
|
-
@overload
|
|
22
|
-
def apply(*func_and_args: Any, **kwargs: Any) -> Any:
|
|
23
|
-
...
|
|
24
|
-
|
|
25
|
-
def apply(*func_and_args: Any, **kwargs: Any) -> Any:
|
|
26
|
-
...
|
|
27
|
-
|
|
28
|
-
def thread_first[T, R](val: T, *forms: Callable[[T], R] | tuple[Callable[..., R], Any]) -> R:
|
|
29
|
-
...
|
|
30
|
-
|
|
31
|
-
def thread_last[T, U](val: T, *forms: Callable[[T], U] | tuple[Callable[..., U], ...]) -> U:
|
|
32
|
-
...
|
|
33
|
-
|
|
34
|
-
@overload
|
|
35
|
-
def instanceproperty[Instance, T](fget: _Getter[Instance, T], fset: _Setter[Instance, T] | None = ..., fdel: _Deleter[Instance] | None = ..., doc: str | None = ..., classval: T | None = ...) -> InstanceProperty[Instance, T]:
|
|
36
|
-
...
|
|
37
|
-
|
|
38
|
-
@overload
|
|
39
|
-
def instanceproperty[Instance, T](fget: None = None, fset: _Setter[Instance, T] | None = ..., fdel: _Deleter[Instance] | None = ..., doc: str | None = ..., classval: T | None = ...) -> Callable[[_Getter[Instance, T]], InstanceProperty[Instance, T]]:
|
|
40
|
-
...
|
|
41
|
-
|
|
42
|
-
def instanceproperty[Instance, T](fget: _Getter[Instance, T] | None = None, fset: _Setter[Instance, T] | None = None, fdel: _Deleter[Instance] | None = None, doc: str | None = None, classval: T | None = None) -> InstanceProperty[Instance, T] | Callable[[_Getter[Instance, T]], InstanceProperty[Instance, T]]:
|
|
43
|
-
...
|
|
44
|
-
|
|
45
|
-
class InstanceProperty[Instance, T](property):
|
|
46
|
-
...
|
|
47
|
-
|
|
48
|
-
class curry[**P, T]:
|
|
49
|
-
...
|
|
50
|
-
|
|
51
|
-
def _restore_curry[**P, T](cls: type[curry[P, T]], func: str | Callable[P, T], args: tuple[Any, ...], kwargs: Mapping[str, Any] | None, userdict: Iterable[tuple[str, Any]], is_decorated: bool | None) -> curry[P, T] | Callable[P, T]:
|
|
52
|
-
...
|
|
53
|
-
|
|
54
|
-
@curry
|
|
55
|
-
def memoize[T](func: Callable[..., T], cache: dict[Any, T] | None = None, key: Callable[[tuple[Any, ...], Mapping[str, Any]], Any] | None = None) -> Callable[..., T]:
|
|
56
|
-
...
|
|
57
|
-
|
|
58
|
-
class Compose:
|
|
59
|
-
...
|
|
60
|
-
|
|
61
|
-
@overload
|
|
62
|
-
def compose[**P, T](fn_0: Callable[P, T]) -> Callable[P, T]:
|
|
63
|
-
...
|
|
64
|
-
|
|
65
|
-
@overload
|
|
66
|
-
def compose[**P, T0, T1](fn_0: Callable[[T0], T1], fn_1: Callable[P, T0]) -> Callable[P, T1]:
|
|
67
|
-
...
|
|
68
|
-
|
|
69
|
-
@overload
|
|
70
|
-
def compose[**P, T0, T1, T2](fn_0: Callable[[T1], T2], fn_1: Callable[[T0], T1], fn_2: Callable[P, T0]) -> Callable[P, T2]:
|
|
71
|
-
...
|
|
72
|
-
|
|
73
|
-
@overload
|
|
74
|
-
def compose[**P, T0, T1, T2, T3](fn_0: Callable[[T2], T3], fn_1: Callable[[T1], T2], fn_2: Callable[[T0], T1], fn_3: Callable[P, T0]) -> Callable[P, T3]:
|
|
75
|
-
...
|
|
76
|
-
|
|
77
|
-
@overload
|
|
78
|
-
def compose[**P, T0, T1, T2, T3, T4](fn_0: Callable[[T3], T4], fn_1: Callable[[T2], T3], fn_2: Callable[[T1], T2], fn_3: Callable[[T0], T1], fn_4: Callable[P, T0]) -> Callable[P, T4]:
|
|
79
|
-
...
|
|
80
|
-
|
|
81
|
-
@overload
|
|
82
|
-
def compose[**P, T0, T1, T2, T3, T4, T5](fn_0: Callable[[T4], T5], fn_1: Callable[[T3], T4], fn_2: Callable[[T2], T3], fn_3: Callable[[T1], T2], fn_4: Callable[[T0], T1], fn_5: Callable[P, T0]) -> Callable[P, T5]:
|
|
83
|
-
...
|
|
84
|
-
|
|
85
|
-
@overload
|
|
86
|
-
def compose(*funcs: Callable[..., Any]) -> Callable[..., Any]:
|
|
87
|
-
...
|
|
88
|
-
|
|
89
|
-
def compose(*funcs: Callable[..., Any]) -> Callable[..., Any]:
|
|
90
|
-
...
|
|
91
|
-
|
|
92
|
-
@overload
|
|
93
|
-
def compose_left[**P, T](fn_0: Callable[P, T]) -> Callable[P, T]:
|
|
94
|
-
...
|
|
95
|
-
|
|
96
|
-
@overload
|
|
97
|
-
def compose_left[**P, T0, T1](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1]) -> Callable[P, T1]:
|
|
98
|
-
...
|
|
99
|
-
|
|
100
|
-
@overload
|
|
101
|
-
def compose_left[**P, T0, T1, T2](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2]) -> Callable[P, T2]:
|
|
102
|
-
...
|
|
103
|
-
|
|
104
|
-
@overload
|
|
105
|
-
def compose_left[**P, T0, T1, T2, T3](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2], fn_3: Callable[[T2], T3]) -> Callable[P, T3]:
|
|
106
|
-
...
|
|
107
|
-
|
|
108
|
-
@overload
|
|
109
|
-
def compose_left[**P, T0, T1, T2, T3, T4](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2], fn_3: Callable[[T2], T3], fn_4: Callable[[T3], T4]) -> Callable[P, T4]:
|
|
110
|
-
...
|
|
111
|
-
|
|
112
|
-
@overload
|
|
113
|
-
def compose_left[**P, T0, T1, T2, T3, T4, T5](fn_0: Callable[P, T0], fn_1: Callable[[T0], T1], fn_2: Callable[[T1], T2], fn_3: Callable[[T2], T3], fn_4: Callable[[T3], T4], fn_5: Callable[[T4], T5]) -> Callable[P, T5]:
|
|
114
|
-
...
|
|
115
|
-
|
|
116
|
-
@overload
|
|
117
|
-
def compose_left(*funcs: Callable[..., Any]) -> Callable[..., Any]:
|
|
118
|
-
...
|
|
119
|
-
|
|
120
|
-
def compose_left(*funcs: Callable[..., Any]) -> Callable[..., Any]:
|
|
121
|
-
...
|
|
122
|
-
|
|
123
|
-
@overload
|
|
124
|
-
def pipe[T0, T1](data: T0, fn_0: Callable[[T0], T1]) -> T1:
|
|
125
|
-
...
|
|
126
|
-
|
|
127
|
-
@overload
|
|
128
|
-
def pipe[T0, T1, T2](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2]) -> T2:
|
|
129
|
-
...
|
|
130
|
-
|
|
131
|
-
@overload
|
|
132
|
-
def pipe[T0, T1, T2, T3](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3]) -> T3:
|
|
133
|
-
...
|
|
134
|
-
|
|
135
|
-
@overload
|
|
136
|
-
def pipe[T0, T1, T2, T3, T4](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3], fn_3: Callable[[T3], T4]) -> T4:
|
|
137
|
-
...
|
|
138
|
-
|
|
139
|
-
@overload
|
|
140
|
-
def pipe[T0, T1, T2, T3, T4, T5](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3], fn_3: Callable[[T3], T4], fn_4: Callable[[T4], T5]) -> T5:
|
|
141
|
-
...
|
|
142
|
-
|
|
143
|
-
@overload
|
|
144
|
-
def pipe[T0, T1, T2, T3, T4, T5, T6](data: T0, fn_0: Callable[[T0], T1], fn_1: Callable[[T1], T2], fn_2: Callable[[T2], T3], fn_3: Callable[[T3], T4], fn_4: Callable[[T4], T5], fn_5: Callable[[T5], T6]) -> T6:
|
|
145
|
-
...
|
|
146
|
-
|
|
147
|
-
@overload
|
|
148
|
-
def pipe(data: Any, *funcs: Callable[..., Any]) -> Any:
|
|
149
|
-
...
|
|
150
|
-
|
|
151
|
-
def pipe(data: Any, *funcs: Callable[..., Any]) -> Any:
|
|
152
|
-
...
|
|
153
|
-
|
|
154
|
-
def complement[**P](func: Callable[P, bool]) -> Callable[P, bool]:
|
|
155
|
-
...
|
|
156
|
-
|
|
157
|
-
class juxt[**P, T]:
|
|
158
|
-
...
|
|
159
|
-
|
|
160
|
-
def do[T](func: Callable[[T], Any], x: T) -> T:
|
|
161
|
-
...
|
|
162
|
-
|
|
163
|
-
@curry
|
|
164
|
-
def flip[T, U, R](func: Callable[[T, U], R], a: U, b: T) -> R:
|
|
165
|
-
...
|
|
166
|
-
|
|
167
|
-
def return_none(exc: Exception) -> None:
|
|
168
|
-
...
|
|
169
|
-
|
|
170
|
-
class excepts[**P, T]:
|
|
171
|
-
...
|
|
172
|
-
|
|
173
|
-
def _check_sigspec[T](sigspec: inspect.Signature | None, func: Callable[..., Any], builtin_func: Callable[..., T], *builtin_args: Any) -> tuple[inspect.Signature | None, T | bool | None]:
|
|
174
|
-
...
|
|
175
|
-
|
|
176
|
-
def num_required_args(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> int | None:
|
|
177
|
-
...
|
|
178
|
-
|
|
179
|
-
def has_varargs(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None:
|
|
180
|
-
...
|
|
181
|
-
|
|
182
|
-
def has_keywords(func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None:
|
|
183
|
-
...
|
|
184
|
-
|
|
185
|
-
def is_valid_args(func: Callable[..., Any], args: tuple[Any, ...], kwargs: Mapping[str, Any], sigspec: inspect.Signature | None = None) -> bool | None:
|
|
186
|
-
...
|
|
187
|
-
|
|
188
|
-
def is_partial_args(func: Callable[..., Any], args: tuple[Any, ...], kwargs: Mapping[str, Any], sigspec: inspect.Signature | None = None) -> bool | None:
|
|
189
|
-
...
|
|
190
|
-
|
|
191
|
-
def is_arity(n: int, func: Callable[..., Any], sigspec: inspect.Signature | None = None) -> bool | None:
|
|
192
|
-
...
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|