fmtr.tools 1.0.53__tar.gz → 1.0.55__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 (71) hide show
  1. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/PKG-INFO +141 -27
  2. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/ai_tools/agentic_tools.py +24 -16
  3. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/config.py +3 -0
  4. fmtr_tools-1.0.55/fmtr/tools/version +1 -0
  5. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/PKG-INFO +141 -27
  6. fmtr.tools-1.0.53/fmtr/tools/version +0 -1
  7. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/LICENSE +0 -0
  8. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/README.md +0 -0
  9. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/__init__.py +0 -0
  10. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/ai_tools/__init__.py +0 -0
  11. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  12. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/api_tools.py +0 -0
  13. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/async_tools.py +0 -0
  14. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/augmentation_tools.py +0 -0
  15. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/caching_tools.py +0 -0
  16. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/config_tools.py +0 -0
  17. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/console_script_tools.py +0 -0
  18. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/debugging_tools.py +0 -0
  22. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/docker_tools.py +0 -0
  23. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/environment_tools.py +0 -0
  24. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/function_tools.py +0 -0
  25. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/google_api_tools.py +0 -0
  26. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/hash_tools.py +0 -0
  27. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/hfh_tools.py +0 -0
  28. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/html_tools.py +0 -0
  29. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/import_tools.py +0 -0
  30. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/inspection_tools.py +0 -0
  31. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/interface_tools.py +0 -0
  32. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/iterator_tools.py +0 -0
  33. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/json_fix_tools.py +0 -0
  34. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/json_tools.py +0 -0
  35. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/logging_tools.py +0 -0
  36. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/merging_tools.py +0 -0
  37. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/metric_tools.py +0 -0
  38. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/name_tools.py +0 -0
  39. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/netrc_tools.py +0 -0
  40. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/openai_tools.py +0 -0
  41. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/parallel_tools.py +0 -0
  42. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/path_tools.py +0 -0
  43. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/pdf_tools.py +0 -0
  44. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/platform_tools.py +0 -0
  45. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/process_tools.py +0 -0
  46. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/profiling_tools.py +0 -0
  47. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/random_tools.py +0 -0
  48. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/semantic_tools.py +0 -0
  49. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/spaces_tools.py +0 -0
  50. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/string_tools.py +0 -0
  51. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tabular_tools.py +0 -0
  52. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/__init__.py +0 -0
  53. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/conftest.py +0 -0
  54. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/helpers.py +0 -0
  55. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/test_datatype.py +0 -0
  56. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/test_environment.py +0 -0
  57. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/test_json.py +0 -0
  58. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/test_path.py +0 -0
  59. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tests/test_yaml.py +0 -0
  60. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tokenization_tools.py +0 -0
  61. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/tools.py +0 -0
  62. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/unicode_tools.py +0 -0
  63. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/version_tools.py +0 -0
  64. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr/tools/yaml_tools.py +0 -0
  65. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  66. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  67. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/entry_points.txt +0 -0
  68. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/requires.txt +49 -49
  69. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/fmtr.tools.egg-info/top_level.txt +0 -0
  70. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/setup.cfg +0 -0
  71. {fmtr.tools-1.0.53 → fmtr_tools-1.0.55}/setup.py +0 -0
@@ -1,43 +1,157 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.0.53
3
+ Version: 1.0.55
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
7
7
  Author-email: innovative.fowler@mask.pro.fmtr.dev
8
8
  License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
