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.

Files changed (72) hide show
  1. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/PKG-INFO +36 -36
  2. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/console_script_tools.py +10 -0
  3. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/constants.py +1 -0
  4. fmtr_tools-1.1.6/fmtr/tools/debugging_tools.py +90 -0
  5. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/path_tools.py +17 -1
  6. fmtr_tools-1.1.6/fmtr/tools/version +1 -0
  7. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/PKG-INFO +36 -36
  8. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/entry_points.txt +1 -0
  9. fmtr_tools-1.1.4/fmtr/tools/debugging_tools.py +0 -31
  10. fmtr_tools-1.1.4/fmtr/tools/version +0 -1
  11. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/LICENSE +0 -0
  12. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/README.md +0 -0
  13. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/__init__.py +0 -0
  14. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/__init__.py +0 -0
  15. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
  16. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  17. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/api_tools.py +0 -0
  18. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/async_tools.py +0 -0
  19. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/augmentation_tools.py +0 -0
  20. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/caching_tools.py +0 -0
  21. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/data_modelling_tools.py +0 -0
  22. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/dataclass_tools.py +0 -0
  23. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/datatype_tools.py +0 -0
  24. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/docker_tools.py +0 -0
  25. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/environment_tools.py +0 -0
  26. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/function_tools.py +0 -0
  27. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/google_api_tools.py +0 -0
  28. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/hash_tools.py +0 -0
  29. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/hfh_tools.py +0 -0
  30. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/html_tools.py +0 -0
  31. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/import_tools.py +0 -0
  32. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/inspection_tools.py +0 -0
  33. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/interface_tools.py +0 -0
  34. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/iterator_tools.py +0 -0
  35. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/json_fix_tools.py +0 -0
  36. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/json_tools.py +0 -0
  37. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/logging_tools.py +0 -0
  38. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/merging_tools.py +0 -0
  39. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/metric_tools.py +0 -0
  40. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/name_tools.py +0 -0
  41. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/netrc_tools.py +0 -0
  42. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/openai_tools.py +0 -0
  43. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/parallel_tools.py +0 -0
  44. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/pdf_tools.py +0 -0
  45. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/platform_tools.py +0 -0
  46. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/process_tools.py +0 -0
  47. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/profiling_tools.py +0 -0
  48. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/random_tools.py +0 -0
  49. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/semantic_tools.py +0 -0
  50. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/settings_tools.py +0 -0
  51. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/spaces_tools.py +0 -0
  52. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/string_tools.py +0 -0
  53. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tabular_tools.py +0 -0
  54. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/__init__.py +0 -0
  55. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/conftest.py +0 -0
  56. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/helpers.py +0 -0
  57. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_datatype.py +0 -0
  58. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_environment.py +0 -0
  59. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_json.py +0 -0
  60. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_path.py +0 -0
  61. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tests/test_yaml.py +0 -0
  62. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tokenization_tools.py +0 -0
  63. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/tools.py +0 -0
  64. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/unicode_tools.py +0 -0
  65. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/version_tools.py +0 -0
  66. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr/tools/yaml_tools.py +0 -0
  67. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  68. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  69. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/requires.txt +35 -35
  70. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/fmtr.tools.egg-info/top_level.txt +0 -0
  71. {fmtr_tools-1.1.4 → fmtr_tools-1.1.6}/setup.cfg +0 -0
  72. {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.4
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: tokenizers; extra == "test"
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: flet-webview; extra == "test"
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: dask[bag]; extra == "test"
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: openai; extra == "test"
35
- Requires-Dist: peft; extra == "test"
40
+ Requires-Dist: google-auth; extra == "test"
36
41
  Requires-Dist: tinynetrc; extra == "test"
37
- Requires-Dist: semver; extra == "test"
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: torchvision; extra == "test"
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: pydantic-settings; extra == "test"
49
- Requires-Dist: google-auth-oauthlib; extra == "test"
50
- Requires-Dist: openpyxl; extra == "test"
51
- Requires-Dist: pymupdf; extra == "test"
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: flet-video; extra == "test"
54
- Requires-Dist: ollama; extra == "test"
55
- Requires-Dist: docker; extra == "test"
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
@@ -11,3 +11,13 @@ def remote_debug_test():
11
11
  """
12
12
  from fmtr.tools import debug
13
13
  debug.trace(is_debug=True)
14
+
15
+
16
+ def shell_debug():
17
+ """
18
+
19
+ Test debugger connection
20
+
21
+ """
22
+ from fmtr.tools import debug
23
+ debug.debug_shell()
@@ -31,3 +31,4 @@ class Constants:
31
31
  FILENAME_CONFIG = 'settings.yaml'
32
32
  DIR_NAME_ARTIFACTS = 'artifacts'
33
33
  FILENAME_VERSION = 'version'
34
+ DIR_NAME_HF = 'hf'
@@ -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
- return self.repo / self.dir_name_artifacts
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.4
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: tokenizers; extra == "test"
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: flet-webview; extra == "test"
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: dask[bag]; extra == "test"
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: openai; extra == "test"
35
- Requires-Dist: peft; extra == "test"
40
+ Requires-Dist: google-auth; extra == "test"
36
41
  Requires-Dist: tinynetrc; extra == "test"
37
- Requires-Dist: semver; extra == "test"
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: torchvision; extra == "test"
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: pydantic-settings; extra == "test"
49
- Requires-Dist: google-auth-oauthlib; extra == "test"
50
- Requires-Dist: openpyxl; extra == "test"
51
- Requires-Dist: pymupdf; extra == "test"
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: flet-video; extra == "test"
54
- Requires-Dist: ollama; extra == "test"
55
- Requires-Dist: docker; extra == "test"
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,3 +1,4 @@
1
1
  [console_scripts]
2
2
  cache-hfh = fmtr.tools.console_script_tools:cache_hfh
3
+ fmtr-shell-debug = fmtr.tools.console_script_tools:shell_debug
3
4
  remote-debug-test = fmtr.tools.console_script_tools:remote_debug_test
@@ -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
@@ -113,51 +113,51 @@ tabulate
113
113
  openpyxl
114
114
 
115
115
  [test]
116
- tokenizers
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
- flet-webview
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
- dask[bag]
139
+ openpyxl
140
+ ollama
141
+ flet-video
142
+ flet-webview
137
143
  pydevd-pycharm
138
- openai
139
- peft
144
+ google-auth
140
145
  tinynetrc
141
- semver
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
- torchvision
148
+ openai
149
+ diskcache
150
+ bokeh
151
+ logfire
151
152
  google-auth-httplib2
152
- pydantic-settings
153
- google-auth-oauthlib
154
- openpyxl
155
- pymupdf
153
+ semver
154
+ tabulate
155
+ pydantic-ai[logfire,openai]
156
+ fastapi
156
157
  Unidecode
157
- flet-video
158
- ollama
159
- docker
160
- json_repair
158
+ distributed
159
+ peft
160
+ flet[all]
161
161
 
162
162
  [tokenization]
163
163
  tokenizers
File without changes
File without changes