fmtr.tools 1.1.13__tar.gz → 1.1.15__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.

Potentially problematic release.


This version of fmtr.tools might be problematic. Click here for more details.

Files changed (76) hide show
  1. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/PKG-INFO +45 -39
  2. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/README.md +2 -1
  3. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/ai_tools/inference_tools.py +2 -1
  4. fmtr_tools-1.1.15/fmtr/tools/path_tools/__init__.py +12 -0
  5. fmtr_tools-1.1.13/fmtr/tools/path_tools/base.py → fmtr_tools-1.1.15/fmtr/tools/path_tools/path_tools.py +16 -3
  6. fmtr_tools-1.1.15/fmtr/tools/path_tools/type_path_tools.py +3 -0
  7. fmtr_tools-1.1.15/fmtr/tools/version +1 -0
  8. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/PKG-INFO +45 -39
  9. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/SOURCES.txt +3 -2
  10. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/requires.txt +43 -37
  11. fmtr_tools-1.1.13/fmtr/tools/path_tools/__init__.py +0 -7
  12. fmtr_tools-1.1.13/fmtr/tools/version +0 -1
  13. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/LICENSE +0 -0
  14. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/__init__.py +0 -0
  15. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/ai_tools/__init__.py +0 -0
  16. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  17. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/api_tools.py +0 -0
  18. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/async_tools.py +0 -0
  19. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/augmentation_tools.py +0 -0
  20. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/caching_tools.py +0 -0
  21. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/console_script_tools.py +0 -0
  22. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/constants.py +0 -0
  23. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/data_modelling_tools.py +0 -0
  24. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/dataclass_tools.py +0 -0
  25. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/datatype_tools.py +0 -0
  26. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/debugging_tools.py +0 -0
  27. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/docker_tools.py +0 -0
  28. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/environment_tools.py +0 -0
  29. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/function_tools.py +0 -0
  30. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/google_api_tools.py +0 -0
  31. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/hash_tools.py +0 -0
  32. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/hfh_tools.py +0 -0
  33. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/html_tools.py +0 -0
  34. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/import_tools.py +0 -0
  35. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/inspection_tools.py +0 -0
  36. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/interface_tools.py +0 -0
  37. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/iterator_tools.py +0 -0
  38. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/json_fix_tools.py +0 -0
  39. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/json_tools.py +0 -0
  40. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/logging_tools.py +0 -0
  41. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/merging_tools.py +0 -0
  42. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/metric_tools.py +0 -0
  43. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/name_tools.py +0 -0
  44. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/netrc_tools.py +0 -0
  45. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/openai_tools.py +0 -0
  46. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/packaging_tools.py +0 -0
  47. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/parallel_tools.py +0 -0
  48. /fmtr_tools-1.1.13/fmtr/tools/path_tools/app.py → /fmtr_tools-1.1.15/fmtr/tools/path_tools/app_path_tools.py +0 -0
  49. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/pdf_tools.py +0 -0
  50. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/platform_tools.py +0 -0
  51. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/process_tools.py +0 -0
  52. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/profiling_tools.py +0 -0
  53. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/random_tools.py +0 -0
  54. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/semantic_tools.py +0 -0
  55. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/settings_tools.py +0 -0
  56. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/spaces_tools.py +0 -0
  57. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/string_tools.py +0 -0
  58. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tabular_tools.py +0 -0
  59. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/__init__.py +0 -0
  60. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/conftest.py +0 -0
  61. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/helpers.py +0 -0
  62. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_datatype.py +0 -0
  63. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_environment.py +0 -0
  64. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_json.py +0 -0
  65. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_path.py +0 -0
  66. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_yaml.py +0 -0
  67. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tokenization_tools.py +0 -0
  68. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/tools.py +0 -0
  69. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/unicode_tools.py +0 -0
  70. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/version_tools.py +0 -0
  71. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr/tools/yaml_tools.py +0 -0
  72. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  73. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/entry_points.txt +0 -0
  74. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/top_level.txt +0 -0
  75. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/setup.cfg +0 -0
  76. {fmtr_tools-1.1.13 → fmtr_tools-1.1.15}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.13