- Provides-Extra: ai
11
- Provides-Extra: ai.client
12
- Provides-Extra: api
13
- Provides-Extra: augmentation
14
- Provides-Extra: caching
15
- Provides-Extra: debug
16
- Provides-Extra: dm
17
- Provides-Extra: docker.api
18
- Provides-Extra: google.api
19
- Provides-Extra: hfh
20
- Provides-Extra: html
21
- Provides-Extra: interface
22
- Provides-Extra: json-fix
10
+ License-File: LICENSE
11
+ Provides-Extra: test
12
+ Requires-Dist: distributed; extra == "test"
13
+ Requires-Dist: ollama; extra == "test"
14
+ Requires-Dist: pytest-cov; extra == "test"
15
+ Requires-Dist: google-auth-httplib2; extra == "test"
16
+ Requires-Dist: semver; extra == "test"
17
+ Requires-Dist: pyyaml; extra == "test"
18
+ Requires-Dist: tinynetrc; extra == "test"
19
+ Requires-Dist: dask[bag]; extra == "test"
20
+ Requires-Dist: peft; extra == "test"
21
+ Requires-Dist: openpyxl; extra == "test"
22
+ Requires-Dist: google-auth-oauthlib; extra == "test"
23
+ Requires-Dist: huggingface_hub; extra == "test"
24
+ Requires-Dist: bokeh; extra == "test"
25
+ Requires-Dist: Unidecode; extra == "test"
26
+ Requires-Dist: docker; extra == "test"
27
+ Requires-Dist: deepmerge; extra == "test"
28
+ Requires-Dist: json_repair; extra == "test"
29
+ Requires-Dist: fastapi; extra == "test"
30
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
31
+ Requires-Dist: pydevd-pycharm; extra == "test"
32
+ Requires-Dist: tokenizers; extra == "test"
33
+ Requires-Dist: diskcache; extra == "test"
34
+ Requires-Dist: logfire; extra == "test"
35
+ Requires-Dist: contexttimer; extra == "test"
36
+ Requires-Dist: flet-video; extra == "test"
37
+ Requires-Dist: torchvision; extra == "test"
38
+ Requires-Dist: google-api-python-client; extra == "test"
39
+ Requires-Dist: google-auth; extra == "test"
40
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
41
+ Requires-Dist: flet[all]; extra == "test"
42
+ Requires-Dist: uvicorn; extra == "test"
43
+ Requires-Dist: pydantic; extra == "test"
44
+ Requires-Dist: tabulate; extra == "test"
45
+ Requires-Dist: pymupdf4llm; extra == "test"
46
+ Requires-Dist: openai; extra == "test"
47
+ Requires-Dist: pandas; extra == "test"
48
+ Requires-Dist: faker; extra == "test"
49
+ Requires-Dist: pymupdf; extra == "test"
50
+ Requires-Dist: sre_yield; extra == "test"
51
+ Requires-Dist: flet-webview; extra == "test"
52
+ Requires-Dist: sentence_transformers; extra == "test"
53
+ Requires-Dist: torchaudio; extra == "test"
54
+ Requires-Dist: html2text; extra == "test"
55
+ Provides-Extra: yaml
56
+ Requires-Dist: pyyaml; extra == "yaml"
23
57
  Provides-Extra: logging
24
- Provides-Extra: merging
25
- Provides-Extra: metric
26
- Provides-Extra: netrc
27
- Provides-Extra: openai.api
58
+ Requires-Dist: logfire; extra == "logging"
59
+ Requires-Dist: semver; extra == "logging"
28
60
  Provides-Extra: parallel
29
- Provides-Extra: pdf
61
+ Requires-Dist: dask[bag]; extra == "parallel"
62
+ Requires-Dist: distributed; extra == "parallel"
63
+ Requires-Dist: bokeh; extra == "parallel"
64
+ Provides-Extra: tokenization
65
+ Requires-Dist: tokenizers; extra == "tokenization"
66
+ Provides-Extra: augmentation
67
+ Requires-Dist: faker; extra == "augmentation"
68
+ Requires-Dist: sre_yield; extra == "augmentation"
30
69
  Provides-Extra: process
70
+ Requires-Dist: logfire; extra == "process"
71
+ Requires-Dist: semver; extra == "process"
31
72
  Provides-Extra: profiling
32
- Provides-Extra: semantic
33
- Provides-Extra: spaces
34
- Provides-Extra: tabular
35
- Provides-Extra: test
36
- Provides-Extra: tokenization
73
+ Requires-Dist: contexttimer; extra == "profiling"
74
+ Provides-Extra: docker-api
75
+ Requires-Dist: docker; extra == "docker-api"
37
76
  Provides-Extra: unicode
77
+ Requires-Dist: Unidecode; extra == "unicode"
38
78
  Provides-Extra: version
