fmtr.tools 1.1.4__tar.gz → 1.1.6__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.4 → fmtr_tools-1.1.6}/PKG-INFO +36 -36
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/console_script_tools.py +10 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/constants.py +1 -0
- fmtr_tools-1.1.6/fmtr/tools/debugging_tools.py +90 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/path_tools.py +17 -1
- fmtr_tools-1.1.6/fmtr/tools/version +1 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/PKG-INFO +36 -36
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/entry_points.txt +1 -0
- fmtr_tools-1.1.4/fmtr/tools/debugging_tools.py +0 -31
- fmtr_tools-1.1.4/fmtr/tools/version +0 -1
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/LICENSE +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/README.md +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/__init__.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/__init__.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/inference_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/api_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/async_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/augmentation_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/caching_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/data_modelling_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/dataclass_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/datatype_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/docker_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/environment_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/function_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/google_api_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/hash_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/hfh_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/html_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/import_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/inspection_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/interface_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/iterator_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/json_fix_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/json_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/logging_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/merging_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/metric_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/name_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/netrc_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/openai_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/parallel_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/pdf_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/platform_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/process_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/profiling_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/random_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/semantic_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/settings_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/spaces_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/string_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tabular_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/__init__.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/conftest.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/helpers.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_datatype.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_environment.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_json.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_path.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_yaml.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tokenization_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/unicode_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/version_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/yaml_tools.py +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/SOURCES.txt +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/dependency_links.txt +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/requires.txt +35 -35
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/top_level.txt +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/setup.cfg +0 -0
- {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/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.6
|
|
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,51 +9,51 @@ 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:
|
|
12
|
+
Requires-Dist: google-api-python-client; extra == "test"
|
|
13
|
+
Requires-Dist: pymupdf4llm; extra == "test"
|
|
13
14
|
Requires-Dist: faker; extra == "test"
|
|
14
|
-
Requires-Dist: pydantic; extra == "test"
|
|
15
|
-
Requires-Dist: logfire; extra == "test"
|
|
16
|
-
Requires-Dist: tabulate; extra == "test"
|
|
17
|
-
Requires-Dist: diskcache; extra == "test"
|
|
18
|
-
Requires-Dist: sre_yield; extra == "test"
|
|
19
|
-
Requires-Dist: distributed; extra == "test"
|
|
20
|
-
Requires-Dist: bokeh; extra == "test"
|
|
21
|
-
Requires-Dist: flet[all]; extra == "test"
|
|
22
|
-
Requires-Dist: fastapi; extra == "test"
|
|
23
|
-
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
24
|
-
Requires-Dist: google-auth; extra == "test"
|
|
25
|
-
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
26
|
-
Requires-Dist: contexttimer; extra == "test"
|
|
27
15
|
Requires-Dist: pyyaml; extra == "test"
|
|
28
|
-
Requires-Dist:
|
|
16
|
+
Requires-Dist: html2text; extra == "test"
|
|
17
|
+
Requires-Dist: pymupdf; extra == "test"
|
|
18
|
+
Requires-Dist: contexttimer; extra == "test"
|
|
19
|
+
Requires-Dist: dask[bag]; extra == "test"
|
|
20
|
+
Requires-Dist: json_repair; extra == "test"
|
|
21
|
+
Requires-Dist: torchvision; extra == "test"
|
|
22
|
+
Requires-Dist: pydantic-settings; extra == "test"
|
|
23
|
+
Requires-Dist: huggingface_hub; extra == "test"
|
|
24
|
+
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
29
25
|
Requires-Dist: transformers[sentencepiece]; extra == "test"
|
|
26
|
+
Requires-Dist: sre_yield; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
28
|
+
Requires-Dist: torchaudio; extra == "test"
|
|
30
29
|
Requires-Dist: sentence_transformers; extra == "test"
|
|
30
|
+
Requires-Dist: pydantic; extra == "test"
|
|
31
|
+
Requires-Dist: docker; extra == "test"
|
|
32
|
+
Requires-Dist: tokenizers; extra == "test"
|
|
33
|
+
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
31
34
|
Requires-Dist: pandas; extra == "test"
|
|
32
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: openpyxl; extra == "test"
|
|
36
|
+
Requires-Dist: ollama; extra == "test"
|
|
37
|
+
Requires-Dist: flet-video; extra == "test"
|
|
38
|
+
Requires-Dist: flet-webview; extra == "test"
|
|
33
39
|
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist: peft; extra == "test"
|
|
40
|
+
Requires-Dist: google-auth; extra == "test"
|
|
36
41
|
Requires-Dist: tinynetrc; extra == "test"
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist: pytest-cov; extra == "test"
|
|
39
|
-
Requires-Dist: pymupdf4llm; extra == "test"
|
|
40
|
-
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
41
|
-
Requires-Dist: google-api-python-client; extra == "test"
|
|
42
|
-
Requires-Dist: html2text; extra == "test"
|
|
43
|
-
Requires-Dist: huggingface_hub; extra == "test"
|
|
44
|
-
Requires-Dist: torchaudio; extra == "test"
|
|
42
|
+
Requires-Dist: google-auth-oauthlib; extra == "test"
|
|
45
43
|
Requires-Dist: deepmerge; extra == "test"
|
|
46
|
-
Requires-Dist:
|
|
44
|
+
Requires-Dist: openai; extra == "test"
|
|
45
|
+
Requires-Dist: diskcache; extra == "test"
|
|
46
|
+
Requires-Dist: bokeh; extra == "test"
|
|
47
|
+
Requires-Dist: logfire; extra == "test"
|
|
47
48
|
Requires-Dist: google-auth-httplib2; extra == "test"
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
49
|
+
Requires-Dist: semver; extra == "test"
|
|
50
|
+
Requires-Dist: tabulate; extra == "test"
|
|
51
|
+
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
52
|
+
Requires-Dist: fastapi; extra == "test"
|
|
52
53
|
Requires-Dist: Unidecode; extra == "test"
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist: json_repair; extra == "test"
|
|
54
|
+
Requires-Dist: distributed; extra == "test"
|
|
55
|
+
Requires-Dist: peft; extra == "test"
|
|
56
|
+
Requires-Dist: flet[all]; extra == "test"
|
|
57
57
|
Provides-Extra: yaml
|
|
58
58
|
Requires-Dist: pyyaml; extra == "yaml"
|
|
59
59
|
Provides-Extra: logging
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import dataclasses
|
|
2
|
+
|
|
3
|
+
import pydevd_pycharm
|
|
4
|
+
|
|
5
|
+
from fmtr.tools import environment_tools as env
|
|
6
|
+
from fmtr.tools.constants import Constants
|
|
7
|
+
|
|
8
|
+
MASK = 'Starting debugger at tcp://{host}:{port}...'
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
@dataclasses.dataclass
|
|
12
|
+
class ShellDebug:
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
Debugging information for shell commands
|
|
16
|
+
|
|
17
|
+
"""
|
|
18
|
+
command: str
|
|
19
|
+
out: str
|
|
20
|
+
err: str
|
|
21
|
+
status: int
|
|
22
|
+
|
|
23
|
+
# timestamp: datetime=dataclasses.field(default_factory=datetime.now)
|
|
24
|
+
|
|
25
|
+
@classmethod
|
|
26
|
+
def from_path(cls, path_str):
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
Get debug info from path
|
|
30
|
+
|
|
31
|
+
"""
|
|
32
|
+
from fmtr.tools import Path
|
|
33
|
+
path = Path(path_str).absolute()
|
|
34
|
+
data = {field.name: (path / f'{field.name}.log').read_text().strip() for field in dataclasses.fields(cls)}
|
|
35
|
+
self = cls(**data)
|
|
36
|
+
return self
|
|
37
|
+
|
|
38
|
+
@property
|
|
39
|
+
def env(self):
|
|
40
|
+
return env.get_dict()
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
def trace(is_debug=None, host=None, port=None, stdoutToServer=True, stderrToServer=True, **kwargs):
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
Connect to PyCharm debugger if enabled
|
|
48
|
+
|
|
49
|
+
"""
|
|
50
|
+
if not is_debug:
|
|
51
|
+
is_debug = env.get_bool(Constants.FMTR_REMOTE_DEBUG_ENABLED_KEY, False)
|
|
52
|
+
|
|
53
|
+
if not is_debug:
|
|
54
|
+
return
|
|
55
|
+
|
|
56
|
+
if is_debug is True and not host:
|
|
57
|
+
host = Constants.FMTR_REMOTE_DEBUG_HOST_DEFAULT
|
|
58
|
+
|
|
59
|
+
host = host or env.get(Constants.FMTR_REMOTE_DEBUG_HOST_KEY, Constants.FMTR_REMOTE_DEBUG_HOST_DEFAULT)
|
|
60
|
+
port = port or Constants.FMTR_REMOTE_DEBUG_PORT_DEFAULT
|
|
61
|
+
|
|
62
|
+
from fmtr.tools import logger
|
|
63
|
+
|
|
64
|
+
msg = MASK.format(host=host, port=port)
|
|
65
|
+
logger.info(msg)
|
|
66
|
+
|
|
67
|
+
pydevd_pycharm.settrace(host, port=port, stdoutToServer=stdoutToServer, stderrToServer=stderrToServer, **kwargs)
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
def debug_shell():
|
|
71
|
+
"""
|
|
72
|
+
|
|
73
|
+
Starts a debug shell by initializing a `ShellDebug` object from a given path
|
|
74
|
+
and enabling tracing with debug mode turned on.
|
|
75
|
+
|
|
76
|
+
"""
|
|
77
|
+
path_str = sys.argv[1]
|
|
78
|
+
data = ShellDebug.from_path(path_str)
|
|
79
|
+
trace(is_debug=True)
|
|
80
|
+
data
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
if __name__ == "__main__":
|
|
84
|
+
import sys
|
|
85
|
+
|
|
86
|
+
sys.argv = [
|
|
87
|
+
'test.py',
|
|
88
|
+
'./fmtr-debug/34e8d492-2f15-419a-8fcb-fe4fa0fa02bb',
|
|
89
|
+
]
|
|
90
|
+
debug_shell()
|
|
@@ -228,7 +228,14 @@ class PackagePaths:
|
|
|
228
228
|
Path of artifacts directory.
|
|
229
229
|
|
|
230
230
|
"""
|
|
231
|
-
|
|
231
|
+
|
|
232
|
+
from fmtr.tools import env
|
|
233
|
+
if env.IS_DEBUG:
|
|
234
|
+
path = self.repo / self.dir_name_artifacts
|
|
235
|
+
else:
|
|
236
|
+
path = Path('/') / self.dir_name_artifacts
|
|
237
|
+
|
|
238
|
+
return path
|
|
232
239
|
|
|
233
240
|
@property
|
|
234
241
|
def settings(self) -> Path:
|
|
@@ -239,6 +246,15 @@ class PackagePaths:
|
|
|
239
246
|
"""
|
|
240
247
|
return self.artifacts / self.filename_config
|
|
241
248
|
|
|
249
|
+
@property
|
|
250
|
+
def hf(self) -> Path:
|
|
251
|
+
"""
|
|
252
|
+
|
|
253
|
+
Path of HuggingFace directory
|
|
254
|
+
|
|
255
|
+
"""
|
|
256
|
+
return self.artifacts / Constants.DIR_NAME_HF
|
|
257
|
+
|
|
242
258
|
def __repr__(self) -> str:
|
|
243
259
|
"""
|
|
244
260
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.1.6
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.6
|
|
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,51 +9,51 @@ 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:
|
|
12
|
+
Requires-Dist: google-api-python-client; extra == "test"
|
|
13
|
+
Requires-Dist: pymupdf4llm; extra == "test"
|
|
13
14
|
Requires-Dist: faker; extra == "test"
|
|
14
|
-
Requires-Dist: pydantic; extra == "test"
|
|
15
|
-
Requires-Dist: logfire; extra == "test"
|
|
16
|
-
Requires-Dist: tabulate; extra == "test"
|
|
17
|
-
Requires-Dist: diskcache; extra == "test"
|
|
18
|
-
Requires-Dist: sre_yield; extra == "test"
|
|
19
|
-
Requires-Dist: distributed; extra == "test"
|
|
20
|
-
Requires-Dist: bokeh; extra == "test"
|
|
21
|
-
Requires-Dist: flet[all]; extra == "test"
|
|
22
|
-
Requires-Dist: fastapi; extra == "test"
|
|
23
|
-
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
24
|
-
Requires-Dist: google-auth; extra == "test"
|
|
25
|
-
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
26
|
-
Requires-Dist: contexttimer; extra == "test"
|
|
27
15
|
Requires-Dist: pyyaml; extra == "test"
|
|
28
|
-
Requires-Dist:
|
|
16
|
+
Requires-Dist: html2text; extra == "test"
|
|
17
|
+
Requires-Dist: pymupdf; extra == "test"
|
|
18
|
+
Requires-Dist: contexttimer; extra == "test"
|
|
19
|
+
Requires-Dist: dask[bag]; extra == "test"
|
|
20
|
+
Requires-Dist: json_repair; extra == "test"
|
|
21
|
+
Requires-Dist: torchvision; extra == "test"
|
|
22
|
+
Requires-Dist: pydantic-settings; extra == "test"
|
|
23
|
+
Requires-Dist: huggingface_hub; extra == "test"
|
|
24
|
+
Requires-Dist: logfire[fastapi]; extra == "test"
|
|
29
25
|
Requires-Dist: transformers[sentencepiece]; extra == "test"
|
|
26
|
+
Requires-Dist: sre_yield; extra == "test"
|
|
27
|
+
Requires-Dist: pytest-cov; extra == "test"
|
|
28
|
+
Requires-Dist: torchaudio; extra == "test"
|
|
30
29
|
Requires-Dist: sentence_transformers; extra == "test"
|
|
30
|
+
Requires-Dist: pydantic; extra == "test"
|
|
31
|
+
Requires-Dist: docker; extra == "test"
|
|
32
|
+
Requires-Dist: tokenizers; extra == "test"
|
|
33
|
+
Requires-Dist: uvicorn[standard]; extra == "test"
|
|
31
34
|
Requires-Dist: pandas; extra == "test"
|
|
32
|
-
Requires-Dist:
|
|
35
|
+
Requires-Dist: openpyxl; extra == "test"
|
|
36
|
+
Requires-Dist: ollama; extra == "test"
|
|
37
|
+
Requires-Dist: flet-video; extra == "test"
|
|
38
|
+
Requires-Dist: flet-webview; extra == "test"
|
|
33
39
|
Requires-Dist: pydevd-pycharm; extra == "test"
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist: peft; extra == "test"
|
|
40
|
+
Requires-Dist: google-auth; extra == "test"
|
|
36
41
|
Requires-Dist: tinynetrc; extra == "test"
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist: pytest-cov; extra == "test"
|
|
39
|
-
Requires-Dist: pymupdf4llm; extra == "test"
|
|
40
|
-
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
41
|
-
Requires-Dist: google-api-python-client; extra == "test"
|
|
42
|
-
Requires-Dist: html2text; extra == "test"
|
|
43
|
-
Requires-Dist: huggingface_hub; extra == "test"
|
|
44
|
-
Requires-Dist: torchaudio; extra == "test"
|
|
42
|
+
Requires-Dist: google-auth-oauthlib; extra == "test"
|
|
45
43
|
Requires-Dist: deepmerge; extra == "test"
|
|
46
|
-
Requires-Dist:
|
|
44
|
+
Requires-Dist: openai; extra == "test"
|
|
45
|
+
Requires-Dist: diskcache; extra == "test"
|
|
46
|
+
Requires-Dist: bokeh; extra == "test"
|
|
47
|
+
Requires-Dist: logfire; extra == "test"
|
|
47
48
|
Requires-Dist: google-auth-httplib2; extra == "test"
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
49
|
+
Requires-Dist: semver; extra == "test"
|
|
50
|
+
Requires-Dist: tabulate; extra == "test"
|
|
51
|
+
Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
|
|
52
|
+
Requires-Dist: fastapi; extra == "test"
|
|
52
53
|
Requires-Dist: Unidecode; extra == "test"
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist: json_repair; extra == "test"
|
|
54
|
+
Requires-Dist: distributed; extra == "test"
|
|
55
|
+
Requires-Dist: peft; extra == "test"
|
|
56
|
+
Requires-Dist: flet[all]; extra == "test"
|
|
57
57
|
Provides-Extra: yaml
|
|
58
58
|
Requires-Dist: pyyaml; extra == "yaml"
|
|
59
59
|
Provides-Extra: logging
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import pydevd_pycharm
|
|
2
|
-
|
|
3
|
-
from fmtr.tools import environment_tools as env
|
|
4
|
-
from fmtr.tools.constants import Constants
|
|
5
|
-
|
|
6
|
-
MASK = 'Starting debugger at tcp://{host}:{port}...'
|
|
7
|
-
|
|
8
|
-
def trace(is_debug=None, host=None, port=None, stdoutToServer=True, stderrToServer=True, **kwargs):
|
|
9
|
-
"""
|
|
10
|
-
|
|
11
|
-
Connect to PyCharm debugger if enabled
|
|
12
|
-
|
|
13
|
-
"""
|
|
14
|
-
if not is_debug:
|
|
15
|
-
is_debug = env.get_bool(Constants.FMTR_REMOTE_DEBUG_ENABLED_KEY, False)
|
|
16
|
-
|
|
17
|
-
if not is_debug:
|
|
18
|
-
return
|
|
19
|
-
|
|
20
|
-
if is_debug is True and not host:
|
|
21
|
-
host = Constants.FMTR_REMOTE_DEBUG_HOST_DEFAULT
|
|
22
|
-
|
|
23
|
-
host = host or env.get(Constants.FMTR_REMOTE_DEBUG_HOST_KEY, Constants.FMTR_REMOTE_DEBUG_HOST_DEFAULT)
|
|
24
|
-
port = port or Constants.FMTR_REMOTE_DEBUG_PORT_DEFAULT
|
|
25
|
-
|
|
26
|
-
from fmtr.tools import logger
|
|
27
|
-
|
|
28
|
-
msg = MASK.format(host=host, port=port)
|
|
29
|
-
logger.info(msg)
|
|
30
|
-
|
|
31
|
-
pydevd_pycharm.settrace(host, port=port, stdoutToServer=stdoutToServer, stderrToServer=stderrToServer, **kwargs)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.1.4
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -113,51 +113,51 @@ tabulate
|
|
|
113
113
|
openpyxl
|
|
114
114
|
|
|
115
115
|
[test]
|
|
116
|
-
|
|
116
|
+
google-api-python-client
|
|
117
|
+
pymupdf4llm
|
|
117
118
|
faker
|
|
118
|
-
pydantic
|
|
119
|
-
logfire
|
|
120
|
-
tabulate
|
|
121
|
-
diskcache
|
|
122
|
-
sre_yield
|
|
123
|
-
distributed
|
|
124
|
-
bokeh
|
|
125
|
-
flet[all]
|
|
126
|
-
fastapi
|
|
127
|
-
uvicorn[standard]
|
|
128
|
-
google-auth
|
|
129
|
-
logfire[fastapi]
|
|
130
|
-
contexttimer
|
|
131
119
|
pyyaml
|
|
132
|
-
|
|
120
|
+
html2text
|
|
121
|
+
pymupdf
|
|
122
|
+
contexttimer
|
|
123
|
+
dask[bag]
|
|
124
|
+
json_repair
|
|
125
|
+
torchvision
|
|
126
|
+
pydantic-settings
|
|
127
|
+
huggingface_hub
|
|
128
|
+
logfire[fastapi]
|
|
133
129
|
transformers[sentencepiece]
|
|
130
|
+
sre_yield
|
|
131
|
+
pytest-cov
|
|
132
|
+
torchaudio
|
|
134
133
|
sentence_transformers
|
|
134
|
+
pydantic
|
|
135
|
+
docker
|
|
136
|
+
tokenizers
|
|
137
|
+
uvicorn[standard]
|
|
135
138
|
pandas
|
|
136
|
-
|
|
139
|
+
openpyxl
|
|
140
|
+
ollama
|
|
141
|
+
flet-video
|
|
142
|
+
flet-webview
|
|
137
143
|
pydevd-pycharm
|
|
138
|
-
|
|
139
|
-
peft
|
|
144
|
+
google-auth
|
|
140
145
|
tinynetrc
|
|
141
|
-
|
|
142
|
-
pytest-cov
|
|
143
|
-
pymupdf4llm
|
|
144
|
-
pydantic-ai[logfire,openai]
|
|
145
|
-
google-api-python-client
|
|
146
|
-
html2text
|
|
147
|
-
huggingface_hub
|
|
148
|
-
torchaudio
|
|
146
|
+
google-auth-oauthlib
|
|
149
147
|
deepmerge
|
|
150
|
-
|
|
148
|
+
openai
|
|
149
|
+
diskcache
|
|
150
|
+
bokeh
|
|
151
|
+
logfire
|
|
151
152
|
google-auth-httplib2
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
153
|
+
semver
|
|
154
|
+
tabulate
|
|
155
|
+
pydantic-ai[logfire,openai]
|
|
156
|
+
fastapi
|
|
156
157
|
Unidecode
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
json_repair
|
|
158
|
+
distributed
|
|
159
|
+
peft
|
|
160
|
+
flet[all]
|
|
161
161
|
|
|
162
162
|
[tokenization]
|
|
163
163
|
tokenizers
|
|
File without changes
|
|
File without changes
|
|
File without changes
|