fmtr.tools 1.3.17__py3-none-any.whl → 1.3.18__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.

@@ -197,11 +197,17 @@ class Exchange:
197
197
  def question_last(self) -> RRset:
198
198
  """
199
199
 
200
- Create an RRset surrogate representing the latest/current question. This can be the original question - or a hybrid one if we've injected our own answers into the Exchange.
200
+ Create an RRset surrogate representing the latest/current question.
201
+ This can be the original question - or a hybrid one if we've injected our own answers into the Exchange.
202
+ If there's a response, use its answers, else fall back to answers_pre, else to the original question.
201
203
 
202
204
  """
203
- if self.answers_pre:
204
- rrset = self.answers_pre[-1]
205
+ answers = self.answers_pre
206
+ if self.response:
207
+ answers = self.response.message.answer or answers
208
+
209
+ if answers:
210
+ rrset = answers[-1]
205
211
  rdtype = self.request.type
206
212
  ttl = self.request.question.ttl
207
213
  rdclass = self.request.question.rdclass
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.3.17
1
+ 1.3.18
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.17
3
+ Version: 1.3.18
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: faker; extra == "all"
130
- Requires-Dist: google-api-python-client; extra == "all"
131
- Requires-Dist: peft; extra == "all"
132
- Requires-Dist: setuptools; extra == "all"
133
- Requires-Dist: torchvision; extra == "all"
134
- Requires-Dist: tabulate; extra == "all"
135
- Requires-Dist: html2text; extra == "all"
129
+ Requires-Dist: flet[all]; extra == "all"
136
130
  Requires-Dist: httpx_retries; extra == "all"
137
- Requires-Dist: transformers[sentencepiece]; extra == "all"
138
- Requires-Dist: deepmerge; extra == "all"
139
- Requires-Dist: openai; extra == "all"
140
- Requires-Dist: appdirs; extra == "all"
141
- Requires-Dist: logfire[httpx]; extra == "all"
131
+ Requires-Dist: pyyaml; extra == "all"
142
132
  Requires-Dist: bokeh; extra == "all"
143
- Requires-Dist: sre_yield; extra == "all"
144
- Requires-Dist: huggingface_hub; extra == "all"
145
- Requires-Dist: json_repair; extra == "all"
146
- Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
147
- Requires-Dist: semver; extra == "all"
148
- Requires-Dist: flet[all]; extra == "all"
149
133
  Requires-Dist: docker; extra == "all"
150
- Requires-Dist: pymupdf4llm; extra == "all"
151
- Requires-Dist: google-auth; extra == "all"
152
- Requires-Dist: ollama; extra == "all"
153
- Requires-Dist: tokenizers; extra == "all"
154
- Requires-Dist: openpyxl; extra == "all"
155
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
156
- Requires-Dist: pydantic-settings; extra == "all"
134
+ Requires-Dist: json_repair; extra == "all"
157
135
  Requires-Dist: regex; extra == "all"
136
+ Requires-Dist: appdirs; extra == "all"
137
+ Requires-Dist: pydantic; extra == "all"
138
+ Requires-Dist: tokenizers; extra == "all"
139
+ Requires-Dist: logfire[httpx]; extra == "all"
140
+ Requires-Dist: pytest-cov; extra == "all"
141
+ Requires-Dist: google-auth; extra == "all"
142
+ Requires-Dist: html2text; extra == "all"
143
+ Requires-Dist: Unidecode; extra == "all"
144
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
158
145
  Requires-Dist: yamlscript; extra == "all"
159
- Requires-Dist: logfire; extra == "all"
160
- Requires-Dist: flet-webview; extra == "all"
161
- Requires-Dist: google-auth-oauthlib; extra == "all"
162
- Requires-Dist: torchaudio; extra == "all"
163
- Requires-Dist: sentence_transformers; extra == "all"
164
- Requires-Dist: diskcache; extra == "all"
165
- Requires-Dist: google-auth-httplib2; extra == "all"
166
- Requires-Dist: contexttimer; extra == "all"
146
+ Requires-Dist: openpyxl; extra == "all"
147
+ Requires-Dist: pymupdf; extra == "all"
148
+ Requires-Dist: openai; extra == "all"
167
149
  Requires-Dist: dnspython[doh]; extra == "all"
168
150
  Requires-Dist: uvicorn[standard]; extra == "all"
169
- Requires-Dist: pymupdf; extra == "all"
170
- Requires-Dist: pydantic; extra == "all"
171
- Requires-Dist: flet-video; extra == "all"
172
151
  Requires-Dist: pandas; extra == "all"
173
- Requires-Dist: Unidecode; extra == "all"
174
- Requires-Dist: httpx; extra == "all"
175
- Requires-Dist: logfire[fastapi]; extra == "all"
176
- Requires-Dist: pyyaml; extra == "all"
177
- Requires-Dist: cachetools; extra == "all"
178
- Requires-Dist: filetype; extra == "all"
179
- Requires-Dist: tinynetrc; extra == "all"
152
+ Requires-Dist: setuptools; extra == "all"
180
153
  Requires-Dist: fastapi; extra == "all"
