diffsage 1.3.0__tar.gz → 1.3.1__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 (84) hide show
  1. {diffsage-1.3.0/src/diffsage.egg-info → diffsage-1.3.1}/PKG-INFO +1 -1
  2. {diffsage-1.3.0 → diffsage-1.3.1}/pyproject.toml +1 -1
  3. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/cli.py +17 -1
  4. {diffsage-1.3.0 → diffsage-1.3.1/src/diffsage.egg-info}/PKG-INFO +1 -1
  5. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/SOURCES.txt +2 -1
  6. diffsage-1.3.1/tests/test_cli.py +21 -0
  7. {diffsage-1.3.0 → diffsage-1.3.1}/LICENSE +0 -0
  8. {diffsage-1.3.0 → diffsage-1.3.1}/README.md +0 -0
  9. {diffsage-1.3.0 → diffsage-1.3.1}/setup.cfg +0 -0
  10. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/__init__.py +0 -0
  11. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/__main__.py +0 -0
  12. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/__init__.py +0 -0
  13. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/ask.py +0 -0
  14. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/auth.py +0 -0
  15. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/commit.py +0 -0
  16. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/config.py +0 -0
  17. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/doctor.py +0 -0
  18. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/commands/pr.py +0 -0
  19. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/__init__.py +0 -0
  20. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/defaults.py +0 -0
  21. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/file_loader.py +0 -0
  22. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/loader.py +0 -0
  23. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/paths.py +0 -0
  24. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/resolver.py +0 -0
  25. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/schema.py +0 -0
  26. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/scope.py +0 -0
  27. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/config/settings.py +0 -0
  28. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/__init__.py +0 -0
  29. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/base.py +0 -0
  30. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/credentials.py +0 -0
  31. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/git.py +0 -0
  32. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/github.py +0 -0
  33. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/exceptions/provider.py +0 -0
  34. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/git/__init__.py +0 -0
  35. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/git/client.py +0 -0
  36. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/github/__init__.py +0 -0
  37. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/github/client.py +0 -0
  38. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/__init__.py +0 -0
  39. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/formatter.py +0 -0
  40. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/logging/logger.py +0 -0
  41. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/__init__.py +0 -0
  42. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/commit_message.py +0 -0
  43. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/config.py +0 -0
  44. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/credentials.py +0 -0
  45. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/doctor.py +0 -0
  46. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/git.py +0 -0
  47. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/provider.py +0 -0
  48. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/pull_request.py +0 -0
  49. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/models/pull_request_analysis.py +0 -0
  50. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/parsers/commit_message_parser.py +0 -0
  51. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/parsers/pull_request_parser.py +0 -0
  52. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/prompts/__init__.py +0 -0
  53. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/__init__.py +0 -0
  54. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/base.py +0 -0
  55. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/factory.py +0 -0
  56. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/providers/gemini_provider.py +0 -0
  57. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/__init__.py +0 -0
  58. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/ai_service.py +0 -0
  59. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/commit_service.py +0 -0
  60. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/config_service.py +0 -0
  61. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/credentials_service.py +0 -0
  62. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/doctor_service.py +0 -0
  63. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/editor_service.py +0 -0
  64. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/git_service.py +0 -0
  65. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/github_service.py +0 -0
  66. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/prompt_service.py +0 -0
  67. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/pull_request_analysis_service.py +0 -0
  68. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/services/pull_request_service.py +0 -0
  69. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/__init__.py +0 -0
  70. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/base.py +0 -0
  71. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/config_repository.py +0 -0
  72. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/storage/credentials_repository.py +0 -0
  73. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/__init__.py +0 -0
  74. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/ask_view.py +0 -0
  75. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/auth_view.py +0 -0
  76. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/base.py +0 -0
  77. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/commit_view.py +0 -0
  78. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/config_view.py +0 -0
  79. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/doctor_view.py +0 -0
  80. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage/ui/pull_request_view.py +0 -0
  81. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/dependency_links.txt +0 -0
  82. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/entry_points.txt +0 -0
  83. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/requires.txt +0 -0
  84. {diffsage-1.3.0 → diffsage-1.3.1}/src/diffsage.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsage
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: AI-powered Git workflow assistant
5
5
  Author: Gunitha Rathnayake
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "diffsage"
7
- version = "1.3.0"
7
+ version = "1.3.1"
8
8
  description = "AI-powered Git workflow assistant"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.12,<3.13"
@@ -1,4 +1,5 @@
1
1
  import logging
2
+ from importlib.metadata import version
2
3
 
3
4
  import typer
4
5
 
@@ -14,8 +15,23 @@ from diffsage.logging.logger import configure_logging
14
15
  app = typer.Typer(help="DiffSage: AI-aware Git workflow toolkit")
15
16
 
16
17
 
18
+ def version_callback(value: bool) -> None:
19
+ if value:
20
+ typer.echo(version("diffsage"))
21
+ raise typer.Exit()
22
+
23
+
17
24
  @app.callback()
18
- def main() -> None:
25
+ def main(
26
+ version: bool = typer.Option(
27
+ False,
28
+ "--version",
29
+ "-v",
30
+ callback=version_callback,
31
+ is_eager=True,
32
+ help="Show the Diffsage version.",
33
+ ),
34
+ ) -> None:
19
35
  """
20
36
  Initialize DiffSage.
21
37
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: diffsage
3
- Version: 1.3.0
3
+ Version: 1.3.1
4
4
  Summary: AI-powered Git workflow assistant
5
5
  Author: Gunitha Rathnayake
6
6
  License: MIT
@@ -78,4 +78,5 @@ src/diffsage/ui/base.py
78
78
  src/diffsage/ui/commit_view.py
79
79
  src/diffsage/ui/config_view.py
80
80
  src/diffsage/ui/doctor_view.py
81
- src/diffsage/ui/pull_request_view.py
81
+ src/diffsage/ui/pull_request_view.py
82
+ tests/test_cli.py
@@ -0,0 +1,21 @@
1
+ from importlib.metadata import version
2
+
3
+ from typer.testing import CliRunner
4
+
5
+ from diffsage.cli import app
6
+
7
+ runner = CliRunner()
8
+
9
+
10
+ def test_version_option() -> None:
11
+ result = runner.invoke(app, ["--version"])
12
+
13
+ assert result.exit_code == 0
14
+ assert result.stdout.strip() == version("diffsage")
15
+
16
+
17
+ def test_short_version_option() -> None:
18
+ result = runner.invoke(app, ["-v"])
19
+
20
+ assert result.exit_code == 0
21
+ assert result.stdout.strip() == version("diffsage")
File without changes
File without changes
File without changes