hunterMakesPy 0.4.2__tar.gz → 0.4.3__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.4.2 → huntermakespy-0.4.3}/.github/FUNDING.yml +5 -6
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.vscode/identifiers.code-snippets +7 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/CITATION.cff +7 -7
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/PKG-INFO +1 -1
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/citations/CITATION.cff +7 -7
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/dataStructures.py +1 -3
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/filesystemToolkit.py +16 -9
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/theTypes.py +1 -1
- huntermakespy-0.4.2/hunterMakesPy/Z0Z_CallableFunction.py → huntermakespy-0.4.3/hunterMakesPy/theTypesCallableFunction.py +1 -1
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.egg-info/PKG-INFO +1 -1
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.egg-info/SOURCES.txt +1 -2
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/pyproject.toml +1 -1
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/ruff.toml +2 -0
- huntermakespy-0.4.2/hunterMakesPy/pytestForYourUse.py +0 -9
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.editorconfig +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.github/CC-BY-NC-4.0.png +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.github/workflows/githubRelease.yml +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.github/workflows/pypiRelease.yml +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.github/workflows/pythonTests.yml +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.github/workflows/updateCitation.yml +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.gitignore +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.isort.cfg +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.vscode/code-spell-dictionary-workspace.txt +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/.vscode/settings.json +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/LICENSE +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/README.md +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/context7.json +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/__init__.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/_theSSOT.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/coping.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/parseParameters.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/py.typed +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/semiotics.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/__init__.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/conftest.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/test_coping.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/test_dataStructures.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/test_filesystemToolkit.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/test_parseParameters.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy/tests/test_theTypes.py +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.code-workspace +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.egg-info/dependency_links.txt +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.egg-info/requires.txt +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/hunterMakesPy.egg-info/top_level.txt +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/pyrightconfig.json +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/setup.cfg +0 -0
- {huntermakespy-0.4.2 → huntermakespy-0.4.3}/ty.toml +0 -0
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
# These are supported funding model platforms
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
github: hunterhogan
|
|
4
4
|
patreon: integrated
|
|
5
5
|
open_collective: # Replace with a single Open Collective username
|
|
6
|
-
ko_fi:
|
|
6
|
+
ko_fi: hunterhogan
|
|
7
7
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
|
8
|
-
|
|
9
|
-
liberapay: # Replace with a single Liberapay username
|
|
8
|
+
liberapay: HunterHogan
|
|
10
9
|
issuehunt: # Replace with a single IssueHunt username
|
|
11
10
|
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
|
|
12
11
|
# polar: # Replace with a single Polar username
|
|
13
|
-
buy_me_a_coffee:
|
|
14
|
-
thanks_dev:
|
|
12
|
+
buy_me_a_coffee: hunterhogan
|
|
13
|
+
thanks_dev: u/gh/hunterhogan
|
|
15
14
|
custom: ['https://www.paypal.me/hunterhogan', 'https://hunterthinks.com/support'] # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
|
@@ -27,6 +27,13 @@
|
|
|
27
27
|
],
|
|
28
28
|
"description": "Anything (个, gè)"
|
|
29
29
|
},
|
|
30
|
+
"火": {
|
|
31
|
+
"prefix": "huo",
|
|
32
|
+
"body": [
|
|
33
|
+
"火"
|
|
34
|
+
],
|
|
35
|
+
"description": "Fire (火, Chinese: huǒ, Cantonese: fo2, Japanese: hi, Korean: hwa, Vietnamese: hỏa)"
|
|
36
|
+
},
|
|
30
37
|
"九": {
|
|
31
38
|
"prefix": "jiu",
|
|
32
39
|
"body": [
|
|
@@ -9,12 +9,12 @@ authors:
|
|
|
9
9
|
family-names: Hogan
|
|
10
10
|
email: HunterHogan@pm.me
|
|
11
11
|
cff-version: 1.2.0
|
|
12
|
-
commit:
|
|
13
|
-
date-released: '2026-03-
|
|
12
|
+
commit: 3fd643089181aa5b6d0851230712dd5ec4307959
|
|
13
|
+
date-released: '2026-03-08'
|
|
14
14
|
identifiers:
|
|
15
15
|
- type: url
|
|
16
|
-
value: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.
|
|
17
|
-
description: The URL for hunterMakesPy 0.4.
|
|
16
|
+
value: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.3
|
|
17
|
+
description: The URL for hunterMakesPy 0.4.3.
|
|
18
18
|
keywords:
|
|
19
19
|
- attribute loading
|
|
20
20
|
- concurrency limit
|
|
@@ -37,8 +37,8 @@ keywords:
|
|
|
37
37
|
license: CC-BY-NC-4.0
|
|
38
38
|
message: Cite this software with the metadata in this file.
|
|
39
39
|
repository: https://github.com/hunterhogan/hunterMakesPy
|
|
40
|
-
repository-artifact: https://pypi.org/project/huntermakespy/0.4.
|
|
41
|
-
repository-code: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.
|
|
40
|
+
repository-artifact: https://pypi.org/project/huntermakespy/0.4.3/
|
|
41
|
+
repository-code: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.3
|
|
42
42
|
title: hunterMakesPy
|
|
43
43
|
url: https://github.com/hunterhogan/hunterMakesPy
|
|
44
|
-
version: 0.4.
|
|
44
|
+
version: 0.4.3
|
|
@@ -9,12 +9,12 @@ authors:
|
|
|
9
9
|
family-names: Hogan
|
|
10
10
|
email: HunterHogan@pm.me
|
|
11
11
|
cff-version: 1.2.0
|
|
12
|
-
commit:
|
|
13
|
-
date-released: '2026-03-
|
|
12
|
+
commit: 3fd643089181aa5b6d0851230712dd5ec4307959
|
|
13
|
+
date-released: '2026-03-08'
|
|
14
14
|
identifiers:
|
|
15
15
|
- type: url
|
|
16
|
-
value: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.
|
|
17
|
-
description: The URL for hunterMakesPy 0.4.
|
|
16
|
+
value: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.3
|
|
17
|
+
description: The URL for hunterMakesPy 0.4.3.
|
|
18
18
|
keywords:
|
|
19
19
|
- attribute loading
|
|
20
20
|
- concurrency limit
|
|
@@ -37,8 +37,8 @@ keywords:
|
|
|
37
37
|
license: CC-BY-NC-4.0
|
|
38
38
|
message: Cite this software with the metadata in this file.
|
|
39
39
|
repository: https://github.com/hunterhogan/hunterMakesPy
|
|
40
|
-
repository-artifact: https://pypi.org/project/huntermakespy/0.4.
|
|
41
|
-
repository-code: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.
|
|
40
|
+
repository-artifact: https://pypi.org/project/huntermakespy/0.4.3/
|
|
41
|
+
repository-code: https://github.com/hunterhogan/hunterMakesPy/releases/tag/0.4.3
|
|
42
42
|
title: hunterMakesPy
|
|
43
43
|
url: https://github.com/hunterhogan/hunterMakesPy
|
|
44
|
-
version: 0.4.
|
|
44
|
+
version: 0.4.3
|
|
@@ -257,9 +257,7 @@ def stringItUp(*scrapPile: Any) -> list[str]:
|
|
|
257
257
|
listStrungUp.append(repr(scrap))
|
|
258
258
|
return listStrungUp
|
|
259
259
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
def updateExtendPolishDictionaryLists(*dictionaryLists: Mapping[str, list[小于] | set[小于] | tuple[小于, ...]], destroyDuplicates: bool = False, reorderLists: bool = False, killErroneousDataTypes: bool = False) -> dict[str, list[小于]]:
|
|
260
|
+
def updateExtendPolishDictionaryLists[小于: Ordinals](*dictionaryLists: Mapping[str, list[小于] | set[小于] | tuple[小于, ...]], destroyDuplicates: bool = False, reorderLists: bool = False, killErroneousDataTypes: bool = False) -> dict[str, list[小于]]:
|
|
263
261
|
"""Merge multiple dictionaries with `list` values into a single dictionary with the `list` values merged.
|
|
264
262
|
|
|
265
263
|
Plus options to destroy duplicates, sort `list` values, and handle erroneous data types.
|
|
@@ -46,7 +46,7 @@ from hunterMakesPy import identifierDotAttribute
|
|
|
46
46
|
from isort import code as isort_code
|
|
47
47
|
from os import PathLike
|
|
48
48
|
from pathlib import Path, PurePath
|
|
49
|
-
from typing import Any, TYPE_CHECKING, TypeVar
|
|
49
|
+
from typing import Any, TYPE_CHECKING, TypeVar, overload
|
|
50
50
|
import contextlib
|
|
51
51
|
import importlib
|
|
52
52
|
import importlib.util
|
|
@@ -56,9 +56,7 @@ if TYPE_CHECKING:
|
|
|
56
56
|
from importlib.machinery import ModuleSpec
|
|
57
57
|
from types import ModuleType
|
|
58
58
|
|
|
59
|
-
归个 =
|
|
60
|
-
|
|
61
|
-
def importLogicalPath2Identifier(logicalPathModule: identifierDotAttribute, identifier: str, packageIdentifierIfRelative: str | None = None) -> 归个:
|
|
59
|
+
def importLogicalPath2Identifier[归个](logicalPathModule: identifierDotAttribute, identifier: str, packageIdentifierIfRelative: str | None = None) -> 归个:
|
|
62
60
|
"""Import an `identifier`, such as a function or `class`, from a module using its logical path.
|
|
63
61
|
|
|
64
62
|
This function imports a module and retrieves a specific attribute (function, class, or other object) from that module.
|
|
@@ -81,7 +79,7 @@ def importLogicalPath2Identifier(logicalPathModule: identifierDotAttribute, iden
|
|
|
81
79
|
moduleImported: ModuleType = importlib.import_module(logicalPathModule, packageIdentifierIfRelative)
|
|
82
80
|
return getattr(moduleImported, identifier)
|
|
83
81
|
|
|
84
|
-
def importPathFilename2Identifier(pathFilename: PathLike[Any] | PurePath, identifier: str, moduleIdentifier: str | None = None) -> 归个:
|
|
82
|
+
def importPathFilename2Identifier[归个](pathFilename: PathLike[Any] | PurePath, identifier: str, moduleIdentifier: str | None = None) -> 归个:
|
|
85
83
|
"""Load an identifier from a Python file.
|
|
86
84
|
|
|
87
85
|
This function imports a specified Python file as a module, extracts an identifier from it by name, and returns that
|
|
@@ -120,6 +118,7 @@ def importPathFilename2Identifier(pathFilename: PathLike[Any] | PurePath, identi
|
|
|
120
118
|
importlibSpecification.loader.exec_module(moduleImported_jk_hahaha)
|
|
121
119
|
return getattr(moduleImported_jk_hahaha, identifier)
|
|
122
120
|
|
|
121
|
+
# SEMIOTICS "Dirs"
|
|
123
122
|
def makeDirsSafely(pathFilename: Any) -> None:
|
|
124
123
|
"""Create parent directories for a given path safely.
|
|
125
124
|
|
|
@@ -159,7 +158,11 @@ settings_isortDEFAULT: dict[str, bool | int | str | list[str]] = {
|
|
|
159
158
|
"use_parentheses": True,
|
|
160
159
|
}
|
|
161
160
|
|
|
162
|
-
|
|
161
|
+
@overload
|
|
162
|
+
def writePython(pythonSource: str, pathFilename: PathLike[Any] | PurePath, settings: dict[str, dict[str, Any]] | None = None) -> Path: ...
|
|
163
|
+
@overload
|
|
164
|
+
def writePython(pythonSource: str, pathFilename: io.TextIOBase, settings: dict[str, dict[str, Any]] | None = None) -> io.TextIOBase: ...
|
|
165
|
+
def writePython(pythonSource: str, pathFilename: PathLike[Any] | PurePath | io.TextIOBase, settings: dict[str, dict[str, Any]] | None = None) -> Path | io.TextIOBase:
|
|
163
166
|
"""Format and write Python source code to a file or text stream.
|
|
164
167
|
|
|
165
168
|
(AI generated docstring)
|
|
@@ -187,9 +190,13 @@ def writePython(pythonSource: str, pathFilename: PathLike[Any] | PurePath | io.T
|
|
|
187
190
|
|
|
188
191
|
settings_isort: dict[str, Any] = settings.get('isort', settings_isortDEFAULT)
|
|
189
192
|
pythonSource = isort_code(pythonSource, **settings_isort)
|
|
190
|
-
writeStringToHere(pythonSource + '\n', pathFilename)
|
|
193
|
+
return writeStringToHere(pythonSource + '\n', pathFilename)
|
|
191
194
|
|
|
192
|
-
|
|
195
|
+
@overload
|
|
196
|
+
def writeStringToHere(this: str, pathFilename: PathLike[Any] | PurePath) -> Path: ...
|
|
197
|
+
@overload
|
|
198
|
+
def writeStringToHere(this: str, pathFilename: io.TextIOBase) -> io.TextIOBase: ...
|
|
199
|
+
def writeStringToHere(this: str, pathFilename: PathLike[Any] | PurePath | io.TextIOBase) -> Path | io.TextIOBase:
|
|
193
200
|
"""Write a string to a file or text stream.
|
|
194
201
|
|
|
195
202
|
This function writes a string to either a file path or an open text stream. For file paths, it creates parent directories as
|
|
@@ -210,4 +217,4 @@ def writeStringToHere(this: str, pathFilename: PathLike[Any] | PurePath | io.Tex
|
|
|
210
217
|
pathFilename = Path(pathFilename)
|
|
211
218
|
makeDirsSafely(pathFilename)
|
|
212
219
|
pathFilename.write_text(str(this), encoding='utf-8')
|
|
213
|
-
|
|
220
|
+
return pathFilename
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"""I type, you type, we all `type` for `theTypes`."""
|
|
2
|
-
from hunterMakesPy.
|
|
2
|
+
from hunterMakesPy.theTypesCallableFunction import CallableFunction as CallableFunction
|
|
3
3
|
from typing import Protocol, Self
|
|
4
4
|
|
|
5
5
|
type identifierDotAttribute = str
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Prototype for callable functions with full type safety."""
|
|
2
2
|
from collections.abc import Callable
|
|
3
3
|
from types import CellType, CodeType, MethodType
|
|
4
4
|
from typing import Any, overload, ParamSpec, Protocol, runtime_checkable, Self, TypeVar, TypeVarTuple
|
|
@@ -20,7 +20,6 @@ ty.toml
|
|
|
20
20
|
.vscode/identifiers.code-snippets
|
|
21
21
|
.vscode/settings.json
|
|
22
22
|
citations/CITATION.cff
|
|
23
|
-
hunterMakesPy/Z0Z_CallableFunction.py
|
|
24
23
|
hunterMakesPy/__init__.py
|
|
25
24
|
hunterMakesPy/_theSSOT.py
|
|
26
25
|
hunterMakesPy/coping.py
|
|
@@ -28,9 +27,9 @@ hunterMakesPy/dataStructures.py
|
|
|
28
27
|
hunterMakesPy/filesystemToolkit.py
|
|
29
28
|
hunterMakesPy/parseParameters.py
|
|
30
29
|
hunterMakesPy/py.typed
|
|
31
|
-
hunterMakesPy/pytestForYourUse.py
|
|
32
30
|
hunterMakesPy/semiotics.py
|
|
33
31
|
hunterMakesPy/theTypes.py
|
|
32
|
+
hunterMakesPy/theTypesCallableFunction.py
|
|
34
33
|
hunterMakesPy.egg-info/PKG-INFO
|
|
35
34
|
hunterMakesPy.egg-info/SOURCES.txt
|
|
36
35
|
hunterMakesPy.egg-info/dependency_links.txt
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"""Pytest tests you can use in your package to test some hunterMakesPy functions.
|
|
2
|
-
|
|
3
|
-
Each function in this module returns a list of test functions that can be used with `pytest.parametrize`.
|
|
4
|
-
|
|
5
|
-
Note: These test functions are now in `hunterMakesPy.tests` with all other tests.
|
|
6
|
-
"""
|
|
7
|
-
|
|
8
|
-
from hunterMakesPy.tests.test_parseParameters import (
|
|
9
|
-
PytestFor_defineConcurrencyLimit, PytestFor_intInnit, PytestFor_oopsieKwargsie)
|
|
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
|