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

@@ -5,6 +5,7 @@ import beanie
5
5
  from motor.motor_asyncio import AsyncIOMotorClient
6
6
 
7
7
  from fmtr.tools.constants import Constants
8
+ from fmtr.tools.logging_tools import logger
8
9
 
9
10
 
10
11
  class Document(beanie.Document):
@@ -31,4 +32,10 @@ class Client:
31
32
  return f'mongodb://{self.host}:{self.port}'
32
33
 
33
34
  async def connect(self):
34
- return await beanie.init_beanie(database=self.db, document_models=self.documents)
35
+ """
36
+
37
+ Connect
38
+
39
+ """
40
+ with logger.span(f'Connecting to document database {self.uri=} {self.name=}'):
41
+ return await beanie.init_beanie(database=self.db, document_models=self.documents)
@@ -1,6 +1,7 @@
1
1
  from datetime import datetime, timezone
2
- from functools import lru_cache
3
2
 
3
+ MIN = datetime.min.replace(tzinfo=timezone.utc)
4
+ MAX = datetime.max.replace(tzinfo=timezone.utc)
4
5
 
5
6
  def now() -> datetime:
6
7
  """
@@ -9,23 +10,3 @@ def now() -> datetime:
9
10
 
10
11
  """
11
12
  return datetime.now(tz=timezone.utc)
12
-
13
-
14
- @lru_cache
15
- def min() -> datetime:
16
- """
17
-
18
- Min UTC
19
-
20
- """
21
- return now().min
22
-
23
-
24
- @lru_cache
25
- def max():
26
- """
27
-
28
- Max UTC
29
-
30
- """
31
- return now().max
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.3.56
1
+ 1.3.58
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.56
3
+ Version: 1.3.58
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
@@ -154,68 +154,68 @@ Provides-Extra: db-document
154
154
  Requires-Dist: beanie[odm]; extra == "db-document"
155
155
  Requires-Dist: motor; extra == "db-document"
156
156
  Provides-Extra: all
157
- Requires-Dist: flet-webview; extra == "all"
158
- Requires-Dist: peft; extra == "all"
159
- Requires-Dist: beanie[odm]; extra == "all"
160
- Requires-Dist: pydantic-settings; extra == "all"
161
- Requires-Dist: logfire; extra == "all"
162
- Requires-Dist: Unidecode; extra == "all"
163
- Requires-Dist: pydantic; extra == "all"
164
- Requires-Dist: pymupdf4llm; extra == "all"
165
- Requires-Dist: dnspython[doh]; extra == "all"
166
- Requires-Dist: pymupdf; extra == "all"
167
- Requires-Dist: deepmerge; extra == "all"
168
- Requires-Dist: tinynetrc; extra == "all"
169
- Requires-Dist: contexttimer; extra == "all"
170
- Requires-Dist: uvicorn[standard]; extra == "all"
171
- Requires-Dist: openpyxl; extra == "all"
172
157
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
173
- Requires-Dist: flet-video; extra == "all"
174
- Requires-Dist: pycountry; extra == "all"
175
- Requires-Dist: odfpy; extra == "all"
176
- Requires-Dist: sentence_transformers; extra == "all"
177
- Requires-Dist: google-auth-oauthlib; extra == "all"
178
- Requires-Dist: httpx_retries; extra == "all"
179
- Requires-Dist: dask[bag]; extra == "all"
180
- Requires-Dist: ollama; extra == "all"
181
- Requires-Dist: fastapi; extra == "all"
182
- Requires-Dist: cachetools; extra == "all"
183
- Requires-Dist: appdirs; extra == "all"
184
- Requires-Dist: pyyaml; extra == "all"
185
- Requires-Dist: torchaudio; extra == "all"
186
- Requires-Dist: pytest-cov; extra == "all"
187
- Requires-Dist: deepdiff; extra == "all"
188
- Requires-Dist: logfire[httpx]; extra == "all"
189
- Requires-Dist: pandas; extra == "all"
190
158
  Requires-Dist: playwright; extra == "all"
191
- Requires-Dist: pydantic-extra-types; extra == "all"
192
- Requires-Dist: html2text; extra == "all"
193
- Requires-Dist: regex; extra == "all"
159
+ Requires-Dist: torchaudio; extra == "all"
160
+ Requires-Dist: google-auth-oauthlib; extra == "all"
161
+ Requires-Dist: odfpy; extra == "all"
162
+ Requires-Dist: setuptools; extra == "all"
194
163
  Requires-Dist: yamlscript; extra == "all"
195
- Requires-Dist: google-api-python-client; extra == "all"
196
- Requires-Dist: sre_yield; extra == "all"
197
- Requires-Dist: python-on-whales; extra == "all"
198
- Requires-Dist: semver; extra == "all"
199
- Requires-Dist: logfire[fastapi]; extra == "all"
164
+ Requires-Dist: sentence_transformers; extra == "all"
165
+ Requires-Dist: flet-webview; extra == "all"
200
166
  Requires-Dist: google-auth; extra == "all"
