fmtr.tools 1.3.3__py3-none-any.whl → 1.3.4__py3-none-any.whl
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/dns_tools/server.py +2 -1
- fmtr/tools/pattern_tools.py +11 -1
- fmtr/tools/version +1 -1
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/METADATA +44 -44
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/RECORD +9 -9
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/WHEEL +0 -0
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/entry_points.txt +0 -0
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/licenses/LICENSE +0 -0
- {fmtr_tools-1.3.3.dist-info → fmtr_tools-1.3.4.dist-info}/top_level.txt +0 -0
fmtr/tools/dns_tools/server.py
CHANGED
|
@@ -2,6 +2,7 @@ import socket
|
|
|
2
2
|
from dataclasses import dataclass
|
|
3
3
|
|
|
4
4
|
from fmtr.tools.dns_tools.dm import Exchange
|
|
5
|
+
from fmtr.tools.logging_tools import logger
|
|
5
6
|
|
|
6
7
|
|
|
7
8
|
@dataclass
|
|
@@ -30,7 +31,7 @@ class Plain:
|
|
|
30
31
|
"""
|
|
31
32
|
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
|
32
33
|
sock.bind((self.host, self.port))
|
|
33
|
-
|
|
34
|
+
logger.info(f'Listening on {self.host}:{self.port}')
|
|
34
35
|
while True:
|
|
35
36
|
data, (ip, port) = sock.recvfrom(512)
|
|
36
37
|
exchange = Exchange.from_wire(data, ip=ip, port=port)
|
fmtr/tools/pattern_tools.py
CHANGED
|
@@ -108,6 +108,11 @@ class Transformer:
|
|
|
108
108
|
default: Any = None
|
|
109
109
|
is_recursive: bool = False
|
|
110
110
|
|
|
111
|
+
def __post_init__(self):
|
|
112
|
+
with logger.span(f'Compiling expression {len(self.items)=}'):
|
|
113
|
+
rx = self.rx
|
|
114
|
+
logger.debug(f'Compiled successfully {rx.groups=}')
|
|
115
|
+
|
|
111
116
|
@cached_property
|
|
112
117
|
def pattern(self) -> str:
|
|
113
118
|
"""
|
|
@@ -132,6 +137,11 @@ class Transformer:
|
|
|
132
137
|
return re.compile(self.pattern)
|
|
133
138
|
|
|
134
139
|
def get_default(self, key: Key) -> Any:
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
Define what to return in case of no match
|
|
143
|
+
|
|
144
|
+
"""
|
|
135
145
|
if self.is_recursive:
|
|
136
146
|
return key
|
|
137
147
|
else:
|
|
@@ -162,7 +172,7 @@ class Transformer:
|
|
|
162
172
|
|
|
163
173
|
if not match:
|
|
164
174
|
value = self.get_default(key)
|
|
165
|
-
logger.debug(f'No match for {key=}. Returning {self.
|
|
175
|
+
logger.debug(f'No match for {key=}. Returning {self.get_default(key)=}')
|
|
166
176
|
else:
|
|
167
177
|
|
|
168
178
|
match_ids = {name: v for name, v in match.groupdict().items() if v}
|
fmtr/tools/version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.3.
|
|
1
|
+
1.3.4
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.3.
|
|
3
|
+
Version: 1.3.4
|
|
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
|
|
@@ -102,7 +102,7 @@ Requires-Dist: pymupdf; extra == "pdf"
|
|
|
102
102
|
Requires-Dist: pydantic; extra == "pdf"
|
|
103
103
|
Requires-Dist: pymupdf4llm; extra == "pdf"
|
|
104
104
|
Provides-Extra: debug
|
|
105
|
-
Requires-Dist: pydevd-pycharm; extra == "debug"
|
|
105
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "debug"
|
|
106
106
|
Provides-Extra: sets
|
|
107
107
|
Requires-Dist: pydantic-settings; extra == "sets"
|
|
108
108
|
Requires-Dist: pydantic; extra == "sets"
|
|
@@ -131,59 +131,59 @@ Provides-Extra: setup
|
|
|
131
131
|
Requires-Dist: setuptools; extra == "setup"
|
|
132
132
|
Provides-Extra: all
|
|
133
133
|
Requires-Dist: appdirs; extra == "all"
|
|
134
|
-
Requires-Dist:
|
|
135
|
-
Requires-Dist:
|
|
136
|
-
Requires-Dist: semver; extra == "all"
|
|
137
|
-
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
138
|
-
Requires-Dist: json_repair; extra == "all"
|
|
139
|
-
Requires-Dist: sre_yield; extra == "all"
|
|
140
|
-
Requires-Dist: torchvision; extra == "all"
|
|
141
|
-
Requires-Dist: pymupdf; extra == "all"
|
|
142
|
-
Requires-Dist: Unidecode; extra == "all"
|
|
143
|
-
Requires-Dist: ollama; extra == "all"
|
|
144
|
-
Requires-Dist: peft; extra == "all"
|
|
145
|
-
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
146
|
-
Requires-Dist: pandas; extra == "all"
|
|
134
|
+
Requires-Dist: flet-video; extra == "all"
|
|
135
|
+
Requires-Dist: openai; extra == "all"
|
|
147
136
|
Requires-Dist: pydantic; extra == "all"
|
|
148
|
-
Requires-Dist:
|
|
149
|
-
Requires-Dist: pyyaml; extra == "all"
|
|
150
|
-
Requires-Dist: pymupdf4llm; extra == "all"
|
|
151
|
-
Requires-Dist: docker; extra == "all"
|
|
137
|
+
Requires-Dist: fastapi; extra == "all"
|
|
152
138
|
Requires-Dist: faker; extra == "all"
|
|
153
|
-
Requires-Dist:
|
|
139
|
+
Requires-Dist: regex; extra == "all"
|
|
140
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
141
|
+
Requires-Dist: tokenizers; extra == "all"
|
|
142
|
+
Requires-Dist: sre_yield; extra == "all"
|
|
143
|
+
Requires-Dist: peft; extra == "all"
|
|
144
|
+
Requires-Dist: pydantic-settings; extra == "all"
|
|
154
145
|
Requires-Dist: flet[all]; extra == "all"
|
|
155
|
-
Requires-Dist:
|
|
156
|
-
Requires-Dist:
|
|
157
|
-
Requires-Dist: tinynetrc; extra == "all"
|
|
158
|
-
Requires-Dist: flet-video; extra == "all"
|
|
159
|
-
Requires-Dist: dask[bag]; extra == "all"
|
|
146
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
147
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
160
148
|
Requires-Dist: bokeh; extra == "all"
|
|
149
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
150
|
+
Requires-Dist: pymupdf; extra == "all"
|
|
161
151
|
Requires-Dist: httpx; extra == "all"
|
|
162
|
-
Requires-Dist:
|
|
163
|
-
Requires-Dist:
|
|
152
|
+
Requires-Dist: pyyaml; extra == "all"
|
|
153
|
+
Requires-Dist: ollama; extra == "all"
|
|
154
|
+
Requires-Dist: openpyxl; extra == "all"
|
|
155
|
+
Requires-Dist: tinynetrc; extra == "all"
|
|
156
|
+
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
164
157
|
Requires-Dist: httpx_retries; extra == "all"
|
|
165
|
-
Requires-Dist:
|
|
166
|
-
Requires-Dist:
|
|
167
|
-
Requires-Dist: torchaudio; extra == "all"
|
|
168
|
-
Requires-Dist: regex; extra == "all"
|
|
169
|
-
Requires-Dist: sentence_transformers; extra == "all"
|
|
170
|
-
Requires-Dist: tokenizers; extra == "all"
|
|
171
|
-
Requires-Dist: huggingface_hub; extra == "all"
|
|
158
|
+
Requires-Dist: docker; extra == "all"
|
|
159
|
+
Requires-Dist: json_repair; extra == "all"
|
|
172
160
|
Requires-Dist: tabulate; extra == "all"
|
|
173
|
-
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
174
161
|
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
175
|
-
Requires-Dist: flet-webview; extra == "all"
|
|
176
|
-
Requires-Dist: pydantic-settings; extra == "all"
|
|
177
162
|
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
178
|
-
Requires-Dist: openai; extra == "all"
|
|
179
|
-
Requires-Dist: pydevd-pycharm; extra == "all"
|
|
180
|
-
Requires-Dist: google-api-python-client; extra == "all"
|
|
181
|
-
Requires-Dist: fastapi; extra == "all"
|
|
182
|
-
Requires-Dist: logfire[httpx]; extra == "all"
|
|
183
|
-
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
184
163
|
Requires-Dist: filetype; extra == "all"
|
|
185
|
-
Requires-Dist:
|
|
164
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
165
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
166
|
+
Requires-Dist: html2text; extra == "all"
|
|
167
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
186
168
|
Requires-Dist: setuptools; extra == "all"
|
|
169
|
+
Requires-Dist: pandas; extra == "all"
|
|
170
|
+
Requires-Dist: dnspython[doh]; extra == "all"
|
|
171
|
+
Requires-Dist: google-auth; extra == "all"
|
|
172
|
+
Requires-Dist: logfire; extra == "all"
|
|
173
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
174
|
+
Requires-Dist: distributed; extra == "all"
|
|
175
|
+
Requires-Dist: sentence_transformers; extra == "all"
|
|
176
|
+
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
177
|
+
Requires-Dist: diskcache; extra == "all"
|
|
178
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
179
|
+
Requires-Dist: yamlscript; extra == "all"
|
|
180
|
+
Requires-Dist: torchvision; extra == "all"
|
|
181
|
+
Requires-Dist: Unidecode; extra == "all"
|
|
182
|
+
Requires-Dist: contexttimer; extra == "all"
|
|
183
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
184
|
+
Requires-Dist: semver; extra == "all"
|
|
185
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
186
|
+
Requires-Dist: logfire[httpx]; extra == "all"
|
|
187
187
|
Dynamic: author
|
|
188
188
|
Dynamic: author-email
|
|
189
189
|
Dynamic: description
|
|
@@ -30,7 +30,7 @@ fmtr/tools/netrc_tools.py,sha256=PpNpz_mWlQi6VHGromKwFfTyLpHUXsd4LY6-OKLCbeI,376
|
|
|
30
30
|
fmtr/tools/openai_tools.py,sha256=6SUgejgzUzmlKKct2_ePXntvMegu3FJgfk9x7aqtqYc,742
|
|
31
31
|
fmtr/tools/packaging_tools.py,sha256=FlgOTnDRHZWQL2iR-wucTsyGEHRE-MlddKL30MPmUqE,253
|
|
32
32
|
fmtr/tools/parallel_tools.py,sha256=QEb_gN1StkxsqYaH4HSjiJX8Y3gpb2uKNsOzG4uFpaM,3071
|
|
33
|
-
fmtr/tools/pattern_tools.py,sha256=
|
|
33
|
+
fmtr/tools/pattern_tools.py,sha256=EYKtBPnoBwTpvTPZWLYGrRFIGnSg2R6Tv2VmxvoJDog,5959
|
|
34
34
|
fmtr/tools/pdf_tools.py,sha256=xvv9B84uAF81rFJRnXhSsxYuP42vY9ZdPVFrSMVe8G8,4069
|
|
35
35
|
fmtr/tools/platform_tools.py,sha256=7p69CmAHe_sF68Fx9uVhns1k5EewTHTWgUYzkl6ZQKA,308
|
|
36
36
|
fmtr/tools/process_tools.py,sha256=Ysh5Dk2QFBhXQerArjKdt7xZd3JrN5Ho02AaOjH0Nnw,1425
|
|
@@ -44,7 +44,7 @@ fmtr/tools/tabular_tools.py,sha256=tpIpZzYku1HcJrHZJL6BC39LmN3WUWVhFbK2N7nDVmE,1
|
|
|
44
44
|
fmtr/tools/tokenization_tools.py,sha256=me-IBzSLyNYejLybwjO9CNB6Mj2NYfKPaOVThXyaGNg,4268
|
|
45
45
|
fmtr/tools/tools.py,sha256=CAsApa1YwVdNE6H66Vjivs_mXYvOas3rh7fPELAnTpk,795
|
|
46
46
|
fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
|
|
47
|
-
fmtr/tools/version,sha256=
|
|
47
|
+
fmtr/tools/version,sha256=2Nc8Vw6HAjDWCtPBpzMVxh4-YdAUne_NZiu-z5HiatM,5
|
|
48
48
|
fmtr/tools/version_tools.py,sha256=yNs_CGqWpqE4jbK9wsPIi14peJVXYbhIcMqHAFOw3yE,1480
|
|
49
49
|
fmtr/tools/yaml_tools.py,sha256=9kuYChqJelWQIjGlSnK4iDdOWWH06P0gp9jIcRrC3UI,1903
|
|
50
50
|
fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
|
|
@@ -54,7 +54,7 @@ fmtr/tools/dns_tools/__init__.py,sha256=PjD3Og6D5yvDVpKmsUsrnSpz_rjXpl4zBtvMqm8x
|
|
|
54
54
|
fmtr/tools/dns_tools/client.py,sha256=c2vzWBDZSxijwL1KvWUoDGc8wqk_KTAFxCr0P1rNjy8,2367
|
|
55
55
|
fmtr/tools/dns_tools/dm.py,sha256=KWQeeZhsDyrKoXzAD5zEOoHH3aiD4uKRqwnD8fFP1nI,3725
|
|
56
56
|
fmtr/tools/dns_tools/proxy.py,sha256=L0utKw8D1JXtAW9IfXcBdNMb-AyPFgW5XGiPnWuk7D8,1878
|
|
57
|
-
fmtr/tools/dns_tools/server.py,sha256=
|
|
57
|
+
fmtr/tools/dns_tools/server.py,sha256=t38TmSpra3FRoMk351eHzOOPlSuaCyjxbvPwX9o15ak,942
|
|
58
58
|
fmtr/tools/entrypoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
59
59
|
fmtr/tools/entrypoints/cache_hfh.py,sha256=fQNs4J9twQuZH_Yj98-oOvEX7-LrSUP3kO8nzw2HrHs,60
|
|
60
60
|
fmtr/tools/entrypoints/ep_test.py,sha256=B8HfWISfSgw_xVX475CbJGh_QnpOe9MH65H8qGjTWbY,46
|
|
@@ -74,9 +74,9 @@ fmtr/tools/tests/test_environment.py,sha256=iHaiMQfECYZPkPKwfuIZV9uHuWe3aE-p_dN_
|
|
|
74
74
|
fmtr/tools/tests/test_json.py,sha256=IeSP4ziPvRcmS8kq7k9tHonC9rN5YYq9GSNT2ul6Msk,287
|
|
75
75
|
fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g,2188
|
|
76
76
|
fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
|
|
77
|
-
fmtr_tools-1.3.
|
|
78
|
-
fmtr_tools-1.3.
|
|
79
|
-
fmtr_tools-1.3.
|
|
80
|
-
fmtr_tools-1.3.
|
|
81
|
-
fmtr_tools-1.3.
|
|
82
|
-
fmtr_tools-1.3.
|
|
77
|
+
fmtr_tools-1.3.4.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
|
|
78
|
+
fmtr_tools-1.3.4.dist-info/METADATA,sha256=TywtfCfmbCtpH1vG7v7cyJ6V07_sXNfNuUu14uIrTHE,16060
|
|
79
|
+
fmtr_tools-1.3.4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
80
|
+
fmtr_tools-1.3.4.dist-info/entry_points.txt,sha256=fSQrDGNctdQXbUxpMWYVfVQ0mhZMDyaEDG3D3a0zOSc,278
|
|
81
|
+
fmtr_tools-1.3.4.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
|
|
82
|
+
fmtr_tools-1.3.4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|