usecli 0.1.39__tar.gz → 0.1.41__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.
- {usecli-0.1.39 → usecli-0.1.41}/PKG-INFO +1 -1
- {usecli-0.1.39 → usecli-0.1.41}/pyproject.toml +2 -2
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/about_command.py +12 -2
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/ui/title.py +1 -1
- {usecli-0.1.39 → usecli-0.1.41}/LICENSE +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/README.md +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/README.md +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/custom/README.md +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/custom/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/help_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/inspire_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/internal/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/internal/fzf_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/core/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/core/utils.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/make/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/make/make_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/make/make_theme_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/init_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/config/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/config/colors.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/base_command.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/error/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/error/handler.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/error/utils.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/exceptions/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/exceptions/base.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/exceptions/config.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/exceptions/usage.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/exceptions/validation.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/skill_generator.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/ui/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/ui/list.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/validators/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/validators/network.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/validators/numeric.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/validators/path.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/core/validators/string.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/services/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/services/command_service.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/templates/command.py.j2 +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/templates/theme.toml.j2 +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/templates/usecli.config.toml.j2 +1 -1
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/ayu_dark.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/catppuccin_frappe.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/catppuccin_latte.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/catppuccin_macchiato.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/catppuccin_mocha.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/default.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/dracula.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/gruvbox_dark.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/nord.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/themes/tokyo_night.toml +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/utils/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/utils/interactive/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/utils/interactive/terminal_menu.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/menu.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/params.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/shared/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/shared/config/__init__.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/shared/config/globals.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/shared/config/manager.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/ui.py +0 -0
- {usecli-0.1.39 → usecli-0.1.41}/src/usecli/usecli.config.toml +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "usecli"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.41"
|
|
4
4
|
description = "A powerful Python CLI framework for building beautiful, developer-friendly command-line tools."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "Edward Boswell", email = "thememium@gmail.com" }]
|
|
@@ -60,7 +60,7 @@ DEP002 = ["fzf-bin"]
|
|
|
60
60
|
|
|
61
61
|
[tool.poe.tasks]
|
|
62
62
|
dev = "uv run usecli"
|
|
63
|
-
clean-full = "sh -c 'uv run isort . && uv run ruff check . && uv run ruff format . && uv run deptry . && uv run ty check'"
|
|
63
|
+
clean-full = "sh -c 'uv run isort . && uv run ruff check . --fix && uv run ruff format . && uv run deptry . && uv run ty check'"
|
|
64
64
|
clean = "sh -c 'uv run isort . && uv run ruff format .'"
|
|
65
65
|
test = "uv run pytest tests/ -v"
|
|
66
66
|
sort = "uv run isort ."
|
|
@@ -16,7 +16,7 @@ from rich.console import Console
|
|
|
16
16
|
|
|
17
17
|
from usecli.cli.config.colors import COLOR
|
|
18
18
|
from usecli.cli.core.base_command import BaseCommand
|
|
19
|
-
from usecli.cli.core.ui.title import get_project_name
|
|
19
|
+
from usecli.cli.core.ui.title import get_project_name, get_script_command_name
|
|
20
20
|
from usecli.shared.config.manager import ConfigManager, get_config
|
|
21
21
|
|
|
22
22
|
console = Console()
|
|
@@ -80,8 +80,11 @@ def _get_dependencies(config: ConfigManager) -> list[tuple[str, str | None]]:
|
|
|
80
80
|
|
|
81
81
|
|
|
82
82
|
def _get_script_commands() -> list[str]:
|
|
83
|
+
primary_command = get_script_command_name(default=None)
|
|
83
84
|
pyproject_path = Path.cwd() / "pyproject.toml"
|
|
84
85
|
if not pyproject_path.exists():
|
|
86
|
+
if primary_command:
|
|
87
|
+
return [primary_command]
|
|
85
88
|
return []
|
|
86
89
|
|
|
87
90
|
try:
|
|
@@ -91,9 +94,16 @@ def _get_script_commands() -> list[str]:
|
|
|
91
94
|
|
|
92
95
|
scripts = data.get("project", {}).get("scripts", {})
|
|
93
96
|
if not isinstance(scripts, dict):
|
|
97
|
+
if primary_command:
|
|
98
|
+
return [primary_command]
|
|
94
99
|
return []
|
|
95
100
|
|
|
96
|
-
|
|
101
|
+
script_names = [
|
|
102
|
+
name for name in scripts.keys() if isinstance(name, str) and name.strip()
|
|
103
|
+
]
|
|
104
|
+
if primary_command and primary_command not in script_names:
|
|
105
|
+
return [primary_command, *script_names]
|
|
106
|
+
return script_names
|
|
97
107
|
|
|
98
108
|
|
|
99
109
|
class AboutCommand(BaseCommand):
|
|
@@ -72,7 +72,7 @@ def get_project_name() -> str:
|
|
|
72
72
|
return title
|
|
73
73
|
|
|
74
74
|
# Fall back to command name from pyproject.toml scripts
|
|
75
|
-
command_name =
|
|
75
|
+
command_name = _get_script_command_name(Path.cwd())
|
|
76
76
|
if command_name:
|
|
77
77
|
return "useCli" if command_name == "usecli" else command_name
|
|
78
78
|
|
|
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
|
{usecli-0.1.39 → usecli-0.1.41}/src/usecli/cli/commands/defaults/base/internal/fzf_command.py
RENAMED
|
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
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
[usecli]
|
|
2
|
+
command_name = "{{ command_name | default('usecli') }}"
|
|
2
3
|
title = "{{ title | default('My CLI') }}"
|
|
3
4
|
title_file = "{{ title_file | default('') }}"
|
|
4
5
|
title_font = "{{ title_font | default('big') }}"
|
|
5
|
-
command_name = "{{ command_name | default('usecli') }}"
|
|
6
6
|
description = "{{ description | default('A custom CLI tool') }}"
|
|
7
7
|
commands_dir = "{{ commands_dir | default('cli/commands') }}"
|
|
8
8
|
templates_dir = "{{ templates_dir | default('cli/templates') }}"
|
|
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
|