201
- Requires-Dist: setuptools; extra == "all"
167
+ Requires-Dist: openai; extra == "all"
202
168
  Requires-Dist: distributed; extra == "all"
203
- Requires-Dist: transformers[sentencepiece]; extra == "all"
204
- Requires-Dist: httpx; extra == "all"
169
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
170
+ Requires-Dist: Unidecode; extra == "all"
171
+ Requires-Dist: regex; extra == "all"
172
+ Requires-Dist: pydantic-settings; extra == "all"
173
+ Requires-Dist: uvicorn[standard]; extra == "all"
174
+ Requires-Dist: pymupdf; extra == "all"
175
+ Requires-Dist: contexttimer; extra == "all"
176
+ Requires-Dist: tabulate; extra == "all"
177
+ Requires-Dist: pytest-cov; extra == "all"
205
178
  Requires-Dist: flet[all]; extra == "all"
206
179
  Requires-Dist: google-auth-httplib2; extra == "all"
207
- Requires-Dist: diskcache; extra == "all"
208
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
209
- Requires-Dist: torchvision; extra == "all"
210
- Requires-Dist: tokenizers; extra == "all"
180
+ Requires-Dist: appdirs; extra == "all"
181
+ Requires-Dist: semver; extra == "all"
211
182
  Requires-Dist: json_repair; extra == "all"
183
+ Requires-Dist: pandas; extra == "all"
184
+ Requires-Dist: sre_yield; extra == "all"
185
+ Requires-Dist: logfire[fastapi]; extra == "all"
186
+ Requires-Dist: google-api-python-client; extra == "all"
187
+ Requires-Dist: httpx_retries; extra == "all"
188
+ Requires-Dist: motor; extra == "all"
189
+ Requires-Dist: dask[bag]; extra == "all"
190
+ Requires-Dist: dnspython[doh]; extra == "all"
191
+ Requires-Dist: logfire[httpx]; extra == "all"
212
192
  Requires-Dist: huggingface_hub; extra == "all"
213
- Requires-Dist: tabulate; extra == "all"
214
- Requires-Dist: filetype; extra == "all"
193
+ Requires-Dist: pydantic-extra-types; extra == "all"
215
194
  Requires-Dist: faker; extra == "all"
216
- Requires-Dist: motor; extra == "all"
195
+ Requires-Dist: beanie[odm]; extra == "all"
196
+ Requires-Dist: pycountry; extra == "all"
197
+ Requires-Dist: openpyxl; extra == "all"
198
+ Requires-Dist: tinynetrc; extra == "all"
199
+ Requires-Dist: httpx; extra == "all"
200
+ Requires-Dist: deepdiff; extra == "all"
217
201
  Requires-Dist: bokeh; extra == "all"
218
- Requires-Dist: openai; extra == "all"
202
+ Requires-Dist: pydantic; extra == "all"
203
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
204
+ Requires-Dist: torchvision; extra == "all"
205
+ Requires-Dist: cachetools; extra == "all"
206
+ Requires-Dist: diskcache; extra == "all"
207
+ Requires-Dist: html2text; extra == "all"
208
+ Requires-Dist: flet-video; extra == "all"
209
+ Requires-Dist: logfire; extra == "all"
210
+ Requires-Dist: filetype; extra == "all"
211
+ Requires-Dist: python-on-whales; extra == "all"
212
+ Requires-Dist: peft; extra == "all"
213
+ Requires-Dist: pyyaml; extra == "all"
214
+ Requires-Dist: pymupdf4llm; extra == "all"
215
+ Requires-Dist: tokenizers; extra == "all"
216
+ Requires-Dist: ollama; extra == "all"
217
+ Requires-Dist: fastapi; extra == "all"
218
+ Requires-Dist: deepmerge; extra == "all"
219
219
  Dynamic: author
220
220
  Dynamic: author-email
221
221
  Dynamic: description
@@ -8,7 +8,7 @@ fmtr/tools/context_tools.py,sha256=4UvIHYgLqAh7dXMX9EBrLEpYp81qfzhSVrkffOSAoGA,3
8
8
  fmtr/tools/data_modelling_tools.py,sha256=0BFm-F_cYzVTxftWQwORkPd0FM2BTLVh9-s0-rTTFoo,1744
9
9
  fmtr/tools/dataclass_tools.py,sha256=0Gt6KeLhtPgubo_2tYkIVqB8oQ91Qzag8OAGZDdjvMU,1209
10
10
  fmtr/tools/datatype_tools.py,sha256=3P4AWIFGkJ-UqvXlj0Jc9IvkIIgTOE9jRrOk3NVbpH8,1508
