corio 2.2.7__tar.gz → 2.3.0__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.
Files changed (170) hide show
  1. {corio-2.2.7 → corio-2.3.0}/PKG-INFO +1 -1
  2. {corio-2.2.7 → corio-2.3.0}/corio/path/path.py +1 -53
  3. {corio-2.2.7 → corio-2.3.0}/corio/pyproject.package.toml +8 -3
  4. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_path.py +0 -21
  5. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/PKG-INFO +1 -1
  6. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/SOURCES.txt +1 -1
  7. {corio-2.2.7 → corio-2.3.0}/pyproject.toml +8 -3
  8. {corio-2.2.7 → corio-2.3.0}/LICENSE +0 -0
  9. {corio-2.2.7 → corio-2.3.0}/README.md +0 -0
  10. {corio-2.2.7 → corio-2.3.0}/corio/__init__.py +0 -0
  11. {corio-2.2.7 → corio-2.3.0}/corio/ai/__init__.py +0 -0
  12. {corio-2.2.7 → corio-2.3.0}/corio/ai/agentic.py +0 -0
  13. {corio-2.2.7 → corio-2.3.0}/corio/ai/infer.py +0 -0
  14. {corio-2.2.7 → corio-2.3.0}/corio/aio.py +0 -0
  15. {corio-2.2.7 → corio-2.3.0}/corio/api.py +0 -0
  16. {corio-2.2.7 → corio-2.3.0}/corio/augmentation.py +0 -0
  17. {corio-2.2.7 → corio-2.3.0}/corio/av.py +0 -0
  18. {corio-2.2.7 → corio-2.3.0}/corio/caching.py +0 -0
  19. {corio-2.2.7 → corio-2.3.0}/corio/constants.py +0 -0
  20. {corio-2.2.7 → corio-2.3.0}/corio/context.py +0 -0
  21. {corio-2.2.7 → corio-2.3.0}/corio/dataclass.py +0 -0
  22. {corio-2.2.7 → corio-2.3.0}/corio/datatype.py +0 -0
  23. {corio-2.2.7 → corio-2.3.0}/corio/db/__init__.py +0 -0
  24. {corio-2.2.7 → corio-2.3.0}/corio/db/document.py +0 -0
  25. {corio-2.2.7 → corio-2.3.0}/corio/debug.py +0 -0
  26. {corio-2.2.7 → corio-2.3.0}/corio/dm.py +0 -0
  27. {corio-2.2.7 → corio-2.3.0}/corio/dns/__init__.py +0 -0
  28. {corio-2.2.7 → corio-2.3.0}/corio/dns/client.py +0 -0
  29. {corio-2.2.7 → corio-2.3.0}/corio/dns/dm.py +0 -0
  30. {corio-2.2.7 → corio-2.3.0}/corio/dns/proxy.py +0 -0
  31. {corio-2.2.7 → corio-2.3.0}/corio/dns/server.py +0 -0
  32. {corio-2.2.7 → corio-2.3.0}/corio/docker/__init__.py +0 -0
  33. {corio-2.2.7 → corio-2.3.0}/corio/dt.py +0 -0
  34. {corio-2.2.7 → corio-2.3.0}/corio/encrypt.py +0 -0
  35. {corio-2.2.7 → corio-2.3.0}/corio/entrypoint.py +0 -0
  36. {corio-2.2.7 → corio-2.3.0}/corio/env.py +0 -0
  37. {corio-2.2.7 → corio-2.3.0}/corio/function.py +0 -0
  38. {corio-2.2.7 → corio-2.3.0}/corio/google_api.py +0 -0
  39. {corio-2.2.7 → corio-2.3.0}/corio/ha/__init__.py +0 -0
  40. {corio-2.2.7 → corio-2.3.0}/corio/ha/constants.py +0 -0
  41. {corio-2.2.7 → corio-2.3.0}/corio/ha/core.py +0 -0
  42. {corio-2.2.7 → corio-2.3.0}/corio/ha/supervisor.py +0 -0
  43. {corio-2.2.7 → corio-2.3.0}/corio/ha/utils.py +0 -0
  44. {corio-2.2.7 → corio-2.3.0}/corio/hash.py +0 -0
  45. {corio-2.2.7 → corio-2.3.0}/corio/hfh.py +0 -0
  46. {corio-2.2.7 → corio-2.3.0}/corio/hook.py +0 -0
  47. {corio-2.2.7 → corio-2.3.0}/corio/https.py +0 -0
  48. {corio-2.2.7 → corio-2.3.0}/corio/infra/__init__.py +0 -0
  49. {corio-2.2.7 → corio-2.3.0}/corio/infra/api.py +0 -0
  50. {corio-2.2.7 → corio-2.3.0}/corio/infra/incrementor_pyproject.py +0 -0
  51. {corio-2.2.7 → corio-2.3.0}/corio/infra/project.py +0 -0
  52. {corio-2.2.7 → corio-2.3.0}/corio/infra/releaser.py +0 -0
  53. {corio-2.2.7 → corio-2.3.0}/corio/infra/repository.py +0 -0
  54. {corio-2.2.7 → corio-2.3.0}/corio/infra/stack.py +0 -0
  55. {corio-2.2.7 → corio-2.3.0}/corio/inherit.py +0 -0
  56. {corio-2.2.7 → corio-2.3.0}/corio/inspection.py +0 -0
  57. {corio-2.2.7 → corio-2.3.0}/corio/interface/__init__.py +0 -0
  58. {corio-2.2.7 → corio-2.3.0}/corio/interface/context.py +0 -0
  59. {corio-2.2.7 → corio-2.3.0}/corio/interface/controls.py +0 -0
  60. {corio-2.2.7 → corio-2.3.0}/corio/interface/interface.py +0 -0
  61. {corio-2.2.7 → corio-2.3.0}/corio/iterator.py +0 -0
  62. {corio-2.2.7 → corio-2.3.0}/corio/jsn.py +0 -0
  63. {corio-2.2.7 → corio-2.3.0}/corio/json_fix.py +0 -0
  64. {corio-2.2.7 → corio-2.3.0}/corio/logs.py +0 -0
  65. {corio-2.2.7 → corio-2.3.0}/corio/markup.py +0 -0
  66. {corio-2.2.7 → corio-2.3.0}/corio/merging.py +0 -0
  67. {corio-2.2.7 → corio-2.3.0}/corio/metric.py +0 -0
  68. {corio-2.2.7 → corio-2.3.0}/corio/mqtt.py +0 -0
  69. {corio-2.2.7 → corio-2.3.0}/corio/name.py +0 -0
  70. {corio-2.2.7 → corio-2.3.0}/corio/net.py +0 -0
  71. {corio-2.2.7 → corio-2.3.0}/corio/netrc.py +0 -0
  72. {corio-2.2.7 → corio-2.3.0}/corio/openai.py +0 -0
  73. {corio-2.2.7 → corio-2.3.0}/corio/parallel.py +0 -0
  74. {corio-2.2.7 → corio-2.3.0}/corio/path/__init__.py +0 -0
  75. {corio-2.2.7 → corio-2.3.0}/corio/path/app.py +0 -0
  76. {corio-2.2.7 → corio-2.3.0}/corio/path/type.py +0 -0
  77. {corio-2.2.7 → corio-2.3.0}/corio/paths.py +0 -0
  78. {corio-2.2.7 → corio-2.3.0}/corio/patterns.py +0 -0
  79. {corio-2.2.7 → corio-2.3.0}/corio/pdf.py +0 -0
  80. {corio-2.2.7 → corio-2.3.0}/corio/plat.py +0 -0
  81. {corio-2.2.7 → corio-2.3.0}/corio/process.py +0 -0
  82. {corio-2.2.7 → corio-2.3.0}/corio/profiling.py +0 -0
  83. {corio-2.2.7 → corio-2.3.0}/corio/rand.py +0 -0
  84. {corio-2.2.7 → corio-2.3.0}/corio/sec.py +0 -0
  85. {corio-2.2.7 → corio-2.3.0}/corio/semantic.py +0 -0
  86. {corio-2.2.7 → corio-2.3.0}/corio/sets.py +0 -0
  87. {corio-2.2.7 → corio-2.3.0}/corio/setup/__init__.py +0 -0
  88. {corio-2.2.7 → corio-2.3.0}/corio/spaces.py +0 -0
  89. {corio-2.2.7 → corio-2.3.0}/corio/strings.py +0 -0
  90. {corio-2.2.7 → corio-2.3.0}/corio/tabular.py +0 -0
  91. {corio-2.2.7 → corio-2.3.0}/corio/tests/__init__.py +0 -0
  92. {corio-2.2.7 → corio-2.3.0}/corio/tests/conftest.py +0 -0
  93. {corio-2.2.7 → corio-2.3.0}/corio/tests/helpers.py +0 -0
  94. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_caching.py +0 -0
  95. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_datatype.py +0 -0
  96. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_dns.py +0 -0
  97. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_dt.py +0 -0
  98. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_encrypt.py +0 -0
  99. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_env.py +0 -0
  100. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_hash.py +0 -0
  101. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_hook.py +0 -0
  102. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_infra.py +0 -0
  103. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_iterator.py +0 -0
  104. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_jsn.py +0 -0
  105. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_name.py +0 -0
  106. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_patterns.py +0 -0
  107. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_rand.py +0 -0
  108. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_strings.py +0 -0
  109. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_toml.py +0 -0
  110. {corio-2.2.7 → corio-2.3.0}/corio/tests/test_tools.py +0 -0
  111. /corio-2.2.7/corio/tests/test_yaml.py → /corio-2.3.0/corio/tests/test_yml.py +0 -0
  112. {corio-2.2.7 → corio-2.3.0}/corio/tokenization.py +0 -0
  113. {corio-2.2.7 → corio-2.3.0}/corio/toml.py +0 -0
  114. {corio-2.2.7 → corio-2.3.0}/corio/tools.py +0 -0
  115. {corio-2.2.7 → corio-2.3.0}/corio/unicode.py +0 -0
  116. {corio-2.2.7 → corio-2.3.0}/corio/version/__init__.py +0 -0
  117. {corio-2.2.7 → corio-2.3.0}/corio/version/version.py +0 -0
  118. {corio-2.2.7 → corio-2.3.0}/corio/webhook.py +0 -0
  119. {corio-2.2.7 → corio-2.3.0}/corio/yml.py +0 -0
  120. {corio-2.2.7 → corio-2.3.0}/corio/youtube.py +0 -0
  121. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/dependency_links.txt +0 -0
  122. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/entry_points.txt +0 -0
  123. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/requires.txt +0 -0
  124. {corio-2.2.7 → corio-2.3.0}/corio.egg-info/top_level.txt +0 -0
  125. {corio-2.2.7 → corio-2.3.0}/scripts/add-service +0 -0
  126. {corio-2.2.7 → corio-2.3.0}/scripts/add-user-path +0 -0
  127. {corio-2.2.7 → corio-2.3.0}/scripts/add-ve-shell +0 -0
  128. {corio-2.2.7 → corio-2.3.0}/scripts/apt-essentials +0 -0
  129. {corio-2.2.7 → corio-2.3.0}/scripts/apt-headless +0 -0
  130. {corio-2.2.7 → corio-2.3.0}/scripts/auth-token +0 -0
  131. {corio-2.2.7 → corio-2.3.0}/scripts/compose-update +0 -0
  132. {corio-2.2.7 → corio-2.3.0}/scripts/compress-dir +0 -0
  133. {corio-2.2.7 → corio-2.3.0}/scripts/cru +0 -0
  134. {corio-2.2.7 → corio-2.3.0}/scripts/docker-build-bases +0 -0
  135. {corio-2.2.7 → corio-2.3.0}/scripts/docker-build-bases-dev +0 -0
  136. {corio-2.2.7 → corio-2.3.0}/scripts/docker-install-deps +0 -0
  137. {corio-2.2.7 → corio-2.3.0}/scripts/docker-install-prod +0 -0
  138. {corio-2.2.7 → corio-2.3.0}/scripts/docker-prune +0 -0
  139. {corio-2.2.7 → corio-2.3.0}/scripts/docker-sandbox +0 -0
  140. {corio-2.2.7 → corio-2.3.0}/scripts/docker-sandbox-init +0 -0
  141. {corio-2.2.7 → corio-2.3.0}/scripts/docs-deploy +0 -0
  142. {corio-2.2.7 → corio-2.3.0}/scripts/download +0 -0
  143. {corio-2.2.7 → corio-2.3.0}/scripts/encrypt-secrets +0 -0
  144. {corio-2.2.7 → corio-2.3.0}/scripts/fmtr-test-script +0 -0
  145. {corio-2.2.7 → corio-2.3.0}/scripts/git-clone +0 -0
  146. {corio-2.2.7 → corio-2.3.0}/scripts/ha-addon-launch +0 -0
  147. {corio-2.2.7 → corio-2.3.0}/scripts/infra +0 -0
  148. {corio-2.2.7 → corio-2.3.0}/scripts/install-browser +0 -0
  149. {corio-2.2.7 → corio-2.3.0}/scripts/install-docker +0 -0
  150. {corio-2.2.7 → corio-2.3.0}/scripts/install-ts +0 -0
  151. {corio-2.2.7 → corio-2.3.0}/scripts/install-ys +0 -0
  152. {corio-2.2.7 → corio-2.3.0}/scripts/mirror-dir +0 -0
  153. {corio-2.2.7 → corio-2.3.0}/scripts/opt-dev-init +0 -0
  154. {corio-2.2.7 → corio-2.3.0}/scripts/parse-args +0 -0
  155. {corio-2.2.7 → corio-2.3.0}/scripts/pypi-check +0 -0
  156. {corio-2.2.7 → corio-2.3.0}/scripts/pypi-reserve +0 -0
  157. {corio-2.2.7 → corio-2.3.0}/scripts/run-script +0 -0
  158. {corio-2.2.7 → corio-2.3.0}/scripts/run-tests +0 -0
  159. {corio-2.2.7 → corio-2.3.0}/scripts/set-password +0 -0
  160. {corio-2.2.7 → corio-2.3.0}/scripts/set-secure-path +0 -0
  161. {corio-2.2.7 → corio-2.3.0}/scripts/set-user-sudo +0 -0
  162. {corio-2.2.7 → corio-2.3.0}/scripts/snips-install +0 -0
  163. {corio-2.2.7 → corio-2.3.0}/scripts/ssh-auth +0 -0
  164. {corio-2.2.7 → corio-2.3.0}/scripts/ssh-serve +0 -0
  165. {corio-2.2.7 → corio-2.3.0}/scripts/tasmota-config +0 -0
  166. {corio-2.2.7 → corio-2.3.0}/scripts/tasmota-flash +0 -0
  167. {corio-2.2.7 → corio-2.3.0}/scripts/tasmota-terminal +0 -0
  168. {corio-2.2.7 → corio-2.3.0}/scripts/vlc-tn +0 -0
  169. {corio-2.2.7 → corio-2.3.0}/scripts/vm-launch +0 -0
  170. {corio-2.2.7 → corio-2.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corio
3
- Version: 2.2.7
3
+ Version: 2.3.0
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Author-email: Frontmatter AI <innovative.fowler@mask.pro.fmtr.dev>
6
6
  License-Expression: Apache-2.0
@@ -3,7 +3,6 @@ from __future__ import annotations
3
3
  import os
4
4
  import re
5
5
  import site
6
- import subprocess
7
6
  import typing
8
7
  from contextlib import contextmanager
9
8
  from dataclasses import dataclass, field
@@ -15,70 +14,19 @@ from typing import Self, Tuple, Callable
15
14
  from typing import Union, Any
16
15
 
17
16
  from corio.constants import Constants
18
- from corio.plat import is_wsl
19
17
  from corio.strings import join_natural
20
18
 
21
19
  if typing.TYPE_CHECKING:
22
20
  from datetime import datetime, timezone
23
21
 
24
22
 
25
- WIN_PATH_PATTERN = r'''([a-z]:(\\|$)|\\\\)'''
26
- WIN_PATH_RX = re.compile(WIN_PATH_PATTERN, flags=re.IGNORECASE)
27
-
28
-
29
- class WSLPathConversionError(EnvironmentError):
30
- """
31
-
32
- Error to raise if WSL path conversion fails.
33
-
34
- """
35
-
36
-
37
23
  class Path(type(Path())):
38
24
  """
39
25
 
40
- Custom path object aware of WSL paths, with some additional read/write methods
26
+ Custom path object with additional read/write methods.
41
27
 
42
28
  """
43
29
 
44
- def __new__(cls, *segments: Union[str, Path], convert_wsl: bool = True, **kwargs):
45
- """
46
-
47
- Intercept arguments to detect whether WSL conversion is required.
48
-
49
- """
50
- if convert_wsl and len(segments) == 1 and is_wsl() and cls.is_abs_win_path(*segments):
51
- segments = [cls.from_wsl(*segments)]
52
-
53
- return super().__new__(cls, *segments, **kwargs)
54
-
55
- @classmethod
56
- def is_abs_win_path(cls, path: Union[str, Path]) -> bool:
57
- """
58
-
59
- Infer if the current path is an absolute Windows path.
60
-
61
- """
62
- path = str(path)
63
- return bool(WIN_PATH_RX.match(path))
64
-
65
- @classmethod
66
- def from_wsl(cls, path: Union[str, Path]) -> bool: # pragma: no cover
67
- """
68
-
69
- Call `wslpath` to convert the path to its Unix equivalent.
70
-
71
- """
72
- result = subprocess.run(['wslpath', '-u', str(path)], capture_output=True, text=True)
73
-
74
- if result.returncode:
75
- msg = f'Could not convert Windows path to Unix equivalent: "{path}"'
76
- raise WSLPathConversionError(msg)
77
-
78
- path_wsl = result.stdout.strip()
79
- path_wsl = cls(path_wsl, convert_wsl=False)
80
- return path_wsl
81
-
82
30
  @classmethod
83
31
  def package(cls) -> 'Path':
84
32
  """
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "corio"
3
- version = "2.2.7"
3
+ version = "2.3.0"
4
4
  description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
5
5
  readme = "README.md"
6
6
  dependencies = []
@@ -83,7 +83,7 @@ Homepage = "https://github.com/fmtr/corio"
83
83
  corio = "corio.entrypoint:main"
84
84
 
85
85
  [tool.corio.metadata]
86
- version = "2.2.7"
86
+ version = "2.3.0"
87
87
  port = 0
88
88
  base = "python"
89
89
  description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
@@ -177,7 +177,7 @@ corio = ["pyproject.package.toml"]
177
177
 
178
178
  [tool.tox]
179
179
  requires = ["tox>=4.22", "tox-uv>=1"]
180
- env_list = ["caching", "datatype", "dns", "dt", "encrypt", "env", "hash", "hook", "infra", "iterator", "jsn", "name", "path", "patterns", "rand", "strings", "toml", "tools"]
180
+ env_list = ["caching", "datatype", "dns", "dt", "encrypt", "env", "hash", "hook", "infra", "iterator", "jsn", "name", "path", "patterns", "rand", "strings", "toml", "tools", "yml"]
181
181
 
182
182
  [tool.tox.env.caching]
183
183
  description = "Run caching tests."
@@ -269,6 +269,11 @@ description = "Run tools tests."
269
269
  deps = ["pytest", "pytest-cov"]
270
270
  commands = [["python", "-m", "pytest", "-q", "corio/tests/test_tools.py"]]
271
271
 
272
+ [tool.tox.env.yml]
273
+ description = "Run yml tests."
274
+ deps = ["pytest", "pytest-cov", "pyyaml", "yamlscript"]
275
+ commands = [["python", "-m", "pytest", "-q", "corio/tests/test_yml.py"]]
276
+
272
277
  [build-system]
273
278
  requires = ["setuptools>=82", "wheel"]
274
279
  build-backend = "setuptools.build_meta"
@@ -19,27 +19,6 @@ def test_path_args(args):
19
19
  assert actual == expected
20
20
 
21
21
 
22
- @pytest.mark.parametrize(
23
- 'raw, expected',
24
- [
25
- (r'C:\test', True),
26
- (r'd:\test', True),
27
- (r'u:', True),
28
- (r'x:\test\file.exe', True),
29
- (r'\\wsl.localhost\shell\bin', True),
30
- (r'/opt/data', False),
31
- (r'/bin/usr/python', False),
32
- (r'test/path', False),
33
- (r'test\path', False),
34
- ]
35
- )
36
- def test_path_is_abs_win_path(raw, expected):
37
- actual = path.Path.is_abs_win_path(raw)
38
- assert actual == expected
39
- actual = path.Path.is_abs_win_path(path.Path(raw, convert_wsl=False))
40
- assert actual == expected
41
-
42
-
43
22
  def test_path_module():
44
23
  """
45
24
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: corio
3
- Version: 2.2.7
3
+ Version: 2.3.0
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Author-email: Frontmatter AI <innovative.fowler@mask.pro.fmtr.dev>
6
6
  License-Expression: Apache-2.0
@@ -118,7 +118,7 @@ corio/tests/test_rand.py
118
118
  corio/tests/test_strings.py
119
119
  corio/tests/test_toml.py
120
120
  corio/tests/test_tools.py
121
- corio/tests/test_yaml.py
121
+ corio/tests/test_yml.py
122
122
  corio/version/__init__.py
123
123
  corio/version/version.py
124
124
  scripts/add-service
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "corio"
3
- version = "2.2.7"
3
+ version = "2.3.0"
4
4
  description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
5
5
  readme = "README.md"
6
6
  dependencies = []
@@ -83,7 +83,7 @@ Homepage = "https://github.com/fmtr/corio"
83
83
  corio = "corio.entrypoint:main"
84
84
 
85
85
  [tool.corio.metadata]
86
- version = "2.2.7"
86
+ version = "2.3.0"
87
87
  port = 0
88
88
  base = "python"
89
89
  description = "Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML"
@@ -177,7 +177,7 @@ corio = ["pyproject.package.toml"]
177
177
 
178
178
  [tool.tox]
179
179
  requires = ["tox>=4.22", "tox-uv>=1"]
180
- env_list = ["caching", "datatype", "dns", "dt", "encrypt", "env", "hash", "hook", "infra", "iterator", "jsn", "name", "path", "patterns", "rand", "strings", "toml", "tools"]
180
+ env_list = ["caching", "datatype", "dns", "dt", "encrypt", "env", "hash", "hook", "infra", "iterator", "jsn", "name", "path", "patterns", "rand", "strings", "toml", "tools", "yml"]
181
181
 
182
182
  [tool.tox.env.caching]
183
183
  description = "Run caching tests."
@@ -269,6 +269,11 @@ description = "Run tools tests."
269
269
  deps = ["pytest", "pytest-cov"]
270
270
  commands = [["python", "-m", "pytest", "-q", "corio/tests/test_tools.py"]]
271
271
 
272
+ [tool.tox.env.yml]
273
+ description = "Run yml tests."
274
+ deps = ["pytest", "pytest-cov", "pyyaml", "yamlscript"]
275
+ commands = [["python", "-m", "pytest", "-q", "corio/tests/test_yml.py"]]
276
+
272
277
  [build-system]
273
278
  requires = ["setuptools>=82", "wheel"]
274
279
  build-backend = "setuptools.build_meta"
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
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