3
+ Version: 1.1.15
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -9,54 +9,57 @@ License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Provides-Extra: test
12
- Requires-Dist: json_repair; extra == "test"
13
- Requires-Dist: openpyxl; extra == "test"
12
+ Requires-Dist: google-auth-oauthlib; extra == "test"
13
+ Requires-Dist: logfire; extra == "test"
14
+ Requires-Dist: torchvision; extra == "test"
15
+ Requires-Dist: uvicorn[standard]; extra == "test"
16
+ Requires-Dist: tinynetrc; extra == "test"
17
+ Requires-Dist: google-auth; extra == "test"
18
+ Requires-Dist: openai; extra == "test"
19
+ Requires-Dist: bokeh; extra == "test"
20
+ Requires-Dist: appdirs; extra == "test"
21
+ Requires-Dist: flet-webview; extra == "test"
22
+ Requires-Dist: pytest-cov; extra == "test"
14
23
  Requires-Dist: google-api-python-client; extra == "test"
15
- Requires-Dist: yamlscript; extra == "test"
16
- Requires-Dist: pymupdf; extra == "test"
17
- Requires-Dist: tokenizers; extra == "test"
18
- Requires-Dist: torchaudio; extra == "test"
19
- Requires-Dist: faker; extra == "test"
24
+ Requires-Dist: diskcache; extra == "test"
25
+ Requires-Dist: openpyxl; extra == "test"
20
26
  Requires-Dist: huggingface_hub; extra == "test"
21
- Requires-Dist: google-auth; extra == "test"
22
- Requires-Dist: google-auth-oauthlib; extra == "test"
23
- Requires-Dist: pydantic-settings; extra == "test"
24
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
25
- Requires-Dist: fastapi; extra == "test"
26
- Requires-Dist: contexttimer; extra == "test"
27
- Requires-Dist: transformers[sentencepiece]; extra == "test"
27
+ Requires-Dist: semver; extra == "test"
28
28
  Requires-Dist: dask[bag]; extra == "test"
29
- Requires-Dist: sre_yield; extra == "test"
30
- Requires-Dist: pydevd-pycharm; extra == "test"
31
- Requires-Dist: flet-webview; extra == "test"
29
+ Requires-Dist: sentence_transformers; extra == "test"
30
+ Requires-Dist: contexttimer; extra == "test"
31
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
32
+ Requires-Dist: flet-video; extra == "test"
33
+ Requires-Dist: tabulate; extra == "test"
34
+ Requires-Dist: faker; extra == "test"
32
35
  Requires-Dist: deepmerge; extra == "test"
36
+ Requires-Dist: sre_yield; extra == "test"
37
+ Requires-Dist: docker; extra == "test"
33
38
  Requires-Dist: pandas; extra == "test"
34
- Requires-Dist: pydantic; extra == "test"
35
- Requires-Dist: openai; extra == "test"
36
39
  Requires-Dist: pymupdf4llm; extra == "test"
37
- Requires-Dist: appdirs; extra == "test"
38
- Requires-Dist: torchvision; extra == "test"
39
- Requires-Dist: logfire; extra == "test"
40
- Requires-Dist: tinynetrc; extra == "test"
41
- Requires-Dist: flet[all]; extra == "test"
40
+ Requires-Dist: json_repair; extra == "test"
41
+ Requires-Dist: distributed; extra == "test"
42
+ Requires-Dist: pymupdf; extra == "test"
42
43
  Requires-Dist: html2text; extra == "test"
43
- Requires-Dist: google-auth-httplib2; extra == "test"
44
- Requires-Dist: docker; extra == "test"
45
- Requires-Dist: Unidecode; extra == "test"
46
- Requires-Dist: diskcache; extra == "test"
47
- Requires-Dist: uvicorn[standard]; extra == "test"
48
- Requires-Dist: bokeh; extra == "test"
49
- Requires-Dist: sentence_transformers; extra == "test"
50
- Requires-Dist: tabulate; extra == "test"
51
- Requires-Dist: ollama; extra == "test"
44
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
45
+ Requires-Dist: filetype; extra == "test"
52
46
  Requires-Dist: logfire[fastapi]; extra == "test"
