cli-tools-kit 1.1.1__tar.gz → 1.2.0__tar.gz
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.
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/PKG-INFO +5 -5
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/README.md +4 -4
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/__init__.py +1 -1
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/gui_installer.py +0 -31
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/PKG-INFO +5 -5
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/LICENSE +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/__main__.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/advertise.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/autostart.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/autostart_gate.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/cli.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/cron_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/discovery.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/host.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/icons.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/identity.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/install.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/onboarding.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/settings.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/skills.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/sources.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/state.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/sweep.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/__init__.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/build.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/capability.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/cluster.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/corpus.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/embedder.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/groups.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/taxonomy/llm_groups.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/testing.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/tool_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/tui_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit/upgrade.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/SOURCES.txt +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/dependency_links.txt +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/entry_points.txt +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/requires.txt +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/cli_tools_kit.egg-info/top_level.txt +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/pyproject.toml +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/setup.cfg +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_autostart_gate.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_capability_groups.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_cron_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_e2e.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_engine.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_gui_smoke.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_hooks.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_host.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_identity.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_llm_groups.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_public_api.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_skills.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_sources.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_taxonomy_cluster.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_testing.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_tool_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_tui_installer.py +0 -0
- {cli_tools_kit-1.1.1 → cli_tools_kit-1.2.0}/tests/test_upgrade.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cli-tools-kit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Installer protocol + helpers for self-installing Python CLI/GUI tools (desktop shortcuts, bash aliases, cron entries), plus reusable tkinter and curses installer screens
|
|
5
5
|
Author: Steffen Probst
|
|
6
6
|
License: MIT License
|
|
@@ -77,10 +77,10 @@ Provides:
|
|
|
77
77
|
- **`gui_installer`** — a full, reusable tkinter GUI installer *engine*: it
|
|
78
78
|
discovers every tool in a project tree that speaks `--advertise`, and offers
|
|
79
79
|
batch install/remove, per-row skill toggles, themes, orphan cleanup, and an
|
|
80
|
-
opt-in login update-check. A thin wrapper
|
|
81
|
-
`gui_installer.run(root_dir=...,
|
|
82
|
-
(discovery layout, repo-cache
|
|
83
|
-
identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
80
|
+
opt-in login update-check (`--enable-autostart-check`). A thin wrapper
|
|
81
|
+
points it at its own tree via `gui_installer.run(root_dir=...,
|
|
82
|
+
entry_script=...)`; everything else (discovery layout, repo-cache
|
|
83
|
+
bootstrap, login-check policy, window/desktop identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
84
84
|
|
|
85
85
|
- **`sources`** — one installer offering tools from several repos. A TOML
|
|
86
86
|
file lists them, the kit clones what is missing over HTTPS and hands the
|
|
@@ -17,10 +17,10 @@ Provides:
|
|
|
17
17
|
- **`gui_installer`** — a full, reusable tkinter GUI installer *engine*: it
|
|
18
18
|
discovers every tool in a project tree that speaks `--advertise`, and offers
|
|
19
19
|
batch install/remove, per-row skill toggles, themes, orphan cleanup, and an
|
|
20
|
-
opt-in login update-check. A thin wrapper
|
|
21
|
-
`gui_installer.run(root_dir=...,
|
|
22
|
-
(discovery layout, repo-cache
|
|
23
|
-
identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
20
|
+
opt-in login update-check (`--enable-autostart-check`). A thin wrapper
|
|
21
|
+
points it at its own tree via `gui_installer.run(root_dir=...,
|
|
22
|
+
entry_script=...)`; everything else (discovery layout, repo-cache
|
|
23
|
+
bootstrap, login-check policy, window/desktop identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
24
24
|
|
|
25
25
|
- **`sources`** — one installer offering tools from several repos. A TOML
|
|
26
26
|
file lists them, the kit clones what is missing over HTTPS and hands the
|
|
@@ -1022,27 +1022,6 @@ class InstallerApp:
|
|
|
1022
1022
|
# cleanup + .desktop/alias refresh, no pip).
|
|
1023
1023
|
self._build_update_btn(footer)
|
|
1024
1024
|
|
|
1025
|
-
# Login auto-check toggle: enable/disable the ~/.config/autostart entry that
|
|
1026
|
-
# runs `installer.py --check` once per login — applies the same local-only
|
|
1027
|
-
# reconciliations the badge does (no pip) and notifies for new tools. Same
|
|
1028
|
-
# safety class as the badge, so it sits in the badge's group.
|
|
1029
|
-
ttk.Separator(footer, orient="vertical").pack(side="left", fill="y", padx=15)
|
|
1030
|
-
self._autostart_check_var = tk.BooleanVar(value=autostart.autostart_check_enabled())
|
|
1031
|
-
self._autostart_check_cb = ttk.Checkbutton(
|
|
1032
|
-
footer, text="Check on login", variable=self._autostart_check_var,
|
|
1033
|
-
command=self._toggle_autostart_check)
|
|
1034
|
-
self._autostart_check_cb.pack(side="left", padx=5)
|
|
1035
|
-
self._attach_tooltip(
|
|
1036
|
-
self._autostart_check_cb,
|
|
1037
|
-
"Check for updates on login (local, no network)\n\n"
|
|
1038
|
-
"Installs a startup entry that, once per login, applies "
|
|
1039
|
-
"network-free reconciliations (drifted shortcuts, renamed aliases, and "
|
|
1040
|
-
"stale installed skills — rewritten from the tool's source on disk, "
|
|
1041
|
-
"never pip) and only notifies for updates that need the network (a new, "
|
|
1042
|
-
"not-yet-installed tool).\n\n"
|
|
1043
|
-
f"Entry: {state.AUTOSTART_CHECK_DESKTOP}\n"
|
|
1044
|
-
f"Log: {state.CHECK_LOG}")
|
|
1045
|
-
|
|
1046
1025
|
# "Reinstall deps" is the deliberate, network-touching pip action — kept in
|
|
1047
1026
|
# its own group (own separator) so it reads as distinct from the local badge.
|
|
1048
1027
|
ttk.Separator(footer, orient="vertical").pack(side="left", fill="y", padx=15)
|
|
@@ -4064,16 +4043,6 @@ class InstallerApp:
|
|
|
4064
4043
|
self.root.destroy()
|
|
4065
4044
|
host.restart(argv)
|
|
4066
4045
|
|
|
4067
|
-
def _toggle_autostart_check(self):
|
|
4068
|
-
"""Enable/disable the login update-check autostart entry."""
|
|
4069
|
-
if self._autostart_check_var.get():
|
|
4070
|
-
path = autostart.enable_autostart_check()
|
|
4071
|
-
self._log(f"Login update check enabled → {path}", "success")
|
|
4072
|
-
self._log(" On login: applies local reconciliations (no pip), notifies for new tools.", "info")
|
|
4073
|
-
else:
|
|
4074
|
-
autostart.disable_autostart_check()
|
|
4075
|
-
self._log("Login update check disabled.", "info")
|
|
4076
|
-
|
|
4077
4046
|
def _reinstall_deps(self):
|
|
4078
4047
|
"""Full reinstall (pip dependencies + shortcuts) for every installed tool.
|
|
4079
4048
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cli-tools-kit
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.2.0
|
|
4
4
|
Summary: Installer protocol + helpers for self-installing Python CLI/GUI tools (desktop shortcuts, bash aliases, cron entries), plus reusable tkinter and curses installer screens
|
|
5
5
|
Author: Steffen Probst
|
|
6
6
|
License: MIT License
|
|
@@ -77,10 +77,10 @@ Provides:
|
|
|
77
77
|
- **`gui_installer`** — a full, reusable tkinter GUI installer *engine*: it
|
|
78
78
|
discovers every tool in a project tree that speaks `--advertise`, and offers
|
|
79
79
|
batch install/remove, per-row skill toggles, themes, orphan cleanup, and an
|
|
80
|
-
opt-in login update-check. A thin wrapper
|
|
81
|
-
`gui_installer.run(root_dir=...,
|
|
82
|
-
(discovery layout, repo-cache
|
|
83
|
-
identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
80
|
+
opt-in login update-check (`--enable-autostart-check`). A thin wrapper
|
|
81
|
+
points it at its own tree via `gui_installer.run(root_dir=...,
|
|
82
|
+
entry_script=...)`; everything else (discovery layout, repo-cache
|
|
83
|
+
bootstrap, login-check policy, window/desktop identities) is configurable. See [§ GUI installer engine](#gui-installer-engine).
|
|
84
84
|
|
|
85
85
|
- **`sources`** — one installer offering tools from several repos. A TOML
|
|
86
86
|
file lists them, the kit clones what is missing over HTTPS and hands the
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|