fmtr.tools 1.3.12__tar.gz → 1.3.13__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.12 → fmtr_tools-1.3.13}/PKG-INFO +44 -44
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/client.py +12 -7
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/dm.py +9 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/server.py +9 -2
- fmtr_tools-1.3.13/fmtr/tools/version +1 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/PKG-INFO +44 -44
- fmtr_tools-1.3.12/fmtr/tools/version +0 -1
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/LICENSE +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/README.md +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/agentic_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/ai_tools/inference_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/api_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/async_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/augmentation_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/caching_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/constants.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/data_modelling_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dataclass_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/datatype_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/debugging_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/dns_tools/proxy.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/docker_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/cache_hfh.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/ep_test.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/install_yamlscript.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/remote_debug_test.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/entrypoints/shell_debug.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/environment_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/function_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/google_api_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/hash_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/hfh_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/html_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/http_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/import_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/inspection_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/interface_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/iterator_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/json_fix_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/json_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/logging_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/merging_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/metric_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/name_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/netrc_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/openai_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/packaging_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/parallel_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/app_path_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/path_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/path_tools/type_path_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/pattern_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/pdf_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/platform_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/process_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/profiling_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/random_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/semantic_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/settings_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/setup_tools/setup_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/spaces_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/string_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tabular_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/conftest.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/helpers.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_datatype.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_environment.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_json.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_path.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tests/test_yaml.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tokenization_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/unicode_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/__init__.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/version_tools/version_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr/tools/yaml_tools.py +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/SOURCES.txt +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/dependency_links.txt +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/entry_points.txt +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/requires.txt +43 -43
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/fmtr.tools.egg-info/top_level.txt +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/pyproject.toml +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/setup.cfg +0 -0
- {fmtr_tools-1.3.12 → fmtr_tools-1.3.13}/setup.py +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.13
|
|
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
|
|
@@ -126,61 +126,61 @@ Requires-Dist: logfire[httpx]; extra == "http"
|
|
|
126
126
|
Provides-Extra: setup
|
|
127
127
|
Requires-Dist: setuptools; extra == "setup"
|
|
128
128
|
Provides-Extra: all
|
|
129
|
+
Requires-Dist: tokenizers; extra == "all"
|
|
130
|
+
Requires-Dist: setuptools; extra == "all"
|
|
131
|
+
Requires-Dist: pandas; extra == "all"
|
|
132
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
133
|
+
Requires-Dist: httpx_retries; extra == "all"
|
|
134
|
+
Requires-Dist: logfire; extra == "all"
|
|
135
|
+
Requires-Dist: bokeh; extra == "all"
|
|
136
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
137
|
+
Requires-Dist: sentence_transformers; extra == "all"
|
|
138
|
+
Requires-Dist: html2text; extra == "all"
|
|
139
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
140
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
141
|
+
Requires-Dist: pyyaml; extra == "all"
|
|
142
|
+
Requires-Dist: faker; extra == "all"
|
|
129
143
|
Requires-Dist: fastapi; extra == "all"
|
|
130
|
-
Requires-Dist: contexttimer; extra == "all"
|
|
131
|
-
Requires-Dist: tinynetrc; extra == "all"
|
|
132
|
-
Requires-Dist: ollama; extra == "all"
|
|
133
|
-
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
134
|
-
Requires-Dist: pymupdf; extra == "all"
|
|
135
|
-
Requires-Dist: pymupdf4llm; extra == "all"
|
|
136
|
-
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
137
|
-
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
138
144
|
Requires-Dist: Unidecode; extra == "all"
|
|
139
|
-
Requires-Dist:
|
|
145
|
+
Requires-Dist: pymupdf; extra == "all"
|
|
146
|
+
Requires-Dist: appdirs; extra == "all"
|
|
147
|
+
Requires-Dist: sre_yield; extra == "all"
|
|
140
148
|
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
141
|
-
Requires-Dist:
|
|
142
|
-
Requires-Dist: pyyaml; extra == "all"
|
|
143
|
-
Requires-Dist: html2text; extra == "all"
|
|
144
|
-
Requires-Dist: json_repair; extra == "all"
|
|
145
|
-
Requires-Dist: flet[all]; extra == "all"
|
|
146
|
-
Requires-Dist: httpx; extra == "all"
|
|
147
|
-
Requires-Dist: filetype; extra == "all"
|
|
148
|
-
Requires-Dist: pydantic; extra == "all"
|
|
149
|
-
Requires-Dist: logfire; extra == "all"
|
|
150
|
-
Requires-Dist: torchaudio; extra == "all"
|
|
149
|
+
Requires-Dist: peft; extra == "all"
|
|
151
150
|
Requires-Dist: flet-video; extra == "all"
|
|
152
|
-
Requires-Dist:
|
|
153
|
-
Requires-Dist: distributed; extra == "all"
|
|
154
|
-
Requires-Dist: pytest-cov; extra == "all"
|
|
155
|
-
Requires-Dist: sentence_transformers; extra == "all"
|
|
151
|
+
Requires-Dist: diskcache; extra == "all"
|
|
156
152
|
Requires-Dist: yamlscript; extra == "all"
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
153
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
154
|
+
Requires-Dist: filetype; extra == "all"
|
|
155
|
+
Requires-Dist: ollama; extra == "all"
|
|
156
|
+
Requires-Dist: google-auth; extra == "all"
|
|
157
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
158
|
+
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
159
|
+
Requires-Dist: tinynetrc; extra == "all"
|
|
159
160
|
Requires-Dist: dnspython[doh]; extra == "all"
|
|
161
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
162
|
+
Requires-Dist: pydantic; extra == "all"
|
|
163
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
164
|
+
Requires-Dist: docker; extra == "all"
|
|
165
|
+
Requires-Dist: httpx; extra == "all"
|
|
166
|
+
Requires-Dist: tabulate; extra == "all"
|
|
167
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
168
|
+
Requires-Dist: regex; extra == "all"
|
|
160
169
|
Requires-Dist: openpyxl; extra == "all"
|
|
170
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
171
|
+
Requires-Dist: distributed; extra == "all"
|
|
161
172
|
Requires-Dist: openai; extra == "all"
|
|
173
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
174
|
+
Requires-Dist: json_repair; extra == "all"
|
|
162
175
|
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
163
|
-
Requires-Dist:
|
|
176
|
+
Requires-Dist: contexttimer; extra == "all"
|
|
164
177
|
Requires-Dist: semver; extra == "all"
|
|
165
|
-
Requires-Dist: deepmerge; extra == "all"
|
|
166
178
|
Requires-Dist: pydantic-settings; extra == "all"
|
|
167
|
-
Requires-Dist:
|
|
168
|
-
Requires-Dist: peft; extra == "all"
|
|
169
|
-
Requires-Dist: flet-webview; extra == "all"
|
|
170
|
-
Requires-Dist: google-auth; extra == "all"
|
|
171
|
-
Requires-Dist: dask[bag]; extra == "all"
|
|
172
|
-
Requires-Dist: docker; extra == "all"
|
|
173
|
-
Requires-Dist: bokeh; extra == "all"
|
|
174
|
-
Requires-Dist: pandas; extra == "all"
|
|
175
|
-
Requires-Dist: huggingface_hub; extra == "all"
|
|
176
|
-
Requires-Dist: google-api-python-client; extra == "all"
|
|
177
|
-
Requires-Dist: logfire[httpx]; extra == "all"
|
|
178
|
-
Requires-Dist: torchvision; extra == "all"
|
|
179
|
-
Requires-Dist: httpx_retries; extra == "all"
|
|
179
|
+
Requires-Dist: flet[all]; extra == "all"
|
|
180
180
|
Requires-Dist: cachetools; extra == "all"
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist:
|
|
181
|
+
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
182
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
183
|
+
Requires-Dist: torchvision; extra == "all"
|
|
184
184
|
Dynamic: author
|
|
185
185
|
Dynamic: author-email
|
|
186
186
|
Dynamic: description
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
from dataclasses import dataclass
|
|
2
|
-
from functools import cached_property
|
|
3
|
-
|
|
4
1
|
import dns as dnspython
|
|
2
|
+
from dataclasses import dataclass
|
|
5
3
|
from dns import query
|
|
4
|
+
from functools import cached_property
|
|
6
5
|
from httpx_retries import Retry, RetryTransport
|
|
7
6
|
|
|
8
7
|
from fmtr.tools import http_tools as http
|
|
@@ -82,8 +81,14 @@ class HTTP:
|
|
|
82
81
|
|
|
83
82
|
headers = self.HEADERS | dict(Host=self.host)
|
|
84
83
|
url = self.url.format(host=self.ip)
|
|
85
|
-
response_doh = self.CLIENT.post(url, headers=headers, content=exchange.query_last.to_wire())
|
|
86
|
-
response_doh.raise_for_status()
|
|
87
|
-
response = Response.from_http(response_doh)
|
|
88
84
|
|
|
89
|
-
|
|
85
|
+
try:
|
|
86
|
+
response_doh = self.CLIENT.post(url, headers=headers, content=exchange.query_last.to_wire())
|
|
87
|
+
response_doh.raise_for_status()
|
|
88
|
+
response = Response.from_http(response_doh)
|
|
89
|
+
exchange.response.message.answer += response.message.answer
|
|
90
|
+
|
|
91
|
+
except Exception as exception:
|
|
92
|
+
exchange.response.message.set_rcode(dnspython.rcode.SERVFAIL)
|
|
93
|
+
exchange.response.is_complete = True
|
|
94
|
+
logger.exception(exception)
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import dns
|
|
2
2
|
import httpx
|
|
3
3
|
from dataclasses import dataclass
|
|
4
|
+
from dns import rcode as dnsrcode
|
|
4
5
|
from dns.message import Message, QueryMessage
|
|
5
6
|
from dns.rrset import RRset
|
|
6
7
|
from functools import cached_property
|
|
@@ -58,6 +59,14 @@ class Response(BaseDNSData):
|
|
|
58
59
|
return None
|
|
59
60
|
return self.message.answer[-1]
|
|
60
61
|
|
|
62
|
+
@property
|
|
63
|
+
def rcode(self) -> dnsrcode.Rcode:
|
|
64
|
+
return self.message.rcode()
|
|
65
|
+
|
|
66
|
+
@property
|
|
67
|
+
def rcode_text(self) -> str:
|
|
68
|
+
return dnsrcode.to_text(self.rcode)
|
|
69
|
+
|
|
61
70
|
def __str__(self):
|
|
62
71
|
"""
|
|
63
72
|
|
|
@@ -79,7 +79,10 @@ class Plain:
|
|
|
79
79
|
if not request.is_valid:
|
|
80
80
|
raise ValueError(f'Only one question per request is supported. Got {len(request.question)} questions.')
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
span = logger.span(
|
|
83
|
+
f'Handling request {request.message.id=} {request.type_text} {request.name_text} {request.question=} {exchange.ip=} {exchange.port=}...'
|
|
84
|
+
)
|
|
85
|
+
with span:
|
|
83
86
|
|
|
84
87
|
with logger.span(f'Checking cache...'):
|
|
85
88
|
self.check_cache(exchange)
|
|
@@ -89,5 +92,9 @@ class Plain:
|
|
|
89
92
|
exchange.response.is_complete = True
|
|
90
93
|
|
|
91
94
|
self.cache[exchange.key] = exchange.response
|
|
92
|
-
logger.info(f'Resolution complete {request.message.id=} {exchange.response.answer=}')
|
|
95
|
+
logger.info(f'Resolution complete {request.message.id=} {exchange.response.rcode_text=} {exchange.response.answer=}')
|
|
96
|
+
|
|
97
|
+
attribs = dict(rcode=exchange.response.rcode, rcode_text=exchange.response.rcode_text)
|
|
98
|
+
span.set_attributes(attribs)
|
|
99
|
+
|
|
93
100
|
return exchange
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
1.3.13
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.13
|
|
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
|
|
@@ -126,61 +126,61 @@ Requires-Dist: logfire[httpx]; extra == "http"
|
|
|
126
126
|
Provides-Extra: setup
|
|
127
127
|
Requires-Dist: setuptools; extra == "setup"
|
|
128
128
|
Provides-Extra: all
|
|
129
|
+
Requires-Dist: tokenizers; extra == "all"
|
|
130
|
+
Requires-Dist: setuptools; extra == "all"
|
|
131
|
+
Requires-Dist: pandas; extra == "all"
|
|
132
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
133
|
+
Requires-Dist: httpx_retries; extra == "all"
|
|
134
|
+
Requires-Dist: logfire; extra == "all"
|
|
135
|
+
Requires-Dist: bokeh; extra == "all"
|
|
136
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
137
|
+
Requires-Dist: sentence_transformers; extra == "all"
|
|
138
|
+
Requires-Dist: html2text; extra == "all"
|
|
139
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
140
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
141
|
+
Requires-Dist: pyyaml; extra == "all"
|
|
142
|
+
Requires-Dist: faker; extra == "all"
|
|
129
143
|
Requires-Dist: fastapi; extra == "all"
|
|
130
|
-
Requires-Dist: contexttimer; extra == "all"
|
|
131
|
-
Requires-Dist: tinynetrc; extra == "all"
|
|
132
|
-
Requires-Dist: ollama; extra == "all"
|
|
133
|
-
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
134
|
-
Requires-Dist: pymupdf; extra == "all"
|
|
135
|
-
Requires-Dist: pymupdf4llm; extra == "all"
|
|
136
|
-
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
137
|
-
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
138
144
|
Requires-Dist: Unidecode; extra == "all"
|
|
139
|
-
Requires-Dist:
|
|
145
|
+
Requires-Dist: pymupdf; extra == "all"
|
|
146
|
+
Requires-Dist: appdirs; extra == "all"
|
|
147
|
+
Requires-Dist: sre_yield; extra == "all"
|
|
140
148
|
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
141
|
-
Requires-Dist:
|
|
142
|
-
Requires-Dist: pyyaml; extra == "all"
|
|
143
|
-
Requires-Dist: html2text; extra == "all"
|
|
144
|
-
Requires-Dist: json_repair; extra == "all"
|
|
145
|
-
Requires-Dist: flet[all]; extra == "all"
|
|
146
|
-
Requires-Dist: httpx; extra == "all"
|
|
147
|
-
Requires-Dist: filetype; extra == "all"
|
|
148
|
-
Requires-Dist: pydantic; extra == "all"
|
|
149
|
-
Requires-Dist: logfire; extra == "all"
|
|
150
|
-
Requires-Dist: torchaudio; extra == "all"
|
|
149
|
+
Requires-Dist: peft; extra == "all"
|
|
151
150
|
Requires-Dist: flet-video; extra == "all"
|
|
152
|
-
Requires-Dist:
|
|
153
|
-
Requires-Dist: distributed; extra == "all"
|
|
154
|
-
Requires-Dist: pytest-cov; extra == "all"
|
|
155
|
-
Requires-Dist: sentence_transformers; extra == "all"
|
|
151
|
+
Requires-Dist: diskcache; extra == "all"
|
|
156
152
|
Requires-Dist: yamlscript; extra == "all"
|
|
157
|
-
Requires-Dist:
|
|
158
|
-
Requires-Dist:
|
|
153
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
154
|
+
Requires-Dist: filetype; extra == "all"
|
|
155
|
+
Requires-Dist: ollama; extra == "all"
|
|
156
|
+
Requires-Dist: google-auth; extra == "all"
|
|
157
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
158
|
+
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
159
|
+
Requires-Dist: tinynetrc; extra == "all"
|
|
159
160
|
Requires-Dist: dnspython[doh]; extra == "all"
|
|
161
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
162
|
+
Requires-Dist: pydantic; extra == "all"
|
|
163
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
164
|
+
Requires-Dist: docker; extra == "all"
|
|
165
|
+
Requires-Dist: httpx; extra == "all"
|
|
166
|
+
Requires-Dist: tabulate; extra == "all"
|
|
167
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
168
|
+
Requires-Dist: regex; extra == "all"
|
|
160
169
|
Requires-Dist: openpyxl; extra == "all"
|
|
170
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
171
|
+
Requires-Dist: distributed; extra == "all"
|
|
161
172
|
Requires-Dist: openai; extra == "all"
|
|
173
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
174
|
+
Requires-Dist: json_repair; extra == "all"
|
|
162
175
|
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
163
|
-
Requires-Dist:
|
|
176
|
+
Requires-Dist: contexttimer; extra == "all"
|
|
164
177
|
Requires-Dist: semver; extra == "all"
|
|
165
|
-
Requires-Dist: deepmerge; extra == "all"
|
|
166
178
|
Requires-Dist: pydantic-settings; extra == "all"
|
|
167
|
-
Requires-Dist:
|
|
168
|
-
Requires-Dist: peft; extra == "all"
|
|
169
|
-
Requires-Dist: flet-webview; extra == "all"
|
|
170
|
-
Requires-Dist: google-auth; extra == "all"
|
|
171
|
-
Requires-Dist: dask[bag]; extra == "all"
|
|
172
|
-
Requires-Dist: docker; extra == "all"
|
|
173
|
-
Requires-Dist: bokeh; extra == "all"
|
|
174
|
-
Requires-Dist: pandas; extra == "all"
|
|
175
|
-
Requires-Dist: huggingface_hub; extra == "all"
|
|
176
|
-
Requires-Dist: google-api-python-client; extra == "all"
|
|
177
|
-
Requires-Dist: logfire[httpx]; extra == "all"
|
|
178
|
-
Requires-Dist: torchvision; extra == "all"
|
|
179
|
-
Requires-Dist: httpx_retries; extra == "all"
|
|
179
|
+
Requires-Dist: flet[all]; extra == "all"
|
|
180
180
|
Requires-Dist: cachetools; extra == "all"
|
|
181
|
-
Requires-Dist:
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist:
|
|
181
|
+
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
182
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
183
|
+
Requires-Dist: torchvision; extra == "all"
|
|
184
184
|
Dynamic: author
|
|
185
185
|
Dynamic: author-email
|
|
186
186
|
Dynamic: description
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
1.3.12
|
|
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
|
|
@@ -14,61 +14,61 @@ pydantic-ai[logfire,openai]
|
|
|
14
14
|
ollama
|
|
15
15
|
|
|
16
16
|
[all]
|
|
17
|
+
tokenizers
|
|
18
|
+
setuptools
|
|
19
|
+
pandas
|
|
20
|
+
pytest-cov
|
|
21
|
+
httpx_retries
|
|
22
|
+
logfire
|
|
23
|
+
bokeh
|
|
24
|
+
pydevd-pycharm~=251.25410.159
|
|
25
|
+
sentence_transformers
|
|
26
|
+
html2text
|
|
27
|
+
flet-webview
|
|
28
|
+
transformers[sentencepiece]
|
|
29
|
+
pyyaml
|
|
30
|
+
faker
|
|
17
31
|
fastapi
|
|
18
|
-
contexttimer
|
|
19
|
-
tinynetrc
|
|
20
|
-
ollama
|
|
21
|
-
uvicorn[standard]
|
|
22
|
-
pymupdf
|
|
23
|
-
pymupdf4llm
|
|
24
|
-
logfire[fastapi]
|
|
25
|
-
google-auth-httplib2
|
|
26
32
|
Unidecode
|
|
27
|
-
|
|
33
|
+
pymupdf
|
|
34
|
+
appdirs
|
|
35
|
+
sre_yield
|
|
28
36
|
pydantic-ai[logfire,openai]
|
|
29
|
-
|
|
30
|
-
pyyaml
|
|
31
|
-
html2text
|
|
32
|
-
json_repair
|
|
33
|
-
flet[all]
|
|
34
|
-
httpx
|
|
35
|
-
filetype
|
|
36
|
-
pydantic
|
|
37
|
-
logfire
|
|
38
|
-
torchaudio
|
|
37
|
+
peft
|
|
39
38
|
flet-video
|
|
40
|
-
|
|
41
|
-
distributed
|
|
42
|
-
pytest-cov
|
|
43
|
-
sentence_transformers
|
|
39
|
+
diskcache
|
|
44
40
|
yamlscript
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
pymupdf4llm
|
|
42
|
+
filetype
|
|
43
|
+
ollama
|
|
44
|
+
google-auth
|
|
45
|
+
logfire[httpx]
|
|
46
|
+
uvicorn[standard]
|
|
47
|
+
tinynetrc
|
|
47
48
|
dnspython[doh]
|
|
49
|
+
google-auth-httplib2
|
|
50
|
+
pydantic
|
|
51
|
+
google-api-python-client
|
|
52
|
+
docker
|
|
53
|
+
httpx
|
|
54
|
+
tabulate
|
|
55
|
+
huggingface_hub
|
|
56
|
+
regex
|
|
48
57
|
openpyxl
|
|
58
|
+
dask[bag]
|
|
59
|
+
distributed
|
|
49
60
|
openai
|
|
61
|
+
deepmerge
|
|
62
|
+
json_repair
|
|
50
63
|
google-auth-oauthlib
|
|
51
|
-
|
|
64
|
+
contexttimer
|
|
52
65
|
semver
|
|
53
|
-
deepmerge
|
|
54
66
|
pydantic-settings
|
|
55
|
-
|
|
56
|
-
peft
|
|
57
|
-
flet-webview
|
|
58
|
-
google-auth
|
|
59
|
-
dask[bag]
|
|
60
|
-
docker
|
|
61
|
-
bokeh
|
|
62
|
-
pandas
|
|
63
|
-
huggingface_hub
|
|
64
|
-
google-api-python-client
|
|
65
|
-
logfire[httpx]
|
|
66
|
-
torchvision
|
|
67
|
-
httpx_retries
|
|
67
|
+
flet[all]
|
|
68
68
|
cachetools
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
logfire[fastapi]
|
|
70
|
+
torchaudio
|
|
71
|
+
torchvision
|
|
72
72
|
|
|
73
73
|
[api]
|
|
74
74
|
fastapi
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|