fmtr.tools 1.1.14__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.14 → fmtr_tools-1.1.15}/PKG-INFO +43 -39
  2. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/README.md +2 -1
  3. {fmtr_tools-1.1.14 → 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.14/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.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/PKG-INFO +43 -39
  9. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/SOURCES.txt +3 -2
  10. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/requires.txt +41 -37
  11. fmtr_tools-1.1.14/fmtr/tools/path_tools/__init__.py +0 -7
  12. fmtr_tools-1.1.14/fmtr/tools/version +0 -1
  13. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/LICENSE +0 -0
  14. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/__init__.py +0 -0
  15. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/ai_tools/__init__.py +0 -0
  16. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  17. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/api_tools.py +0 -0
  18. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/async_tools.py +0 -0
  19. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/augmentation_tools.py +0 -0
  20. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/caching_tools.py +0 -0
  21. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/console_script_tools.py +0 -0
  22. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/constants.py +0 -0
  23. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/data_modelling_tools.py +0 -0
  24. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/dataclass_tools.py +0 -0
  25. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/datatype_tools.py +0 -0
  26. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/debugging_tools.py +0 -0
  27. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/docker_tools.py +0 -0
  28. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/environment_tools.py +0 -0
  29. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/function_tools.py +0 -0
  30. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/google_api_tools.py +0 -0
  31. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/hash_tools.py +0 -0
  32. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/hfh_tools.py +0 -0
  33. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/html_tools.py +0 -0
  34. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/import_tools.py +0 -0
  35. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/inspection_tools.py +0 -0
  36. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/interface_tools.py +0 -0
  37. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/iterator_tools.py +0 -0
  38. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/json_fix_tools.py +0 -0
  39. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/json_tools.py +0 -0
  40. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/logging_tools.py +0 -0
  41. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/merging_tools.py +0 -0
  42. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/metric_tools.py +0 -0
  43. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/name_tools.py +0 -0
  44. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/netrc_tools.py +0 -0
  45. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/openai_tools.py +0 -0
  46. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/packaging_tools.py +0 -0
  47. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/parallel_tools.py +0 -0
  48. /fmtr_tools-1.1.14/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.14 → fmtr_tools-1.1.15}/fmtr/tools/pdf_tools.py +0 -0
  50. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/platform_tools.py +0 -0
  51. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/process_tools.py +0 -0
  52. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/profiling_tools.py +0 -0
  53. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/random_tools.py +0 -0
  54. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/semantic_tools.py +0 -0
  55. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/settings_tools.py +0 -0
  56. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/spaces_tools.py +0 -0
  57. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/string_tools.py +0 -0
  58. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tabular_tools.py +0 -0
  59. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/__init__.py +0 -0
  60. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/conftest.py +0 -0
  61. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/helpers.py +0 -0
  62. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_datatype.py +0 -0
  63. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_environment.py +0 -0
  64. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_json.py +0 -0
  65. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_path.py +0 -0
  66. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tests/test_yaml.py +0 -0
  67. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tokenization_tools.py +0 -0
  68. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/tools.py +0 -0
  69. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/unicode_tools.py +0 -0
  70. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/version_tools.py +0 -0
  71. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr/tools/yaml_tools.py +0 -0
  72. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  73. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/entry_points.txt +0 -0
  74. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/fmtr.tools.egg-info/top_level.txt +0 -0
  75. {fmtr_tools-1.1.14 → fmtr_tools-1.1.15}/setup.cfg +0 -0
  76. {fmtr_tools-1.1.14 → 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.14
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,53 +9,54 @@ 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: deepmerge; extra == "test"
14
- Requires-Dist: contexttimer; extra == "test"
15
- Requires-Dist: google-api-python-client; extra == "test"
16
- Requires-Dist: docker; extra == "test"
17
- Requires-Dist: pydantic; extra == "test"
12
+ Requires-Dist: google-auth-oauthlib; extra == "test"
18
13
  Requires-Dist: logfire; extra == "test"
19
- Requires-Dist: pyyaml; extra == "test"
20
- Requires-Dist: pydevd-pycharm; 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"
21
20
  Requires-Dist: appdirs; extra == "test"
21
+ Requires-Dist: flet-webview; extra == "test"
22
+ Requires-Dist: pytest-cov; extra == "test"
23
+ Requires-Dist: google-api-python-client; extra == "test"
24
+ Requires-Dist: diskcache; extra == "test"
25
+ Requires-Dist: openpyxl; extra == "test"
26
+ Requires-Dist: huggingface_hub; extra == "test"
27
+ Requires-Dist: semver; extra == "test"
22
28
  Requires-Dist: dask[bag]; 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"
35
+ Requires-Dist: deepmerge; extra == "test"
36
+ Requires-Dist: sre_yield; extra == "test"
37
+ Requires-Dist: docker; extra == "test"
38
+ Requires-Dist: pandas; extra == "test"
23
39
  Requires-Dist: pymupdf4llm; extra == "test"
24
- Requires-Dist: pytest-cov; extra == "test"
25
- Requires-Dist: flet[all]; extra == "test"
26
- Requires-Dist: html2text; extra == "test"
40
+ Requires-Dist: json_repair; extra == "test"
27
41
  Requires-Dist: distributed; extra == "test"
42
+ Requires-Dist: pymupdf; extra == "test"
43
+ Requires-Dist: html2text; extra == "test"
44
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
45
+ Requires-Dist: filetype; extra == "test"
46
+ Requires-Dist: logfire[fastapi]; extra == "test"
28
47
  Requires-Dist: ollama; extra == "test"
29
- Requires-Dist: google-auth-oauthlib; extra == "test"
30
- Requires-Dist: pandas; extra == "test"
31
- Requires-Dist: tabulate; extra == "test"
32
- Requires-Dist: google-auth; extra == "test"
33
- Requires-Dist: sre_yield; extra == "test"
34
- Requires-Dist: uvicorn[standard]; extra == "test"
35
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"
36
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"
37
56
  Requires-Dist: fastapi; extra == "test"
38
- Requires-Dist: sentence_transformers; extra == "test"
39
- Requires-Dist: torchvision; extra == "test"
40
- Requires-Dist: diskcache; extra == "test"
57
+ Requires-Dist: pydevd-pycharm; extra == "test"
58
+ Requires-Dist: pydantic; extra == "test"
41
59
  Requires-Dist: peft; extra == "test"
42
- Requires-Dist: openai; extra == "test"
43
- Requires-Dist: bokeh; extra == "test"
44
- Requires-Dist: flet-video; extra == "test"
45
- Requires-Dist: google-auth-httplib2; extra == "test"
46
- Requires-Dist: tinynetrc; extra == "test"
47
- Requires-Dist: semver; extra == "test"
48
- Requires-Dist: yamlscript; extra == "test"
49
- Requires-Dist: pymupdf; extra == "test"
50
- Requires-Dist: logfire[fastapi]; extra == "test"
51
- Requires-Dist: huggingface_hub; extra == "test"
52
- Requires-Dist: pydantic-settings; extra == "test"
53
- Requires-Dist: openpyxl; extra == "test"
54
- Requires-Dist: Unidecode; extra == "test"
55
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
56
- Requires-Dist: faker; extra == "test"
57
- Requires-Dist: flet-webview; extra == "test"
58
- Requires-Dist: transformers[sentencepiece]; extra == "test"
59
60
  Provides-Extra: yaml
60
61
  Requires-Dist: yamlscript; extra == "yaml"
61
62
  Requires-Dist: pyyaml; extra == "yaml"
@@ -154,6 +155,8 @@ Requires-Dist: pydantic-settings; extra == "sets"
154
155
  Requires-Dist: pydantic; extra == "sets"
155
156
  Provides-Extra: path-app
156
157
  Requires-Dist: appdirs; extra == "path-app"
158
+ Provides-Extra: path-type
159
+ Requires-Dist: filetype; extra == "path-type"
157
160
  Dynamic: author
158
161
  Dynamic: author-email
159
162
  Dynamic: description
@@ -288,9 +291,10 @@ The included modules, plus any extra requirements, are as follows:
288
291
  - `tools.Path`: Enhanced
289
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.
290
293
  - Extras: None
294
+ -
291
295
  `tools.PackagePaths` class for managing canonical package paths, like settings files, artifact directories, version files.
292
296
  - Extras: None
293
- `tools.AppPaths` Wrapper around `appdirs` for application paths.
297
+ - `tools.AppPaths` Wrapper around `appdirs` for application paths.
294
298
  - Extras: `paths.app`
295
299
  - `tools.platform`: Detecting if host is WSL, Docker etc.
296
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.14
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,53 +9,54 @@ 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: deepmerge; extra == "test"
14
- Requires-Dist: contexttimer; extra == "test"
15
- Requires-Dist: google-api-python-client; extra == "test"
16
- Requires-Dist: docker; extra == "test"
17
- Requires-Dist: pydantic; extra == "test"
12
+ Requires-Dist: google-auth-oauthlib; extra == "test"
18
13
  Requires-Dist: logfire; extra == "test"
19
- Requires-Dist: pyyaml; extra == "test"
20
- Requires-Dist: pydevd-pycharm; 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"
21
20
  Requires-Dist: appdirs; extra == "test"
21
+ Requires-Dist: flet-webview; extra == "test"
22
+ Requires-Dist: pytest-cov; extra == "test"
23
+ Requires-Dist: google-api-python-client; extra == "test"
24
+ Requires-Dist: diskcache; extra == "test"
25
+ Requires-Dist: openpyxl; extra == "test"
26
+ Requires-Dist: huggingface_hub; extra == "test"
27
+ Requires-Dist: semver; extra == "test"
22
28
  Requires-Dist: dask[bag]; 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"
35
+ Requires-Dist: deepmerge; extra == "test"
36
+ Requires-Dist: sre_yield; extra == "test"
37
+ Requires-Dist: docker; extra == "test"
38
+ Requires-Dist: pandas; extra == "test"
23
39
  Requires-Dist: pymupdf4llm; extra == "test"
24
- Requires-Dist: pytest-cov; extra == "test"
25
- Requires-Dist: flet[all]; extra == "test"
26
- Requires-Dist: html2text; extra == "test"
40
+ Requires-Dist: json_repair; extra == "test"
27
41
  Requires-Dist: distributed; extra == "test"
42
+ Requires-Dist: pymupdf; extra == "test"
43
+ Requires-Dist: html2text; extra == "test"
44
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
45
+ Requires-Dist: filetype; extra == "test"
46
+ Requires-Dist: logfire[fastapi]; extra == "test"
28
47
  Requires-Dist: ollama; extra == "test"
29
- Requires-Dist: google-auth-oauthlib; extra == "test"
30
- Requires-Dist: pandas; extra == "test"
31
- Requires-Dist: tabulate; extra == "test"
32
- Requires-Dist: google-auth; extra == "test"
33
- Requires-Dist: sre_yield; extra == "test"
34
- Requires-Dist: uvicorn[standard]; extra == "test"
35
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"
36
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"
37
56
  Requires-Dist: fastapi; extra == "test"
38
- Requires-Dist: sentence_transformers; extra == "test"
39
- Requires-Dist: torchvision; extra == "test"
40
- Requires-Dist: diskcache; extra == "test"
57
+ Requires-Dist: pydevd-pycharm; extra == "test"
58
+ Requires-Dist: pydantic; extra == "test"
41
59
  Requires-Dist: peft; extra == "test"
42
- Requires-Dist: openai; extra == "test"
43
- Requires-Dist: bokeh; extra == "test"
44
- Requires-Dist: flet-video; extra == "test"
45
- Requires-Dist: google-auth-httplib2; extra == "test"
46
- Requires-Dist: tinynetrc; extra == "test"
47
- Requires-Dist: semver; extra == "test"
48
- Requires-Dist: yamlscript; extra == "test"
49
- Requires-Dist: pymupdf; extra == "test"
50
- Requires-Dist: logfire[fastapi]; extra == "test"
51
- Requires-Dist: huggingface_hub; extra == "test"
52
- Requires-Dist: pydantic-settings; extra == "test"
53
- Requires-Dist: openpyxl; extra == "test"
54
- Requires-Dist: Unidecode; extra == "test"
55
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
56
- Requires-Dist: faker; extra == "test"
57
- Requires-Dist: flet-webview; extra == "test"
58
- Requires-Dist: transformers[sentencepiece]; extra == "test"
59
60
  Provides-Extra: yaml
60
61
  Requires-Dist: yamlscript; extra == "yaml"
61
62
  Requires-Dist: pyyaml; extra == "yaml"
@@ -154,6 +155,8 @@ Requires-Dist: pydantic-settings; extra == "sets"
154
155
  Requires-Dist: pydantic; extra == "sets"
155
156
  Provides-Extra: path-app
156
157
  Requires-Dist: appdirs; extra == "path-app"
158
+ Provides-Extra: path-type
159
+ Requires-Dist: filetype; extra == "path-type"
157
160
  Dynamic: author
158
161
  Dynamic: author-email
159
162
  Dynamic: description
@@ -288,9 +291,10 @@ The included modules, plus any extra requirements, are as follows:
288
291
  - `tools.Path`: Enhanced
289
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.
290
293
  - Extras: None
294
+ -
291
295
  `tools.PackagePaths` class for managing canonical package paths, like settings files, artifact directories, version files.
292
296
  - Extras: None
293
- `tools.AppPaths` Wrapper around `appdirs` for application paths.
297
+ - `tools.AppPaths` Wrapper around `appdirs` for application paths.
294
298
  - Extras: `paths.app`
295
299
  - `tools.platform`: Detecting if host is WSL, Docker etc.
296
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,53 +119,54 @@ tabulate
116
119
  openpyxl
117
120
 
118
121
  [test]
119
- json_repair
120
- deepmerge
121
- contexttimer
122
- google-api-python-client
123
- docker
124
- pydantic
122
+ google-auth-oauthlib
125
123
  logfire
126
- pyyaml
127
- pydevd-pycharm
124
+ torchvision
125
+ uvicorn[standard]
126
+ tinynetrc
127
+ google-auth
128
+ openai
129
+ bokeh
128
130
  appdirs
131
+ flet-webview
132
+ pytest-cov
133
+ google-api-python-client
134
+ diskcache
135
+ openpyxl
136
+ huggingface_hub
137
+ semver
129
138
  dask[bag]
139
+ sentence_transformers
140
+ contexttimer
141
+ pydantic-ai[logfire,openai]
142
+ flet-video
143
+ tabulate
144
+ faker
145
+ deepmerge
146
+ sre_yield
147
+ docker
148
+ pandas
130
149
  pymupdf4llm
131
- pytest-cov
132
- flet[all]
133
- html2text
150
+ json_repair
134
151
  distributed
152
+ pymupdf
153
+ html2text
154
+ transformers[sentencepiece]
155
+ filetype
156
+ logfire[fastapi]
135
157
  ollama
136
- google-auth-oauthlib
137
- pandas
138
- tabulate
139
- google-auth
140
- sre_yield
141
- uvicorn[standard]
142
158
  tokenizers
159
+ Unidecode
160
+ google-auth-httplib2
161
+ flet[all]
143
162
  torchaudio
163
+ pyyaml
164
+ pydantic-settings
165
+ yamlscript
144
166
  fastapi
145
- sentence_transformers
146
- torchvision
147
- diskcache
167
+ pydevd-pycharm
168
+ pydantic
148
169
  peft
149
- openai
150
- bokeh
151
- flet-video
152
- google-auth-httplib2
153
- tinynetrc
154
- semver
155
- yamlscript
156
- pymupdf
157
- logfire[fastapi]
158
- huggingface_hub
159
- pydantic-settings
160
- openpyxl
161
- Unidecode
162
- pydantic-ai[logfire,openai]
163
- faker
164
- flet-webview
165
- transformers[sentencepiece]
166
170
 
167
171
  [tokenization]
168
172
  tokenizers
@@ -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.14
File without changes
File without changes
File without changes