fmtr.tools 1.2.0__tar.gz → 1.2.2__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 (86) hide show
  1. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/PKG-INFO +43 -43
  2. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/agentic_tools.py +28 -4
  3. fmtr_tools-1.2.2/fmtr/tools/version +1 -0
  4. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/PKG-INFO +43 -43
  5. fmtr_tools-1.2.2/pyproject.toml +3 -0
  6. fmtr_tools-1.2.0/fmtr/tools/version +0 -1
  7. fmtr_tools-1.2.0/pyproject.toml +0 -3
  8. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/LICENSE +0 -0
  9. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/README.md +0 -0
  10. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/__init__.py +0 -0
  11. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/__init__.py +0 -0
  12. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/inference_tools.py +0 -0
  13. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/api_tools.py +0 -0
  14. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/async_tools.py +0 -0
  15. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/augmentation_tools.py +0 -0
  16. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/caching_tools.py +0 -0
  17. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/constants.py +0 -0
  18. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/data_modelling_tools.py +0 -0
  19. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/dataclass_tools.py +0 -0
  20. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/datatype_tools.py +0 -0
  21. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/debugging_tools.py +0 -0
  22. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/dns_tools.py +0 -0
  23. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/docker_tools.py +0 -0
  24. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/__init__.py +0 -0
  25. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
  26. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/ep_test.py +0 -0
  27. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
  28. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/shell_debug.py +0 -0
  29. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/environment_tools.py +0 -0
  30. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/function_tools.py +0 -0
  31. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/google_api_tools.py +0 -0
  32. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/hash_tools.py +0 -0
  33. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/hfh_tools.py +0 -0
  34. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/html_tools.py +0 -0
  35. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/http_tools.py +0 -0
  36. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/import_tools.py +0 -0
  37. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/inspection_tools.py +0 -0
  38. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/interface_tools.py +0 -0
  39. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/iterator_tools.py +0 -0
  40. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/json_fix_tools.py +0 -0
  41. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/json_tools.py +0 -0
  42. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/logging_tools.py +0 -0
  43. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/merging_tools.py +0 -0
  44. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/metric_tools.py +0 -0
  45. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/name_tools.py +0 -0
  46. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/netrc_tools.py +0 -0
  47. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/openai_tools.py +0 -0
  48. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/packaging_tools.py +0 -0
  49. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/parallel_tools.py +0 -0
  50. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/__init__.py +0 -0
  51. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/app_path_tools.py +0 -0
  52. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/path_tools.py +0 -0
  53. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/type_path_tools.py +0 -0
  54. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/pattern_tools.py +0 -0
  55. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/pdf_tools.py +0 -0
  56. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/platform_tools.py +0 -0
  57. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/process_tools.py +0 -0
  58. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/profiling_tools.py +0 -0
  59. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/random_tools.py +0 -0
  60. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/semantic_tools.py +0 -0
  61. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/settings_tools.py +0 -0
  62. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/setup_tools/__init__.py +0 -0
  63. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/setup_tools/setup_tools.py +0 -0
  64. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/spaces_tools.py +0 -0
  65. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/string_tools.py +0 -0
  66. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tabular_tools.py +0 -0
  67. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/__init__.py +0 -0
  68. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/conftest.py +0 -0
  69. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/helpers.py +0 -0
  70. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_datatype.py +0 -0
  71. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_environment.py +0 -0
  72. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_json.py +0 -0
  73. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_path.py +0 -0
  74. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_yaml.py +0 -0
  75. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tokenization_tools.py +0 -0
  76. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tools.py +0 -0
  77. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/unicode_tools.py +0 -0
  78. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/version_tools.py +0 -0
  79. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/yaml_tools.py +0 -0
  80. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/SOURCES.txt +0 -0
  81. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/dependency_links.txt +0 -0
  82. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/entry_points.txt +0 -0
  83. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/requires.txt +42 -42
  84. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/top_level.txt +0 -0
  85. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/setup.cfg +0 -0
  86. {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.2.0
3
+ Version: 1.2.2
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/tools
6
6
  Author: Frontmatter
@@ -123,60 +123,60 @@ Requires-Dist: logfire[httpx]; extra == "http"
123
123
  Provides-Extra: setup
124
124
  Requires-Dist: setuptools; extra == "setup"
125
125
  Provides-Extra: all
126
- Requires-Dist: pytest-cov; extra == "all"
127
- Requires-Dist: logfire; extra == "all"
128
- Requires-Dist: sre_yield; extra == "all"
129
- Requires-Dist: pydantic; extra == "all"
130
- Requires-Dist: flet[all]; extra == "all"
131
- Requires-Dist: httpx_retries; extra == "all"
126
+ Requires-Dist: tinynetrc; extra == "all"
132
127
  Requires-Dist: openpyxl; extra == "all"
133
- Requires-Dist: google-auth; extra == "all"
134
- Requires-Dist: torchaudio; extra == "all"
135
- Requires-Dist: google-auth-oauthlib; extra == "all"
136
- Requires-Dist: uvicorn[standard]; extra == "all"
137
- Requires-Dist: json_repair; extra == "all"
138
- Requires-Dist: torchvision; extra == "all"
139
- Requires-Dist: regex; extra == "all"
140
128
  Requires-Dist: httpx; extra == "all"
141
- Requires-Dist: ollama; extra == "all"
142
- Requires-Dist: google-api-python-client; extra == "all"
143
- Requires-Dist: tabulate; extra == "all"
144
- Requires-Dist: flet-webview; extra == "all"
145
- Requires-Dist: diskcache; extra == "all"
146
- Requires-Dist: setuptools; extra == "all"
147
- Requires-Dist: appdirs; extra == "all"
129
+ Requires-Dist: regex; extra == "all"
130
+ Requires-Dist: logfire[fastapi]; extra == "all"
148
131
  Requires-Dist: dask[bag]; extra == "all"
149
- Requires-Dist: tokenizers; extra == "all"
150
- Requires-Dist: Unidecode; extra == "all"
151
- Requires-Dist: transformers[sentencepiece]; extra == "all"
152
132
  Requires-Dist: deepmerge; extra == "all"
153
- Requires-Dist: sentence_transformers; extra == "all"
154
- Requires-Dist: semver; extra == "all"
133
+ Requires-Dist: pydantic-settings; extra == "all"
134
+ Requires-Dist: yamlscript; extra == "all"
135
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
136
+ Requires-Dist: ollama; extra == "all"
137
+ Requires-Dist: openai; extra == "all"
138
+ Requires-Dist: diskcache; extra == "all"
155
139
  Requires-Dist: pydevd-pycharm; extra == "all"
140
+ Requires-Dist: sre_yield; extra == "all"
141
+ Requires-Dist: distributed; extra == "all"
156
142
  Requires-Dist: contexttimer; extra == "all"
157
- Requires-Dist: tinynetrc; extra == "all"
158
- Requires-Dist: logfire[httpx]; extra == "all"
159
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
160
- Requires-Dist: faker; extra == "all"
143
+ Requires-Dist: html2text; extra == "all"
161
144
  Requires-Dist: filetype; extra == "all"
162
- Requires-Dist: huggingface_hub; extra == "all"
163
- Requires-Dist: logfire[fastapi]; extra == "all"
164
- Requires-Dist: distributed; extra == "all"
165
- Requires-Dist: docker; extra == "all"
166
- Requires-Dist: bokeh; extra == "all"
167
- Requires-Dist: yamlscript; extra == "all"
168
- Requires-Dist: openai; extra == "all"
169
- Requires-Dist: peft; extra == "all"
170
- Requires-Dist: pyyaml; extra == "all"
171
- Requires-Dist: pymupdf; extra == "all"
172
145
  Requires-Dist: flet-video; extra == "all"
173
- Requires-Dist: fastapi; extra == "all"
174
- Requires-Dist: pydantic-settings; extra == "all"
146
+ Requires-Dist: logfire[httpx]; extra == "all"
147
+ Requires-Dist: flet-webview; extra == "all"
175
148
  Requires-Dist: pymupdf4llm; extra == "all"
176
- Requires-Dist: html2text; extra == "all"
149
+ Requires-Dist: uvicorn[standard]; extra == "all"
150
+ Requires-Dist: tokenizers; extra == "all"
151
+ Requires-Dist: google-auth; extra == "all"
177
152
  Requires-Dist: dnspython[doh]; extra == "all"
153
+ Requires-Dist: sentence_transformers; extra == "all"
154
+ Requires-Dist: setuptools; extra == "all"
155
+ Requires-Dist: pymupdf; extra == "all"
156
+ Requires-Dist: google-auth-oauthlib; extra == "all"
157
+ Requires-Dist: pydantic; extra == "all"
158
+ Requires-Dist: docker; extra == "all"
159
+ Requires-Dist: json_repair; extra == "all"
160
+ Requires-Dist: tabulate; extra == "all"
161
+ Requires-Dist: appdirs; extra == "all"
162
+ Requires-Dist: faker; extra == "all"
163
+ Requires-Dist: torchaudio; extra == "all"
178
164
  Requires-Dist: pandas; extra == "all"
165
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
166
+ Requires-Dist: pyyaml; extra == "all"
167
+ Requires-Dist: semver; extra == "all"
168
+ Requires-Dist: flet[all]; extra == "all"
169
+ Requires-Dist: Unidecode; extra == "all"
170
+ Requires-Dist: huggingface_hub; extra == "all"
171
+ Requires-Dist: fastapi; extra == "all"
172
+ Requires-Dist: bokeh; extra == "all"
173
+ Requires-Dist: torchvision; extra == "all"
179
174
  Requires-Dist: google-auth-httplib2; extra == "all"
175
+ Requires-Dist: pytest-cov; extra == "all"
176
+ Requires-Dist: httpx_retries; extra == "all"
177
+ Requires-Dist: google-api-python-client; extra == "all"
178
+ Requires-Dist: peft; extra == "all"
179
+ Requires-Dist: logfire; extra == "all"
180
180
  Dynamic: author
181
181
  Dynamic: author-email
182
182
  Dynamic: description
@@ -1,17 +1,31 @@
1
- from typing import List, Optional
2
-
3
1
  import pydantic_ai
4
- from pydantic_ai import RunContext
2
+ from pydantic_ai import RunContext, ModelRetry
5
3
  from pydantic_ai.agent import AgentRunResult, Agent
6
4
  from pydantic_ai.models.openai import OpenAIModel
7
5
  from pydantic_ai.providers.openai import OpenAIProvider
6
+ from typing import List, Optional, Any
8
7
 
9
8
  from fmtr.tools import environment_tools as env
10
9
  from fmtr.tools.constants import Constants
10
+ from fmtr.tools.logging_tools import logger
11
11
  from fmtr.tools.string_tools import truncate_mid
12
12
 
13
13
  pydantic_ai.Agent.instrument_all()
14
14
 
15
+
16
+ class Validator:
17
+ """
18
+
19
+ Subclassable validator
20
+
21
+ """
22
+
23
+ async def validate(self, ctx: RunContext[Any], output: Any) -> List[str]:
24
+ raise NotImplementedError()
25
+
26
+
27
+
28
+
15
29
  class Task:
16
30
  """
17
31
 
@@ -31,6 +45,7 @@ class Task:
31
45
  DEPS_TYPE = str
32
46
  RESULT_TYPE = str
33
47
  RESULT_RETRIES = 5
48
+ VALIDATORS: List[Validator] = []
34
49
 
35
50
  def __init__(self, *args, **kwargs):
36
51
  """
@@ -77,9 +92,18 @@ class Task:
77
92
  async def validate(self, ctx: RunContext[DEPS_TYPE], output: RESULT_TYPE) -> RESULT_TYPE:
78
93
  """
79
94
 
80
- Dummy validator
95
+ Aggregate any validation failures and combine them into a single ModelRetry exception
81
96
 
82
97
  """
98
+ msgs = []
99
+ for validator in self.VALIDATORS:
100
+ msgs += validator.validate(ctx, output)
101
+
102
+ if msgs:
103
+ msg = '. '.join(msgs)
104
+ logger.warning(msg)
105
+ raise ModelRetry(msg)
106
+
83
107
  return output
84
108
 
85
109
  def get_prompt(self, deps: Optional[DEPS_TYPE]) -> Optional[str]:
@@ -0,0 +1 @@
1
+ 1.2.2
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.2.0
3
+ Version: 1.2.2
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/tools
6
6
  Author: Frontmatter
@@ -123,60 +123,60 @@ Requires-Dist: logfire[httpx]; extra == "http"
123
123
  Provides-Extra: setup
124
124
  Requires-Dist: setuptools; extra == "setup"
125
125
  Provides-Extra: all
126
- Requires-Dist: pytest-cov; extra == "all"
127
- Requires-Dist: logfire; extra == "all"
128
- Requires-Dist: sre_yield; extra == "all"
129
- Requires-Dist: pydantic; extra == "all"
130
- Requires-Dist: flet[all]; extra == "all"
131
- Requires-Dist: httpx_retries; extra == "all"
126
+ Requires-Dist: tinynetrc; extra == "all"
132
127
  Requires-Dist: openpyxl; extra == "all"
133
- Requires-Dist: google-auth; extra == "all"
134
- Requires-Dist: torchaudio; extra == "all"
135
- Requires-Dist: google-auth-oauthlib; extra == "all"
136
- Requires-Dist: uvicorn[standard]; extra == "all"
137
- Requires-Dist: json_repair; extra == "all"
138
- Requires-Dist: torchvision; extra == "all"
139
- Requires-Dist: regex; extra == "all"
140
128
  Requires-Dist: httpx; extra == "all"
141
- Requires-Dist: ollama; extra == "all"
142
- Requires-Dist: google-api-python-client; extra == "all"
143
- Requires-Dist: tabulate; extra == "all"
144
- Requires-Dist: flet-webview; extra == "all"
145
- Requires-Dist: diskcache; extra == "all"
146
- Requires-Dist: setuptools; extra == "all"
147
- Requires-Dist: appdirs; extra == "all"
129
+ Requires-Dist: regex; extra == "all"
130
+ Requires-Dist: logfire[fastapi]; extra == "all"
148
131
  Requires-Dist: dask[bag]; extra == "all"
149
- Requires-Dist: tokenizers; extra == "all"
150
- Requires-Dist: Unidecode; extra == "all"
151
- Requires-Dist: transformers[sentencepiece]; extra == "all"
152
132
  Requires-Dist: deepmerge; extra == "all"
153
- Requires-Dist: sentence_transformers; extra == "all"
154
- Requires-Dist: semver; extra == "all"
133
+ Requires-Dist: pydantic-settings; extra == "all"
134
+ Requires-Dist: yamlscript; extra == "all"
135
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
136
+ Requires-Dist: ollama; extra == "all"
137
+ Requires-Dist: openai; extra == "all"
138
+ Requires-Dist: diskcache; extra == "all"
155
139
  Requires-Dist: pydevd-pycharm; extra == "all"
140
+ Requires-Dist: sre_yield; extra == "all"
141
+ Requires-Dist: distributed; extra == "all"
156
142
  Requires-Dist: contexttimer; extra == "all"
157
- Requires-Dist: tinynetrc; extra == "all"
158
- Requires-Dist: logfire[httpx]; extra == "all"
159
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
160
- Requires-Dist: faker; extra == "all"
143
+ Requires-Dist: html2text; extra == "all"
161
144
  Requires-Dist: filetype; extra == "all"
162
- Requires-Dist: huggingface_hub; extra == "all"
163
- Requires-Dist: logfire[fastapi]; extra == "all"
164
- Requires-Dist: distributed; extra == "all"
165
- Requires-Dist: docker; extra == "all"
166
- Requires-Dist: bokeh; extra == "all"
167
- Requires-Dist: yamlscript; extra == "all"
168
- Requires-Dist: openai; extra == "all"
169
- Requires-Dist: peft; extra == "all"
170
- Requires-Dist: pyyaml; extra == "all"
171
- Requires-Dist: pymupdf; extra == "all"
172
145
  Requires-Dist: flet-video; extra == "all"
173
- Requires-Dist: fastapi; extra == "all"
174
- Requires-Dist: pydantic-settings; extra == "all"
146
+ Requires-Dist: logfire[httpx]; extra == "all"
147
+ Requires-Dist: flet-webview; extra == "all"
175
148
  Requires-Dist: pymupdf4llm; extra == "all"
176
- Requires-Dist: html2text; extra == "all"
149
+ Requires-Dist: uvicorn[standard]; extra == "all"
150
+ Requires-Dist: tokenizers; extra == "all"
151
+ Requires-Dist: google-auth; extra == "all"
177
152
  Requires-Dist: dnspython[doh]; extra == "all"
153
+ Requires-Dist: sentence_transformers; extra == "all"
154
+ Requires-Dist: setuptools; extra == "all"
155
+ Requires-Dist: pymupdf; extra == "all"
156
+ Requires-Dist: google-auth-oauthlib; extra == "all"
157
+ Requires-Dist: pydantic; extra == "all"
158
+ Requires-Dist: docker; extra == "all"
159
+ Requires-Dist: json_repair; extra == "all"
160
+ Requires-Dist: tabulate; extra == "all"
161
+ Requires-Dist: appdirs; extra == "all"
162
+ Requires-Dist: faker; extra == "all"
163
+ Requires-Dist: torchaudio; extra == "all"
178
164
  Requires-Dist: pandas; extra == "all"
165
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
166
+ Requires-Dist: pyyaml; extra == "all"
167
+ Requires-Dist: semver; extra == "all"
168
+ Requires-Dist: flet[all]; extra == "all"
169
+ Requires-Dist: Unidecode; extra == "all"
170
+ Requires-Dist: huggingface_hub; extra == "all"
171
+ Requires-Dist: fastapi; extra == "all"
172
+ Requires-Dist: bokeh; extra == "all"
173
+ Requires-Dist: torchvision; extra == "all"
179
174
  Requires-Dist: google-auth-httplib2; extra == "all"
175
+ Requires-Dist: pytest-cov; extra == "all"
176
+ Requires-Dist: httpx_retries; extra == "all"
177
+ Requires-Dist: google-api-python-client; extra == "all"
178
+ Requires-Dist: peft; extra == "all"
179
+ Requires-Dist: logfire; extra == "all"
180
180
  Dynamic: author
181
181
  Dynamic: author-email
182
182
  Dynamic: description
@@ -0,0 +1,3 @@
1
+ [build-system]
2
+ requires = ["fmtr.tools[setup]==1.2.0"]
3
+ build-backend = "setuptools.build_meta"
@@ -1 +0,0 @@
1
- 1.2.0
@@ -1,3 +0,0 @@
1
- [build-system]
2
- requires = ["fmtr.tools[setup]"]
3
- build-backend = "setuptools.build_meta"
File without changes
File without changes
@@ -15,60 +15,60 @@ pydantic-ai[logfire,openai]
15
15
  ollama
16
16
 
17
17
  [all]
18
- pytest-cov
19
- logfire
20
- sre_yield
21
- pydantic
22
- flet[all]
23
- httpx_retries
18
+ tinynetrc
24
19
  openpyxl
25
- google-auth
26
- torchaudio
27
- google-auth-oauthlib
28
- uvicorn[standard]
29
- json_repair
30
- torchvision
31
- regex
32
20
  httpx
33
- ollama
34
- google-api-python-client
35
- tabulate
36
- flet-webview
37
- diskcache
38
- setuptools
39
- appdirs
21
+ regex
22
+ logfire[fastapi]
40
23
  dask[bag]
41
- tokenizers
42
- Unidecode
43
- transformers[sentencepiece]
44
24
  deepmerge
45
- sentence_transformers
46
- semver
25
+ pydantic-settings
26
+ yamlscript
27
+ pydantic-ai[logfire,openai]
28
+ ollama
29
+ openai
30
+ diskcache
47
31
  pydevd-pycharm
32
+ sre_yield
33
+ distributed
48
34
  contexttimer
49
- tinynetrc
50
- logfire[httpx]
51
- pydantic-ai[logfire,openai]
52
- faker
35
+ html2text
53
36
  filetype
54
- huggingface_hub
55
- logfire[fastapi]
56
- distributed
57
- docker
58
- bokeh
59
- yamlscript
60
- openai
61
- peft
62
- pyyaml
63
- pymupdf
64
37
  flet-video
65
- fastapi
66
- pydantic-settings
38
+ logfire[httpx]
39
+ flet-webview
67
40
  pymupdf4llm
68
- html2text
41
+ uvicorn[standard]
42
+ tokenizers
43
+ google-auth
69
44
  dnspython[doh]
45
+ sentence_transformers
46
+ setuptools
47
+ pymupdf
48
+ google-auth-oauthlib
49
+ pydantic
50
+ docker
51
+ json_repair
52
+ tabulate
53
+ appdirs
54
+ faker
55
+ torchaudio
70
56
  pandas
57
+ transformers[sentencepiece]
58
+ pyyaml
59
+ semver
60
+ flet[all]
61
+ Unidecode
62
+ huggingface_hub
63
+ fastapi
64
+ bokeh
65
+ torchvision
71
66
  google-auth-httplib2
67
+ pytest-cov
68
+ httpx_retries
69
+ google-api-python-client
70
+ peft
71
+ logfire
72
72
 
73
73
  [api]
74
74
  fastapi
File without changes
File without changes