39
- Provides-Extra: yaml
40
- License-File: LICENSE
79
+ Requires-Dist: semver; extra == "version"
80
+ Provides-Extra: spaces
81
+ Requires-Dist: tinynetrc; extra == "spaces"
82
+ Provides-Extra: netrc
83
+ Requires-Dist: tinynetrc; extra == "netrc"
84
+ Provides-Extra: hfh
85
+ Requires-Dist: huggingface_hub; extra == "hfh"
86
+ Provides-Extra: merging
87
+ Requires-Dist: deepmerge; extra == "merging"
88
+ Provides-Extra: api
89
+ Requires-Dist: fastapi; extra == "api"
90
+ Requires-Dist: uvicorn; extra == "api"
91
+ Requires-Dist: logfire; extra == "api"
92
+ Requires-Dist: semver; extra == "api"
93
+ Requires-Dist: pydantic; extra == "api"
94
+ Provides-Extra: ai
95
+ Requires-Dist: peft; extra == "ai"
96
+ Requires-Dist: transformers[sentencepiece]; extra == "ai"
97
+ Requires-Dist: torchvision; extra == "ai"
98
+ Requires-Dist: torchaudio; extra == "ai"
99
+ Requires-Dist: pydantic; extra == "ai"
100
+ Provides-Extra: dm
101
+ Requires-Dist: pydantic; extra == "dm"
102
+ Provides-Extra: openai-api
103
+ Requires-Dist: openai; extra == "openai-api"
104
+ Provides-Extra: ai-client
105
+ Requires-Dist: logfire; extra == "ai-client"
106
+ Requires-Dist: semver; extra == "ai-client"
107
+ Requires-Dist: pydantic; extra == "ai-client"
108
+ Requires-Dist: openai; extra == "ai-client"
109
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "ai-client"
110
+ Requires-Dist: ollama; extra == "ai-client"
111
+ Provides-Extra: json-fix
112
+ Requires-Dist: json_repair; extra == "json-fix"
113
+ Provides-Extra: semantic
114
+ Requires-Dist: sentence_transformers; extra == "semantic"
115
+ Requires-Dist: pandas; extra == "semantic"
116
+ Requires-Dist: tabulate; extra == "semantic"
117
+ Requires-Dist: openpyxl; extra == "semantic"
118
+ Provides-Extra: metric
119
+ Requires-Dist: pandas; extra == "metric"
120
+ Requires-Dist: tabulate; extra == "metric"
121
+ Requires-Dist: openpyxl; extra == "metric"
122
+ Provides-Extra: tabular
123
+ Requires-Dist: pandas; extra == "tabular"
124
+ Requires-Dist: tabulate; extra == "tabular"
125
+ Requires-Dist: openpyxl; extra == "tabular"
126
+ Provides-Extra: html
127
+ Requires-Dist: html2text; extra == "html"
128
+ Provides-Extra: interface
129
+ Requires-Dist: flet[all]; extra == "interface"
130
+ Requires-Dist: flet-video; extra == "interface"
131
+ Requires-Dist: flet-webview; extra == "interface"
132
+ Requires-Dist: pydantic; extra == "interface"
133
+ Provides-Extra: google-api
134
+ Requires-Dist: google-auth; extra == "google-api"
135
+ Requires-Dist: google-auth-oauthlib; extra == "google-api"
136
+ Requires-Dist: google-auth-httplib2; extra == "google-api"
137
+ Requires-Dist: google-api-python-client; extra == "google-api"
138
+ Provides-Extra: caching
139
+ Requires-Dist: diskcache; extra == "caching"
140
+ Provides-Extra: pdf
141
+ Requires-Dist: pymupdf; extra == "pdf"
142
+ Requires-Dist: pydantic; extra == "pdf"
143
+ Requires-Dist: pymupdf4llm; extra == "pdf"
144
+ Provides-Extra: debug
145
+ Requires-Dist: pydevd-pycharm; extra == "debug"
146
+ Dynamic: author
147
+ Dynamic: author-email
148
+ Dynamic: description
149
+ Dynamic: description-content-type
150
+ Dynamic: home-page
151
+ Dynamic: license
152
+ Dynamic: license-file
153
+ Dynamic: provides-extra
154
+ Dynamic: summary
41
155
 
42
156
  # `fmtr.tools`
43
157
 
@@ -1,7 +1,7 @@
1
1
  import pydantic_ai
2
- from pydantic_ai import RunContext, ModelRetry
3
- from pydantic_ai.agent import AgentRunResult
4
- from pydantic_ai.messages import ModelRequest, SystemPromptPart, ToolCallPart, RetryPromptPart, ModelResponse, ToolReturnPart, UserPromptPart
2
+ from pydantic_ai import RunContext
3
+ from pydantic_ai.agent import AgentRunResult, Agent
4
+ from pydantic_ai.messages import ModelRequest, RetryPromptPart
5
5
  from pydantic_ai.models.openai import OpenAIModel