47
+ Requires-Dist: ollama; extra == "test"
48
+ Requires-Dist: tokenizers; extra == "test"
49
+ Requires-Dist: Unidecode; extra == "test"
50
+ Requires-Dist: google-auth-httplib2; extra == "test"
51
+ Requires-Dist: flet[all]; extra == "test"
52
+ Requires-Dist: torchaudio; extra == "test"
53
+ Requires-Dist: pyyaml; extra == "test"
54
+ Requires-Dist: pydantic-settings; extra == "test"
55
+ Requires-Dist: yamlscript; extra == "test"
56
+ Requires-Dist: fastapi; extra == "test"
57
+ Requires-Dist: pydevd-pycharm; extra == "test"
58
+ Requires-Dist: pydantic; extra == "test"
53
59
  Requires-Dist: peft; extra == "test"
54
- Requires-Dist: flet-video; extra == "test"
55
- Requires-Dist: semver; extra == "test"
56
- Requires-Dist: pytest-cov; extra == "test"
57
- Requires-Dist: distributed; extra == "test"
58
60
  Provides-Extra: yaml
59
61
  Requires-Dist: yamlscript; extra == "yaml"
62
+ Requires-Dist: pyyaml; extra == "yaml"
60
63
  Provides-Extra: logging
61
64
  Requires-Dist: logfire; extra == "logging"
62
65
  Requires-Dist: semver; extra == "logging"
@@ -152,6 +155,8 @@ Requires-Dist: pydantic-settings; extra == "sets"
152
155
  Requires-Dist: pydantic; extra == "sets"
153
156
  Provides-Extra: path-app
154
157
  Requires-Dist: appdirs; extra == "path-app"
158
+ Provides-Extra: path-type
159
+ Requires-Dist: filetype; extra == "path-type"
155
160
  Dynamic: author
156
161
  Dynamic: author-email
157
162
  Dynamic: description
@@ -286,9 +291,10 @@ The included modules, plus any extra requirements, are as follows:
286
291
  - `tools.Path`: Enhanced
287
292
  `pathlib.Path` object with additional functionality for Windows-to-Unix path conversion in WSL environments, reading/writing JSON and YAML files with proper encoding.
288
293
  - Extras: None
294
+ -
289
295
  `tools.PackagePaths` class for managing canonical package paths, like settings files, artifact directories, version files.
290
296
  - Extras: None
291
- `tools.AppPaths` Wrapper around `appdirs` for application paths.
297
+ - `tools.AppPaths` Wrapper around `appdirs` for application paths.
292
298
  - Extras: `paths.app`
293
299
  - `tools.platform`: Detecting if host is WSL, Docker etc.
294
300
  - Extras: None
@@ -122,9 +122,10 @@ The included modules, plus any extra requirements, are as follows:
122
122
  - `tools.Path`: Enhanced
123
123
  `pathlib.Path` object with additional functionality for Windows-to-Unix path conversion in WSL environments, reading/writing JSON and YAML files with proper encoding.
124
124
  - Extras: None
125
+ -
125
126
  `tools.PackagePaths` class for managing canonical package paths, like settings files, artifact directories, version files.
126
127
  - Extras: None
127
- `tools.AppPaths` Wrapper around `appdirs` for application paths.
128
+ - `tools.AppPaths` Wrapper around `appdirs` for application paths.
128
129
  - Extras: `paths.app`
129
130
  - `tools.platform`: Detecting if host is WSL, Docker etc.
130
131
  - Extras: None
@@ -266,6 +266,7 @@ class BulkInferenceManager:
266
266
  yield ids_output
267
267
 
268
268
  except RuntimeError as exception:
269
+ # Instability causes CUBLAS_STATUS in str(exception) too
269
270
  if "CUDA out of memory" in str(exception):
270
271
  logger.warning(f"Ran out of memory. Reducing batch size: {repr(exception)}")
271
272
  batcher.reduce()
@@ -412,5 +413,5 @@ def tst_tool():
412
413
 
413
414
 
414
415
  if __name__ == '__main__':
415
- texts = tst_tool()
416
+ texts = tst()
416
417
  texts
