usecli 0.1.37__tar.gz → 0.1.39__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.
Files changed (70) hide show
  1. {usecli-0.1.37 → usecli-0.1.39}/PKG-INFO +1 -1
  2. {usecli-0.1.37 → usecli-0.1.39}/pyproject.toml +1 -1
  3. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/init_command.py +30 -19
  4. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/templates/usecli.config.toml.j2 +1 -0
  5. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/usecli.config.toml +4 -3
  6. {usecli-0.1.37 → usecli-0.1.39}/LICENSE +0 -0
  7. {usecli-0.1.37 → usecli-0.1.39}/README.md +0 -0
  8. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/__init__.py +0 -0
  9. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/__init__.py +0 -0
  10. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/README.md +0 -0
  11. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/__init__.py +0 -0
  12. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/custom/README.md +0 -0
  13. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/custom/__init__.py +0 -0
  14. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/__init__.py +0 -0
  15. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/__init__.py +0 -0
  16. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/about_command.py +0 -0
  17. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/help_command.py +0 -0
  18. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/inspire_command.py +0 -0
  19. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/internal/__init__.py +0 -0
  20. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/base/internal/fzf_command.py +0 -0
  21. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/core/__init__.py +0 -0
  22. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/core/utils.py +0 -0
  23. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/make/__init__.py +0 -0
  24. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/make/make_command.py +0 -0
  25. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/commands/defaults/make/make_theme_command.py +0 -0
  26. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/config/__init__.py +0 -0
  27. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/config/colors.py +0 -0
  28. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/__init__.py +0 -0
  29. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/base_command.py +0 -0
  30. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/error/__init__.py +0 -0
  31. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/error/handler.py +0 -0
  32. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/error/utils.py +0 -0
  33. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/exceptions/__init__.py +0 -0
  34. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/exceptions/base.py +0 -0
  35. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/exceptions/config.py +0 -0
  36. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/exceptions/usage.py +0 -0
  37. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/exceptions/validation.py +0 -0
  38. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/skill_generator.py +0 -0
  39. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/ui/__init__.py +0 -0
  40. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/ui/list.py +0 -0
  41. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/ui/title.py +0 -0
  42. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/validators/__init__.py +0 -0
  43. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/validators/network.py +0 -0
  44. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/validators/numeric.py +0 -0
  45. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/validators/path.py +0 -0
  46. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/core/validators/string.py +0 -0
  47. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/services/__init__.py +0 -0
  48. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/services/command_service.py +0 -0
  49. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/templates/command.py.j2 +0 -0
  50. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/templates/theme.toml.j2 +0 -0
  51. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/ayu_dark.toml +0 -0
  52. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/catppuccin_frappe.toml +0 -0
  53. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/catppuccin_latte.toml +0 -0
  54. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/catppuccin_macchiato.toml +0 -0
  55. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/catppuccin_mocha.toml +0 -0
  56. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/default.toml +0 -0
  57. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/dracula.toml +0 -0
  58. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/gruvbox_dark.toml +0 -0
  59. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/nord.toml +0 -0
  60. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/themes/tokyo_night.toml +0 -0
  61. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/utils/__init__.py +0 -0
  62. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/utils/interactive/__init__.py +0 -0
  63. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/cli/utils/interactive/terminal_menu.py +0 -0
  64. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/menu.py +0 -0
  65. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/params.py +0 -0
  66. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/shared/__init__.py +0 -0
  67. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/shared/config/__init__.py +0 -0
  68. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/shared/config/globals.py +0 -0
  69. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/shared/config/manager.py +0 -0
  70. {usecli-0.1.37 → usecli-0.1.39}/src/usecli/ui.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: usecli
3
- Version: 0.1.37
3
+ Version: 0.1.39
4
4
  Summary: A powerful Python CLI framework for building beautiful, developer-friendly command-line tools.
5
5
  Author: Edward Boswell
6
6
  Author-email: Edward Boswell <thememium@gmail.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "usecli"
3
- version = "0.1.37"
3
+ version = "0.1.39"
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" }]
@@ -2,6 +2,7 @@
2
2
 