6
6
  from pydantic_ai.providers.openai import OpenAIProvider
7
7
 
@@ -10,16 +10,6 @@ from fmtr.tools.config import ToolsConfig
10
10
 
11
11
  pydantic_ai.Agent.instrument_all()
12
12
 
13
- class Agent(pydantic_ai.Agent):
14
- """
15
-
16
- Agent stub
17
-
18
- TODO base class is marked `@final`, so is it safe to subclass?
19
-
20
- """
21
-
22
-
23
13
  class Task:
24
14
  """
25
15
 
@@ -28,10 +18,15 @@ class Task:
28
18
  """
29
19
 
30
20
  PROVIDER = OpenAIProvider(api_key=env.get(ToolsConfig.FMTR_OPENAI_API_KEY_KEY))
21
+
22
+ API_HOST_FMTR = env.get(ToolsConfig.FMTR_AI_HOST_KEY, ToolsConfig.FMTR_AI_HOST_DEFAULT)
23
+ API_URL_FMTR = f'https://{API_HOST_FMTR}/v1'
24
+ PROVIDER_FMTR = OpenAIProvider(base_url=API_URL_FMTR)
25
+
31
26
  MODEL_ID = 'gpt-4o'
32
27
  SYSTEM_PROMPT = None
33
- DEPS_TYPE = type(None)
34
- RESULT_TYPE = type(None)
28
+ DEPS_TYPE = str
29
+ RESULT_TYPE = str
35
30
  RESULT_RETRIES = 5
36
31
 
37
32
  def __init__(self, *args, **kwargs):