@@ -0,0 +1,12 @@
1
+ from fmtr.tools.import_tools import MissingExtraMockModule
2
+ from fmtr.tools.path_tools.path_tools import Path, PackagePaths
3
+
4
+ try:
5
+ from fmtr.tools.path_tools.app_path_tools import AppPaths
6
+ except ImportError as exception:
7
+ AppPaths = MissingExtraMockModule('path.app', exception)
8
+
9
+ try:
10
+ from fmtr.tools.path_tools.type_path_tools import guess
11
+ except ImportError as exception:
12
+ guess = MissingExtraMockModule('path.type', exception)
@@ -164,6 +164,19 @@ class Path(type(Path())):
164
164
  from fmtr.tools import path
165
165
  return path.AppPaths()
166
166
 
167
+ @property
168
+ def type(self):
169
+ """
170
+
171
+ Infer file type, extension, etc.
172
+
173
+ """
174
+ if not self.exists():
175
+ return None
176
+ from fmtr.tools import path
177
+ kind = path.guess(str(self.absolute()))
178
+ return kind
179
+
167
180
  class PackagePaths:
168
181
  """
169
182
 
@@ -324,6 +337,6 @@ class PackagePaths:
324
337
 
325
338
 
326
339
  if __name__ == "__main__":
327
- path = Path()
328
- path.app.user_log_dir()
329
- path
340
+ path = Path('/usr/bin/bash').absolute()
341
+ path.type
342
+ path
@@ -0,0 +1,3 @@
1
+ import filetype
2
+
3
+ guess = filetype.guess
@@ -0,0 +1 @@
1
+ 1.1.15
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.1.13
3
+ Version: 1.1.15
4
4
  Summary: Collection of high-level tools to simplify everyday development tasks, with a focus on AI/ML
5
5
  Home-page: https://github.com/fmtr/fmtr.tools
6
6
  Author: Frontmatter
@@ -9,54 +9,57 @@ License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
11
  Provides-Extra: test
12
- Requires-Dist: json_repair; extra == "test"
13
- Requires-Dist: openpyxl; extra == "test"
12
+ Requires-Dist: google-auth-oauthlib; extra == "test"
13
+ Requires-Dist: logfire; extra == "test"
14
+ Requires-Dist: torchvision; extra == "test"
15
+ Requires-Dist: uvicorn[standard]; extra == "test"
16
+ Requires-Dist: tinynetrc; extra == "test"
17
+ Requires-Dist: google-auth; extra == "test"
18
+ Requires-Dist: openai; extra == "test"
19
+ Requires-Dist: bokeh; extra == "test"
20
+ Requires-Dist: appdirs; extra == "test"
21
+ Requires-Dist: flet-webview; extra == "test"
22
+ Requires-Dist: pytest-cov; extra == "test"
14
23
  Requires-Dist: google-api-python-client; extra == "test"
15
- Requires-Dist: yamlscript; extra == "test"
16
- Requires-Dist: pymupdf; extra == "test"
17
- Requires-Dist: tokenizers; extra == "test"
18
- Requires-Dist: torchaudio; extra == "test"
19
- Requires-Dist: faker; extra == "test"
24
+ Requires-Dist: diskcache; extra == "test"
25
+ Requires-Dist: openpyxl; extra == "test"
20
26
  Requires-Dist: huggingface_hub; extra == "test"
21
- Requires-Dist: google-auth; extra == "test"
22
- Requires-Dist: google-auth-oauthlib; extra == "test"
23
- Requires-Dist: pydantic-settings; extra == "test"
24
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
25
- Requires-Dist: fastapi; extra == "test"
26
- Requires-Dist: contexttimer; extra == "test"
27
- Requires-Dist: transformers[sentencepiece]; extra == "test"
27
+ Requires-Dist: semver; extra == "test"
28
28
  Requires-Dist: dask[bag]; extra == "test"
29
- Requires-Dist: sre_yield; extra == "test"
30
- Requires-Dist: pydevd-pycharm; extra == "test"
31
- Requires-Dist: flet-webview; extra == "test"
29
+ Requires-Dist: sentence_transformers; extra == "test"
30
+ Requires-Dist: contexttimer; extra == "test"
31
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
32
+ Requires-Dist: flet-video; extra == "test"
33
+ Requires-Dist: tabulate; extra == "test"
34
+ Requires-Dist: faker; extra == "test"
32
35
  Requires-Dist: deepmerge; extra == "test"
36
+ Requires-Dist: sre_yield; extra == "test"
37
+ Requires-Dist: docker; extra == "test"
33
38
  Requires-Dist: pandas; extra == "test"
34
- Requires-Dist: pydantic; extra == "test"
35
- Requires-Dist: openai; extra == "test"
36
39
  Requires-Dist: pymupdf4llm; extra == "test"
37
- Requires-Dist: appdirs; extra == "test"
38
- Requires-Dist: torchvision; extra == "test"
39
- Requires-Dist: logfire; extra == "test"
40
- Requires-Dist: tinynetrc; extra == "test"
41
- Requires-Dist: flet[all]; extra == "test"
40
+ Requires-Dist: json_repair; extra == "test"
41
+ Requires-Dist: distributed; extra == "test"
42
+ Requires-Dist: pymupdf; extra == "test"
42
43
  Requires-Dist: html2text; extra == "test"
43
- Requires-Dist: google-auth-httplib2; extra == "test"
44
- Requires-Dist: docker; extra == "test"
45
- Requires-Dist: Unidecode; extra == "test"
46
- Requires-Dist: diskcache; extra == "test"
47
- Requires-Dist: uvicorn[standard]; extra == "test"
48
- Requires-Dist: bokeh; extra == "test"
49
- Requires-Dist: sentence_transformers; extra == "test"
50
- Requires-Dist: tabulate; extra == "test"
51
- Requires-Dist: ollama; extra == "test"
44
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
45
+ Requires-Dist: filetype; extra == "test"
52
46
  Requires-Dist: logfire[fastapi]; extra == "test"
47
+ Requires-Dist: ollama; extra == "test"
48
+ Requires-Dist: tokenizers; extra == "test"
49
+ Requires-Dist: Unidecode; extra == "test"
50
+ Requires-Dist: google-auth-httplib2; extra == "test"
51
+ Requires-Dist: flet[all]; extra == "test"
52
+ Requires-Dist: torchaudio; extra == "test"
53
+ Requires-Dist: pyyaml; extra == "test"
54
+ Requires-Dist: pydantic-settings; extra == "test"
55
+ Requires-Dist: yamlscript; extra == "test"
56
+ Requires-Dist: fastapi; extra == "test"
57
+ Requires-Dist: pydevd-pycharm; extra == "test"
58
+ Requires-Dist: pydantic; extra == "test"
53
59
  Requires-Dist: peft; extra == "test"
54
- Requires-Dist: flet-video; extra == "test"
55
- Requires-Dist: semver; extra == "test"
56
- Requires-Dist: pytest-cov; extra == "test"
57
- Requires-Dist: distributed; extra == "test"
58
60
  Provides-Extra: yaml
59
61
  Requires-Dist: yamlscript; extra == "yaml"
62
+ Requires-Dist: pyyaml; extra == "yaml"
60
63
  Provides-Extra: logging
61
64
  Requires-Dist: logfire; extra == "logging"
62
65
  Requires-Dist: semver; extra == "logging"
@@ -152,6 +155,8 @@ Requires-Dist: pydantic-settings; extra == "sets"
152
155
  Requires-Dist: pydantic; extra == "sets"
153
156
  Provides-Extra: path-app
154
157
  Requires-Dist: appdirs; extra == "path-app"
158
+ Provides-Extra: path-type
159
+ Requires-Dist: filetype; extra == "path-type"
155
160
  Dynamic: author
156
161
  Dynamic: author-email
157
162
  Dynamic: description
@@ -286,9 +291,10 @@ The included modules, plus any extra requirements, are as follows:
286
291
  - `tools.Path`: Enhanced
287
292
  `pathlib.Path` object with additional functionality for Windows-to-Unix path conversion in WSL environments, reading/writing JSON and YAML files with proper encoding.
288
293
  - Extras: None
294
+ -
289
295
  `tools.PackagePaths` class for managing canonical package paths, like settings files, artifact directories, version files.
290
296
  - Extras: None
291
- `tools.AppPaths` Wrapper around `appdirs` for application paths.
297
+ - `tools.AppPaths` Wrapper around `appdirs` for application paths.
292
298
  - Extras: `paths.app`
293
299
  - `tools.platform`: Detecting if host is WSL, Docker etc.
294
300
  - Extras: None
@@ -53,8 +53,9 @@ setup.py
53
53
  ./fmtr/tools/ai_tools/agentic_tools.py
54
54
  ./fmtr/tools/ai_tools/inference_tools.py
55
55
  ./fmtr/tools/path_tools/__init__.py
56
- ./fmtr/tools/path_tools/app.py
57
- ./fmtr/tools/path_tools/base.py
56
+ ./fmtr/tools/path_tools/app_path_tools.py
57
+ ./fmtr/tools/path_tools/path_tools.py
58
+ ./fmtr/tools/path_tools/type_path_tools.py
58
59
  ./fmtr/tools/tests/__init__.py
59
60
  ./fmtr/tools/tests/conftest.py
60
61
  ./fmtr/tools/tests/helpers.py
@@ -85,6 +85,9 @@ bokeh
85
85
  [path.app]
86
86
  appdirs
87
87
 
88
+ [path.type]
89
+ filetype
90
+
88
91
  [pdf]
89
92
  pymupdf
90
93
  pydantic
@@ -116,52 +119,54 @@ tabulate
116
119
  openpyxl
117
120
 
118
121
  [test]
119
- json_repair
120
- openpyxl
122
+ google-auth-oauthlib
123
+ logfire
124
+ torchvision
125
+ uvicorn[standard]
126
+ tinynetrc
127
+ google-auth
128
+ openai
129
+ bokeh
130
+ appdirs
131
+ flet-webview
132
+ pytest-cov
121
133
  google-api-python-client
122
- yamlscript
123
- pymupdf
124
- tokenizers
125
- torchaudio
126
- faker
134
+ diskcache
135
+ openpyxl
127
136
  huggingface_hub
128
- google-auth
129
- google-auth-oauthlib
130
- pydantic-settings
131
- pydantic-ai[logfire,openai]
132
- fastapi
133
- contexttimer
134
- transformers[sentencepiece]
137
+ semver
135
138
  dask[bag]
136
- sre_yield
137
- pydevd-pycharm
138
- flet-webview
139
+ sentence_transformers
140
+ contexttimer
141
+ pydantic-ai[logfire,openai]
142
+ flet-video
143
+ tabulate
144
+ faker
139
145
  deepmerge
146
+ sre_yield
147
+ docker
140
148
  pandas
141
- pydantic
142
- openai
143
149
  pymupdf4llm
144
- appdirs
145
- torchvision
146
- logfire
147
- tinynetrc
148
- flet[all]
150
+ json_repair
151
+ distributed
152
+ pymupdf
149
153
  html2text
150
- google-auth-httplib2
151
- docker
152
- Unidecode
153
- diskcache
154
- uvicorn[standard]
155
- bokeh
156
- sentence_transformers
157
- tabulate
158
- ollama
154
+ transformers[sentencepiece]
155
+ filetype
159
156
  logfire[fastapi]
157
+ ollama
158
+ tokenizers
159
+ Unidecode
160
+ google-auth-httplib2
161
+ flet[all]
162
+ torchaudio
163
+ pyyaml
164
+ pydantic-settings
165
+ yamlscript
166
+ fastapi
167
+ pydevd-pycharm
168
+ pydantic
160
169
  peft
161
- flet-video
162
- semver
163
- pytest-cov
164
- distributed
165
170
 
166
171
  [tokenization]
167
172
  tokenizers
@@ -174,3 +179,4 @@ semver
174
179
 
175
180
  [yaml]
176
181
  yamlscript
182
+ pyyaml
@@ -1,7 +0,0 @@
1
- from fmtr.tools.import_tools import MissingExtraMockModule
2
- from fmtr.tools.path_tools.base import Path, PackagePaths
3
-
4
- try:
5
- from fmtr.tools.path_tools.app import AppPaths
6
- except ImportError as exception:
7
- AppPaths = MissingExtraMockModule('path.app', exception)
@@ -1 +0,0 @@
1
- 1.1.13
File without changes
File without changes
File without changes