3
3
  from __future__ import annotations
4
4
 
5
+ import os
5
6
  import re
6
7
  import shutil
7
8
  import subprocess
@@ -504,7 +505,11 @@ include = ["{root_package}*"]
504
505
  cwd = Path.cwd()
505
506
  config_manager = ConfigManager(start_dir=cwd)
506
507
  project_root = config_manager.get_project_root()
507
- pyproject_path = project_root / "pyproject.toml"
508
+ pyproject_path = (
509
+ config_manager.pyproject_path
510
+ if config_manager.pyproject_path.exists()
511
+ else project_root / "pyproject.toml"
512
+ )
508
513
 
509
514
  console.print()
510
515
  existing_command_name = self._get_existing_usecli_script_name(pyproject_path)
@@ -651,24 +656,6 @@ include = ["{root_package}*"]
651
656
  f"[{COLOR.WARNING}]Default theme already exists:[/{COLOR.WARNING}] {theme_template_path}"
652
657
  )
653
658
 
654
- # Load the template
655
- template_path = (
656
- Path(__file__).parent.parent / "templates" / "usecli.config.toml.j2"
657
- )
658
- template_content = template_path.read_text()
659
- template = Template(template_content)
660
-
661
- # Render the config
662
- config_content = template.render(
663
- title=title,
664
- description=description,
665
- commands_dir=commands_dir,
666
- templates_dir=templates_dir,
667
- themes_dir=themes_dir,
668
- title_font=title_font,
669
- theme=theme,
670
- )
671
-
672
659
  scripts_status: str | None = None
673
660
  usecli_config_status: str | None = None
674
661
 
@@ -744,6 +731,30 @@ include = ["{root_package}*"]
744
731
  if replace_existing:
745
732
  config_path = existing_config
746
733
 
734
+ config_dir = config_path.parent
735
+ config_commands_dir = os.path.relpath(commands_path, start=config_dir)
736
+ config_templates_dir = os.path.relpath(templates_path, start=config_dir)
737
+ config_themes_dir = os.path.relpath(themes_path, start=config_dir)
738
+
739
+ # Load the template
740
+ template_path = (
741
+ Path(__file__).parent.parent / "templates" / "usecli.config.toml.j2"
742
+ )
743
+ template_content = template_path.read_text()
744
+ template = Template(template_content)
745
+
746
+ # Render the config
747
+ config_content = template.render(
748
+ title=title,
749
+ description=description,
750
+ commands_dir=config_commands_dir,
751
+ templates_dir=config_templates_dir,
752
+ themes_dir=config_themes_dir,
753
+ title_font=title_font,
754
+ theme=theme,
755
+ command_name=command_name,
756
+ )
757
+
747
758
  usecli_config_status = self._write_usecli_config(
748
759
  config_path, config_content, force
749
760
  )
@@ -2,6 +2,7 @@
2
2
  title = "{{ title | default('My CLI') }}"
3
3
  title_file = "{{ title_file | default('') }}"
4
4
  title_font = "{{ title_font | default('big') }}"
5
+ command_name = "{{ command_name | default('usecli') }}"
5
6
  description = "{{ description | default('A custom CLI tool') }}"
6
7
  commands_dir = "{{ commands_dir | default('cli/commands') }}"
7
8
  templates_dir = "{{ templates_dir | default('cli/templates') }}"
@@ -2,10 +2,11 @@
2
2
  title = "usecli"
3
3
  title_file = ""
4
4
  title_font = "ansi_shadow"
5
+ command_name = "usecli"
5
6
  description = "A custom CLI tool"
6
- commands_dir = "src/usecli/cli/commands/custom"
7
- templates_dir = "src/usecli/cli/templates"
8
- themes_dir = "src/usecli/cli/themes"
7
+ commands_dir = "cli/commands/custom"
8
+ templates_dir = "cli/templates"
9
+ themes_dir = "cli/themes"
9
10
  theme = "default"
10
11
  hide_init = false
11
12
  hide_inspire = false
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes