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.
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/PKG-INFO +43 -43
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/agentic_tools.py +28 -4
- fmtr_tools-1.2.2/fmtr/tools/version +1 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/PKG-INFO +43 -43
- fmtr_tools-1.2.2/pyproject.toml +3 -0
- fmtr_tools-1.2.0/fmtr/tools/version +0 -1
- fmtr_tools-1.2.0/pyproject.toml +0 -3
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/LICENSE +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/README.md +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/ai_tools/inference_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/api_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/async_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/augmentation_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/caching_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/constants.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/data_modelling_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/dataclass_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/datatype_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/debugging_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/dns_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/docker_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/ep_test.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/entrypoints/shell_debug.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/environment_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/function_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/google_api_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/hash_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/hfh_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/html_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/http_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/import_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/inspection_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/interface_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/iterator_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/json_fix_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/json_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/logging_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/merging_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/metric_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/name_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/netrc_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/openai_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/packaging_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/parallel_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/app_path_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/path_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/path_tools/type_path_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/pattern_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/pdf_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/platform_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/process_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/profiling_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/random_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/semantic_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/settings_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/setup_tools/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/setup_tools/setup_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/spaces_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/string_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tabular_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/__init__.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/conftest.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/helpers.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_datatype.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_environment.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_json.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_path.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tests/test_yaml.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tokenization_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/unicode_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/version_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr/tools/yaml_tools.py +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/SOURCES.txt +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/dependency_links.txt +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/entry_points.txt +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/requires.txt +42 -42
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/fmtr.tools.egg-info/top_level.txt +0 -0
- {fmtr_tools-1.2.0 → fmtr_tools-1.2.2}/setup.cfg +0 -0
- {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.
|
|
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:
|
|
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:
|
|
142
|
-
Requires-Dist:
|
|
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:
|
|
154
|
-
Requires-Dist:
|
|
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:
|
|
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:
|
|
174
|
-
Requires-Dist:
|
|
146
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
147
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
175
148
|
Requires-Dist: pymupdf4llm; extra == "all"
|
|
176
|
-
Requires-Dist:
|
|
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
|
-
|
|
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.
|
|
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:
|
|
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:
|
|
142
|
-
Requires-Dist:
|
|
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:
|
|
154
|
-
Requires-Dist:
|
|
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:
|
|
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:
|
|
174
|
-
Requires-Dist:
|
|
146
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
147
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
175
148
|
Requires-Dist: pymupdf4llm; extra == "all"
|
|
176
|
-
Requires-Dist:
|
|
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 +0,0 @@
|
|
|
1
|
-
1.2.0
|
fmtr_tools-1.2.0/pyproject.toml
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|
|
@@ -15,60 +15,60 @@ pydantic-ai[logfire,openai]
|
|
|
15
15
|
ollama
|
|
16
16
|
|
|
17
17
|
[all]
|
|
18
|
-
|
|
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
|
-
|
|
34
|
-
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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
|
-
|
|
66
|
-
|
|
38
|
+
logfire[httpx]
|
|
39
|
+
flet-webview
|
|
67
40
|
pymupdf4llm
|
|
68
|
-
|
|
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
|
|
File without changes
|