hunterMakesPy 0.5.4__tar.gz → 0.5.5__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.
- {huntermakespy-0.5.4/hunterMakesPy.egg-info → huntermakespy-0.5.5}/PKG-INFO +1 -1
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/dicttoolz.py +10 -6
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/__init__.py +0 -14
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/dataStructures.py +4 -5
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/filesystemToolkit.py +2 -2
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/conftest.py +4 -2
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/test_dataStructures.py +6 -4
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/test_filesystemToolkit.py +2 -1
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/test_parseParameters.py +8 -6
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/test_theTypes.py +1 -5
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/theTypesCallableFunction.py +4 -2
- {huntermakespy-0.5.4 → huntermakespy-0.5.5/hunterMakesPy.egg-info}/PKG-INFO +1 -1
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/pyproject.toml +1 -1
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/LICENSE +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/README.md +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/Notice_of_Copyright.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/__init__.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/__init__.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/_signatures.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/_signatures.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/cpython.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/curried/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/curried/exceptions.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/curried/exceptions.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/curried/operator.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/dicttoolz.c +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/dicttoolz.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/dicttoolz.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/dicttoolz.pyx +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/functoolz.c +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/functoolz.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/functoolz.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/functoolz.pyx +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/itertoolz.c +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/itertoolz.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/itertoolz.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/itertoolz.pyx +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/py.typed +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/recipes.c +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/recipes.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/recipes.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/recipes.pyx +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/dev_skip_test.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_curried.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_curried_toolzlike.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_dev_skip_test.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_dicttoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_docstrings.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_doctests.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_embedded_sigs.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_functoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_inspect_args.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_itertoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_none_safe.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_recipes.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_serialization.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_signatures.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_stubs.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_tlz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/tests/test_utils.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/utils.c +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/utils.pxd +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/utils.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_cytoolz/utils.pyx +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_tlz/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_tlz/_build_tlz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/Notice_of_Copyright.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/__init__.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/_signatures.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/__init__.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/exceptions.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/exceptions.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/operator.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/curried/operator.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/functoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/functoolz.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/itertoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/py.typed +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/recipes.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/recipes.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/__init__.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/core.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/core.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/parallel.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/parallel.pyi +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/tests/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/tests/test_core.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/sandbox/tests/test_parallel.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_curried.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_curried_doctests.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_dicttoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_functoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_inspect_args.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_itertoolz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_package.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_recipes.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_serialization.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_signatures.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_tlz.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/tests/test_utils.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/humpy_toolz/utils.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/_theSSOT.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/coping.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/parseParameters.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/py.typed +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/semiotics.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/__init__.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/tests/test_coping.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy/theTypes.py +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy.egg-info/SOURCES.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy.egg-info/dependency_links.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy.egg-info/requires.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/hunterMakesPy.egg-info/top_level.txt +0 -0
- {huntermakespy-0.5.4 → huntermakespy-0.5.5}/setup.cfg +0 -0
|
@@ -46,15 +46,19 @@ References
|
|
|
46
46
|
[1] Python `collections.abc` module
|
|
47
47
|
https://docs.python.org/3/library/collections.abc.html
|
|
48
48
|
"""
|
|
49
|
+
from __future__ import annotations
|
|
50
|
+
|
|
49
51
|
from collections import defaultdict, deque
|
|
50
52
|
from collections.abc import Callable, Hashable, Mapping, MutableMapping, Sequence
|
|
51
53
|
from functools import reduce
|
|
52
|
-
from
|
|
53
|
-
from typing import Any, cast, Literal, overload, TypeGuard
|
|
54
|
+
from typing import Any, cast, Literal, overload, TYPE_CHECKING, TypeGuard
|
|
54
55
|
from typing_extensions import TypeIs
|
|
55
56
|
import contextlib
|
|
56
57
|
import operator
|
|
57
58
|
|
|
59
|
+
if TYPE_CHECKING:
|
|
60
|
+
from humpy_toolz.utils import SupportsGetItem
|
|
61
|
+
|
|
58
62
|
__all__ = ('assoc', 'assoc_in', 'dissoc', 'get_in', 'itemfilter', 'itemmap', 'keyfilter', 'keymap', 'merge', 'merge_with', 'update_in', 'valfilter', 'valmap')
|
|
59
63
|
|
|
60
64
|
@overload
|
|
@@ -391,7 +395,7 @@ def itemfilter[K0: Hashable, V0, K1: Hashable, V1](predicate: Callable[[tuple[K0
|
|
|
391
395
|
rv: MutableMapping[K1, V1] = factory()
|
|
392
396
|
for item in d.items():
|
|
393
397
|
if predicate(item):
|
|
394
|
-
k, v = cast(tuple[K1, V1], item)
|
|
398
|
+
k, v = cast('tuple[K1, V1]', item)
|
|
395
399
|
rv[k] = v
|
|
396
400
|
return rv
|
|
397
401
|
|
|
@@ -503,7 +507,7 @@ def keyfilter[K0: Hashable, K1: Hashable, V](predicate: Callable[[K0], bool] | C
|
|
|
503
507
|
rv: MutableMapping[K1, V] = factory()
|
|
504
508
|
for k, v in d.items():
|
|
505
509
|
if predicate(k):
|
|
506
|
-
rv[cast(K1, k)] = v
|
|
510
|
+
rv[cast('K1', k)] = v
|
|
507
511
|
return rv
|
|
508
512
|
|
|
509
513
|
@overload
|
|
@@ -743,7 +747,7 @@ def update_in[K, V](d: Mapping[K, V], keys: Sequence[K], func: Callable[[V | Non
|
|
|
743
747
|
sherpa: MutableMapping[K, V] = factory(d)
|
|
744
748
|
while dequeKeys:
|
|
745
749
|
k: K = dequeKeys.popleft()
|
|
746
|
-
sherpa = cast(MutableMapping[K, V], sherpa.get(k, factory()))
|
|
750
|
+
sherpa = cast('MutableMapping[K, V]', sherpa.get(k, factory()))
|
|
747
751
|
dATk[k] = dATk = factory(sherpa) # pyright: ignore[reportArgumentType] # ty:ignore[invalid-assignment]
|
|
748
752
|
dATk[keyFinal] = func(sherpa.get(keyFinal, default)) # pyright: ignore[reportArgumentType] # ty:ignore[invalid-argument-type]
|
|
749
753
|
return rv
|
|
@@ -808,7 +812,7 @@ def valfilter[K: Hashable, V0, V1](predicate: Callable[[V0], bool] | Callable[[V
|
|
|
808
812
|
rv: MutableMapping[K, V1] = factory()
|
|
809
813
|
for k, v in d.items():
|
|
810
814
|
if predicate(v):
|
|
811
|
-
rv[k] = cast(V1, v)
|
|
815
|
+
rv[k] = cast('V1', v)
|
|
812
816
|
return rv
|
|
813
817
|
|
|
814
818
|
@overload
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# pyright: reportUnusedImport=false
|
|
2
1
|
"""Execute defensive programming, parameter validation, file operations, and data manipulation.
|
|
3
2
|
|
|
4
3
|
(AI generated docstring)
|
|
@@ -77,16 +76,3 @@ from hunterMakesPy.theTypes import (
|
|
|
77
76
|
|
|
78
77
|
# isort: split
|
|
79
78
|
from hunterMakesPy.coping import PackageSettings as PackageSettings, raiseIfNone as raiseIfNone
|
|
80
|
-
|
|
81
|
-
# isort: split
|
|
82
|
-
from hunterMakesPy.parseParameters import defineConcurrencyLimit, intInnit, oopsieKwargsie
|
|
83
|
-
|
|
84
|
-
# isort: split
|
|
85
|
-
from hunterMakesPy.filesystemToolkit import (
|
|
86
|
-
importLogicalPath2Identifier, importPathFilename2Identifier, makeDirsSafely, writePython, writeStringToHere)
|
|
87
|
-
|
|
88
|
-
# isort: split
|
|
89
|
-
from hunterMakesPy.dataStructures import autoDecodingRLE, stringItUp, updateExtendPolishDictionaryLists
|
|
90
|
-
|
|
91
|
-
# isort: split
|
|
92
|
-
from hunterMakesPy._theSSOT import settingsPackage
|
|
@@ -31,10 +31,7 @@ References
|
|
|
31
31
|
from __future__ import annotations
|
|
32
32
|
|
|
33
33
|
from charset_normalizer import CharsetMatch
|
|
34
|
-
from collections.abc import Callable, Mapping
|
|
35
34
|
from hunterMakesPy import Ordinals
|
|
36
|
-
from numpy import integer
|
|
37
|
-
from numpy.typing import NDArray
|
|
38
35
|
from types import FunctionType
|
|
39
36
|
from typing import Any, cast, TYPE_CHECKING
|
|
40
37
|
import charset_normalizer
|
|
@@ -43,7 +40,9 @@ import re as regex
|
|
|
43
40
|
import sys
|
|
44
41
|
|
|
45
42
|
if TYPE_CHECKING:
|
|
46
|
-
from collections.abc import Iterator
|
|
43
|
+
from collections.abc import Iterator, Mapping
|
|
44
|
+
from numpy import integer
|
|
45
|
+
from numpy.typing import NDArray
|
|
47
46
|
|
|
48
47
|
def removeExtraWhitespace(string: str) -> str:
|
|
49
48
|
"""Remove extra whitespace from string representation of Python data structures."""
|
|
@@ -228,7 +227,7 @@ def stringItUp(*scrapPile: Any) -> list[str]:
|
|
|
228
227
|
if decodedString:
|
|
229
228
|
listStrungUp.append(str(decodedString))
|
|
230
229
|
elif isinstance(KitKat, dict):
|
|
231
|
-
DictDact: dict[Any, Any] = cast(dict[Any, Any], KitKat)
|
|
230
|
+
DictDact: dict[Any, Any] = cast('dict[Any, Any]', KitKat)
|
|
232
231
|
for broken, piece in DictDact.items():
|
|
233
232
|
drill(broken)
|
|
234
233
|
drill(piece)
|
|
@@ -44,9 +44,7 @@ References
|
|
|
44
44
|
from __future__ import annotations
|
|
45
45
|
|
|
46
46
|
from autoflake import fix_code as autoflake_fix_code
|
|
47
|
-
from hunterMakesPy import identifierDotAttribute
|
|
48
47
|
from isort import code as isort_code
|
|
49
|
-
from os import PathLike
|
|
50
48
|
from pathlib import Path, PurePath
|
|
51
49
|
from typing import Any, overload, TYPE_CHECKING
|
|
52
50
|
import contextlib
|
|
@@ -55,7 +53,9 @@ import importlib.util
|
|
|
55
53
|
import io
|
|
56
54
|
|
|
57
55
|
if TYPE_CHECKING:
|
|
56
|
+
from hunterMakesPy import identifierDotAttribute
|
|
58
57
|
from importlib.machinery import ModuleSpec
|
|
58
|
+
from os import PathLike
|
|
59
59
|
from types import ModuleType
|
|
60
60
|
|
|
61
61
|
def importLogicalPath2Identifier[归个](logicalPathModule: identifierDotAttribute, identifier: str, packageIdentifierIfRelative: str | None = None) -> 归个:
|
|
@@ -7,12 +7,14 @@ including data paths, source code samples, and standardized assertion functions.
|
|
|
7
7
|
"""
|
|
8
8
|
from __future__ import annotations
|
|
9
9
|
|
|
10
|
-
from
|
|
11
|
-
from typing import Any
|
|
10
|
+
from typing import Any, TYPE_CHECKING
|
|
12
11
|
import io
|
|
13
12
|
import pathlib
|
|
14
13
|
import pytest
|
|
15
14
|
|
|
15
|
+
if TYPE_CHECKING:
|
|
16
|
+
from collections.abc import Callable
|
|
17
|
+
|
|
16
18
|
# SSOT for test data paths and filenames
|
|
17
19
|
pathDataSamples: pathlib.Path = pathlib.Path("hunterMakesPy/tests/dataSamples")
|
|
18
20
|
|
|
@@ -9,19 +9,21 @@ string conversion utilities, and Run-Length Encoding (RLE) tools.
|
|
|
9
9
|
"""
|
|
10
10
|
from __future__ import annotations
|
|
11
11
|
|
|
12
|
-
from collections.abc import Iterable, Iterator
|
|
13
12
|
from decimal import Decimal
|
|
14
13
|
from fractions import Fraction
|
|
15
|
-
from hunterMakesPy import autoDecodingRLE, stringItUp, updateExtendPolishDictionaryLists
|
|
14
|
+
from hunterMakesPy.dataStructures import autoDecodingRLE, stringItUp, updateExtendPolishDictionaryLists
|
|
16
15
|
from hunterMakesPy.tests.conftest import standardizedEqualTo
|
|
17
16
|
from hunterMakesPy.tests.dataSamples.rle import AUTO_DECODING_RLE_CASES
|
|
18
|
-
from
|
|
19
|
-
from typing import Any
|
|
17
|
+
from typing import Any, TYPE_CHECKING
|
|
20
18
|
import datetime
|
|
21
19
|
import librosa.filters
|
|
22
20
|
import numpy
|
|
23
21
|
import pytest
|
|
24
22
|
|
|
23
|
+
if TYPE_CHECKING:
|
|
24
|
+
from collections.abc import Iterable, Iterator
|
|
25
|
+
from numpy.typing import NDArray
|
|
26
|
+
|
|
25
27
|
class CustomIterable:
|
|
26
28
|
"""A simple custom iterable for testing purposes.
|
|
27
29
|
|
|
@@ -9,7 +9,8 @@ including safe directory creation, file writing, and dynamic importing.
|
|
|
9
9
|
"""
|
|
10
10
|
from __future__ import annotations
|
|
11
11
|
|
|
12
|
-
from hunterMakesPy import
|
|
12
|
+
from hunterMakesPy.filesystemToolkit import (
|
|
13
|
+
importLogicalPath2Identifier, importPathFilename2Identifier, makeDirsSafely, writePython, writeStringToHere)
|
|
13
14
|
from hunterMakesPy.tests.conftest import standardizedEqualTo
|
|
14
15
|
import io
|
|
15
16
|
import math
|
|
@@ -9,12 +9,14 @@ and string-based boolean parsing.
|
|
|
9
9
|
from __future__ import annotations
|
|
10
10
|
|
|
11
11
|
# pyright: standard
|
|
12
|
-
from
|
|
13
|
-
from
|
|
14
|
-
from typing import Any, NoReturn, ParamSpec, TypeVar
|
|
12
|
+
from hunterMakesPy.parseParameters import defineConcurrencyLimit, intInnit, oopsieKwargsie
|
|
13
|
+
from typing import Any, NoReturn, ParamSpec, TYPE_CHECKING, TypeVar
|
|
15
14
|
from unittest.mock import Mock, patch
|
|
16
15
|
import pytest
|
|
17
16
|
|
|
17
|
+
if TYPE_CHECKING:
|
|
18
|
+
from collections.abc import Callable, Iterable, Iterator
|
|
19
|
+
|
|
18
20
|
parameters = ParamSpec('parameters')
|
|
19
21
|
returnType = TypeVar('returnType')
|
|
20
22
|
|
|
@@ -339,7 +341,7 @@ def PytestFor_oopsieKwargsie(callableToTest: Callable[[Any], object] = oopsieKwa
|
|
|
339
341
|
]
|
|
340
342
|
|
|
341
343
|
@pytest.mark.parametrize("nameOfTest,aPytest", PytestFor_defineConcurrencyLimit())
|
|
342
|
-
def
|
|
344
|
+
def test_concurrencyLimit(nameOfTest: str, aPytest: Callable[parameters, returnType], *arguments: parameters.args, **keywordArguments: parameters.kwargs) -> None:
|
|
343
345
|
"""Execute generated tests for concurrency limit definitions.
|
|
344
346
|
|
|
345
347
|
(AI generated docstring)
|
|
@@ -359,7 +361,7 @@ def testConcurrencyLimit(nameOfTest: str, aPytest: Callable[parameters, returnTy
|
|
|
359
361
|
aPytest(*arguments, **keywordArguments)
|
|
360
362
|
|
|
361
363
|
@pytest.mark.parametrize("nameOfTest,aPytest", PytestFor_intInnit())
|
|
362
|
-
def
|
|
364
|
+
def test_intInnit(nameOfTest: str, aPytest: Callable[parameters, returnType], *arguments: parameters.args, **keywordArguments: parameters.kwargs) -> None:
|
|
363
365
|
"""Execute generated tests for integer initialization.
|
|
364
366
|
|
|
365
367
|
(AI generated docstring)
|
|
@@ -379,7 +381,7 @@ def testIntInnit(nameOfTest: str, aPytest: Callable[parameters, returnType], *ar
|
|
|
379
381
|
aPytest(*arguments, **keywordArguments)
|
|
380
382
|
|
|
381
383
|
@pytest.mark.parametrize("nameOfTest,aPytest", PytestFor_oopsieKwargsie())
|
|
382
|
-
def
|
|
384
|
+
def test_oopsieKwargsie(nameOfTest: str, aPytest: Callable[parameters, returnType], *arguments: parameters.args, **keywordArguments: parameters.kwargs) -> None:
|
|
383
385
|
"""Execute generated tests for boolean string parsing.
|
|
384
386
|
|
|
385
387
|
(AI generated docstring)
|
|
@@ -10,13 +10,9 @@ from __future__ import annotations
|
|
|
10
10
|
from dataclasses import dataclass
|
|
11
11
|
from hunterMakesPy import CallableFunction as CallableFunction, Ordinals
|
|
12
12
|
from hunterMakesPy.tests.conftest import uniformTestFailureMessage
|
|
13
|
-
from typing import Self
|
|
14
|
-
import inspect
|
|
13
|
+
from typing import Self
|
|
15
14
|
import pytest
|
|
16
15
|
|
|
17
|
-
if TYPE_CHECKING:
|
|
18
|
-
from collections.abc import Callable
|
|
19
|
-
|
|
20
16
|
def between[小于: Ordinals](floor: 小于, ceiling: 小于, comparand: 小于) -> bool:
|
|
21
17
|
"""Return whether `comparand` lies between `floor` and `ceiling` inclusive.
|
|
22
18
|
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
4
|
from collections.abc import Callable
|
|
5
|
-
from
|
|
6
|
-
from typing import Any, overload, ParamSpec, Protocol, runtime_checkable, Self, TypeVar, TypeVarTuple
|
|
5
|
+
from typing import Any, overload, ParamSpec, Protocol, runtime_checkable, Self, TYPE_CHECKING, TypeVar, TypeVarTuple
|
|
7
6
|
import sys
|
|
8
7
|
|
|
8
|
+
if TYPE_CHECKING:
|
|
9
|
+
from types import CellType, CodeType, MethodType
|
|
10
|
+
|
|
9
11
|
# TODO explore the following
|
|
10
12
|
"""
|
|
11
13
|
I've added new test cases using a lambda function and a standard user-defined imported function
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|