fmtr.tools 1.3.81__py3-none-any.whl → 1.4.37__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.
- fmtr/tools/__init__.py +19 -1
- fmtr/tools/api_tools.py +65 -7
- fmtr/tools/async_tools.py +4 -0
- fmtr/tools/av_tools.py +7 -0
- fmtr/tools/constants.py +9 -1
- fmtr/tools/datatype_tools.py +1 -1
- fmtr/tools/debugging_tools.py +1 -2
- fmtr/tools/environment_tools.py +1 -0
- fmtr/tools/ha_tools/__init__.py +8 -0
- fmtr/tools/ha_tools/constants.py +9 -0
- fmtr/tools/ha_tools/core.py +16 -0
- fmtr/tools/ha_tools/supervisor.py +16 -0
- fmtr/tools/ha_tools/utils.py +46 -0
- fmtr/tools/http_tools.py +30 -4
- fmtr/tools/iterator_tools.py +93 -1
- fmtr/tools/logging_tools.py +72 -18
- fmtr/tools/mqtt_tools.py +89 -0
- fmtr/tools/networking_tools.py +73 -0
- fmtr/tools/path_tools/__init__.py +1 -1
- fmtr/tools/path_tools/path_tools.py +65 -6
- fmtr/tools/pattern_tools.py +17 -0
- fmtr/tools/settings_tools.py +4 -2
- fmtr/tools/setup_tools/setup_tools.py +35 -1
- fmtr/tools/version +1 -1
- fmtr/tools/yaml_tools.py +1 -3
- fmtr/tools/youtube_tools.py +128 -0
- fmtr_tools-1.4.37.data/scripts/add-service +14 -0
- fmtr_tools-1.4.37.data/scripts/add-user-path +8 -0
- fmtr_tools-1.4.37.data/scripts/apt-headless +23 -0
- fmtr_tools-1.4.37.data/scripts/compose-update +10 -0
- fmtr_tools-1.4.37.data/scripts/docker-sandbox +43 -0
- fmtr_tools-1.4.37.data/scripts/docker-sandbox-init +23 -0
- fmtr_tools-1.4.37.data/scripts/docs-deploy +6 -0
- fmtr_tools-1.4.37.data/scripts/docs-serve +5 -0
- fmtr_tools-1.4.37.data/scripts/download +9 -0
- fmtr_tools-1.4.37.data/scripts/fmtr-test-script +3 -0
- fmtr_tools-1.4.37.data/scripts/ftu +3 -0
- fmtr_tools-1.4.37.data/scripts/ha-addon-launch +16 -0
- fmtr_tools-1.4.37.data/scripts/install-browser +8 -0
- fmtr_tools-1.4.37.data/scripts/parse-args +43 -0
- fmtr_tools-1.4.37.data/scripts/set-password +5 -0
- fmtr_tools-1.4.37.data/scripts/snips-install +14 -0
- fmtr_tools-1.4.37.data/scripts/ssh-auth +28 -0
- fmtr_tools-1.4.37.data/scripts/ssh-serve +15 -0
- fmtr_tools-1.4.37.data/scripts/vlc-tn +10 -0
- fmtr_tools-1.4.37.data/scripts/vm-launch +17 -0
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/METADATA +92 -50
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/RECORD +52 -23
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/WHEEL +0 -0
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/entry_points.txt +0 -0
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/licenses/LICENSE +0 -0
- {fmtr_tools-1.3.81.dist-info → fmtr_tools-1.4.37.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
ARGS=() # positional arguments
|
|
4
|
+
|
|
5
|
+
while [ $# -gt 0 ]; do
|
|
6
|
+
case "$1" in
|
|
7
|
+
# --key=value or -k=value
|
|
8
|
+
--*=* | -*=*)
|
|
9
|
+
key=${1%%=*}
|
|
10
|
+
key=${key#--}
|
|
11
|
+
key=${key#-}
|
|
12
|
+
key=$(printf '%s' "$key" | tr 'a-z-' 'A-Z_')
|
|
13
|
+
|
|
14
|
+
val=${1#*=}
|
|
15
|
+
export "$key=$val"
|
|
16
|
+
|
|
17
|
+
unset key val # remove temporary variables
|
|
18
|
+
shift
|
|
19
|
+
;;
|
|
20
|
+
# --key value or -k value, or boolean flag
|
|
21
|
+
--* | -*)
|
|
22
|
+
key=${1#--}
|
|
23
|
+
key=${key#-}
|
|
24
|
+
key=$(printf '%s' "$key" | tr 'a-z-' 'A-Z_')
|
|
25
|
+
|
|
26
|
+
if [ -n "$2" ] && [[ ! "$2" =~ ^- ]]; then
|
|
27
|
+
val="$2"
|
|
28
|
+
export "$key=$val"
|
|
29
|
+
shift 2
|
|
30
|
+
else
|
|
31
|
+
export "$key=1"
|
|
32
|
+
shift
|
|
33
|
+
fi
|
|
34
|
+
|
|
35
|
+
unset key val # remove temporary variables
|
|
36
|
+
;;
|
|
37
|
+
# positional arguments
|
|
38
|
+
*)
|
|
39
|
+
ARGS+=("$1")
|
|
40
|
+
shift
|
|
41
|
+
;;
|
|
42
|
+
esac
|
|
43
|
+
done
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
. parse-args "$@"
|
|
4
|
+
|
|
5
|
+
DIR="/home/$(whoami)/.local/bin/"
|
|
6
|
+
REPO="snips"
|
|
7
|
+
BRANCH="main"
|
|
8
|
+
URL="https://github.com/${ORG}/${REPO}/archive/refs/heads/${BRANCH}.zip"
|
|
9
|
+
|
|
10
|
+
TMPDIR=$(mktemp -d)
|
|
11
|
+
download --url="$URL" --file=$TMPDIR/snips.zip
|
|
12
|
+
unzip $TMPDIR/snips.zip -d $TMPDIR
|
|
13
|
+
mv "$TMPDIR/${REPO}-${BRANCH}/"* "$DIR"
|
|
14
|
+
rm -rf "$TMPDIR"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
. parse-args "$@"
|
|
4
|
+
|
|
5
|
+
set -e
|
|
6
|
+
|
|
7
|
+
if [ -z "${USERNAME}" ]; then
|
|
8
|
+
echo "Error: --username argument is not set" >&2
|
|
9
|
+
exit 1
|
|
10
|
+
fi
|
|
11
|
+
|
|
12
|
+
SSH_DIR="$HOME/.ssh"
|
|
13
|
+
AUTHORIZED_KEYS="$SSH_DIR/authorized_keys"
|
|
14
|
+
|
|
15
|
+
mkdir -p "$SSH_DIR"
|
|
16
|
+
chmod 700 "$SSH_DIR"
|
|
17
|
+
|
|
18
|
+
TMP_KEYS=$(mktemp)
|
|
19
|
+
curl -fsSL "https://github.com/${USERNAME}.keys" > "$TMP_KEYS"
|
|
20
|
+
|
|
21
|
+
touch "$AUTHORIZED_KEYS"
|
|
22
|
+
chmod 600 "$AUTHORIZED_KEYS"
|
|
23
|
+
|
|
24
|
+
grep -Fvx -f "$AUTHORIZED_KEYS" "$TMP_KEYS" >> "$AUTHORIZED_KEYS"
|
|
25
|
+
|
|
26
|
+
rm "$TMP_KEYS"
|
|
27
|
+
|
|
28
|
+
echo "SSH keys from '${USERNAME}' added to '${AUTHORIZED_KEYS}'"
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
set -e
|
|
4
|
+
|
|
5
|
+
FMTR_DEV_SSH_PORT=${FMTR_DEV_SSH_PORT:-22}
|
|
6
|
+
|
|
7
|
+
[ -f /home/user/.ssh/ssh_host ] || ssh-keygen -f /home/user/.ssh/ssh_host -N '' -t rsa
|
|
8
|
+
|
|
9
|
+
exec /usr/sbin/sshd -D -e -p "$FMTR_DEV_SSH_PORT" \
|
|
10
|
+
-h /home/user/.ssh/ssh_host \
|
|
11
|
+
-o PasswordAuthentication=no \
|
|
12
|
+
-o PermitRootLogin=prohibit-password \
|
|
13
|
+
-o PubkeyAuthentication=yes \
|
|
14
|
+
-o AuthorizedKeysFile=/home/user/.ssh/authorized_keys \
|
|
15
|
+
-o LogLevel=VERBOSE
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
. parse-args "$@"
|
|
4
|
+
|
|
5
|
+
if ! command -v vlc >/dev/null 2>&1; then
|
|
6
|
+
echo "VLC not found. Installing dependencies..."
|
|
7
|
+
sudo apt-headless vlc-bin vlc-plugin-base
|
|
8
|
+
fi
|
|
9
|
+
|
|
10
|
+
vlc -I telnet --telnet-password ${PASSWORD-password} --telnet-host ${HOST-0.0.0.0}:${PORT-4212}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
. parse-args "$@"
|
|
4
|
+
|
|
5
|
+
sudo qemu-system-x86_64 \
|
|
6
|
+
-enable-kvm \
|
|
7
|
+
-m ${GB-12}G \
|
|
8
|
+
-smp ${CPUS-4} \
|
|
9
|
+
-cpu host \
|
|
10
|
+
-machine q35 \
|
|
11
|
+
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE_4M.fd \
|
|
12
|
+
-drive if=pflash,format=raw,file=/usr/share/OVMF/OVMF_VARS_4M.fd \
|
|
13
|
+
-drive file=/opt/dev/vm/${NAME-default}/disk.qcow2,format=qcow2,if=virtio,cache=writeback,aio=threads \
|
|
14
|
+
-device virtio-net-pci,netdev=net0 \
|
|
15
|
+
-netdev bridge,id=net0,br=${BR-br0} \
|
|
16
|
+
-display ${DISPLAY_VM-gtk} \
|
|
17
|
+
-serial mon:stdio
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: fmtr.tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.37
|
|
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
|
|
@@ -165,68 +165,110 @@ Requires-Dist: playwright; extra == "browsers"
|
|
|
165
165
|
Provides-Extra: db
|
|
166
166
|
Provides-Extra: db-document
|
|
167
167
|
Requires-Dist: beanie[odm]; extra == "db-document"
|
|
168
|
+
Provides-Extra: mqtt
|
|
169
|
+
Requires-Dist: aiomqtt; extra == "mqtt"
|
|
170
|
+
Provides-Extra: av
|
|
171
|
+
Requires-Dist: av; extra == "av"
|
|
172
|
+
Provides-Extra: ha
|
|
173
|
+
Requires-Dist: dotenv; extra == "ha"
|
|
174
|
+
Provides-Extra: ha-api
|
|
175
|
+
Requires-Dist: dotenv; extra == "ha-api"
|
|
176
|
+
Requires-Dist: homeassistant_api; extra == "ha-api"
|
|
177
|
+
Requires-Dist: aiohasupervisor; extra == "ha-api"
|
|
178
|
+
Provides-Extra: doc
|
|
179
|
+
Requires-Dist: mkdocs; extra == "doc"
|
|
180
|
+
Requires-Dist: mkdocs-material; extra == "doc"
|
|
181
|
+
Requires-Dist: mkdocstrings[python]; extra == "doc"
|
|
182
|
+
Requires-Dist: mike; extra == "doc"
|
|
183
|
+
Requires-Dist: mkdocs-include-dir-to-nav; extra == "doc"
|
|
184
|
+
Provides-Extra: youtube
|
|
185
|
+
Requires-Dist: pytubefix; extra == "youtube"
|
|
186
|
+
Provides-Extra: deploy
|
|
187
|
+
Requires-Dist: setuptools; extra == "deploy"
|
|
188
|
+
Requires-Dist: mkdocs; extra == "deploy"
|
|
189
|
+
Requires-Dist: mkdocs-material; extra == "deploy"
|
|
190
|
+
Requires-Dist: mkdocstrings[python]; extra == "deploy"
|
|
191
|
+
Requires-Dist: mike; extra == "deploy"
|
|
192
|
+
Requires-Dist: mkdocs-include-dir-to-nav; extra == "deploy"
|
|
193
|
+
Requires-Dist: build; extra == "deploy"
|
|
194
|
+
Requires-Dist: twine; extra == "deploy"
|
|
195
|
+
Requires-Dist: packaging; extra == "deploy"
|
|
168
196
|
Provides-Extra: all
|
|
169
|
-
Requires-Dist:
|
|
170
|
-
Requires-Dist:
|
|
171
|
-
Requires-Dist:
|
|
172
|
-
Requires-Dist:
|
|
173
|
-
Requires-Dist:
|
|
174
|
-
Requires-Dist:
|
|
175
|
-
Requires-Dist:
|
|
176
|
-
Requires-Dist:
|
|
177
|
-
Requires-Dist: cachetools; extra == "all"
|
|
197
|
+
Requires-Dist: deepmerge; extra == "all"
|
|
198
|
+
Requires-Dist: pydevd-pycharm~=251.25410.159; extra == "all"
|
|
199
|
+
Requires-Dist: huggingface_hub; extra == "all"
|
|
200
|
+
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
201
|
+
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
202
|
+
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
203
|
+
Requires-Dist: json_repair; extra == "all"
|
|
204
|
+
Requires-Dist: flet-video; extra == "all"
|
|
178
205
|
Requires-Dist: distributed; extra == "all"
|
|
179
|
-
Requires-Dist:
|
|
180
|
-
Requires-Dist:
|
|
206
|
+
Requires-Dist: flet-webview; extra == "all"
|
|
207
|
+
Requires-Dist: google-api-python-client; extra == "all"
|
|
208
|
+
Requires-Dist: setuptools; extra == "all"
|
|
181
209
|
Requires-Dist: torchvision; extra == "all"
|
|
182
|
-
Requires-Dist:
|
|
183
|
-
Requires-Dist: pandas; extra == "all"
|
|
184
|
-
Requires-Dist: tabulate; extra == "all"
|
|
185
|
-
Requires-Dist: pydantic-extra-types; extra == "all"
|
|
186
|
-
Requires-Dist: ollama; extra == "all"
|
|
187
|
-
Requires-Dist: json_repair; extra == "all"
|
|
210
|
+
Requires-Dist: httpx_retries; extra == "all"
|
|
188
211
|
Requires-Dist: logfire[httpx]; extra == "all"
|
|
189
|
-
Requires-Dist:
|
|
190
|
-
Requires-Dist:
|
|
212
|
+
Requires-Dist: ollama; extra == "all"
|
|
213
|
+
Requires-Dist: dnspython[doh]; extra == "all"
|
|
214
|
+
Requires-Dist: logfire; extra == "all"
|
|
215
|
+
Requires-Dist: filetype; extra == "all"
|
|
216
|
+
Requires-Dist: aiomqtt; extra == "all"
|
|
217
|
+
Requires-Dist: dask[bag]; extra == "all"
|
|
191
218
|
Requires-Dist: tokenizers; extra == "all"
|
|
192
|
-
Requires-Dist:
|
|
193
|
-
Requires-Dist:
|
|
219
|
+
Requires-Dist: semver; extra == "all"
|
|
220
|
+
Requires-Dist: aiohasupervisor; extra == "all"
|
|
194
221
|
Requires-Dist: pymupdf; extra == "all"
|
|
195
|
-
Requires-Dist:
|
|
222
|
+
Requires-Dist: pytest-cov; extra == "all"
|
|
196
223
|
Requires-Dist: pydantic-settings; extra == "all"
|
|
197
|
-
Requires-Dist:
|
|
198
|
-
Requires-Dist:
|
|
199
|
-
Requires-Dist:
|
|
200
|
-
Requires-Dist:
|
|
201
|
-
Requires-Dist:
|
|
202
|
-
Requires-Dist:
|
|
224
|
+
Requires-Dist: mike; extra == "all"
|
|
225
|
+
Requires-Dist: packaging; extra == "all"
|
|
226
|
+
Requires-Dist: diskcache; extra == "all"
|
|
227
|
+
Requires-Dist: yamlscript; extra == "all"
|
|
228
|
+
Requires-Dist: peft; extra == "all"
|
|
229
|
+
Requires-Dist: torchaudio; extra == "all"
|
|
230
|
+
Requires-Dist: faker; extra == "all"
|
|
231
|
+
Requires-Dist: bokeh; extra == "all"
|
|
203
232
|
Requires-Dist: deepdiff; extra == "all"
|
|
204
|
-
Requires-Dist: regex; extra == "all"
|
|
205
|
-
Requires-Dist: dask[bag]; extra == "all"
|
|
206
233
|
Requires-Dist: python-on-whales; extra == "all"
|
|
207
|
-
Requires-Dist:
|
|
208
|
-
Requires-Dist:
|
|
234
|
+
Requires-Dist: tabulate; extra == "all"
|
|
235
|
+
Requires-Dist: dotenv; extra == "all"
|
|
236
|
+
Requires-Dist: openai; extra == "all"
|
|
237
|
+
Requires-Dist: pycountry; extra == "all"
|
|
238
|
+
Requires-Dist: odfpy; extra == "all"
|
|
239
|
+
Requires-Dist: homeassistant_api; extra == "all"
|
|
209
240
|
Requires-Dist: sentence_transformers; extra == "all"
|
|
241
|
+
Requires-Dist: mkdocs-include-dir-to-nav; extra == "all"
|
|
210
242
|
Requires-Dist: logfire[fastapi]; extra == "all"
|
|
243
|
+
Requires-Dist: google-auth; extra == "all"
|
|
244
|
+
Requires-Dist: build; extra == "all"
|
|
245
|
+
Requires-Dist: fastapi; extra == "all"
|
|
246
|
+
Requires-Dist: tinynetrc; extra == "all"
|
|
247
|
+
Requires-Dist: av; extra == "all"
|
|
211
248
|
Requires-Dist: contexttimer; extra == "all"
|
|
212
|
-
Requires-Dist:
|
|
213
|
-
Requires-Dist:
|
|
214
|
-
Requires-Dist:
|
|
215
|
-
Requires-Dist: semver; extra == "all"
|
|
216
|
-
Requires-Dist: flet-video; extra == "all"
|
|
217
|
-
Requires-Dist: setuptools; extra == "all"
|
|
218
|
-
Requires-Dist: transformers[sentencepiece]; extra == "all"
|
|
219
|
-
Requires-Dist: google-auth-httplib2; extra == "all"
|
|
220
|
-
Requires-Dist: logfire; extra == "all"
|
|
221
|
-
Requires-Dist: openai; extra == "all"
|
|
222
|
-
Requires-Dist: pydantic-ai[logfire,openai]; extra == "all"
|
|
249
|
+
Requires-Dist: pyyaml; extra == "all"
|
|
250
|
+
Requires-Dist: google-auth-oauthlib; extra == "all"
|
|
251
|
+
Requires-Dist: appdirs; extra == "all"
|
|
223
252
|
Requires-Dist: html2text; extra == "all"
|
|
224
|
-
Requires-Dist:
|
|
225
|
-
Requires-Dist:
|
|
226
|
-
Requires-Dist:
|
|
227
|
-
Requires-Dist:
|
|
228
|
-
Requires-Dist:
|
|
229
|
-
Requires-Dist:
|
|
253
|
+
Requires-Dist: openpyxl; extra == "all"
|
|
254
|
+
Requires-Dist: mkdocstrings[python]; extra == "all"
|
|
255
|
+
Requires-Dist: regex; extra == "all"
|
|
256
|
+
Requires-Dist: mkdocs; extra == "all"
|
|
257
|
+
Requires-Dist: Unidecode; extra == "all"
|
|
258
|
+
Requires-Dist: pandas; extra == "all"
|
|
259
|
+
Requires-Dist: sre_yield; extra == "all"
|
|
260
|
+
Requires-Dist: pydantic-extra-types; extra == "all"
|
|
261
|
+
Requires-Dist: pytubefix; extra == "all"
|
|
262
|
+
Requires-Dist: flet[all]; extra == "all"
|
|
263
|
+
Requires-Dist: playwright; extra == "all"
|
|
264
|
+
Requires-Dist: pymupdf4llm; extra == "all"
|
|
265
|
+
Requires-Dist: httpx; extra == "all"
|
|
266
|
+
Requires-Dist: mkdocs-material; extra == "all"
|
|
267
|
+
Requires-Dist: beanie[odm]; extra == "all"
|
|
268
|
+
Requires-Dist: twine; extra == "all"
|
|
269
|
+
Requires-Dist: uvicorn[standard]; extra == "all"
|
|
270
|
+
Requires-Dist: pydantic; extra == "all"
|
|
271
|
+
Requires-Dist: cachetools; extra == "all"
|
|
230
272
|
Dynamic: author
|
|
231
273
|
Dynamic: author-email
|
|
232
274
|
Dynamic: description
|
|
@@ -1,53 +1,57 @@
|
|
|
1
|
-
fmtr/tools/__init__.py,sha256=
|
|
2
|
-
fmtr/tools/api_tools.py,sha256=
|
|
3
|
-
fmtr/tools/async_tools.py,sha256=
|
|
1
|
+
fmtr/tools/__init__.py,sha256=RPK4tMye_0jpH8Jjs7HaXfyrK8fb13-Phsrb2a3_US0,6471
|
|
2
|
+
fmtr/tools/api_tools.py,sha256=ltSn66kMH93zgBq5Yobiw9dENdCzduYzPKnVc9IV6yk,3441
|
|
3
|
+
fmtr/tools/async_tools.py,sha256=p6_rJEu8iY5i1MCuq6vHfGv24Ql-rfkW1L6Etsa7kNY,340
|
|
4
4
|
fmtr/tools/augmentation_tools.py,sha256=-6ESbO4CDlKqVOV1J1V6qBeoBMzbFIinkDHRHnCBej0,55
|
|
5
|
+
fmtr/tools/av_tools.py,sha256=0kmhdm0kwIWrAsMSrXl5aLxFFa0e3ypzybDYg9nvF7M,97
|
|
5
6
|
fmtr/tools/caching_tools.py,sha256=74p7m2GLFfeP41LX69wxgfkilxEAoWkMIfFMjKsYpyg,4976
|
|
6
|
-
fmtr/tools/constants.py,sha256=
|
|
7
|
+
fmtr/tools/constants.py,sha256=IXow6TDSFVSknOJrL5VcAJsTTmzF6o5FRN7lc_clRtg,2071
|
|
7
8
|
fmtr/tools/context_tools.py,sha256=4UvIHYgLqAh7dXMX9EBrLEpYp81qfzhSVrkffOSAoGA,350
|
|
8
9
|
fmtr/tools/data_modelling_tools.py,sha256=c703EhL2ZIj5iN0wjuohakvUnElRblQhvFSLyfRTWwA,7416
|
|
9
10
|
fmtr/tools/dataclass_tools.py,sha256=0Gt6KeLhtPgubo_2tYkIVqB8oQ91Qzag8OAGZDdjvMU,1209
|
|
10
|
-
fmtr/tools/datatype_tools.py,sha256=
|
|
11
|
+
fmtr/tools/datatype_tools.py,sha256=V-SeE4fkDJ1rtNha6kJBupJ7lW4t2XOs3bUoSk3RQv0,1989
|
|
11
12
|
fmtr/tools/datetime_tools.py,sha256=L7wmBoQbD9h_pJIL92WQOX32r_vrXgRvE-_0PVPRAGY,232
|
|
12
|
-
fmtr/tools/debugging_tools.py,sha256=
|
|
13
|
-
fmtr/tools/environment_tools.py,sha256=
|
|
13
|
+
fmtr/tools/debugging_tools.py,sha256=q1TXISwOD43uc5RQrXqDSKYbNZh4AiheVmBUfga-EsA,2085
|
|
14
|
+
fmtr/tools/environment_tools.py,sha256=fPMNgITuc8l866i4s6EnXDmi0gc4CmM5EudC8feojK0,1913
|
|
14
15
|
fmtr/tools/function_tools.py,sha256=O1K8HwftXfzrBblNZrj-BhWNbr4poJghrXNr2mFcylI,2831
|
|
15
16
|
fmtr/tools/google_api_tools.py,sha256=QUungBoj5SCaBQnMjn9QpXtWmdNCplbw8ZPK9LXi77U,1691
|
|
16
17
|
fmtr/tools/hash_tools.py,sha256=tr4HXpeT6rRrDk6TvMlRPUSrLRRaov96y128OI2tzsc,729
|
|
17
18
|
fmtr/tools/hfh_tools.py,sha256=DCDIWuWlhtmIGCtp9cLcOTTEw_4yN_NocLX8w5NZsbk,2384
|
|
18
19
|
fmtr/tools/html_tools.py,sha256=0nN8Nz5HtG9bXyApYfHSKEivLlxjsm3Gn6Mg2TK0brI,394
|
|
19
|
-
fmtr/tools/http_tools.py,sha256=
|
|
20
|
+
fmtr/tools/http_tools.py,sha256=nhPL1sfQzUBZ025CdMv_23k8wYkXMQlNG298Q450PLA,985
|
|
20
21
|
fmtr/tools/import_tools.py,sha256=XJmiWLukRncJAcaGReDn4jIz1_IpVBjfYCQHH1hIg7c,588
|
|
21
22
|
fmtr/tools/inherit_tools.py,sha256=gTGL4mRm5RsbFW76s25AbuAJ2vlymbh1c8Q4Hl2uJGU,646
|
|
22
23
|
fmtr/tools/inspection_tools.py,sha256=tLTRvzy9XVomQPi0dfnF_cgwc7KiDVZAr7gPTk4S_bQ,278
|
|
23
|
-
fmtr/tools/iterator_tools.py,sha256=
|
|
24
|
+
fmtr/tools/iterator_tools.py,sha256=dnweDOKrQZdMb3aSbplPg8_gdpLicrFoVwVOnpeyrDw,3771
|
|
24
25
|
fmtr/tools/json_fix_tools.py,sha256=vNSlswVQnujPmKEqDjFJcO901mjMyv59q3awsT7mlhs,477
|
|
25
26
|
fmtr/tools/json_tools.py,sha256=WkFc5q7oqMtcFejhN1K5zQFULa9TdLOup83Fr0saDRY,348
|
|
26
|
-
fmtr/tools/logging_tools.py,sha256=
|
|
27
|
+
fmtr/tools/logging_tools.py,sha256=F8amUNu2xWYez23tMpOqJxp-UcDP421_zG46kBt8B0E,3444
|
|
27
28
|
fmtr/tools/merging_tools.py,sha256=KDxCEFJEQJEwGw1qGKAgR55uUE2X2S5NWLKcfHRmX_k,227
|
|
28
29
|
fmtr/tools/metric_tools.py,sha256=Lvia5CGFRIfrDFA8s37btIfTU5zHbo04cPJdAMtbndQ,272
|
|
30
|
+
fmtr/tools/mqtt_tools.py,sha256=ySUUcOVdRY3Sk1fCjXCpNe5VcllAECzqi4spLg-NR8o,2137
|
|
29
31
|
fmtr/tools/name_tools.py,sha256=5CB_phqhHjl66iI8oLxOGPF2odC1apdul-M8Fv2xBhs,5514
|
|
30
32
|
fmtr/tools/netrc_tools.py,sha256=PpNpz_mWlQi6VHGromKwFfTyLpHUXsd4LY6-OKLCbeI,376
|
|
33
|
+
fmtr/tools/networking_tools.py,sha256=emrJoBBD805arXteSTcDkOrnAllgKA6hkiBBFfD8JYg,1464
|
|
31
34
|
fmtr/tools/openai_tools.py,sha256=6SUgejgzUzmlKKct2_ePXntvMegu3FJgfk9x7aqtqYc,742
|
|
32
35
|
fmtr/tools/packaging_tools.py,sha256=FlgOTnDRHZWQL2iR-wucTsyGEHRE-MlddKL30MPmUqE,253
|
|
33
36
|
fmtr/tools/parallel_tools.py,sha256=QEb_gN1StkxsqYaH4HSjiJX8Y3gpb2uKNsOzG4uFpaM,3071
|
|
34
|
-
fmtr/tools/pattern_tools.py,sha256=
|
|
37
|
+
fmtr/tools/pattern_tools.py,sha256=VQ5wmZdS-NAlKmQg6KK12ovQIhiiPQVJm55uIXR3Dc4,6659
|
|
35
38
|
fmtr/tools/pdf_tools.py,sha256=6XQCNyytQSnJSc38gdMOFVcPXnPwfOlk6y4QVqmJLp8,4810
|
|
36
39
|
fmtr/tools/platform_tools.py,sha256=7p69CmAHe_sF68Fx9uVhns1k5EewTHTWgUYzkl6ZQKA,308
|
|
37
40
|
fmtr/tools/process_tools.py,sha256=Ysh5Dk2QFBhXQerArjKdt7xZd3JrN5Ho02AaOjH0Nnw,1425
|
|
38
41
|
fmtr/tools/profiling_tools.py,sha256=jpXVjaNKPydTasEQVNXvxzGtMhXPit08AnJddkU8uIc,46
|
|
39
42
|
fmtr/tools/random_tools.py,sha256=4VlQdk5THbR8ka4pZaLbk_ZO_4yy6PF_lHZes_rgenY,2223
|
|
40
43
|
fmtr/tools/semantic_tools.py,sha256=cxY9NSAHWj4nEc6Oj4qA1omR3dWbl2OuH7_PkINc6_E,1386
|
|
41
|
-
fmtr/tools/settings_tools.py,sha256=
|
|
44
|
+
fmtr/tools/settings_tools.py,sha256=fkHQ1VTc4s0Ulm9hUGDV6DWOzfeCGJ6VX0rNcxw3464,2599
|
|
42
45
|
fmtr/tools/spaces_tools.py,sha256=D_he3mve6DruB3OPS6QyzqD05ChHnRTb4buViKPe7To,1099
|
|
43
46
|
fmtr/tools/string_tools.py,sha256=ZKHBrl2tui9VjWt7qit4UWbvpuzY6zp5ytiQvhlJVG4,5610
|
|
44
47
|
fmtr/tools/tabular_tools.py,sha256=mw6vOij1Ch-pVAyHMPtm5zj__ULZN_TKeBYOfj33wFM,1634
|
|
45
48
|
fmtr/tools/tokenization_tools.py,sha256=me-IBzSLyNYejLybwjO9CNB6Mj2NYfKPaOVThXyaGNg,4268
|
|
46
49
|
fmtr/tools/tools.py,sha256=sLMXk8juOL8_n_D776cJ-kzjyMHqFI_fctDEjy6PIKs,1115
|
|
47
50
|
fmtr/tools/unicode_tools.py,sha256=yS_9wpu8ogNoiIL7s1G_8bETFFO_YQlo4LNPv1NLDeY,52
|
|
48
|
-
fmtr/tools/version,sha256=
|
|
51
|
+
fmtr/tools/version,sha256=Xp4FNom2jzlPk0gOc5UnCGbGlm-HVfZHCd_1__O5YpI,6
|
|
49
52
|
fmtr/tools/webhook_tools.py,sha256=q3pVJ1NCem2SrMuFcLxiWd7DibFs7Q-uGtojfXd3Qcg,380
|
|
50
|
-
fmtr/tools/yaml_tools.py,sha256=
|
|
53
|
+
fmtr/tools/yaml_tools.py,sha256=CxS1YLu2zJyt6ovqspzbIBK_M0wJjRVG2kvTmkVRtcE,1846
|
|
54
|
+
fmtr/tools/youtube_tools.py,sha256=siGdgsuOIR87oHFK2tt7oRniPedT2ugDNEvX4MX_ap8,3180
|
|
51
55
|
fmtr/tools/ai_tools/__init__.py,sha256=O8VRlPnnQCncg2ZZ2l_VdWLJf4jkKH6dkZFVbv6o7IM,388
|
|
52
56
|
fmtr/tools/ai_tools/agentic_tools.py,sha256=Zj6WcbDc1yLFi3raTSD0BeOkWR3l5RmmccFYGx8-0XE,5534
|
|
53
57
|
fmtr/tools/ai_tools/inference_tools.py,sha256=2UP2gXEyOJUjyyV6zmFIYmIxUsh1rXkRH0IbFvr2bRs,11908
|
|
@@ -65,16 +69,21 @@ fmtr/tools/entrypoints/ep_test.py,sha256=B8HfWISfSgw_xVX475CbJGh_QnpOe9MH65H8qGj
|
|
|
65
69
|
fmtr/tools/entrypoints/install_yamlscript.py,sha256=D9-QET4uPkwMvOBQJAgzn1fYb7Z7VAgZzFdHSAXc3Qc,116
|
|
66
70
|
fmtr/tools/entrypoints/remote_debug_test.py,sha256=wmKg9o2pQq7eqeHmaO8oviujNgtnsCVEXOdXLIcQWs4,123
|
|
67
71
|
fmtr/tools/entrypoints/shell_debug.py,sha256=0No3tAg9Ri4_vvSlQCUtAY-11HR0nE45i0VVtiAViwY,106
|
|
72
|
+
fmtr/tools/ha_tools/__init__.py,sha256=aHXaEjAXhxFbatU6P07qDgf1gA2I2SnJYk8m-laOX70,323
|
|
73
|
+
fmtr/tools/ha_tools/constants.py,sha256=_W_X9NCjW40MofUFwOpUokOUTlxOv7wOqv5pttJUDiQ,346
|
|
74
|
+
fmtr/tools/ha_tools/core.py,sha256=q0iRuTlv71I9_UrNsuAAEdCBZCa4VmuW3WvVBG-vJRM,424
|
|
75
|
+
fmtr/tools/ha_tools/supervisor.py,sha256=t3m0J7vaveWKefRSoB-_Rum9QmHFi9MRVqZ5dx7ABC4,437
|
|
76
|
+
fmtr/tools/ha_tools/utils.py,sha256=tI-GJp2AIDOwTZ30hzMYaofJ5LckZsdCmbhOjKoV95s,1220
|
|
68
77
|
fmtr/tools/interface_tools/__init__.py,sha256=_bgZRTqmygtYM75o6_zyQRhT_XZnDERZEHmsYVrzyxw,393
|
|
69
78
|
fmtr/tools/interface_tools/context.py,sha256=VpoR_ZCndDbwS0AzIPKi1hB2QckwJU5dJqAJavF3mqk,151
|
|
70
79
|
fmtr/tools/interface_tools/controls.py,sha256=8cI7Jq4SsxRUD1CFVwQRAr4Ci6GSqyfQ5RDZqmPId2w,7673
|
|
71
80
|
fmtr/tools/interface_tools/interface_tools.py,sha256=jSRwpdHqOTmNLndE-wFqTQdkT4z2BBdclSxmvs11FnU,4400
|
|
72
|
-
fmtr/tools/path_tools/__init__.py,sha256=
|
|
81
|
+
fmtr/tools/path_tools/__init__.py,sha256=6KE0XnFNoEGGxjA1rzFXHHJz_xdAsqYOIpbWhgWVUA8,465
|
|
73
82
|
fmtr/tools/path_tools/app_path_tools.py,sha256=JrJvtTDd_gkCKcZtBCDTMktsM77PZwGV_hzQX0g5GU8,1722
|
|
74
|
-
fmtr/tools/path_tools/path_tools.py,sha256=
|
|
83
|
+
fmtr/tools/path_tools/path_tools.py,sha256=uHquWrtJTzMH-0_i1Zv5JYWOM653G0PT1RynxTjI4DY,10230
|
|
75
84
|
fmtr/tools/path_tools/type_path_tools.py,sha256=Zgs-ek-GXRKDIlVDGdg3muB0PIxTg2ba0NeHw6y8FWQ,40
|
|
76
85
|
fmtr/tools/setup_tools/__init__.py,sha256=Ro_Qj3Xndv8Z68DeWPI7c6X-aWKsdDm0KcX_k1xDhgE,394
|
|
77
|
-
fmtr/tools/setup_tools/setup_tools.py,sha256=
|
|
86
|
+
fmtr/tools/setup_tools/setup_tools.py,sha256=X1_NwLLSvpIoNhvenByOqQy-NxkGJTCG4U7-eagxcb0,11613
|
|
78
87
|
fmtr/tools/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
79
88
|
fmtr/tools/tests/conftest.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
89
|
fmtr/tools/tests/helpers.py,sha256=N5sf9YoZV93a7tf_UxpLeyQ9vp6Ec0teNIimFDvc054,1091
|
|
@@ -85,9 +94,29 @@ fmtr/tools/tests/test_path.py,sha256=AkZQa6_8BQ-VaCyL_J-iKmdf2ZaM-xFYR37Kun3k4_g
|
|
|
85
94
|
fmtr/tools/tests/test_yaml.py,sha256=jc0TwwKu9eC0LvFGNMERdgBue591xwLxYXFbtsRwXVM,287
|
|
86
95
|
fmtr/tools/version_tools/__init__.py,sha256=cjE6nO6AoVOUp3RwgTbqL9wiw8J1l2pHJOz6Gn6bxjA,326
|
|
87
96
|
fmtr/tools/version_tools/version_tools.py,sha256=Hcc6yferZS1hHbugRTdiHhSNmXEEG0hjCiTTXKna-YY,1127
|
|
88
|
-
fmtr_tools-1.
|
|
89
|
-
fmtr_tools-1.
|
|
90
|
-
fmtr_tools-1.
|
|
91
|
-
fmtr_tools-1.
|
|
92
|
-
fmtr_tools-1.
|
|
93
|
-
fmtr_tools-1.
|
|
97
|
+
fmtr_tools-1.4.37.data/scripts/add-service,sha256=H75Ar4s6_Vdqd9Cr3UIMlSX49mz-Gr2KW6oA6lnrOHM,290
|
|
98
|
+
fmtr_tools-1.4.37.data/scripts/add-user-path,sha256=yFeTqid65bzEh6h1QITM7VAXvmJpCXIuSgx7UNZ_rNs,179
|
|
99
|
+
fmtr_tools-1.4.37.data/scripts/apt-headless,sha256=UgiAS_HNWvt8VSrZHLZEnUsccIKTBLfnFvK0jLtCtQM,476
|
|
100
|
+
fmtr_tools-1.4.37.data/scripts/compose-update,sha256=57hbBPyKzaZA784KPjSzP02ONAxMbasbDIeWzTtXLzE,373
|
|
101
|
+
fmtr_tools-1.4.37.data/scripts/docker-sandbox,sha256=hdVTZJ55e0mXgJOL2_DzimhvIZOao2AZVgVNoy9nG-s,1006
|
|
102
|
+
fmtr_tools-1.4.37.data/scripts/docker-sandbox-init,sha256=rWoAS7BpmHiEvKtoa9K3iUHq1GOm2d7BvVFmxkzbrz4,521
|
|
103
|
+
fmtr_tools-1.4.37.data/scripts/docs-deploy,sha256=1hRVLYHiIiWS87vos6Gh4RM6jbLEX7Ed7qtPJtGNSAk,79
|
|
104
|
+
fmtr_tools-1.4.37.data/scripts/docs-serve,sha256=991oeXnSW4xXY-4lYb6SfMQAqsyHF7D1la3JHDyiTm8,97
|
|
105
|
+
fmtr_tools-1.4.37.data/scripts/download,sha256=-0wRlrAhtdLNJDOXe5VLEMZVT-jcoTHCeY81gyL9Yi4,183
|
|
106
|
+
fmtr_tools-1.4.37.data/scripts/fmtr-test-script,sha256=pnw2O9DmxpKZgUqZCSj_Ns4De2cO3TgkdMqDuDBK43I,35
|
|
107
|
+
fmtr_tools-1.4.37.data/scripts/ftu,sha256=LLiSWiHW99wT8C3fJazyLSi78vyD_ULcD3CaSjDfR9U,45
|
|
108
|
+
fmtr_tools-1.4.37.data/scripts/ha-addon-launch,sha256=ZH42DhRvJK_YCiLyZrq3IWT6K-LedDJCXwPO193Ibrw,463
|
|
109
|
+
fmtr_tools-1.4.37.data/scripts/install-browser,sha256=fYUCBNlh6AqSitclIZaj6WzdMyGpxvrMcrXVsnyOxEY,259
|
|
110
|
+
fmtr_tools-1.4.37.data/scripts/parse-args,sha256=usIyri0EndDmdpR6lfJVJdGdTNqZHLpneeOOYrkejNw,822
|
|
111
|
+
fmtr_tools-1.4.37.data/scripts/set-password,sha256=1RXgEE2bWFhDFd3VGuxjXv4STEBxj7yQXxuTRxj5dFM,88
|
|
112
|
+
fmtr_tools-1.4.37.data/scripts/snips-install,sha256=fpWDjbU4AisJpQf-UGESRrigYM7zajNEMmzmzM1vQiU,325
|
|
113
|
+
fmtr_tools-1.4.37.data/scripts/ssh-auth,sha256=grW_Rk68yuiomPd_kPuoTnWAOnfrcBAuIFLn5DZTD0Y,531
|
|
114
|
+
fmtr_tools-1.4.37.data/scripts/ssh-serve,sha256=ZI4Ar5eL771xk0DVjoNsVKaKVPtL9S0GNYyGiptI5Is,435
|
|
115
|
+
fmtr_tools-1.4.37.data/scripts/vlc-tn,sha256=4JBMACTqN5u5eH9SSuf-SLqdacX_tN8MeXOqYA-2rrE,273
|
|
116
|
+
fmtr_tools-1.4.37.data/scripts/vm-launch,sha256=RhQxKaTryX4xj8edRpdxhh3yMIoOgqX_SUI6okMa-JU,527
|
|
117
|
+
fmtr_tools-1.4.37.dist-info/licenses/LICENSE,sha256=FW9aa6vVN5IjRQWLT43hs4_koYSmpcbIovlKeAJ0_cI,10757
|
|
118
|
+
fmtr_tools-1.4.37.dist-info/METADATA,sha256=byzFOQUakbhGQpelFJ72umE-70nq54GgaxIFssqRX5E,19600
|
|
119
|
+
fmtr_tools-1.4.37.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
120
|
+
fmtr_tools-1.4.37.dist-info/entry_points.txt,sha256=h-r__Xh5njtFqreMLg6cGuTFS4Qh-QqJPU1HB-_BS-Q,357
|
|
121
|
+
fmtr_tools-1.4.37.dist-info/top_level.txt,sha256=LXem9xCgNOD72tE2gRKESdiQTL902mfFkwWb6-dlwEE,5
|
|
122
|
+
fmtr_tools-1.4.37.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|