@@ -45,7 +40,7 @@ class Task:
45
40
  self.agent = Agent(
46
41
  *args,
47
42
  model=self.model,
48
- system_prompt=self.SYSTEM_PROMPT,
43
+ system_prompt=self.SYSTEM_PROMPT or [],
49
44
  deps_type=self.DEPS_TYPE,
50
45
  result_type=self.RESULT_TYPE,
51
46
  result_retries=self.RESULT_RETRIES,
@@ -90,3 +85,16 @@ class Task:
90
85
 
91
86
  """
92
87
  return output
88
+
89
+
90
+ class TaskTest(Task):
91
+ PROVIDER = Task.PROVIDER_FMTR
92
+ MODEL_ID = 'mixtral:8x7b'
93
+
94
+
95
+ if __name__ == '__main__':
96
+ import asyncio
97
+
98
+ task = TaskTest()
99
+ result = asyncio.run(task.run('Hello! What is your name?'))
100
+ result
@@ -26,3 +26,6 @@ class ToolsConfig(ConfigClass):
26
26
  FMTR_REMOTE_DEBUG_ENABLED_KEY = 'FMTR_REMOTE_DEBUG_ENABLED'
27
27
 
28
28
  FMTR_OPENAI_API_KEY_KEY = 'FMTR_OPENAI_API_KEY'
29
+
30
+ FMTR_AI_HOST_KEY = 'FMTR_URL_HOST'
31
+ FMTR_AI_HOST_DEFAULT = 'ai.gex.fmtr.dev'
@@ -0,0 +1 @@
1
+ 1.0.55
@@ -1,43 +1,157 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.0.53
3
+ Version: 1.0.55
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
7
7
  Author-email: innovative.fowler@mask.pro.fmtr.dev
8
8
  License: Copyright © 2025 Frontmatter. All rights reserved.
9
9
  Description-Content-Type: text/markdown
10
- Provides-Extra: ai
11
- Provides-Extra: ai.client
12
- Provides-Extra: api
13
- Provides-Extra: augmentation
14
- Provides-Extra: caching
15
- Provides-Extra: debug
16
- Provides-Extra: dm
17
- Provides-Extra: docker.api
18
- Provides-Extra: google.api
19
- Provides-Extra: hfh
20
- Provides-Extra: html
21
- Provides-Extra: interface
22
- Provides-Extra: json-fix
10
+ License-File: LICENSE
11
+ Provides-Extra: test
12
+ Requires-Dist: distributed; extra == "test"
13
+ Requires-Dist: ollama; extra == "test"
14
+ Requires-Dist: pytest-cov; extra == "test"
15
+ Requires-Dist: google-auth-httplib2; extra == "test"
16
+ Requires-Dist: semver; extra == "test"
17
+ Requires-Dist: pyyaml; extra == "test"
18
+ Requires-Dist: tinynetrc; extra == "test"
19
+ Requires-Dist: dask[bag]; extra == "test"
20
+ Requires-Dist: peft; extra == "test"
21
+ Requires-Dist: openpyxl; extra == "test"
22
+ Requires-Dist: google-auth-oauthlib; extra == "test"
23
+ Requires-Dist: huggingface_hub; extra == "test"
24
+ Requires-Dist: bokeh; extra == "test"
25
+ Requires-Dist: Unidecode; extra == "test"
26
+ Requires-Dist: docker; extra == "test"
27
+ Requires-Dist: deepmerge; extra == "test"
28
+ Requires-Dist: json_repair; extra == "test"
29
+ Requires-Dist: fastapi; extra == "test"
30
+ Requires-Dist: transformers[sentencepiece]; extra == "test"
31
+ Requires-Dist: pydevd-pycharm; extra == "test"
32
+ Requires-Dist: tokenizers; extra == "test"
33
+ Requires-Dist: diskcache; extra == "test"
34
+ Requires-Dist: logfire; extra == "test"
35
+ Requires-Dist: contexttimer; extra == "test"
36
+ Requires-Dist: flet-video; extra == "test"
37
+ Requires-Dist: torchvision; extra == "test"
38
+ Requires-Dist: google-api-python-client; extra == "test"
39
+ Requires-Dist: google-auth; extra == "test"
40
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "test"
41
+ Requires-Dist: flet[all]; extra == "test"
42
+ Requires-Dist: uvicorn; extra == "test"
43
+ Requires-Dist: pydantic; extra == "test"
44
+ Requires-Dist: tabulate; extra == "test"
45
+ Requires-Dist: pymupdf4llm; extra == "test"
46
+ Requires-Dist: openai; extra == "test"
47
+ Requires-Dist: pandas; extra == "test"
48
+ Requires-Dist: faker; extra == "test"
49
+ Requires-Dist: pymupdf; extra == "test"
50
+ Requires-Dist: sre_yield; extra == "test"
51
+ Requires-Dist: flet-webview; extra == "test"
52
+ Requires-Dist: sentence_transformers; extra == "test"
53
+ Requires-Dist: torchaudio; extra == "test"
54
+ Requires-Dist: html2text; extra == "test"
55
+ Provides-Extra: yaml
56
+ Requires-Dist: pyyaml; extra == "yaml"
23
57
  Provides-Extra: logging
24
- Provides-Extra: merging
25
- Provides-Extra: metric
26
- Provides-Extra: netrc
27
- Provides-Extra: openai.api
58
+ Requires-Dist: logfire; extra == "logging"
59
+ Requires-Dist: semver; extra == "logging"
28
60
  Provides-Extra: parallel
29
- Provides-Extra: pdf
61
+ Requires-Dist: dask[bag]; extra == "parallel"
62
+ Requires-Dist: distributed; extra == "parallel"
63
+ Requires-Dist: bokeh; extra == "parallel"
64
+ Provides-Extra: tokenization
65
+ Requires-Dist: tokenizers; extra == "tokenization"
66
+ Provides-Extra: augmentation
67
+ Requires-Dist: faker; extra == "augmentation"
68
+ Requires-Dist: sre_yield; extra == "augmentation"
30
69
  Provides-Extra: process
70
+ Requires-Dist: logfire; extra == "process"
71
+ Requires-Dist: semver; extra == "process"
31
72
  Provides-Extra: profiling
32
- Provides-Extra: semantic
33
- Provides-Extra: spaces
34
- Provides-Extra: tabular
35
- Provides-Extra: test
36
- Provides-Extra: tokenization
73
+ Requires-Dist: contexttimer; extra == "profiling"
74
+ Provides-Extra: docker-api
75
+ Requires-Dist: docker; extra == "docker-api"
37
76
  Provides-Extra: unicode
77
+ Requires-Dist: Unidecode; extra == "unicode"
38
78
  Provides-Extra: version
39
- Provides-Extra: yaml
40
- License-File: LICENSE
79
+ Requires-Dist: semver; extra == "version"
80
+ Provides-Extra: spaces
81
+ Requires-Dist: tinynetrc; extra == "spaces"
82
+ Provides-Extra: netrc
83
+ Requires-Dist: tinynetrc; extra == "netrc"
84
+ Provides-Extra: hfh
85
+ Requires-Dist: huggingface_hub; extra == "hfh"
86
+ Provides-Extra: merging
87
+ Requires-Dist: deepmerge; extra == "merging"
88
+ Provides-Extra: api
89
+ Requires-Dist: fastapi; extra == "api"
90
+ Requires-Dist: uvicorn; extra == "api"
91
+ Requires-Dist: logfire; extra == "api"
92
+ Requires-Dist: semver; extra == "api"
93
+ Requires-Dist: pydantic; extra == "api"
94
+ Provides-Extra: ai
95
+ Requires-Dist: peft; extra == "ai"
96
+ Requires-Dist: transformers[sentencepiece]; extra == "ai"
97
+ Requires-Dist: torchvision; extra == "ai"
98
+ Requires-Dist: torchaudio; extra == "ai"
99
+ Requires-Dist: pydantic; extra == "ai"
100
+ Provides-Extra: dm
101
+ Requires-Dist: pydantic; extra == "dm"
102
+ Provides-Extra: openai-api
103
+ Requires-Dist: openai; extra == "openai-api"
104
+ Provides-Extra: ai-client
105
+ Requires-Dist: logfire; extra == "ai-client"
106
+ Requires-Dist: semver; extra == "ai-client"
107
+ Requires-Dist: pydantic; extra == "ai-client"
108
+ Requires-Dist: openai; extra == "ai-client"
109
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "ai-client"
110
+ Requires-Dist: ollama; extra == "ai-client"
111
+ Provides-Extra: json-fix
112
+ Requires-Dist: json_repair; extra == "json-fix"
113
+ Provides-Extra: semantic
114
+ Requires-Dist: sentence_transformers; extra == "semantic"
115
+ Requires-Dist: pandas; extra == "semantic"
116
+ Requires-Dist: tabulate; extra == "semantic"
117
+ Requires-Dist: openpyxl; extra == "semantic"
118
+ Provides-Extra: metric
119
+ Requires-Dist: pandas; extra == "metric"
120
+ Requires-Dist: tabulate; extra == "metric"
121
+ Requires-Dist: openpyxl; extra == "metric"
122
+ Provides-Extra: tabular
123
+ Requires-Dist: pandas; extra == "tabular"
124
+ Requires-Dist: tabulate; extra == "tabular"
125
+ Requires-Dist: openpyxl; extra == "tabular"
126
+ Provides-Extra: html
127
+ Requires-Dist: html2text; extra == "html"
128
+ Provides-Extra: interface
129
+ Requires-Dist: flet[all]; extra == "interface"
130
+ Requires-Dist: flet-video; extra == "interface"
131
+ Requires-Dist: flet-webview; extra == "interface"
132
+ Requires-Dist: pydantic; extra == "interface"
133
+ Provides-Extra: google-api
134
+ Requires-Dist: google-auth; extra == "google-api"
135
+ Requires-Dist: google-auth-oauthlib; extra == "google-api"
136
+ Requires-Dist: google-auth-httplib2; extra == "google-api"
137
+ Requires-Dist: google-api-python-client; extra == "google-api"
138
+ Provides-Extra: caching
139
+ Requires-Dist: diskcache; extra == "caching"
140
+ Provides-Extra: pdf
141
+ Requires-Dist: pymupdf; extra == "pdf"
142
+ Requires-Dist: pydantic; extra == "pdf"
143
+ Requires-Dist: pymupdf4llm; extra == "pdf"
144
+ Provides-Extra: debug
145
+ Requires-Dist: pydevd-pycharm; extra == "debug"
146
+ Dynamic: author
147
+ Dynamic: author-email
148
+ Dynamic: description
149
+ Dynamic: description-content-type
150
+ Dynamic: home-page
151
+ Dynamic: license
152
+ Dynamic: license-file
153
+ Dynamic: provides-extra
154
+ Dynamic: summary
41
155
 
42
156
  # `fmtr.tools`
43
157
 
@@ -1 +0,0 @@
1
- 1.0.53
File without changes
File without changes
@@ -1,25 +1,25 @@
1
1
 
2
2
  [ai]
3
3
  peft
4
- pydantic
5
- torchaudio
6
- torchvision
7
4
  transformers[sentencepiece]
5
+ torchvision
6
+ torchaudio
7
+ pydantic
8
8
 
9
9
  [ai.client]
10
10
  logfire
11
- ollama
12
- openai
11
+ semver
13
12
  pydantic
13
+ openai
14
14
  pydantic-ai[logfire,openai]
15
- semver
15
+ ollama
16
16
 
17
17
  [api]
18
18
  fastapi
19
+ uvicorn
19
20
  logfire
20
- pydantic
21
21
  semver
22
- uvicorn
22
+ pydantic
23
23
 
24
24
  [augmentation]
25
25
  faker
@@ -38,10 +38,10 @@ pydantic
38
38
  docker
39
39
 
40
40
  [google.api]
41
- google-api-python-client
42
41
  google-auth
43
- google-auth-httplib2
44
42
  google-auth-oauthlib
43
+ google-auth-httplib2
44
+ google-api-python-client
45
45
 
46
46
  [hfh]
47
47
  huggingface_hub
@@ -50,9 +50,9 @@ huggingface_hub
50
50
  html2text
51
51
 
52
52
  [interface]
53
+ flet[all]
53
54
  flet-video
54
55
  flet-webview
55
- flet[all]
56
56
  pydantic
57
57
 
58
58
  [json-fix]
@@ -66,9 +66,9 @@ semver
66
66
  deepmerge
67
67
 
68
68
  [metric]
69
- openpyxl
70
69
  pandas
71
70
  tabulate
71
+ openpyxl
72
72
 
73
73
  [netrc]
74
74
  tinynetrc
@@ -77,13 +77,13 @@ tinynetrc
77
77
  openai
78
78
 
79
79
  [parallel]
80
- bokeh
81
80
  dask[bag]
82
81
  distributed
82
+ bokeh
83
83
 
84
84
  [pdf]
85
- pydantic
86
85
  pymupdf
86
+ pydantic
87
87
  pymupdf4llm
88
88
 
89
89
  [process]
@@ -94,63 +94,63 @@ semver
94
94
  contexttimer
95
95
 
96
96
  [semantic]
97
- openpyxl
98
- pandas
99
97
  sentence_transformers
98
+ pandas
100
99
  tabulate
100
+ openpyxl
101
101
 
102
102
  [spaces]
103
103
  tinynetrc
104
104
 
105
105
  [tabular]
106
- openpyxl
107
106
  pandas
108
107
  tabulate
108
+ openpyxl
109
109
 
110
110
  [test]
111
- Unidecode
112
- bokeh
113
- contexttimer
114
- dask[bag]
115
- deepmerge
116
- diskcache
117
111
  distributed
118
- docker
119
- faker
120
- fastapi
121
- flet-video
122
- flet-webview
123
- flet[all]
124
- google-api-python-client
125
- google-auth
112
+ ollama
113
+ pytest-cov
126
114
  google-auth-httplib2
115
+ semver
116
+ pyyaml
117
+ tinynetrc
118
+ dask[bag]
119
+ peft
120
+ openpyxl
127
121
  google-auth-oauthlib
128
- html2text
129
122
  huggingface_hub
123
+ bokeh
124
+ Unidecode
125
+ docker
126
+ deepmerge
130
127
  json_repair
128
+ fastapi
129
+ transformers[sentencepiece]
130
+ pydevd-pycharm
131
+ tokenizers
132
+ diskcache
131
133
  logfire
132
- ollama
134
+ contexttimer
135
+ flet-video
136
+ torchvision
137
+ google-api-python-client
138
+ google-auth
139
+ pydantic-ai[logfire,openai]
140
+ flet[all]
141
+ uvicorn
142
+ pydantic
143
+ tabulate
144
+ pymupdf4llm
133
145
  openai
134
- openpyxl
135
146
  pandas
136
- peft
137
- pydantic
138
- pydantic-ai[logfire,openai]
139
- pydevd-pycharm
147
+ faker
140
148
  pymupdf
141
- pymupdf4llm
142
- pytest-cov
143
- pyyaml
144
- semver
145
- sentence_transformers
146
149
  sre_yield
147
- tabulate
148
- tinynetrc
149
- tokenizers
150
+ flet-webview
151
+ sentence_transformers
150
152
  torchaudio
151
- torchvision
152
- transformers[sentencepiece]
153
- uvicorn
153
+ html2text
154
154
 
155
155
  [tokenization]
156
156
  tokenizers
File without changes
File without changes