plexus-python-common 1.1.83__tar.gz → 1.1.84__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.
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/PKG-INFO +1 -1
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/iterutils.py +27 -27
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/PKG-INFO +1 -1
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/.editorconfig +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/.github/workflows/pr.yml +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/.github/workflows/push.yml +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/.gitignore +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/MANIFEST.in +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/README.md +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/VERSION +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/pyproject.toml +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/config/config.cfg +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/csvutils/data.csv +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/csvutils/data.tsv +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.baz/file.bar.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.baz/file.foo.bar +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.baz/file.foo.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/dir.foo.bar/dir.foo.bar.baz/file.foo.bar.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/dir.foo.bar/file.bar.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/dir.foo.bar/file.foo.bar +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/dir.foo.bar/file.foo.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/file.bar +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/file.baz +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/pathutils/dir.foo/file.foo +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/setup.cfg +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/setup.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/__init__.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/__init__.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/argutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/config.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/csvutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/dbutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/dtutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/funcutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/jsonutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/logger.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/numutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/pathutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/randutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/retry.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/span.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/strutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/testutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/typeutils.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/SOURCES.txt +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/dependency_links.txt +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/not-zip-safe +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/requires.txt +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus_python_common.egg-info/top_level.txt +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/__init__.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/__init__.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/__init__.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/argutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/config_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/csvutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/dbutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/dtutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/funcutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/iterutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/jsonutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/logger_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/numutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/pathutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/randutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/retry_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/span_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/strutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/testutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/utils/typeutils_test.py +0 -0
- {plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/testenv.py +0 -0
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/iterutils.py
RENAMED
|
@@ -557,9 +557,9 @@ def dicttree_value[K, V](tree: dicttree[K, V], path: list[K]) -> V | None:
|
|
|
557
557
|
"""
|
|
558
558
|
Gets the value stored at the specified path in the dicttree.
|
|
559
559
|
|
|
560
|
-
:param tree:
|
|
561
|
-
:param path:
|
|
562
|
-
:return:
|
|
560
|
+
:param tree: The dicttree to retrieve the value from.
|
|
561
|
+
:param path: The list of keys representing the path to the desired value.
|
|
562
|
+
:return: The value at the specified path, or ``None`` if the path does not exist.
|
|
563
563
|
"""
|
|
564
564
|
value = None
|
|
565
565
|
for key in path:
|
|
@@ -573,9 +573,9 @@ def dicttree_subtree[K, V](tree: dicttree[K, V], path: list[K]) -> dicttree[K, V
|
|
|
573
573
|
"""
|
|
574
574
|
Gets the subtree located at the specified path in the dicttree.
|
|
575
575
|
|
|
576
|
-
:param tree:
|
|
577
|
-
:param path:
|
|
578
|
-
:return:
|
|
576
|
+
:param tree: The dicttree to retrieve the subtree from.
|
|
577
|
+
:param path: The list of keys representing the path to the desired subtree.
|
|
578
|
+
:return: The subtree at the specified path, or ``None`` if the path does not exist.
|
|
579
579
|
"""
|
|
580
580
|
for key in path:
|
|
581
581
|
if key not in tree:
|
|
@@ -588,9 +588,9 @@ def dicttree_children[K, V](tree: dicttree[K, V], *, leaves_only: bool = False)
|
|
|
588
588
|
"""
|
|
589
589
|
Yields all values in the dicttree. If ``leaves_only`` is ``True``, only yields values at leaf nodes.
|
|
590
590
|
|
|
591
|
-
:param tree:
|
|
592
|
-
:param leaves_only:
|
|
593
|
-
:return:
|
|
591
|
+
:param tree: The dicttree to traverse.
|
|
592
|
+
:param leaves_only: Whether to yield only values at leaf nodes.
|
|
593
|
+
:return: A generator yielding all values in the dicttree.
|
|
594
594
|
"""
|
|
595
595
|
for value, subtree in tree.values():
|
|
596
596
|
if value is not None and (not leaves_only or not subtree):
|
|
@@ -602,9 +602,9 @@ def dicttree_lineage[K, V](tree: dicttree[K, V], path: list[K]) -> Generator[V,
|
|
|
602
602
|
"""
|
|
603
603
|
Yields all values along the specified path in the dicttree.
|
|
604
604
|
|
|
605
|
-
:param tree:
|
|
606
|
-
:param path:
|
|
607
|
-
:return:
|
|
605
|
+
:param tree: The dicttree to traverse.
|
|
606
|
+
:param path: The list of keys representing the path to follow.
|
|
607
|
+
:return: A generator yielding all values along the specified path.
|
|
608
608
|
"""
|
|
609
609
|
for key in path:
|
|
610
610
|
if key not in tree:
|
|
@@ -618,9 +618,9 @@ def dicttree_make[K, V](tree: dicttree[K, V], path: list[K]) -> dicttree[K, V]:
|
|
|
618
618
|
"""
|
|
619
619
|
Ensures that the specified path exists in the dicttree, creating any missing nodes along the way.
|
|
620
620
|
|
|
621
|
-
:param tree:
|
|
622
|
-
:param path:
|
|
623
|
-
:return:
|
|
621
|
+
:param tree: The dicttree to modify.
|
|
622
|
+
:param path: The list of keys representing the path to create.
|
|
623
|
+
:return: The subtree at the end of the created path.
|
|
624
624
|
"""
|
|
625
625
|
for key in path:
|
|
626
626
|
tree.setdefault(key, (None, {}))
|
|
@@ -640,12 +640,12 @@ def dicttree_add[K, V](
|
|
|
640
640
|
Adds a value at the specified path in the dicttree. If ``create_prefix`` is ``True``, any missing nodes along the
|
|
641
641
|
path are created. If ``overwrite`` is ``False``, raises an error if the path already exists.
|
|
642
642
|
|
|
643
|
-
:param tree:
|
|
644
|
-
:param path:
|
|
645
|
-
:param value:
|
|
646
|
-
:param create_prefix:
|
|
647
|
-
:param overwrite:
|
|
648
|
-
:return:
|
|
643
|
+
:param tree: The dicttree to modify.
|
|
644
|
+
:param path: The list of keys representing the path to add the value to.
|
|
645
|
+
:param value: The value to add at the specified path.
|
|
646
|
+
:param create_prefix: Whether to create missing nodes along the path.
|
|
647
|
+
:param overwrite: Whether to overwrite an existing value at the path.
|
|
648
|
+
:return: The modified dicttree.
|
|
649
649
|
"""
|
|
650
650
|
if len(path) == 0:
|
|
651
651
|
raise ValueError("path cannot be empty")
|
|
@@ -673,10 +673,10 @@ def dicttree_remove[K, V](
|
|
|
673
673
|
Removes the value at the specified path in the dicttree. If ``recursive`` is ``True``, removes the entire subtree
|
|
674
674
|
at that path; otherwise, only removes the value, leaving any child nodes intact.
|
|
675
675
|
|
|
676
|
-
:param tree:
|
|
677
|
-
:param path:
|
|
678
|
-
:param recursive:
|
|
679
|
-
:return:
|
|
676
|
+
:param tree: The dicttree to modify.
|
|
677
|
+
:param path: The list of keys representing the path to remove the value from.
|
|
678
|
+
:param recursive: Whether to remove the entire subtree at the path.
|
|
679
|
+
:return: The modified dicttree.
|
|
680
680
|
"""
|
|
681
681
|
if len(path) == 0:
|
|
682
682
|
raise ValueError("path cannot be empty")
|
|
@@ -695,8 +695,8 @@ def dicttree_purge[K, V](tree: dicttree[K, V]) -> dicttree[K, V]:
|
|
|
695
695
|
"""
|
|
696
696
|
Recursively removes all nodes in the dicttree that have no value and no children.
|
|
697
697
|
|
|
698
|
-
:param tree:
|
|
699
|
-
:return:
|
|
698
|
+
:param tree: The dicttree to purge.
|
|
699
|
+
:return: The purged dicttree.
|
|
700
700
|
"""
|
|
701
701
|
for key in list(tree.keys()):
|
|
702
702
|
value, subtree = tree[key]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/config/config.cfg
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/csvutils/data.csv
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/resources/unittest/csvutils/data.tsv
RENAMED
|
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
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/__init__.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/argutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/config.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/csvutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/dbutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/dtutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/funcutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/jsonutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/logger.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/numutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/pathutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/randutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/retry.py
RENAMED
|
File without changes
|
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/strutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/testutils.py
RENAMED
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/src/plexus/common/utils/typeutils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{plexus_python_common-1.1.83 → plexus_python_common-1.1.84}/test/plexus_tests/common/__init__.py
RENAMED
|
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
|