154
+ Requires-Dist: sentence_transformers; extra == "all"
155
+ Requires-Dist: logfire[fastapi]; extra == "all"
156
+ Requires-Dist: torchaudio; extra == "all"
181
157
  Requires-Dist: dask[bag]; extra == "all"
182
- Requires-Dist: pytest-cov; extra == "all"
158
+ Requires-Dist: sre_yield; extra == "all"
159
+ Requires-Dist: google-auth-httplib2; extra == "all"
160
+ Requires-Dist: deepmerge; extra == "all"
161
+ Requires-Dist: huggingface_hub; extra == "all"
162
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
163
+ Requires-Dist: flet-video; extra == "all"
164
+ Requires-Dist: pymupdf4llm; extra == "all"
165
+ Requires-Dist: flet-webview; extra == "all"
166
+ Requires-Dist: google-auth-oauthlib; extra == "all"
167
+ Requires-Dist: semver; extra == "all"
183
168
  Requires-Dist: distributed; extra == "all"
169
+ Requires-Dist: pydantic-settings; extra == "all"
170
+ Requires-Dist: tabulate; extra == "all"
171
+ Requires-Dist: cachetools; extra == "all"
172
+ Requires-Dist: google-api-python-client; extra == "all"
173
+ Requires-Dist: tinynetrc; extra == "all"
174
+ Requires-Dist: peft; extra == "all"
175
+ Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
176
+ Requires-Dist: faker; extra == "all"
177
+ Requires-Dist: torchvision; extra == "all"
178
+ Requires-Dist: ollama; extra == "all"
179
+ Requires-Dist: httpx; extra == "all"
180
+ Requires-Dist: logfire; extra == "all"
181
+ Requires-Dist: diskcache; extra == "all"
182
+ Requires-Dist: filetype; extra == "all"
183
+ Requires-Dist: contexttimer; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -44,14 +44,14 @@ 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=-HUYHLoxm5NcuTwlcnkIjrMAYrjQl765FWVc5Bp_DI4,6
47
+ fmtr/tools/version,sha256=1HhblnKFU7qvP6wf1fM-3EpDM8YGR1sNW7I8m0TTfYc,6
48
48
  fmtr/tools/yaml_tools.py,sha256=Bhhyd6GQVKO72Lp8ky7bAUjIB_65Hdh0Q45SKIEe6S8,1901
49
49
  fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
50
50
  fmtr/tools/ai_tools/agentic_tools.py,sha256=acSEPFS-aguDXanWGs3fAAlRyJSYPZW7L-Kb2qDLm-I,4300
51
51
  fmtr/tools/ai_tools/inference_tools.py,sha256=2UP2gXEyOJUjyyV6zmFIYmIxUsh1rXkRH0IbFvr2bRs,11908
52
52
  fmtr/tools/dns_tools/__init__.py,sha256=PjD3Og6D5yvDVpKmsUsrnSpz_rjXpl4zBtvMqm8xKWU,237
53
53
  fmtr/tools/dns_tools/client.py,sha256=uUFoFRwoPtetPVH6PZ3ssHmx3WEquT6UW4FCBKq4n74,2722
54
- fmtr/tools/dns_tools/dm.py,sha256=SpnmvK49tozjxv66ihrzes3ZtDD8pW2Km7E-rOx9z_c,6329
54
+ fmtr/tools/dns_tools/dm.py,sha256=DOXcySjcnwviz8tQXjl34W_hz1bh0ue-ew7aNylvOfo,6553
55
55
  fmtr/tools/dns_tools/proxy.py,sha256=gCWfH1pyWjj8xnJ8Pm4id7bsBWqcar3dQ9PeP5XjRXY,1624
56
56
  fmtr/tools/dns_tools/server.py,sha256=7XqG2csuYjXmsEzcHVCd5LBytXkefCPiK3HCRA5v1zQ,4180
57
57
  fmtr/tools/entrypoints/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -76,9 +76,9 @@ fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g
76
76
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
77
77
  fmtr/tools/version_tools/__init__.py,sha256=pg4iLtmIr5HtyEW_j0fMFoIdzqi_w9xH8-grQaXLB28,318
78
78
  fmtr/tools/version_tools/version_tools.py,sha256=Hcc6yferZS1hHbugRTdiHhSNmXEEG0hjCiTTXKna-YY,1127
79
- fmtr_tools-1.3.17.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
80
- fmtr_tools-1.3.17.dist-info/METADATA,sha256=_WcO0-Lvmq7REkXt0l3vVJzB1mTpZ3vif4cnFzoe-pA,15938
81
- fmtr_tools-1.3.17.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
- fmtr_tools-1.3.17.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
83
- fmtr_tools-1.3.17.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
84
- fmtr_tools-1.3.17.dist-info/RECORD,,
79
+ fmtr_tools-1.3.18.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
80
+ fmtr_tools-1.3.18.dist-info/METADATA,sha256=HRh5NKxOfbIObmQOmHgef02WijAE-teUrSEuOPuU4e8,15938
81
+ fmtr_tools-1.3.18.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
82
+ fmtr_tools-1.3.18.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
83
+ fmtr_tools-1.3.18.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
84
+ fmtr_tools-1.3.18.dist-info/RECORD,,