gitdirector 1.1.2__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.
Files changed (24) hide show
  1. {gitdirector-1.1.2 → gitdirector-1.2.0}/PKG-INFO +6 -2
  2. {gitdirector-1.1.2 → gitdirector-1.2.0}/README.md +4 -0
  3. {gitdirector-1.1.2 → gitdirector-1.2.0}/pyproject.toml +2 -2
  4. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/__init__.py +16 -2
  5. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/autoclean.py +1 -2
  6. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/help.py +2 -2
  7. gitdirector-1.2.0/src/gitdirector/commands/tui/__init__.py +32 -0
  8. gitdirector-1.2.0/src/gitdirector/commands/tui/app.py +701 -0
  9. gitdirector-1.2.0/src/gitdirector/commands/tui/constants.py +89 -0
  10. gitdirector-1.2.0/src/gitdirector/commands/tui/screens.py +318 -0
  11. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/config.py +30 -3
  12. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/integrations/tmux.py +41 -3
  13. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/manager.py +4 -7
  14. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/repo.py +35 -33
  15. gitdirector-1.1.2/src/gitdirector/commands/tui.py +0 -798
  16. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/__init__.py +0 -0
  17. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/cli.py +0 -0
  18. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/cd.py +0 -0
  19. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/link.py +0 -0
  20. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/listt.py +0 -0
  21. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/pull.py +0 -0
  22. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/status.py +0 -0
  23. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/commands/unlink.py +0 -0
  24. {gitdirector-1.1.2 → gitdirector-1.2.0}/src/gitdirector/integrations/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: gitdirector
3
- Version: 1.1.2
3
+ Version: 1.2.0
4
4
  Summary: A terminal based control plane for developers working across multiple repositories. Launch multiple AI coding agents, multiple tmux sessions and track changes across all your repos in one place.
5
5
  Keywords: git,repository,manager,cli,synchronization,batch
6
6
  Author: Anito Anto
@@ -24,7 +24,7 @@ Requires-Dist: click>=8.1.0
24
24
  Requires-Dist: rich>=12.0
25
25
  Requires-Dist: libtmux>=0.46.2
26
26
  Requires-Dist: textual>=8.2.1
27
- Requires-Dist: coolname>=3.0.0
27
+ Requires-Dist: faker>=37.12.0
28
28
  Requires-Dist: pytest>=7.0 ; extra == 'dev'
29
29
  Requires-Dist: pytest-cov>=4.0 ; extra == 'dev'
30
30
  Requires-Dist: black>=23.0 ; extra == 'dev'
@@ -58,6 +58,10 @@ GitDirector gives you a single cockpit for all of it. See every repo's status, D
58
58
  pip install gitdirector
59
59
  ```
60
60
 
61
+ ## Support
62
+
63
+ If you find GitDirector useful, please star this repository on GitHub, we need more stars to qualify for inclusion in Homebrew. Your support helps a lot, thank you!
64
+
61
65
  ## Usage
62
66
 
63
67
  | Command | Description |
@@ -14,6 +14,10 @@ GitDirector gives you a single cockpit for all of it. See every repo's status, D
14
14
  pip install gitdirector
15
15
  ```
16
16
 
17
+ ## Support
18
+
19
+ If you find GitDirector useful, please star this repository on GitHub, we need more stars to qualify for inclusion in Homebrew. Your support helps a lot, thank you!
20
+
17
21
  ## Usage
18
22
 
19
23
  | Command | Description |
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "gitdirector"
7
- version = "1.1.2"
7
+ version = "1.2.0"
8
8
  description = "A terminal based control plane for developers working across multiple repositories. Launch multiple AI coding agents, multiple tmux sessions and track changes across all your repos in one place."
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -37,7 +37,7 @@ dependencies = [
37
37
  "rich>=12.0",
38
38
  "libtmux>=0.46.2",
39
39
  "textual>=8.2.1",
40
- "coolname>=3.0.0",
40
+ "faker>=37.12.0",
41
41
  ]
42
42
 
43
43
  [project.optional-dependencies]
@@ -1,4 +1,3 @@
1
- from importlib.metadata import version
2
1
  from typing import Optional
3
2
 
4
3
  from rich import box
@@ -8,7 +7,22 @@ from rich.text import Text
8
7
 
9
8
  from ..repo import RepoStatus
10
9
 
11
- __version__ = version("gitdirector")
10
+
11
+ def _get_version() -> str:
12
+ from importlib.metadata import version
13
+
14
+ return version("gitdirector")
15
+
16
+
17
+ __version__: Optional[str] = None
18
+
19
+
20
+ def get_version() -> str:
21
+ global __version__
22
+ if __version__ is None:
23
+ __version__ = _get_version()
24
+ return __version__
25
+
12
26
 
13
27
  console = Console(highlight=False)
14
28
 
@@ -58,8 +58,7 @@ def _autoclean_links():
58
58
  console.print()
59
59
  return
60
60
 
61
- for p in broken:
62
- config.remove_repository(p)
61
+ config.remove_repositories(broken)
63
62
 
64
63
  console.print()
65
64
  console.print(f" [green]Removed {len(broken)} broken link(s).[/green]")
@@ -1,14 +1,14 @@
1
1
  import click
2
2
  from rich.table import Table
3
3
 
4
- from . import __version__, console
4
+ from . import get_version, console
5
5
 
6
6
 
7
7
  def show_help():
8
8
  console.print()
9
9
  console.print(
10
10
  f" [bold white]GITDIRECTOR[/bold white] "
11
- f"[dim]v{__version__} - Manage multiple git repositories[/dim]\n"
11
+ f"[dim]v{get_version()} - Manage multiple git repositories[/dim]\n"
12
12
  )
13
13
 
14
14
  console.print(" [dim]Commands[/dim]\n")
@@ -0,0 +1,32 @@
1
+ """Interactive TUI console for GitDirector using Textual."""
2
+
3
+ from .app import GitDirectorConsole, register
4
+ from .constants import (
5
+ _SESSIONS_SORT_COLUMN_NAMES,
6
+ _SORT_COLUMN_NAMES,
7
+ _STATUS_LABEL,
8
+ _STATUS_ORDER,
9
+ _changes_label,
10
+ )
11
+ from .screens import (
12
+ ActionMenuScreen,
13
+ AgentLoadingScreen,
14
+ ConfirmScreen,
15
+ RemoveSessionScreen,
16
+ SortMenuScreen,
17
+ )
18
+
19
+ __all__ = [
20
+ "ActionMenuScreen",
21
+ "AgentLoadingScreen",
22
+ "ConfirmScreen",
23
+ "GitDirectorConsole",
24
+ "RemoveSessionScreen",
25
+ "SortMenuScreen",
26
+ "_SESSIONS_SORT_COLUMN_NAMES",
27
+ "_SORT_COLUMN_NAMES",
28
+ "_STATUS_LABEL",
29
+ "_STATUS_ORDER",
30
+ "_changes_label",
31
+ "register",
32
+ ]