vcorelib 3.2.0__tar.gz → 3.2.2__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.
- {vcorelib-3.2.0/vcorelib.egg-info → vcorelib-3.2.2}/PKG-INFO +6 -6
- {vcorelib-3.2.0 → vcorelib-3.2.2}/README.md +2 -2
- {vcorelib-3.2.0 → vcorelib-3.2.2}/pyproject.toml +1 -1
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/__init__.py +2 -2
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/asyncio/__init__.py +7 -8
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/types.py +2 -4
- {vcorelib-3.2.0 → vcorelib-3.2.2/vcorelib.egg-info}/PKG-INFO +6 -6
- {vcorelib-3.2.0 → vcorelib-3.2.2}/LICENSE +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/setup.cfg +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/setup.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/tests/test_names.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/tests/test_python.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/args/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/args/newline.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/asyncio/cli.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/asyncio/subprocess.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dev_requirements.txt +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dict/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dict/cache.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dict/codec.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dict/config.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/dict/env.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/graph/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/graph/abc.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/graph/edge.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/graph/node.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/graph/port.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/abc.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/arbiter/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/arbiter/base.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/arbiter/context.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/arbiter/directory.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/archive/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/cache.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/decode.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/encode.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/fifo.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/file_writer.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/io/mapping.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/logging/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/logging/args.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/logging/time.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/average.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/buffer.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/rate/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/rate/limiter.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/analysis/weighted.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/constants.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/time.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/math/unit.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/names.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/namespace/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/namespace/base.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/namespace/mixin.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/base.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/context.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/find.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/hashing.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/info.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/paths/info_cache.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/platform/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/py.typed +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/python.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/requirements.txt +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/schemas/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/schemas/base.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/schemas/json.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/schemas/mixins.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/script/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/target/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/target/evaluation.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/target/expression.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/target/resolver.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/dict/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/dict/melder.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/manager.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/subprocess/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/subprocess/run.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/time/__init__.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib/task/time/sleep.py +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib.egg-info/SOURCES.txt +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib.egg-info/dependency_links.txt +0 -0
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib.egg-info/requires.txt +3 -3
- {vcorelib-3.2.0 → vcorelib-3.2.2}/vcorelib.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vcorelib
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: A collection of core Python utilities.
|
|
5
5
|
Home-page: https://github.com/vkottler/vcorelib
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -18,11 +18,11 @@ Requires-Python: >=3.11
|
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: ruamel.yaml
|
|
21
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: tomli-w
|
|
22
22
|
Requires-Dist: cerberus
|
|
23
|
-
Requires-Dist: tomli
|
|
24
23
|
Requires-Dist: fastjsonschema
|
|
25
|
-
Requires-Dist: tomli
|
|
24
|
+
Requires-Dist: tomli
|
|
25
|
+
Requires-Dist: importlib-resources
|
|
26
26
|
Provides-Extra: test
|
|
27
27
|
Requires-Dist: pylint; extra == "test"
|
|
28
28
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -44,11 +44,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
|
|
|
44
44
|
=====================================
|
|
45
45
|
generator=datazen
|
|
46
46
|
version=3.1.4
|
|
47
|
-
hash=
|
|
47
|
+
hash=a2a4ea5abcd1abefc7a1528728ba2500
|
|
48
48
|
=====================================
|
|
49
49
|
-->
|
|
50
50
|
|
|
51
|
-
# vcorelib ([3.2.
|
|
51
|
+
# vcorelib ([3.2.2](https://pypi.org/project/vcorelib/))
|
|
52
52
|
|
|
53
53
|
[](https://pypi.org/project/vcorelib/)
|
|
54
54
|

|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
=====================================
|
|
3
3
|
generator=datazen
|
|
4
4
|
version=3.1.4
|
|
5
|
-
hash=
|
|
5
|
+
hash=a2a4ea5abcd1abefc7a1528728ba2500
|
|
6
6
|
=====================================
|
|
7
7
|
-->
|
|
8
8
|
|
|
9
|
-
# vcorelib ([3.2.
|
|
9
|
+
# vcorelib ([3.2.2](https://pypi.org/project/vcorelib/))
|
|
10
10
|
|
|
11
11
|
[](https://pypi.org/project/vcorelib/)
|
|
12
12
|

|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# =====================================
|
|
2
2
|
# generator=datazen
|
|
3
3
|
# version=3.1.4
|
|
4
|
-
# hash=
|
|
4
|
+
# hash=a57b01f6e0ce3490014765c9a7325320
|
|
5
5
|
# =====================================
|
|
6
6
|
|
|
7
7
|
"""
|
|
@@ -10,7 +10,7 @@ Useful defaults and other package metadata.
|
|
|
10
10
|
|
|
11
11
|
DESCRIPTION = "A collection of core Python utilities."
|
|
12
12
|
PKG_NAME = "vcorelib"
|
|
13
|
-
VERSION = "3.2.
|
|
13
|
+
VERSION = "3.2.2"
|
|
14
14
|
|
|
15
15
|
# vcorelib-specific content.
|
|
16
16
|
DEFAULT_INDENT = 2
|
|
@@ -64,7 +64,11 @@ def normalize_eloop(
|
|
|
64
64
|
"""Get the active event loop if one isn't provided explicitly."""
|
|
65
65
|
|
|
66
66
|
if eloop is None:
|
|
67
|
-
|
|
67
|
+
try:
|
|
68
|
+
eloop = _asyncio.get_running_loop()
|
|
69
|
+
except RuntimeError:
|
|
70
|
+
eloop = _asyncio.new_event_loop()
|
|
71
|
+
_asyncio.set_event_loop(eloop)
|
|
68
72
|
return eloop
|
|
69
73
|
|
|
70
74
|
|
|
@@ -129,11 +133,7 @@ def event_setter(
|
|
|
129
133
|
LOG.info("Received signal %s.", rep)
|
|
130
134
|
|
|
131
135
|
# Ensure scheduling 'stop_sig.set' is a nominal reaction to this
|
|
132
|
-
# signal.
|
|
133
|
-
assert (
|
|
134
|
-
not stop_sig.is_set()
|
|
135
|
-
), "Stop signal is set but received signal {rep}!"
|
|
136
|
-
|
|
136
|
+
# signal.
|
|
137
137
|
normalize_eloop(eloop).call_soon_threadsafe(stop_sig.set)
|
|
138
138
|
|
|
139
139
|
return setter
|
|
@@ -177,8 +177,7 @@ def run_handle_stop(
|
|
|
177
177
|
return loop.run_until_complete(to_run)
|
|
178
178
|
except KeyboardInterrupt:
|
|
179
179
|
print("Keyboard interrupt.")
|
|
180
|
-
|
|
181
|
-
loop.call_soon_threadsafe(stop_sig.set)
|
|
180
|
+
stop_sig.set()
|
|
182
181
|
|
|
183
182
|
|
|
184
183
|
@contextmanager
|
|
@@ -137,8 +137,7 @@ class FileExtension(Enum):
|
|
|
137
137
|
"""
|
|
138
138
|
for file_ext in FileExtension:
|
|
139
139
|
if file_ext.is_archive():
|
|
140
|
-
|
|
141
|
-
yield candidate
|
|
140
|
+
yield from file_ext.candidates(path, exists_only)
|
|
142
141
|
|
|
143
142
|
@staticmethod
|
|
144
143
|
def data_candidates(
|
|
@@ -149,8 +148,7 @@ class FileExtension(Enum):
|
|
|
149
148
|
"""
|
|
150
149
|
for file_ext in FileExtension:
|
|
151
150
|
if file_ext.is_data():
|
|
152
|
-
|
|
153
|
-
yield candidate
|
|
151
|
+
yield from file_ext.candidates(path, exists_only)
|
|
154
152
|
|
|
155
153
|
|
|
156
154
|
class LoadResult(NamedTuple):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: vcorelib
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.2
|
|
4
4
|
Summary: A collection of core Python utilities.
|
|
5
5
|
Home-page: https://github.com/vkottler/vcorelib
|
|
6
6
|
Author: Vaughn Kottler
|
|
@@ -18,11 +18,11 @@ Requires-Python: >=3.11
|
|
|
18
18
|
Description-Content-Type: text/markdown
|
|
19
19
|
License-File: LICENSE
|
|
20
20
|
Requires-Dist: ruamel.yaml
|
|
21
|
-
Requires-Dist:
|
|
21
|
+
Requires-Dist: tomli-w
|
|
22
22
|
Requires-Dist: cerberus
|
|
23
|
-
Requires-Dist: tomli
|
|
24
23
|
Requires-Dist: fastjsonschema
|
|
25
|
-
Requires-Dist: tomli
|
|
24
|
+
Requires-Dist: tomli
|
|
25
|
+
Requires-Dist: importlib-resources
|
|
26
26
|
Provides-Extra: test
|
|
27
27
|
Requires-Dist: pylint; extra == "test"
|
|
28
28
|
Requires-Dist: flake8; extra == "test"
|
|
@@ -44,11 +44,11 @@ Requires-Dist: uvloop; (sys_platform != "win32" and sys_platform != "cygwin") an
|
|
|
44
44
|
=====================================
|
|
45
45
|
generator=datazen
|
|
46
46
|
version=3.1.4
|
|
47
|
-
hash=
|
|
47
|
+
hash=a2a4ea5abcd1abefc7a1528728ba2500
|
|
48
48
|
=====================================
|
|
49
49
|
-->
|
|
50
50
|
|
|
51
|
-
# vcorelib ([3.2.
|
|
51
|
+
# vcorelib ([3.2.2](https://pypi.org/project/vcorelib/))
|
|
52
52
|
|
|
53
53
|
[](https://pypi.org/project/vcorelib/)
|
|
54
54
|

|
|
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
|