plexus-python-common 1.0.42__tar.gz → 1.0.43__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.0.42 → plexus_python_common-1.0.43}/PKG-INFO +3 -1
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/pyproject.toml +4 -0
- plexus_python_common-1.0.43/src/plexus/common/resources/tags/__init__.py +35 -0
- plexus_python_common-1.0.43/src/plexus/common/resources/tags/universal.tagset.yaml +911 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/datautils.py +71 -14
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/PKG-INFO +3 -1
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/requires.txt +2 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/datautils_test.py +6 -1
- plexus_python_common-1.0.42/src/plexus/common/resources/tags/__init__.py +0 -20
- plexus_python_common-1.0.42/src/plexus/common/resources/tags/universal.tagset.yaml +0 -176
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/.editorconfig +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/.github/workflows/pr.yml +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/.github/workflows/push.yml +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/.gitignore +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/MANIFEST.in +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/README.md +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/VERSION +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/jsonutils/dummy.0.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/jsonutils/dummy.1.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/jsonutils/dummy.2.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.baz/file.bar.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.baz/file.foo.bar +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.baz/file.foo.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/dir.foo.bar/dir.foo.bar.baz/file.foo.bar.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.bar.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.bar +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/dir.foo.bar/file.foo.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/file.bar +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/file.baz +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils/dir.foo/file.foo +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils_archive/archive.compressed.zip +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/s3utils_archive/archive.uncompressed.zip +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/0-dummy +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/1-dummy +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/2-dummy +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.0.0.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.0.0.vol-0.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.0.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.1.1.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.1.1.vol-1.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.1.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.2.2.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.2.2.vol-2.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.2.jsonl +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.csv.part0 +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.csv.part1 +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.csv.part2 +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/resources/unittest/shutils/dummy.txt +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/setup.cfg +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/setup.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/__init__.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/carto/OSMFile.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/carto/OSMNode.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/carto/OSMTags.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/carto/OSMWay.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/carto/__init__.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/pose.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/proj.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/resources/__init__.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/__init__.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/apiutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/bagutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/config.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/dockerutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/jsonutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/ormutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/s3utils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/shutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/sqlutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/strutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus/common/utils/testutils.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/SOURCES.txt +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/dependency_links.txt +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/not-zip-safe +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/src/plexus_python_common.egg-info/top_level.txt +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/__init__.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/carto/osm_file_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/carto/osm_tags_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/pose_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/proj_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/bagutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/dockerutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/jsonutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/ormutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/s3utils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/shutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/strutils_test.py +0 -0
- {plexus_python_common-1.0.42 → plexus_python_common-1.0.43}/test/plexus_tests/common/utils/testutils_test.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plexus-python-common
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.43
|
|
4
4
|
Classifier: Programming Language :: Python :: 3
|
|
5
5
|
Classifier: Programming Language :: Python :: 3.12
|
|
6
6
|
Classifier: Programming Language :: Python :: 3.13
|
|
@@ -11,7 +11,9 @@ Requires-Dist: boto3<1.42,>=1.41
|
|
|
11
11
|
Requires-Dist: boto3-stubs[s3]<1.42,>=1.41
|
|
12
12
|
Requires-Dist: docker>=7.1
|
|
13
13
|
Requires-Dist: fsspec>=2025.10
|
|
14
|
+
Requires-Dist: jinja2>=3.0
|
|
14
15
|
Requires-Dist: lxml>=6.0
|
|
16
|
+
Requires-Dist: markdown-it-py>=4.0
|
|
15
17
|
Requires-Dist: numpy>=2.3
|
|
16
18
|
Requires-Dist: pydantic>=2.8
|
|
17
19
|
Requires-Dist: pygeodesy>=24.10
|
|
@@ -13,7 +13,9 @@ dev = [
|
|
|
13
13
|
"boto3-stubs[s3]>=1.41,<1.42",
|
|
14
14
|
"docker>=7.1",
|
|
15
15
|
"fsspec>=2025.10",
|
|
16
|
+
"jinja2>=3.0",
|
|
16
17
|
"lxml>=6.0",
|
|
18
|
+
"markdown-it-py>=4.0",
|
|
17
19
|
"numpy>=2.3",
|
|
18
20
|
"pydantic>=2.8",
|
|
19
21
|
"pygeodesy>=24.10",
|
|
@@ -57,7 +59,9 @@ dependencies = [
|
|
|
57
59
|
"boto3-stubs[s3]>=1.41,<1.42",
|
|
58
60
|
"docker>=7.1",
|
|
59
61
|
"fsspec>=2025.10",
|
|
62
|
+
"jinja2>=3.0",
|
|
60
63
|
"lxml>=6.0",
|
|
64
|
+
"markdown-it-py>=4.0",
|
|
61
65
|
"numpy>=2.3",
|
|
62
66
|
"pydantic>=2.8",
|
|
63
67
|
"pygeodesy>=24.10",
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
from pathlib import Path
|
|
2
|
+
|
|
3
|
+
import markdown_it as mdit
|
|
4
|
+
import yaml
|
|
5
|
+
from iker.common.utils.funcutils import singleton
|
|
6
|
+
from iker.common.utils.jsonutils import JsonObject
|
|
7
|
+
|
|
8
|
+
__all__ = [
|
|
9
|
+
"predefined_tagset_specs",
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@singleton
|
|
14
|
+
def predefined_tagset_specs() -> list[tuple[Path, JsonObject]]:
|
|
15
|
+
# Register simple constructors for !markdown tags yaml.load can parse them.
|
|
16
|
+
def markdown_constructor(loader: yaml.Loader, node: yaml.ScalarNode | yaml.MappingNode):
|
|
17
|
+
text = loader.construct_scalar(node)
|
|
18
|
+
tokens = mdit.MarkdownIt().parse(text)
|
|
19
|
+
for token in tokens:
|
|
20
|
+
if token.type.startswith("heading"):
|
|
21
|
+
raise ValueError("markdown content in tagset specifications cannot contain headings.")
|
|
22
|
+
return {
|
|
23
|
+
"type": "markdown",
|
|
24
|
+
"text": text,
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
yaml.SafeLoader.add_constructor("!markdown", markdown_constructor)
|
|
28
|
+
|
|
29
|
+
def load():
|
|
30
|
+
root = Path(__file__).parent
|
|
31
|
+
for path in root.glob("**/*.tagset.yaml"):
|
|
32
|
+
text = path.read_text(encoding="utf-8")
|
|
33
|
+
yield path, yaml.load(text, yaml.SafeLoader)
|
|
34
|
+
|
|
35
|
+
return list(load())
|