fmtr.tools 1.1.14__tar.gz → 1.1.16__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.
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/PKG-INFO +41 -37
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/README.md +2 -1
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/ai_tools/inference_tools.py +2 -1
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/logging_tools.py +11 -3
- fmtr_tools-1.1.16/fmtr/tools/path_tools/__init__.py +12 -0
- fmtr_tools-1.1.14/fmtr/tools/path_tools/base.py → fmtr_tools-1.1.16/fmtr/tools/path_tools/path_tools.py +16 -3
- fmtr_tools-1.1.16/fmtr/tools/path_tools/type_path_tools.py +3 -0
- fmtr_tools-1.1.16/fmtr/tools/version +1 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/PKG-INFO +41 -37
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/SOURCES.txt +3 -2
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/requires.txt +39 -35
- fmtr_tools-1.1.14/fmtr/tools/path_tools/__init__.py +0 -7
- fmtr_tools-1.1.14/fmtr/tools/version +0 -1
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/LICENSE +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/__init__.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/ai_tools/__init__.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/api_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/async_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/augmentation_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/caching_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/console_script_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/constants.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/data_modelling_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/dataclass_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/datatype_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/debugging_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/docker_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/environment_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/function_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/google_api_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/hash_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/hfh_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/html_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/import_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/inspection_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/interface_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/iterator_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/json_fix_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/json_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/merging_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/metric_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/name_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/netrc_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/openai_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/packaging_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/parallel_tools.py +0 -0
- /fmtr_tools-1.1.14/fmtr/tools/path_tools/app.py → /fmtr_tools-1.1.16/fmtr/tools/path_tools/app_path_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/pdf_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/platform_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/process_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/profiling_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/random_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/semantic_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/settings_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/spaces_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/string_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tabular_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/__init__.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/conftest.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/helpers.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/test_datatype.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/test_environment.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/test_json.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/test_path.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tests/test_yaml.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tokenization_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/unicode_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/version_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr/tools/yaml_tools.py +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/dependency_links.txt +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/entry_points.txt +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/fmtr.tools.egg-info/top_level.txt +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/setup.cfg +0 -0
- {fmtr_tools-1.1.14 → fmtr_tools-1.1.16}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.16
|
|
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,52 +9,53 @@ 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"
|
|
18
|
-
Requires-Dist: logfire; extra == "test"
|
|
19
|
-
Requires-Dist: pyyaml; extra == "test"
|
|
20
|
-
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
21
|
-
Requires-Dist: appdirs; extra == "test"
|
|
22
|
-
Requires-Dist: dask[bag]; extra == "test"
|
|
23
|
-
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"
|
|
27
12
|
Requires-Dist: distributed; extra == "test"
|
|
28
|
-
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
13
|
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
14
|
+
Requires-Dist: google-auth; extra == "test"
|
|
35
15
|
Requires-Dist: tokenizers; extra == "test"
|
|
36
16
|
Requires-Dist: torchaudio; extra == "test"
|
|
37
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: pymupdf; extra == "test"
|
|
18
|
+
Requires-Dist: appdirs; extra == "test"
|
|
19
|
+
Requires-Dist: huggingface_hub; extra == "test"
|
|
20
|
+
Requires-Dist: tabulate; extra == "test"
|
|
21
|
+
Requires-Dist: pydantic; extra == "test"
|
|
22
|
+
Requires-Dist: html2text; extra == "test"
|
|
23
|
+
Requires-Dist: docker; extra == "test"
|
|
24
|
+
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
25
|
+
Requires-Dist: filetype; extra == "test"
|
|
26
|
+
Requires-Dist: Unidecode; extra == "test"
|
|
38
27
|
Requires-Dist: sentence_transformers; extra == "test"
|
|
39
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: fastapi; extra == "test"
|
|
29
|
+
Requires-Dist: flet-webview; extra == "test"
|
|
30
|
+
Requires-Dist: pydantic-settings; extra == "test"
|
|
31
|
+
Requires-Dist: contexttimer; extra == "test"
|
|
40
32
|
Requires-Dist: diskcache; extra == "test"
|
|
41
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: ollama; extra == "test"
|
|
34
|
+
Requires-Dist: logfire; extra == "test"
|
|
42
35
|
Requires-Dist: openai; extra == "test"
|
|
43
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
37
|
+
Requires-Dist: pandas; extra == "test"
|
|
44
38
|
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
39
|
Requires-Dist: yamlscript; extra == "test"
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist: openpyxl; extra == "test"
|
|
54
|
-
Requires-Dist: Unidecode; extra == "test"
|
|
40
|
+
Requires-Dist: sre_yield; extra == "test"
|
|
41
|
+
Requires-Dist: google-auth-httplib2; extra == "test"
|
|
42
|
+
Requires-Dist: google-api-python-client; extra == "test"
|
|
43
|
+
Requires-Dist: dask[bag]; extra == "test"
|
|
55
44
|
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
45
|
+
Requires-Dist: torchvision; extra == "test"
|
|
46
|
+
Requires-Dist: openpyxl; extra == "test"
|
|
47
|
+
Requires-Dist: flet[all]; extra == "test"
|
|
48
|
+
Requires-Dist: bokeh; extra == "test"
|
|
49
|
+
Requires-Dist: pyyaml; extra == "test"
|
|
50
|
+
Requires-Dist: json_repair; extra == "test"
|
|
51
|
+
Requires-Dist: pymupdf4llm; extra == "test"
|
|
52
|
+
Requires-Dist: peft; extra == "test"
|
|
53
|
+
Requires-Dist: deepmerge; extra == "test"
|
|
54
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
56
55
|
Requires-Dist: faker; extra == "test"
|
|
57
|
-
Requires-Dist:
|
|
56
|
+
Requires-Dist: tinynetrc; extra == "test"
|
|
57
|
+
Requires-Dist: google-auth-oauthlib; extra == "test"
|
|
58
|
+
Requires-Dist: semver; extra == "test"
|
|
58
59
|
Requires-Dist: transformers[sentencepiece]; extra == "test"
|
|
59
60
|
Provides-Extra: yaml
|
|
60
61
|
Requires-Dist: yamlscript; 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
|
-
|
|
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
|
-
|
|
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 =
|
|
416
|
+
texts = tst()
|
|
416
417
|
texts
|
|
@@ -43,16 +43,23 @@ def get_logger(name, version=None, host=Constants.FMTR_OBS_HOST, key=None, org=C
|
|
|
43
43
|
from fmtr.tools import version_tools
|
|
44
44
|
version = version_tools.read()
|
|
45
45
|
|
|
46
|
+
# Rigmarole to translate native levels to logfire/otel ones.
|
|
47
|
+
lev_num_otel = logfire._internal.constants.LOGGING_TO_OTEL_LEVEL_NUMBERS[level]
|
|
48
|
+
lev_name_otel = logfire._internal.constants.NUMBER_TO_LEVEL[lev_num_otel]
|
|
49
|
+
|
|
50
|
+
console_opts = logfire.ConsoleOptions(
|
|
51
|
+
colors='always' if environment_tools.IS_DEBUG else 'auto',
|
|
52
|
+
min_log_level=lev_name_otel,
|
|
53
|
+
)
|
|
54
|
+
|
|
46
55
|
logfire.configure(
|
|
47
56
|
service_name=name,
|
|
48
57
|
service_version=version,
|
|
49
58
|
environment=environment,
|
|
50
59
|
send_to_logfire=False,
|
|
51
|
-
console=
|
|
60
|
+
console=console_opts
|
|
52
61
|
)
|
|
53
62
|
|
|
54
|
-
logging.getLogger(name).setLevel(level)
|
|
55
|
-
|
|
56
63
|
logger = logfire
|
|
57
64
|
return logger
|
|
58
65
|
|
|
@@ -63,3 +70,4 @@ if __name__ == '__main__':
|
|
|
63
70
|
logger.info('Hello World')
|
|
64
71
|
logger.warning('test warning')
|
|
65
72
|
logger.debug('Hello World')
|
|
73
|
+
logger
|
|
@@ -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.
|
|
329
|
-
path
|
|
340
|
+
path = Path('/usr/bin/bash').absolute()
|
|
341
|
+
path.type
|
|
342
|
+
path
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.1.16
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.16
|
|
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,52 +9,53 @@ 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"
|
|
18
|
-
Requires-Dist: logfire; extra == "test"
|
|
19
|
-
Requires-Dist: pyyaml; extra == "test"
|
|
20
|
-
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
21
|
-
Requires-Dist: appdirs; extra == "test"
|
|
22
|
-
Requires-Dist: dask[bag]; extra == "test"
|
|
23
|
-
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"
|
|
27
12
|
Requires-Dist: distributed; extra == "test"
|
|
28
|
-
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
13
|
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
14
|
+
Requires-Dist: google-auth; extra == "test"
|
|
35
15
|
Requires-Dist: tokenizers; extra == "test"
|
|
36
16
|
Requires-Dist: torchaudio; extra == "test"
|
|
37
|
-
Requires-Dist:
|
|
17
|
+
Requires-Dist: pymupdf; extra == "test"
|
|
18
|
+
Requires-Dist: appdirs; extra == "test"
|
|
19
|
+
Requires-Dist: huggingface_hub; extra == "test"
|
|
20
|
+
Requires-Dist: tabulate; extra == "test"
|
|
21
|
+
Requires-Dist: pydantic; extra == "test"
|
|
22
|
+
Requires-Dist: html2text; extra == "test"
|
|
23
|
+
Requires-Dist: docker; extra == "test"
|
|
24
|
+
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
25
|
+
Requires-Dist: filetype; extra == "test"
|
|
26
|
+
Requires-Dist: Unidecode; extra == "test"
|
|
38
27
|
Requires-Dist: sentence_transformers; extra == "test"
|
|
39
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: fastapi; extra == "test"
|
|
29
|
+
Requires-Dist: flet-webview; extra == "test"
|
|
30
|
+
Requires-Dist: pydantic-settings; extra == "test"
|
|
31
|
+
Requires-Dist: contexttimer; extra == "test"
|
|
40
32
|
Requires-Dist: diskcache; extra == "test"
|
|
41
|
-
Requires-Dist:
|
|
33
|
+
Requires-Dist: ollama; extra == "test"
|
|
34
|
+
Requires-Dist: logfire; extra == "test"
|
|
42
35
|
Requires-Dist: openai; extra == "test"
|
|
43
|
-
Requires-Dist:
|
|
36
|
+
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
37
|
+
Requires-Dist: pandas; extra == "test"
|
|
44
38
|
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
39
|
Requires-Dist: yamlscript; extra == "test"
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
52
|
-
Requires-Dist:
|
|
53
|
-
Requires-Dist: openpyxl; extra == "test"
|
|
54
|
-
Requires-Dist: Unidecode; extra == "test"
|
|
40
|
+
Requires-Dist: sre_yield; extra == "test"
|
|
41
|
+
Requires-Dist: google-auth-httplib2; extra == "test"
|
|
42
|
+
Requires-Dist: google-api-python-client; extra == "test"
|
|
43
|
+
Requires-Dist: dask[bag]; extra == "test"
|
|
55
44
|
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
45
|
+
Requires-Dist: torchvision; extra == "test"
|
|
46
|
+
Requires-Dist: openpyxl; extra == "test"
|
|
47
|
+
Requires-Dist: flet[all]; extra == "test"
|
|
48
|
+
Requires-Dist: bokeh; extra == "test"
|
|
49
|
+
Requires-Dist: pyyaml; extra == "test"
|
|
50
|
+
Requires-Dist: json_repair; extra == "test"
|
|
51
|
+
Requires-Dist: pymupdf4llm; extra == "test"
|
|
52
|
+
Requires-Dist: peft; extra == "test"
|
|
53
|
+
Requires-Dist: deepmerge; extra == "test"
|
|
54
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
56
55
|
Requires-Dist: faker; extra == "test"
|
|
57
|
-
Requires-Dist:
|
|
56
|
+
Requires-Dist: tinynetrc; extra == "test"
|
|
57
|
+
Requires-Dist: google-auth-oauthlib; extra == "test"
|
|
58
|
+
Requires-Dist: semver; extra == "test"
|
|
58
59
|
Requires-Dist: transformers[sentencepiece]; extra == "test"
|
|
59
60
|
Provides-Extra: yaml
|
|
60
61
|
Requires-Dist: yamlscript; 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
|
-
|
|
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/
|
|
57
|
-
./fmtr/tools/path_tools/
|
|
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,53 @@ 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
|
|
125
|
-
logfire
|
|
126
|
-
pyyaml
|
|
127
|
-
pydevd-pycharm
|
|
128
|
-
appdirs
|
|
129
|
-
dask[bag]
|
|
130
|
-
pymupdf4llm
|
|
131
|
-
pytest-cov
|
|
132
|
-
flet[all]
|
|
133
|
-
html2text
|
|
134
122
|
distributed
|
|
135
|
-
ollama
|
|
136
|
-
google-auth-oauthlib
|
|
137
|
-
pandas
|
|
138
|
-
tabulate
|
|
139
|
-
google-auth
|
|
140
|
-
sre_yield
|
|
141
123
|
uvicorn[standard]
|
|
124
|
+
google-auth
|
|
142
125
|
tokenizers
|
|
143
126
|
torchaudio
|
|
144
|
-
|
|
127
|
+
pymupdf
|
|
128
|
+
appdirs
|
|
129
|
+
huggingface_hub
|
|
130
|
+
tabulate
|
|
131
|
+
pydantic
|
|
132
|
+
html2text
|
|
133
|
+
docker
|
|
134
|
+
logfire[fastapi]
|
|
135
|
+
filetype
|
|
136
|
+
Unidecode
|
|
145
137
|
sentence_transformers
|
|
146
|
-
|
|
138
|
+
fastapi
|
|
139
|
+
flet-webview
|
|
140
|
+
pydantic-settings
|
|
141
|
+
contexttimer
|
|
147
142
|
diskcache
|
|
148
|
-
|
|
143
|
+
ollama
|
|
144
|
+
logfire
|
|
149
145
|
openai
|
|
150
|
-
|
|
146
|
+
pydevd-pycharm
|
|
147
|
+
pandas
|
|
151
148
|
flet-video
|
|
152
|
-
google-auth-httplib2
|
|
153
|
-
tinynetrc
|
|
154
|
-
semver
|
|
155
149
|
yamlscript
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
openpyxl
|
|
161
|
-
Unidecode
|
|
150
|
+
sre_yield
|
|
151
|
+
google-auth-httplib2
|
|
152
|
+
google-api-python-client
|
|
153
|
+
dask[bag]
|
|
162
154
|
pydantic-ai[logfire,openai]
|
|
155
|
+
torchvision
|
|
156
|
+
openpyxl
|
|
157
|
+
flet[all]
|
|
158
|
+
bokeh
|
|
159
|
+
pyyaml
|
|
160
|
+
json_repair
|
|
161
|
+
pymupdf4llm
|
|
162
|
+
peft
|
|
163
|
+
deepmerge
|
|
164
|
+
pytest-cov
|
|
163
165
|
faker
|
|
164
|
-
|
|
166
|
+
tinynetrc
|
|
167
|
+
google-auth-oauthlib
|
|
168
|
+
semver
|
|
165
169
|
transformers[sentencepiece]
|
|
166
170
|
|
|
167
171
|
[tokenization]
|
|
@@ -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
|
|
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
|