fmtr.tools 1.3.41__tar.gz → 1.3.43__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.3.41 → fmtr_tools-1.3.43}/PKG-INFO +50 -44
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/__init__.py +30 -28
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/ai_tools/__init__.py +2 -2
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/constants.py +2 -1
- fmtr_tools-1.3.43/fmtr/tools/database_tools/__init__.py +6 -0
- fmtr_tools-1.3.43/fmtr/tools/database_tools/document.py +33 -0
- fmtr_tools-1.3.43/fmtr/tools/datetime_tools.py +5 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dns_tools/__init__.py +1 -1
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/interface_tools/__init__.py +1 -1
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/path_tools/__init__.py +2 -2
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/setup_tools/__init__.py +1 -1
- fmtr_tools-1.3.43/fmtr/tools/version +1 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/version_tools/__init__.py +1 -1
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/PKG-INFO +50 -44
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/SOURCES.txt +6 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/requires.txt +51 -43
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/setup.py +3 -1
- fmtr_tools-1.3.41/fmtr/tools/version +0 -1
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/LICENSE +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/README.md +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/ai_tools/inference_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/api_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/async_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/augmentation_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/caching_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/context_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/data_modelling_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dataclass_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/datatype_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/debugging_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dns_tools/client.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dns_tools/dm.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dns_tools/proxy.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/dns_tools/server.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/docker_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/__init__.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/ep_test.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/entrypoints/shell_debug.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/environment_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/function_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/google_api_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/hash_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/hfh_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/html_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/http_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/import_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/inherit_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/inspection_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/interface_tools/context.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/interface_tools/controls.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/interface_tools/interface_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/iterator_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/json_fix_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/json_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/logging_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/merging_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/metric_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/name_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/netrc_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/openai_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/packaging_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/parallel_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/path_tools/app_path_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/path_tools/path_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/path_tools/type_path_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/pattern_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/pdf_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/platform_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/process_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/profiling_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/random_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/semantic_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/settings_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/setup_tools/setup_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/spaces_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/string_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tabular_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/__init__.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/conftest.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/helpers.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/test_datatype.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/test_environment.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/test_json.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/test_path.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tests/test_yaml.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tokenization_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/unicode_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/version_tools/version_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/webhook_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr/tools/yaml_tools.py +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/dependency_links.txt +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/entry_points.txt +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/fmtr.tools.egg-info/top_level.txt +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/pyproject.toml +0 -0
- {fmtr_tools-1.3.41 → fmtr_tools-1.3.43}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.43
|
|
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
|
|
@@ -131,63 +131,69 @@ Requires-Dist: logfire; extra == "webhook"
|
|
|
131
131
|
Requires-Dist: logfire[httpx]; extra == "webhook"
|
|
132
132
|
Provides-Extra: browsers
|
|
133
133
|
Requires-Dist: playwright; extra == "browsers"
|
|
134
|
+
Provides-Extra: db
|
|
135
|
+
Provides-Extra: db-document
|
|
136
|
+
Requires-Dist: beanie[odm]; extra == "db-document"
|
|
137
|
+
Requires-Dist: motor; extra == "db-document"
|
|
134
138
|
Provides-Extra: all
|
|
135
|
-
Requires-Dist:
|
|
139
|
+
Requires-Dist: filetype; extra == "all"
|
|
136
140
|
Requires-Dist: fastapi; extra == "all"
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist:
|
|
141
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
142
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
143
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
139
144
|
Requires-Dist: sre_yield; extra == "all"
|
|
140
|
-
Requires-Dist:
|
|
141
|
-
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
145
|
+
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
142
146
|
Requires-Dist: pydantic-settings; extra == "all"
|
|
143
|
-
Requires-Dist:
|
|
147
|
+
Requires-Dist: httpx_retries; extra == "all"
|
|
148
|
+
Requires-Dist: ollama; extra == "all"
|
|
149
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
150
|
+
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
151
|
+
Requires-Dist: torchvision; extra == "all"
|
|
152
|
+
Requires-Dist: pydantic; extra == "all"
|
|
153
|
+
Requires-Dist: appdirs; extra == "all"
|
|
154
|
+
Requires-Dist: flet[all]; extra == "all"
|
|
144
155
|
Requires-Dist: regex; extra == "all"
|
|
145
|
-
Requires-Dist:
|
|
146
|
-
Requires-Dist:
|
|
147
|
-
Requires-Dist:
|
|
148
|
-
Requires-Dist:
|
|
156
|
+
Requires-Dist: beanie[odm]; extra == "all"
|
|
157
|
+
Requires-Dist: contexttimer; extra == "all"
|
|
158
|
+
Requires-Dist: motor; extra == "all"
|
|
159
|
+
Requires-Dist: dnspython[doh]; extra == "all"
|
|
160
|
+
Requires-Dist: logfire; extra == "all"
|
|
149
161
|
Requires-Dist: pyyaml; extra == "all"
|
|
162
|
+
Requires-Dist: yamlscript; extra == "all"
|
|
163
|
+
Requires-Dist: docker; extra == "all"
|
|
164
|
+
Requires-Dist: Unidecode; extra == "all"
|
|
150
165
|
Requires-Dist: semver; extra == "all"
|
|
151
|
-
Requires-Dist: flet-webview; extra == "all"
|
|
152
|
-
Requires-Dist: filetype; extra == "all"
|
|
153
|
-
Requires-Dist: ollama; extra == "all"
|
|
154
166
|
Requires-Dist: google-auth; extra == "all"
|
|
155
|
-
Requires-Dist:
|
|
156
|
-
Requires-Dist:
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
167
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
168
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
169
|
+
Requires-Dist: html2text; extra == "all"
|
|
170
|
+
Requires-Dist: diskcache; extra == "all"
|
|
171
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
159
172
|
Requires-Dist: cachetools; extra == "all"
|
|
160
|
-
Requires-Dist:
|
|
161
|
-
Requires-Dist: setuptools; extra == "all"
|
|
173
|
+
Requires-Dist: flet-video; extra == "all"
|
|
162
174
|
Requires-Dist: json_repair; extra == "all"
|
|
163
|
-
Requires-Dist: distributed; extra == "all"
|
|
164
|
-
Requires-Dist: pymupdf; extra == "all"
|
|
165
|
-
Requires-Dist: html2text; extra == "all"
|
|
166
175
|
Requires-Dist: openpyxl; extra == "all"
|
|
167
|
-
Requires-Dist:
|
|
168
|
-
Requires-Dist:
|
|
169
|
-
Requires-Dist:
|
|
170
|
-
Requires-Dist:
|
|
171
|
-
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
172
|
-
Requires-Dist: contexttimer; extra == "all"
|
|
173
|
-
Requires-Dist: peft; extra == "all"
|
|
174
|
-
Requires-Dist: yamlscript; extra == "all"
|
|
175
|
-
Requires-Dist: logfire; extra == "all"
|
|
176
|
-
Requires-Dist: bokeh; extra == "all"
|
|
176
|
+
Requires-Dist: openai; extra == "all"
|
|
177
|
+
Requires-Dist: pymupdf; extra == "all"
|
|
178
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
179
|
+
Requires-Dist: pandas; extra == "all"
|
|
177
180
|
Requires-Dist: tokenizers; extra == "all"
|
|
178
|
-
Requires-Dist:
|
|
181
|
+
Requires-Dist: bokeh; extra == "all"
|
|
179
182
|
Requires-Dist: tinynetrc; extra == "all"
|
|
180
|
-
Requires-Dist:
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist:
|
|
184
|
-
Requires-Dist:
|
|
185
|
-
Requires-Dist:
|
|
186
|
-
Requires-Dist:
|
|
187
|
-
Requires-Dist: logfire[httpx]; extra == "all"
|
|
188
|
-
Requires-Dist: appdirs; extra == "all"
|
|
189
|
-
Requires-Dist: httpx_retries; extra == "all"
|
|
183
|
+
Requires-Dist: peft; extra == "all"
|
|
184
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
185
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
186
|
+
Requires-Dist: tabulate; extra == "all"
|
|
187
|
+
Requires-Dist: faker; extra == "all"
|
|
188
|
+
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
189
|
+
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
190
190
|
Requires-Dist: sentence_transformers; extra == "all"
|
|
191
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
192
|
+
Requires-Dist: distributed; extra == "all"
|
|
193
|
+
Requires-Dist: httpx; extra == "all"
|
|
194
|
+
Requires-Dist: playwright; extra == "all"
|
|
195
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
196
|
+
Requires-Dist: setuptools; extra == "all"
|
|
191
197
|
Dynamic: author
|
|
192
198
|
Dynamic: author-email
|
|
193
199
|
Dynamic: description
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import fmtr.tools.async_tools as asyncio
|
|
2
|
+
import fmtr.tools.database_tools as db
|
|
2
3
|
import fmtr.tools.dataclass_tools as dataclass
|
|
3
4
|
import fmtr.tools.datatype_tools as datatype
|
|
4
5
|
import fmtr.tools.environment_tools as env
|
|
@@ -18,6 +19,7 @@ import fmtr.tools.random_tools as random
|
|
|
18
19
|
import fmtr.tools.setup_tools as setup
|
|
19
20
|
import fmtr.tools.string_tools as string
|
|
20
21
|
from fmtr.tools import ai_tools as ai
|
|
22
|
+
from fmtr.tools import datetime_tools as dt
|
|
21
23
|
from fmtr.tools import dns_tools as dns
|
|
22
24
|
from fmtr.tools import interface_tools as interface
|
|
23
25
|
from fmtr.tools import version_tools as version
|
|
@@ -30,147 +32,147 @@ from fmtr.tools.setup_tools import Setup, SetupPaths, Dependencies, Tools
|
|
|
30
32
|
|
|
31
33
|
try:
|
|
32
34
|
from fmtr.tools import augmentation_tools as augmentation
|
|
33
|
-
except
|
|
35
|
+
except ModuleNotFoundError as exception:
|
|
34
36
|
augmentation = MissingExtraMockModule('augmentation', exception)
|
|
35
37
|
|
|
36
38
|
try:
|
|
37
39
|
from fmtr.tools import yaml_tools as yaml
|
|
38
|
-
except
|
|
40
|
+
except ModuleNotFoundError as exception:
|
|
39
41
|
yaml = MissingExtraMockModule('yaml', exception)
|
|
40
42
|
|
|
41
43
|
try:
|
|
42
44
|
from fmtr.tools import docker_tools as docker
|
|
43
45
|
from fmtr.tools.docker_tools import Container
|
|
44
|
-
except
|
|
46
|
+
except ModuleNotFoundError as exception:
|
|
45
47
|
docker = Container = MissingExtraMockModule('docker.api', exception)
|
|
46
48
|
|
|
47
49
|
try:
|
|
48
50
|
from fmtr.tools import parallel_tools as parallel
|
|
49
|
-
except
|
|
51
|
+
except ModuleNotFoundError as exception:
|
|
50
52
|
parallel = MissingExtraMockModule('parallel', exception)
|
|
51
53
|
|
|
52
54
|
try:
|
|
53
55
|
from fmtr.tools import profiling_tools as profiling
|
|
54
56
|
from fmtr.tools.profiling_tools import Timer
|
|
55
|
-
except
|
|
57
|
+
except ModuleNotFoundError as exception:
|
|
56
58
|
profiling = Timer = MissingExtraMockModule('profiling', exception)
|
|
57
59
|
|
|
58
60
|
try:
|
|
59
61
|
import fmtr.tools.process_tools as process
|
|
60
62
|
from fmtr.tools.process_tools import ContextProcess
|
|
61
|
-
except
|
|
63
|
+
except ModuleNotFoundError as exception:
|
|
62
64
|
process = ContextProcess = MissingExtraMockModule('process', exception)
|
|
63
65
|
|
|
64
66
|
try:
|
|
65
67
|
from fmtr.tools import tokenization_tools as tokenization
|
|
66
|
-
except
|
|
68
|
+
except ModuleNotFoundError as exception:
|
|
67
69
|
tokenization = MissingExtraMockModule('tokenization', exception)
|
|
68
70
|
|
|
69
71
|
try:
|
|
70
72
|
from fmtr.tools import unicode_tools as unicode
|
|
71
|
-
except
|
|
73
|
+
except ModuleNotFoundError as exception:
|
|
72
74
|
unicode = MissingExtraMockModule('unicode', exception)
|
|
73
75
|
|
|
74
76
|
try:
|
|
75
77
|
from fmtr.tools import netrc_tools as netrc
|
|
76
|
-
except
|
|
78
|
+
except ModuleNotFoundError as exception:
|
|
77
79
|
netrc = MissingExtraMockModule('netrc', exception)
|
|
78
80
|
|
|
79
81
|
try:
|
|
80
82
|
from fmtr.tools import spaces_tools as spaces
|
|
81
|
-
except
|
|
83
|
+
except ModuleNotFoundError as exception:
|
|
82
84
|
spaces = MissingExtraMockModule('spaces', exception)
|
|
83
85
|
|
|
84
86
|
try:
|
|
85
87
|
from fmtr.tools import hfh_tools as hfh
|
|
86
|
-
except
|
|
88
|
+
except ModuleNotFoundError as exception:
|
|
87
89
|
hfh = MissingExtraMockModule('hfh', exception)
|
|
88
90
|
|
|
89
91
|
try:
|
|
90
92
|
from fmtr.tools import merging_tools as merging
|
|
91
93
|
from fmtr.tools.merging_tools import merge
|
|
92
|
-
except
|
|
94
|
+
except ModuleNotFoundError as exception:
|
|
93
95
|
merging = merge = MissingExtraMockModule('merging', exception)
|
|
94
96
|
|
|
95
97
|
try:
|
|
96
98
|
from fmtr.tools import api_tools as api
|
|
97
|
-
except
|
|
99
|
+
except ModuleNotFoundError as exception:
|
|
98
100
|
api = MissingExtraMockModule('api', exception)
|
|
99
101
|
|
|
100
102
|
try:
|
|
101
103
|
from fmtr.tools import data_modelling_tools as dm
|
|
102
|
-
except
|
|
104
|
+
except ModuleNotFoundError as exception:
|
|
103
105
|
dm = MissingExtraMockModule('dm', exception)
|
|
104
106
|
|
|
105
107
|
try:
|
|
106
108
|
from fmtr.tools import json_fix_tools as json_fix
|
|
107
|
-
except
|
|
109
|
+
except ModuleNotFoundError as exception:
|
|
108
110
|
json_fix = MissingExtraMockModule('json_fix', exception)
|
|
109
111
|
|
|
110
112
|
try:
|
|
111
113
|
from fmtr.tools import semantic_tools as semantic
|
|
112
|
-
except
|
|
114
|
+
except ModuleNotFoundError as exception:
|
|
113
115
|
semantic = MissingExtraMockModule('semantic', exception)
|
|
114
116
|
|
|
115
117
|
try:
|
|
116
118
|
from fmtr.tools import metric_tools as metric
|
|
117
|
-
except
|
|
119
|
+
except ModuleNotFoundError as exception:
|
|
118
120
|
metric = MissingExtraMockModule('metric', exception)
|
|
119
121
|
|
|
120
122
|
try:
|
|
121
123
|
from fmtr.tools import html_tools as html
|
|
122
|
-
except
|
|
124
|
+
except ModuleNotFoundError as exception:
|
|
123
125
|
html = MissingExtraMockModule('html', exception)
|
|
124
126
|
|
|
125
127
|
try:
|
|
126
128
|
from fmtr.tools import openai_tools as openai
|
|
127
|
-
except
|
|
129
|
+
except ModuleNotFoundError as exception:
|
|
128
130
|
openai = MissingExtraMockModule('openai', exception)
|
|
129
131
|
|
|
130
132
|
try:
|
|
131
133
|
from fmtr.tools import google_api_tools as google_api
|
|
132
|
-
except
|
|
134
|
+
except ModuleNotFoundError as exception:
|
|
133
135
|
google_api = MissingExtraMockModule('google.api', exception)
|
|
134
136
|
|
|
135
137
|
try:
|
|
136
138
|
from fmtr.tools import caching_tools as caching
|
|
137
|
-
except
|
|
139
|
+
except ModuleNotFoundError as exception:
|
|
138
140
|
caching = MissingExtraMockModule('caching', exception)
|
|
139
141
|
|
|
140
142
|
try:
|
|
141
143
|
from fmtr.tools import pdf_tools as pdf
|
|
142
|
-
except
|
|
144
|
+
except ModuleNotFoundError as exception:
|
|
143
145
|
pdf = MissingExtraMockModule('pdf', exception)
|
|
144
146
|
|
|
145
147
|
try:
|
|
146
148
|
from fmtr.tools import tabular_tools as tabular
|
|
147
|
-
except
|
|
149
|
+
except ModuleNotFoundError as exception:
|
|
148
150
|
tabular = MissingExtraMockModule('tabular', exception)
|
|
149
151
|
|
|
150
152
|
try:
|
|
151
153
|
from fmtr.tools import debugging_tools as debug
|
|
152
|
-
except
|
|
154
|
+
except ModuleNotFoundError as exception:
|
|
153
155
|
debug = MissingExtraMockModule('debug', exception)
|
|
154
156
|
|
|
155
157
|
try:
|
|
156
158
|
from fmtr.tools import settings_tools as sets
|
|
157
|
-
except
|
|
159
|
+
except ModuleNotFoundError as exception:
|
|
158
160
|
sets = MissingExtraMockModule('sets', exception)
|
|
159
161
|
|
|
160
162
|
try:
|
|
161
163
|
from fmtr.tools import pattern_tools as patterns
|
|
162
|
-
except
|
|
164
|
+
except ModuleNotFoundError as exception:
|
|
163
165
|
patterns = MissingExtraMockModule('patterns', exception)
|
|
164
166
|
|
|
165
167
|
try:
|
|
166
168
|
from fmtr.tools import http_tools as http
|
|
167
169
|
from fmtr.tools.http_tools import Client
|
|
168
|
-
except
|
|
170
|
+
except ModuleNotFoundError as exception:
|
|
169
171
|
http = Client = MissingExtraMockModule('http', exception)
|
|
170
172
|
|
|
171
173
|
try:
|
|
172
174
|
from fmtr.tools import webhook_tools as webhook
|
|
173
|
-
except
|
|
175
|
+
except ModuleNotFoundError as exception:
|
|
174
176
|
webhook = MissingExtraMockModule('webhook', exception)
|
|
175
177
|
|
|
176
178
|
|
|
@@ -2,10 +2,10 @@ from fmtr.tools.import_tools import MissingExtraMockModule
|
|
|
2
2
|
|
|
3
3
|
try:
|
|
4
4
|
from fmtr.tools.ai_tools import inference_tools as infer
|
|
5
|
-
except
|
|
5
|
+
except ModuleNotFoundError as exception:
|
|
6
6
|
infer = MissingExtraMockModule('ai', exception)
|
|
7
7
|
|
|
8
8
|
try:
|
|
9
9
|
from fmtr.tools.ai_tools import agentic_tools as agentic
|
|
10
|
-
except
|
|
10
|
+
except ModuleNotFoundError as exception:
|
|
11
11
|
agentic = MissingExtraMockModule('ai.client', exception)
|
|
@@ -32,7 +32,8 @@ class Constants:
|
|
|
32
32
|
FMTR_AI_HOST_KEY = 'FMTR_URL_HOST'
|
|
33
33
|
FMTR_AI_HOST_DEFAULT = 'ai.gex.fmtr.dev'
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
FMTR_DEV_HOST = 'ws.gex.fmtr.dev'
|
|
36
|
+
FMTR_DEV_INTERFACE_URL = F'https://{FMTR_DEV_HOST}/'
|
|
36
37
|
|
|
37
38
|
FILENAME_CONFIG = 'settings.yaml'
|
|
38
39
|
DIR_NAME_REPO = 'repo'
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import beanie
|
|
2
|
+
from functools import cached_property
|
|
3
|
+
from motor.motor_asyncio import AsyncIOMotorClient
|
|
4
|
+
from typing import List
|
|
5
|
+
|
|
6
|
+
from fmtr.tools.constants import Constants
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Document(beanie.Document):
|
|
10
|
+
"""
|
|
11
|
+
|
|
12
|
+
Document stub.
|
|
13
|
+
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class Client:
|
|
18
|
+
|
|
19
|
+
def __init__(self, name, host=Constants.FMTR_DEV_HOST, port=27017, documents: List[beanie.Document] | None = None):
|
|
20
|
+
self.name = name
|
|
21
|
+
self.host = host
|
|
22
|
+
self.port = port
|
|
23
|
+
self.documents = documents
|
|
24
|
+
|
|
25
|
+
self.client = AsyncIOMotorClient(self.uri)
|
|
26
|
+
self.db = self.client[self.name]
|
|
27
|
+
|
|
28
|
+
@cached_property
|
|
29
|
+
def uri(self):
|
|
30
|
+
return f'mongodb://{self.host}:{self.port}'
|
|
31
|
+
|
|
32
|
+
async def connect(self):
|
|
33
|
+
return await beanie.init_beanie(database=self.db, document_models=self.documents)
|
|
@@ -3,5 +3,5 @@ from fmtr.tools.import_tools import MissingExtraMockModule
|
|
|
3
3
|
try:
|
|
4
4
|
from fmtr.tools.dns_tools import server, client, dm, proxy
|
|
5
5
|
import dns
|
|
6
|
-
except
|
|
6
|
+
except ModuleNotFoundError as exception:
|
|
7
7
|
dns = server = client = dm = proxy = MissingExtraMockModule('dns', exception)
|
|
@@ -4,5 +4,5 @@ try:
|
|
|
4
4
|
from fmtr.tools.interface_tools.interface_tools import Interface, update, progress
|
|
5
5
|
from fmtr.tools.interface_tools import controls
|
|
6
6
|
from fmtr.tools.interface_tools.context import Context
|
|
7
|
-
except
|
|
7
|
+
except ModuleNotFoundError as exception:
|
|
8
8
|
Interface = update = progress = controls = MissingExtraMockModule('interface', exception)
|
|
@@ -3,10 +3,10 @@ from fmtr.tools.path_tools.path_tools import Path, PackagePaths
|
|
|
3
3
|
|
|
4
4
|
try:
|
|
5
5
|
from fmtr.tools.path_tools.app_path_tools import AppPaths
|
|
6
|
-
except
|
|
6
|
+
except ModuleNotFoundError as exception:
|
|
7
7
|
AppPaths = MissingExtraMockModule('path.app', exception)
|
|
8
8
|
|
|
9
9
|
try:
|
|
10
10
|
from fmtr.tools.path_tools.type_path_tools import guess
|
|
11
|
-
except
|
|
11
|
+
except ModuleNotFoundError as exception:
|
|
12
12
|
guess = MissingExtraMockModule('path.type', exception)
|
|
@@ -4,5 +4,5 @@ from fmtr.tools.setup_tools.setup_tools import Setup, SetupPaths, Dependencies,
|
|
|
4
4
|
|
|
5
5
|
try:
|
|
6
6
|
from setuptools import find_namespace_packages, find_packages, setup as setup_setuptools
|
|
7
|
-
except
|
|
7
|
+
except ModuleNotFoundError as exception:
|
|
8
8
|
find_namespace_packages = find_packages = setup_setuptools = MissingExtraMockModule('setup', exception)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.3.43
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.43
|
|
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
|
|
@@ -131,63 +131,69 @@ Requires-Dist: logfire; extra == "webhook"
|
|
|
131
131
|
Requires-Dist: logfire[httpx]; extra == "webhook"
|
|
132
132
|
Provides-Extra: browsers
|
|
133
133
|
Requires-Dist: playwright; extra == "browsers"
|
|
134
|
+
Provides-Extra: db
|
|
135
|
+
Provides-Extra: db-document
|
|
136
|
+
Requires-Dist: beanie[odm]; extra == "db-document"
|
|
137
|
+
Requires-Dist: motor; extra == "db-document"
|
|
134
138
|
Provides-Extra: all
|
|
135
|
-
Requires-Dist:
|
|
139
|
+
Requires-Dist: filetype; extra == "all"
|
|
136
140
|
Requires-Dist: fastapi; extra == "all"
|
|
137
|
-
Requires-Dist:
|
|
138
|
-
Requires-Dist:
|
|
141
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
142
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
143
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
139
144
|
Requires-Dist: sre_yield; extra == "all"
|
|
140
|
-
Requires-Dist:
|
|
141
|
-
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
145
|
+
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
142
146
|
Requires-Dist: pydantic-settings; extra == "all"
|
|
143
|
-
Requires-Dist:
|
|
147
|
+
Requires-Dist: httpx_retries; extra == "all"
|
|
148
|
+
Requires-Dist: ollama; extra == "all"
|
|
149
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
150
|
+
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
151
|
+
Requires-Dist: torchvision; extra == "all"
|
|
152
|
+
Requires-Dist: pydantic; extra == "all"
|
|
153
|
+
Requires-Dist: appdirs; extra == "all"
|
|
154
|
+
Requires-Dist: flet[all]; extra == "all"
|
|
144
155
|
Requires-Dist: regex; extra == "all"
|
|
145
|
-
Requires-Dist:
|
|
146
|
-
Requires-Dist:
|
|
147
|
-
Requires-Dist:
|
|
148
|
-
Requires-Dist:
|
|
156
|
+
Requires-Dist: beanie[odm]; extra == "all"
|
|
157
|
+
Requires-Dist: contexttimer; extra == "all"
|
|
158
|
+
Requires-Dist: motor; extra == "all"
|
|
159
|
+
Requires-Dist: dnspython[doh]; extra == "all"
|
|
160
|
+
Requires-Dist: logfire; extra == "all"
|
|
149
161
|
Requires-Dist: pyyaml; extra == "all"
|
|
162
|
+
Requires-Dist: yamlscript; extra == "all"
|
|
163
|
+
Requires-Dist: docker; extra == "all"
|
|
164
|
+
Requires-Dist: Unidecode; extra == "all"
|
|
150
165
|
Requires-Dist: semver; extra == "all"
|
|
151
|
-
Requires-Dist: flet-webview; extra == "all"
|
|
152
|
-
Requires-Dist: filetype; extra == "all"
|
|
153
|
-
Requires-Dist: ollama; extra == "all"
|
|
154
166
|
Requires-Dist: google-auth; extra == "all"
|
|
155
|
-
Requires-Dist:
|
|
156
|
-
Requires-Dist:
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
167
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
168
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
169
|
+
Requires-Dist: html2text; extra == "all"
|
|
170
|
+
Requires-Dist: diskcache; extra == "all"
|
|
171
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
159
172
|
Requires-Dist: cachetools; extra == "all"
|
|
160
|
-
Requires-Dist:
|
|
161
|
-
Requires-Dist: setuptools; extra == "all"
|
|
173
|
+
Requires-Dist: flet-video; extra == "all"
|
|
162
174
|
Requires-Dist: json_repair; extra == "all"
|
|
163
|
-
Requires-Dist: distributed; extra == "all"
|
|
164
|
-
Requires-Dist: pymupdf; extra == "all"
|
|
165
|
-
Requires-Dist: html2text; extra == "all"
|
|
166
175
|
Requires-Dist: openpyxl; extra == "all"
|
|
167
|
-
Requires-Dist:
|
|
168
|
-
Requires-Dist:
|
|
169
|
-
Requires-Dist:
|
|
170
|
-
Requires-Dist:
|
|
171
|
-
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
172
|
-
Requires-Dist: contexttimer; extra == "all"
|
|
173
|
-
Requires-Dist: peft; extra == "all"
|
|
174
|
-
Requires-Dist: yamlscript; extra == "all"
|
|
175
|
-
Requires-Dist: logfire; extra == "all"
|
|
176
|
-
Requires-Dist: bokeh; extra == "all"
|
|
176
|
+
Requires-Dist: openai; extra == "all"
|
|
177
|
+
Requires-Dist: pymupdf; extra == "all"
|
|
178
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
179
|
+
Requires-Dist: pandas; extra == "all"
|
|
177
180
|
Requires-Dist: tokenizers; extra == "all"
|
|
178
|
-
Requires-Dist:
|
|
181
|
+
Requires-Dist: bokeh; extra == "all"
|
|
179
182
|
Requires-Dist: tinynetrc; extra == "all"
|
|
180
|
-
Requires-Dist:
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist:
|
|
184
|
-
Requires-Dist:
|
|
185
|
-
Requires-Dist:
|
|
186
|
-
Requires-Dist:
|
|
187
|
-
Requires-Dist: logfire[httpx]; extra == "all"
|
|
188
|
-
Requires-Dist: appdirs; extra == "all"
|
|
189
|
-
Requires-Dist: httpx_retries; extra == "all"
|
|
183
|
+
Requires-Dist: peft; extra == "all"
|
|
184
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
185
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
186
|
+
Requires-Dist: tabulate; extra == "all"
|
|
187
|
+
Requires-Dist: faker; extra == "all"
|
|
188
|
+
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
189
|
+
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
190
190
|
Requires-Dist: sentence_transformers; extra == "all"
|
|
191
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
192
|
+
Requires-Dist: distributed; extra == "all"
|
|
193
|
+
Requires-Dist: httpx; extra == "all"
|
|
194
|
+
Requires-Dist: playwright; extra == "all"
|
|
195
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
196
|
+
Requires-Dist: setuptools; extra == "all"
|
|
191
197
|
Dynamic: author
|
|
192
198
|
Dynamic: author-email
|
|
193
199
|
Dynamic: description
|
|
@@ -12,6 +12,7 @@ setup.py
|
|
|
12
12
|
./fmtr/tools/data_modelling_tools.py
|
|
13
13
|
./fmtr/tools/dataclass_tools.py
|
|
14
14
|
./fmtr/tools/datatype_tools.py
|
|
15
|
+
./fmtr/tools/datetime_tools.py
|
|
15
16
|
./fmtr/tools/debugging_tools.py
|
|
16
17
|
./fmtr/tools/docker_tools.py
|
|
17
18
|
./fmtr/tools/environment_tools.py
|
|
@@ -55,6 +56,8 @@ setup.py
|
|
|
55
56
|
./fmtr/tools/ai_tools/__init__.py
|
|
56
57
|
./fmtr/tools/ai_tools/agentic_tools.py
|
|
57
58
|
./fmtr/tools/ai_tools/inference_tools.py
|
|
59
|
+
./fmtr/tools/database_tools/__init__.py
|
|
60
|
+
./fmtr/tools/database_tools/document.py
|
|
58
61
|
./fmtr/tools/dns_tools/__init__.py
|
|
59
62
|
./fmtr/tools/dns_tools/client.py
|
|
60
63
|
./fmtr/tools/dns_tools/dm.py
|
|
@@ -102,6 +105,7 @@ fmtr/tools/context_tools.py
|
|
|
102
105
|
fmtr/tools/data_modelling_tools.py
|
|
103
106
|
fmtr/tools/dataclass_tools.py
|
|
104
107
|
fmtr/tools/datatype_tools.py
|
|
108
|
+
fmtr/tools/datetime_tools.py
|
|
105
109
|
fmtr/tools/debugging_tools.py
|
|
106
110
|
fmtr/tools/docker_tools.py
|
|
107
111
|
fmtr/tools/environment_tools.py
|
|
@@ -145,6 +149,8 @@ fmtr/tools/yaml_tools.py
|
|
|
145
149
|
fmtr/tools/ai_tools/__init__.py
|
|
146
150
|
fmtr/tools/ai_tools/agentic_tools.py
|
|
147
151
|
fmtr/tools/ai_tools/inference_tools.py
|
|
152
|
+
fmtr/tools/database_tools/__init__.py
|
|
153
|
+
fmtr/tools/database_tools/document.py
|
|
148
154
|
fmtr/tools/dns_tools/__init__.py
|
|
149
155
|
fmtr/tools/dns_tools/client.py
|
|
150
156
|
fmtr/tools/dns_tools/dm.py
|
|
@@ -14,62 +14,64 @@ pydantic-ai[logfire,openai]
|
|
|
14
14
|
ollama
|
|
15
15
|
|
|
16
16
|
[all]
|
|
17
|
-
|
|
17
|
+
filetype
|
|
18
18
|
fastapi
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
pydevd-pycharm~=251.25410.159
|
|
20
|
+
huggingface_hub
|
|
21
|
+
dask[bag]
|
|
21
22
|
sre_yield
|
|
22
|
-
|
|
23
|
-
logfire[fastapi]
|
|
23
|
+
uvicorn[standard]
|
|
24
24
|
pydantic-settings
|
|
25
|
-
|
|
25
|
+
httpx_retries
|
|
26
|
+
ollama
|
|
27
|
+
logfire[httpx]
|
|
28
|
+
google-auth-oauthlib
|
|
29
|
+
torchvision
|
|
30
|
+
pydantic
|
|
31
|
+
appdirs
|
|
32
|
+
flet[all]
|
|
26
33
|
regex
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
34
|
+
beanie[odm]
|
|
35
|
+
contexttimer
|
|
36
|
+
motor
|
|
37
|
+
dnspython[doh]
|
|
38
|
+
logfire
|
|
31
39
|
pyyaml
|
|
40
|
+
yamlscript
|
|
41
|
+
docker
|
|
42
|
+
Unidecode
|
|
32
43
|
semver
|
|
33
|
-
flet-webview
|
|
34
|
-
filetype
|
|
35
|
-
ollama
|
|
36
44
|
google-auth
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
google-api-python-client
|
|
46
|
+
deepmerge
|
|
47
|
+
html2text
|
|
48
|
+
diskcache
|
|
49
|
+
google-auth-httplib2
|
|
41
50
|
cachetools
|
|
42
|
-
|
|
43
|
-
setuptools
|
|
51
|
+
flet-video
|
|
44
52
|
json_repair
|
|
45
|
-
distributed
|
|
46
|
-
pymupdf
|
|
47
|
-
html2text
|
|
48
53
|
openpyxl
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
uvicorn[standard]
|
|
54
|
-
contexttimer
|
|
55
|
-
peft
|
|
56
|
-
yamlscript
|
|
57
|
-
logfire
|
|
58
|
-
bokeh
|
|
54
|
+
openai
|
|
55
|
+
pymupdf
|
|
56
|
+
pymupdf4llm
|
|
57
|
+
pandas
|
|
59
58
|
tokenizers
|
|
60
|
-
|
|
59
|
+
bokeh
|
|
61
60
|
tinynetrc
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
logfire[httpx]
|
|
70
|
-
appdirs
|
|
71
|
-
httpx_retries
|
|
61
|
+
peft
|
|
62
|
+
pytest-cov
|
|
63
|
+
torchaudio
|
|
64
|
+
tabulate
|
|
65
|
+
faker
|
|
66
|
+
pydantic-ai[logfire,openai]
|
|
67
|
+
logfire[fastapi]
|
|
72
68
|
sentence_transformers
|
|
69
|
+
flet-webview
|
|
70
|
+
distributed
|
|
71
|
+
httpx
|
|
72
|
+
playwright
|
|
73
|
+
transformers[sentencepiece]
|
|
74
|
+
setuptools
|
|
73
75
|
|
|
74
76
|
[api]
|
|
75
77
|
fastapi
|
|
@@ -89,6 +91,12 @@ playwright
|
|
|
89
91
|
diskcache
|
|
90
92
|
cachetools
|
|
91
93
|
|
|
94
|
+
[db]
|
|
95
|
+
|
|
96
|
+
[db.document]
|
|
97
|
+
beanie[odm]
|
|
98
|
+
motor
|
|
99
|
+
|
|
92
100
|
[debug]
|
|
93
101
|
pydevd-pycharm~=251.25410.159
|
|
94
102
|
|
|
@@ -41,7 +41,9 @@ DEPENDENCIES = {
|
|
|
41
41
|
'http': ['httpx', 'httpx_retries', 'logging', 'logfire[httpx]'],
|
|
42
42
|
'setup': ['setuptools'],
|
|
43
43
|
'webhook': ['http'],
|
|
44
|
-
'browsers': ['playwright']
|
|
44
|
+
'browsers': ['playwright'],
|
|
45
|
+
'db': [],
|
|
46
|
+
'db.document': ['beanie[odm]', 'motor']
|
|
45
47
|
}
|
|
46
48
|
|
|
47
49
|
setup = Setup(
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.3.41
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|