devs-cli 2.0.2__tar.gz → 2.0.3__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 (31) hide show
  1. {devs_cli-2.0.2/devs_cli.egg-info → devs_cli-2.0.3}/PKG-INFO +1 -1
  2. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/__init__.py +6 -1
  3. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/cli.py +17 -2
  4. {devs_cli-2.0.2 → devs_cli-2.0.3/devs_cli.egg-info}/PKG-INFO +1 -1
  5. {devs_cli-2.0.2 → devs_cli-2.0.3}/pyproject.toml +1 -1
  6. {devs_cli-2.0.2 → devs_cli-2.0.3}/LICENSE +0 -0
  7. {devs_cli-2.0.2 → devs_cli-2.0.3}/README.md +0 -0
  8. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/config.py +0 -0
  9. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/core/__init__.py +0 -0
  10. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/core/integration.py +0 -0
  11. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/exceptions.py +0 -0
  12. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs/utils/__init__.py +0 -0
  13. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs_cli.egg-info/SOURCES.txt +0 -0
  14. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs_cli.egg-info/dependency_links.txt +0 -0
  15. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs_cli.egg-info/entry_points.txt +0 -0
  16. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs_cli.egg-info/requires.txt +0 -0
  17. {devs_cli-2.0.2 → devs_cli-2.0.3}/devs_cli.egg-info/top_level.txt +0 -0
  18. {devs_cli-2.0.2 → devs_cli-2.0.3}/setup.cfg +0 -0
  19. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli.py +0 -0
  20. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli_clean.py +0 -0
  21. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli_misc.py +0 -0
  22. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli_start.py +0 -0
  23. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli_stop.py +0 -0
  24. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_cli_vscode.py +0 -0
  25. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_container_manager.py +0 -0
  26. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_e2e.py +0 -0
  27. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_error_parsing.py +0 -0
  28. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_integration.py +0 -0
  29. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_live_mode.py +0 -0
  30. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_project.py +0 -0
  31. {devs_cli-2.0.2 → devs_cli-2.0.3}/tests/test_workspace_manager.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devs-cli
3
- Version: 2.0.2
3
+ Version: 2.0.3
4
4
  Summary: DevContainer Management Tool - Manage multiple named devcontainers for any project
5
5
  Author: Dan Lester
6
6
  License-Expression: MIT
@@ -3,7 +3,12 @@
3
3
  A command-line tool that simplifies managing multiple named devcontainers for any project.
4
4
  """
5
5
 
6
- __version__ = "0.1.0"
6
+ from importlib.metadata import version, PackageNotFoundError
7
+
8
+ try:
9
+ __version__ = version("devs-cli")
10
+ except PackageNotFoundError:
11
+ __version__ = "0.0.0"
7
12
  __author__ = "Dan Lester"
8
13
  __email__ = "dan@ideonate.com"
9
14
 
@@ -4,6 +4,7 @@ import os
4
4
  import sys
5
5
  import subprocess
6
6
  from functools import wraps
7
+ from importlib.metadata import version, PackageNotFoundError
7
8
 
8
9
  import click
9
10
  from rich.console import Console
@@ -114,13 +115,27 @@ def get_project() -> Project:
114
115
  sys.exit(1)
115
116
 
116
117
 
118
+ def _get_version(ctx: click.Context, param: click.Parameter, value: bool) -> None:
119
+ """Print version info for devs-cli and installed dependencies."""
120
+ if not value or ctx.resilient_parsing:
121
+ return
122
+ parts = []
123
+ for pkg, label in [("devs-cli", "devs-cli"), ("devs-common", "devs-common"), ("devs-webhook", "devs-webhook")]:
124
+ try:
125
+ parts.append(f"{label} {version(pkg)}")
126
+ except PackageNotFoundError:
127
+ pass
128
+ click.echo("\n".join(parts) if parts else "devs-cli (unknown version)")
129
+ ctx.exit()
130
+
131
+
117
132
  @click.group()
118
- @click.version_option(version="0.1.0", prog_name="devs")
133
+ @click.option('--version', is_flag=True, callback=_get_version, expose_value=False, is_eager=True, help='Show version and exit.')
119
134
  @click.option('--debug', is_flag=True, help='Show debug tracebacks on error')
120
135
  @click.pass_context
121
136
  def cli(ctx, debug: bool) -> None:
122
137
  """DevContainer Management Tool
123
-
138
+
124
139
  Manage multiple named devcontainers for any project.
125
140
  """
126
141
  ctx.ensure_object(dict)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devs-cli
3
- Version: 2.0.2
3
+ Version: 2.0.3
4
4
  Summary: DevContainer Management Tool - Manage multiple named devcontainers for any project
5
5
  Author: Dan Lester
6
6
  License-Expression: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devs-cli"
7
- version = "2.0.2"
7
+ version = "2.0.3"
8
8
  description = "DevContainer Management Tool - Manage multiple named devcontainers for any project"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
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