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

@@ -1,3 +1,5 @@
1
+ from functools import cached_property
2
+
1
3
  import flet as ft
2
4
  from flet.core.types import AppView
3
5
  from flet.core.view import View
@@ -88,12 +90,25 @@ class Interface(ft.Column):
88
90
  if not page.on_route_change:
89
91
  page.theme = cls.get_theme()
90
92
  page.views.clear()
91
- page.views.append(cls())
93
+ self = cls()
94
+ view = self.view
95
+ if not view:
96
+ view = self
97
+ page.views.append(view)
92
98
  page.on_route_change = cls.route
93
99
  page.on_view_pop = cls.pop
94
100
 
95
101
  page.go(cls.ROUTE_ROOT)
96
102
 
103
+ @cached_property
104
+ def view(self):
105
+ """
106
+
107
+ Overridable view definition.
108
+
109
+ """
110
+ return None
111
+
97
112
  @classmethod
98
113
  def route(cls, event: ft.RouteChangeEvent):
99
114
  """
fmtr/tools/version CHANGED
@@ -1 +1 @@
1
- 1.3.33
1
+ 1.3.34
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fmtr.tools
3
- Version: 1.3.33
3
+ Version: 1.3.34
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: cachetools; extra == "all"
129
+ Requires-Dist: dnspython[doh]; extra == "all"
130
+ Requires-Dist: yamlscript; extra == "all"
131
+ Requires-Dist: regex; extra == "all"
132
+ Requires-Dist: dask[bag]; extra == "all"
133
+ Requires-Dist: appdirs; extra == "all"
134
+ Requires-Dist: flet-webview; extra == "all"
135
+ Requires-Dist: diskcache; extra == "all"
130
136
  Requires-Dist: peft; extra == "all"
131
- Requires-Dist: bokeh; extra == "all"
132
- Requires-Dist: pytest-cov; extra == "all"
133
- Requires-Dist: tokenizers; extra == "all"
134
- Requires-Dist: tinynetrc; extra == "all"
135
- Requires-Dist: transformers[sentencepiece]; extra == "all"
136
- Requires-Dist: ollama; extra == "all"
137
+ Requires-Dist: openai; extra == "all"
138
+ Requires-Dist: filetype; extra == "all"
137
139
  Requires-Dist: google-auth-httplib2; extra == "all"
138
- Requires-Dist: diskcache; extra == "all"
139
- Requires-Dist: torchaudio; extra == "all"
140
- Requires-Dist: torchvision; extra == "all"
141
- Requires-Dist: appdirs; extra == "all"
142
- Requires-Dist: huggingface_hub; extra == "all"
143
- Requires-Dist: openpyxl; extra == "all"
144
- Requires-Dist: httpx_retries; extra == "all"
140
+ Requires-Dist: deepmerge; extra == "all"
141
+ Requires-Dist: transformers[sentencepiece]; extra == "all"
142
+ Requires-Dist: flet-video; extra == "all"
143
+ Requires-Dist: google-auth; extra == "all"
145
144
  Requires-Dist: pydantic-settings; extra == "all"
145
+ Requires-Dist: tokenizers; extra == "all"
146
+ Requires-Dist: torchaudio; extra == "all"
147
+ Requires-Dist: google-api-python-client; extra == "all"
148
+ Requires-Dist: pymupdf4llm; extra == "all"
149
+ Requires-Dist: distributed; extra == "all"
146
150
  Requires-Dist: docker; extra == "all"
147
- Requires-Dist: yamlscript; extra == "all"
148
- Requires-Dist: pydantic; extra == "all"
151
+ Requires-Dist: faker; extra == "all"
152
+ Requires-Dist: flet[all]; extra == "all"
153
+ Requires-Dist: cachetools; extra == "all"
154
+ Requires-Dist: tabulate; extra == "all"
155
+ Requires-Dist: sre_yield; extra == "all"
149
156
  Requires-Dist: contexttimer; extra == "all"
150
157
  Requires-Dist: pandas; extra == "all"
158
+ Requires-Dist: json_repair; extra == "all"
159
+ Requires-Dist: huggingface_hub; extra == "all"
160
+ Requires-Dist: torchvision; extra == "all"
151
161
  Requires-Dist: uvicorn[standard]; extra == "all"
152
- Requires-Dist: tabulate; extra == "all"
153
- Requires-Dist: logfire[fastapi]; extra == "all"
154
- Requires-Dist: flet-video; extra == "all"
162
+ Requires-Dist: tinynetrc; extra == "all"
163
+ Requires-Dist: sentence_transformers; extra == "all"
164
+ Requires-Dist: html2text; extra == "all"
155
165
  Requires-Dist: pymupdf; extra == "all"
156
- Requires-Dist: setuptools; extra == "all"
157
- Requires-Dist: fastapi; extra == "all"
158
- Requires-Dist: google-api-python-client; extra == "all"
159
- Requires-Dist: filetype; extra == "all"
166
+ Requires-Dist: bokeh; extra == "all"
167
+ Requires-Dist: pytest-cov; extra == "all"
160
168
  Requires-Dist: logfire[httpx]; extra == "all"
161
- Requires-Dist: google-auth; extra == "all"
162
- Requires-Dist: regex; extra == "all"
163
- Requires-Dist: semver; extra == "all"
164
- Requires-Dist: pyyaml; extra == "all"
165
- Requires-Dist: flet-webview; extra == "all"
169
+ Requires-Dist: pydantic; extra == "all"
170
+ Requires-Dist: google-auth-oauthlib; extra == "all"
166
171
  Requires-Dist: httpx; extra == "all"
167
- Requires-Dist: dask[bag]; extra == "all"
168
- Requires-Dist: pymupdf4llm; extra == "all"
169
- Requires-Dist: json_repair; extra == "all"
170
- Requires-Dist: faker; extra == "all"
171
172
  Requires-Dist: Unidecode; extra == "all"
173
+ Requires-Dist: semver; extra == "all"
174
+ Requires-Dist: pyyaml; extra == "all"
175
+ Requires-Dist: httpx_retries; extra == "all"
176
+ Requires-Dist: openpyxl; extra == "all"
177
+ Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
172
178
  Requires-Dist: logfire; extra == "all"
173
- Requires-Dist: sentence_transformers; extra == "all"
174
- Requires-Dist: dnspython[doh]; extra == "all"
175
- Requires-Dist: deepmerge; extra == "all"
176
- Requires-Dist: html2text; extra == "all"
179
+ Requires-Dist: setuptools; extra == "all"
177
180
  Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
178
- Requires-Dist: flet[all]; extra == "all"
179
- Requires-Dist: openai; extra == "all"
180
- Requires-Dist: google-auth-oauthlib; extra == "all"
181
- Requires-Dist: distributed; extra == "all"
182
- Requires-Dist: sre_yield; extra == "all"
183
- Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
181
+ Requires-Dist: fastapi; extra == "all"
182
+ Requires-Dist: ollama; extra == "all"
183
+ Requires-Dist: logfire[fastapi]; extra == "all"
184
184
  Dynamic: author
185
185
  Dynamic: author-email
186
186
  Dynamic: description
@@ -45,7 +45,7 @@ fmtr/tools/tabular_tools.py,sha256=tpIpZzYku1HcJrHZJL6BC39LmN3WUWVhFbK2N7nDVmE,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=vmxTAvLKZhzFgfuMMISjooj9JcEzyYMgvefLRN_twHY,6
48
+ fmtr/tools/version,sha256=ZOiSAtzwnYgSAHIF83-noRMUKSEpP8MZprQqGOOJbAY,6
49
49
  fmtr/tools/yaml_tools.py,sha256=Bhhyd6GQVKO72Lp8ky7bAUjIB_65Hdh0Q45SKIEe6S8,1901
50
50
  fmtr/tools/ai_tools/__init__.py,sha256=JZrLuOFNV1A3wvJgonxOgz_4WS-7MfCuowGWA5uYCjs,372
51
51
  fmtr/tools/ai_tools/agentic_tools.py,sha256=8su8wmSEoQaDoDnmcKy_DvtWzssBEpNJtH4PzNAKZUE,4782
@@ -63,7 +63,7 @@ fmtr/tools/entrypoints/remote_debug_test.py,sha256=wmKg9o2pQq7eqeHmaO8oviujNgtns
63
63
  fmtr/tools/entrypoints/shell_debug.py,sha256=0No3tAg9Ri4_vvSlQCUtAY-11HR0nE45i0VVtiAViwY,106
64
64
  fmtr/tools/interface_tools/__init__.py,sha256=nODVT7v657onpmak7qbW4P8NoW2HQqyeEDUSx5pZAFg,331
65
65
  fmtr/tools/interface_tools/controls.py,sha256=oOl0_sZB8fkvYB-9A5yjArfQmFQLMCsVGgRNrJAFJm4,332
66
- fmtr/tools/interface_tools/interface_tools.py,sha256=kQusNsZZU2VWQ_IZu78muS8RpOZRNNmORRBIA7HKXYY,3307
66
+ fmtr/tools/interface_tools/interface_tools.py,sha256=a7WRwf8TKek8ML08ANfkncLfoMHWk5b_929bFf3Y6cQ,3577
67
67
  fmtr/tools/path_tools/__init__.py,sha256=v5CpmzXq5Ii90FtcmxAJKiLxmguZMrPnQ_HdT872Np0,443
68
68
  fmtr/tools/path_tools/app_path_tools.py,sha256=JrJvtTDd_gkCKcZtBCDTMktsM77PZwGV_hzQX0g5GU8,1722
69
69
  fmtr/tools/path_tools/path_tools.py,sha256=eh30PpmH0wopy0wNWuPT84cmXY1EvqsTSDT7AV_GPOY,8034
@@ -80,9 +80,9 @@ fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g
80
80
  fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
81
81
  fmtr/tools/version_tools/__init__.py,sha256=pg4iLtmIr5HtyEW_j0fMFoIdzqi_w9xH8-grQaXLB28,318
82
82
  fmtr/tools/version_tools/version_tools.py,sha256=Hcc6yferZS1hHbugRTdiHhSNmXEEG0hjCiTTXKna-YY,1127
83
- fmtr_tools-1.3.33.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
84
- fmtr_tools-1.3.33.dist-info/METADATA,sha256=7H3tjWWEroxKZAxXzbl7jG85b8dtrmnT4nbjy_ROQrA,15938
85
- fmtr_tools-1.3.33.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
86
- fmtr_tools-1.3.33.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
87
- fmtr_tools-1.3.33.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
88
- fmtr_tools-1.3.33.dist-info/RECORD,,
83
+ fmtr_tools-1.3.34.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
84
+ fmtr_tools-1.3.34.dist-info/METADATA,sha256=xyVaIjAH3yktuim6wh613DMUdyYhdJs2rgjjjfrxpKc,15938
85
+ fmtr_tools-1.3.34.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
86
+ fmtr_tools-1.3.34.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
87
+ fmtr_tools-1.3.34.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
88
+ fmtr_tools-1.3.34.dist-info/RECORD,,