gitdirector 1.1.3__tar.gz → 1.2.2__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 (25) hide show
  1. {gitdirector-1.1.3 → gitdirector-1.2.2}/PKG-INFO +2 -2
  2. {gitdirector-1.1.3 → gitdirector-1.2.2}/pyproject.toml +2 -2
  3. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/__init__.py +16 -2
  4. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/autoclean.py +1 -2
  5. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/help.py +2 -2
  6. gitdirector-1.2.2/src/gitdirector/commands/tui/__init__.py +32 -0
  7. gitdirector-1.2.2/src/gitdirector/commands/tui/app.py +701 -0
  8. gitdirector-1.2.2/src/gitdirector/commands/tui/constants.py +89 -0
  9. gitdirector-1.2.2/src/gitdirector/commands/tui/screens.py +318 -0
  10. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/config.py +30 -3
  11. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/integrations/tmux.py +41 -3
  12. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/manager.py +6 -9
  13. gitdirector-1.2.2/src/gitdirector/repo.py +224 -0
  14. gitdirector-1.1.3/src/gitdirector/commands/tui.py +0 -823
  15. gitdirector-1.1.3/src/gitdirector/repo.py +0 -197
  16. {gitdirector-1.1.3 → gitdirector-1.2.2}/README.md +0 -0
  17. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/__init__.py +0 -0
  18. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/cli.py +0 -0
  19. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/cd.py +0 -0
  20. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/link.py +0 -0
  21. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/listt.py +0 -0
  22. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/pull.py +0 -0
  23. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/status.py +0 -0
  24. {gitdirector-1.1.3 → gitdirector-1.2.2}/src/gitdirector/commands/unlink.py +0 -0
  25. {gitdirector-1.1.3 → gitdirector-1.2.2}/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.3
3
+ Version: 1.2.2
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'
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "gitdirector"
7
- version = "1.1.3"
7
+ version = "1.2.2"
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
+ ]