11
- fmtr/tools/datetime_tools.py,sha256=StliYw51ZXi-miVB4O9Ps0zI6wsT_nbWhIb6R2ybNuo,330
11
+ fmtr/tools/datetime_tools.py,sha256=L7wmBoQbD9h_pJIL92WQOX32r_vrXgRvE-_0PVPRAGY,232
12
12
  fmtr/tools/debugging_tools.py,sha256=_xzqS0V5BpL8d06j-jVQjGgI7T020QsqVXKAKMz7Du8,2082
13
13
  fmtr/tools/environment_tools.py,sha256=43uqfj1G1bNX0IwKz-NKbu3AbFYSdbBuGN9rlThe030,1845
14
14
  fmtr/tools/function_tools.py,sha256=O1K8HwftXfzrBblNZrj-BhWNbr4poJghrXNr2mFcylI,2831
@@ -45,14 +45,14 @@ fmtr/tools/tabular_tools.py,sha256=mw6vOij1Ch-pVAyHMPtm5zj__ULZN_TKeBYOfj33wFM,1
45
45
  fmtr/tools/tokenization_tools.py,sha256=me-IBzSLyNYejLybwjO9CNB6Mj2NYfKPaOVThXyaGNg,4268
46
46
  fmtr/tools/tools.py,sha256=CAsApa1YwVdNE6H66Vjivs_mXYvOas3rh7fPELAnTpk,795
47
47
  fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
48
- fmtr/tools/version,sha256=YmsM01m3TYTUqp0ewpZSPr9_e7bbjInqRFi4MA7mVrY,6
48
+ fmtr/tools/version,sha256=gTkH6n0qoR1Np3LQ-ZkoChzwHlEYbg59j3zWlem00ME,6
49
49
  fmtr/tools/webhook_tools.py,sha256=q3pVJ1NCem2SrMuFcLxiWd7DibFs7Q-uGtojfXd3Qcg,380
50
50
  fmtr/tools/yaml_tools.py,sha256=Bhhyd6GQVKO72Lp8ky7bAUjIB_65Hdh0Q45SKIEe6S8,1901
51
51
  fmtr/tools/ai_tools/__init__.py,sha256=O8VRlPnnQCncg2ZZ2l_VdWLJf4jkKH6dkZFVbv6o7IM,388
52
52
  fmtr/tools/ai_tools/agentic_tools.py,sha256=fRb5M3A2avICmrhTgLq-FpCVgWiSp3_Bn2j9yP6hxo0,5136
53
53
  fmtr/tools/ai_tools/inference_tools.py,sha256=2UP2gXEyOJUjyyV6zmFIYmIxUsh1rXkRH0IbFvr2bRs,11908
54
54
  fmtr/tools/database_tools/__init__.py,sha256=-YXEs3P4nwg7hdvALpaW4K2Pg9FIc49rD53smqnBgT4,221
55
- fmtr/tools/database_tools/document.py,sha256=QLW-Ll2uVp1UTjA4leiJ3gtrUJHQPzwpFT_AZ3jow3A,812
55
+ fmtr/tools/database_tools/document.py,sha256=YciaSNYyLSPRFZbHQEVwN-G_7RXgXFaq27IN62--fDA,989
56
56
  fmtr/tools/dns_tools/__init__.py,sha256=HP0Qcwyi1C6vBH_ejuWrGJOWdp-GZ_cmH-QofjD6Mmg,266
57
57
  fmtr/tools/dns_tools/client.py,sha256=IBbd7Xgx9ExTn_EPoL7ts9JfXokHHuOiD9m4K6tl1Q0,2817
58
58
  fmtr/tools/dns_tools/dm.py,sha256=Lp1HaF7rpVtL_Ji4Bd32B29105H9ZKQ8AcVj_AB7nsA,6678
@@ -85,9 +85,9 @@ fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g
85
85
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
86
86
  fmtr/tools/version_tools/__init__.py,sha256=cjE6nO6AoVOUp3RwgTbqL9wiw8J1l2pHJOz6Gn6bxjA,326
87
87
  fmtr/tools/version_tools/version_tools.py,sha256=Hcc6yferZS1hHbugRTdiHhSNmXEEG0hjCiTTXKna-YY,1127
88
- fmtr_tools-1.3.56.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
89
- fmtr_tools-1.3.56.dist-info/METADATA,sha256=JAdKA-pmQCfi88M52e5iuCHo6w2fJ0-EDsQJdg_yOOU,17455
90
- fmtr_tools-1.3.56.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
- fmtr_tools-1.3.56.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
92
- fmtr_tools-1.3.56.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
93
- fmtr_tools-1.3.56.dist-info/RECORD,,
88
+ fmtr_tools-1.3.58.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
89
+ fmtr_tools-1.3.58.dist-info/METADATA,sha256=dIUHLfjVGVJV8Kjf1XFUgGfDdUU7D7E5urJbLt3BCRQ,17455
90
+ fmtr_tools-1.3.58.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
91
+ fmtr_tools-1.3.58.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
92
+ fmtr_tools-1.3.58.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
93
+ fmtr_tools-1.3.58.dist-info/RECORD,,