devservices 1.4.1__tar.gz → 1.4.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 (71) hide show
  1. {devservices-1.4.1 → devservices-1.4.2}/PKG-INFO +1 -1
  2. {devservices-1.4.1 → devservices-1.4.2}/README.md +1 -1
  3. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/github.py +10 -4
  4. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/PKG-INFO +1 -1
  5. {devservices-1.4.1 → devservices-1.4.2}/pyproject.toml +1 -1
  6. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_github.py +11 -0
  7. {devservices-1.4.1 → devservices-1.4.2}/LICENSE.md +0 -0
  8. {devservices-1.4.1 → devservices-1.4.2}/devservices/__init__.py +0 -0
  9. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/__init__.py +0 -0
  10. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/down.py +0 -0
  11. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/foreground.py +0 -0
  12. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/list_dependencies.py +0 -0
  13. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/list_services.py +0 -0
  14. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/logs.py +0 -0
  15. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/purge.py +0 -0
  16. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/reset.py +0 -0
  17. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/serve.py +0 -0
  18. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/status.py +0 -0
  19. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/toggle.py +0 -0
  20. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/up.py +0 -0
  21. {devservices-1.4.1 → devservices-1.4.2}/devservices/commands/update.py +0 -0
  22. {devservices-1.4.1 → devservices-1.4.2}/devservices/configs/service_config.py +0 -0
  23. {devservices-1.4.1 → devservices-1.4.2}/devservices/constants.py +0 -0
  24. {devservices-1.4.1 → devservices-1.4.2}/devservices/exceptions.py +0 -0
  25. {devservices-1.4.1 → devservices-1.4.2}/devservices/main.py +0 -0
  26. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/__init__.py +0 -0
  27. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/check_for_update.py +0 -0
  28. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/console.py +0 -0
  29. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/dependencies.py +0 -0
  30. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/devenv.py +0 -0
  31. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/docker.py +0 -0
  32. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/docker_compose.py +0 -0
  33. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/file_lock.py +0 -0
  34. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/git.py +0 -0
  35. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/install_binary.py +0 -0
  36. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/retry.py +0 -0
  37. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/services.py +0 -0
  38. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/state.py +0 -0
  39. {devservices-1.4.1 → devservices-1.4.2}/devservices/utils/supervisor.py +0 -0
  40. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/SOURCES.txt +0 -0
  41. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/dependency_links.txt +0 -0
  42. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/entry_points.txt +0 -0
  43. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/requires.txt +0 -0
  44. {devservices-1.4.1 → devservices-1.4.2}/devservices.egg-info/top_level.txt +0 -0
  45. {devservices-1.4.1 → devservices-1.4.2}/setup.cfg +0 -0
  46. {devservices-1.4.1 → devservices-1.4.2}/testing/__init__.py +0 -0
  47. {devservices-1.4.1 → devservices-1.4.2}/testing/utils.py +0 -0
  48. {devservices-1.4.1 → devservices-1.4.2}/tests/__init__.py +0 -0
  49. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_down.py +0 -0
  50. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_foreground.py +0 -0
  51. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_list_dependencies.py +0 -0
  52. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_list_services.py +0 -0
  53. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_logs.py +0 -0
  54. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_purge.py +0 -0
  55. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_reset.py +0 -0
  56. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_serve.py +0 -0
  57. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_status.py +0 -0
  58. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_toggle.py +0 -0
  59. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_up.py +0 -0
  60. {devservices-1.4.1 → devservices-1.4.2}/tests/commands/test_update.py +0 -0
  61. {devservices-1.4.1 → devservices-1.4.2}/tests/configs/test_service_config.py +0 -0
  62. {devservices-1.4.1 → devservices-1.4.2}/tests/conftest.py +0 -0
  63. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_check_for_update.py +0 -0
  64. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_dependencies.py +0 -0
  65. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_docker.py +0 -0
  66. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_docker_compose.py +0 -0
  67. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_git.py +0 -0
  68. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_install_binary.py +0 -0
  69. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_services.py +0 -0
  70. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_state.py +0 -0
  71. {devservices-1.4.1 → devservices-1.4.2}/tests/utils/test_supervisor.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devservices
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Requires-Python: >=3.11
5
5
  License-File: LICENSE.md
6
6
  Requires-Dist: pyyaml
@@ -33,7 +33,7 @@ NOTE: service-name is an optional parameter. If not provided, devservices will a
33
33
  The recommended way to install devservices is through a virtualenv in the requirements.txt. Once that is installed and a devservices config file is added, you should be able to run `devservices up` to begin local development.
34
34
 
35
35
  ```
36
- devservices==1.4.1
36
+ devservices==1.4.2
37
37
  ```
38
38
 
39
39
  ### 2. Add devservices config files
@@ -16,11 +16,17 @@ _auth_warned = False
16
16
 
17
17
 
18
18
  def parse_repo_path(repo_link: str) -> str:
19
- """Extract the "owner/repo" path from a GitHub URL."""
19
+ """Extract the "owner/repo" path from a GitHub URL.
20
+
21
+ Handles both HTTPS (https://github.com/owner/repo) and SSH
22
+ (git@github.com:owner/repo) formats.
23
+ """
20
24
  url = repo_link.rstrip("/").removesuffix(".git")
21
- if "github.com/" not in url:
22
- raise ValueError(f"Not a GitHub URL: {repo_link}")
23
- return url.split("github.com/", 1)[1]
25
+ if "github.com/" in url:
26
+ return url.split("github.com/", 1)[1]
27
+ if "github.com:" in url:
28
+ return url.split("github.com:", 1)[1]
29
+ raise ValueError(f"Not a GitHub URL: {repo_link}")
24
30
 
25
31
 
26
32
  def zipball_url(repo_path: str, ref: str) -> str:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: devservices
3
- Version: 1.4.1
3
+ Version: 1.4.2
4
4
  Requires-Python: >=3.11
5
5
  License-File: LICENSE.md
6
6
  Requires-Dist: pyyaml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "devservices"
7
- version = "1.4.1"
7
+ version = "1.4.2"
8
8
  # 3.11 is just for internal pypi compat
9
9
  # but we test/support on 3.13
10
10
  requires-python = ">=3.11"
@@ -28,6 +28,17 @@ def test_parse_repo_path_valid() -> None:
28
28
  assert github.parse_repo_path("http://github.com/org/repo") == "org/repo"
29
29
 
30
30
 
31
+ def test_parse_repo_path_ssh() -> None:
32
+ assert (
33
+ github.parse_repo_path("git@github.com:getsentry/test-repo")
34
+ == "getsentry/test-repo"
35
+ )
36
+ assert (
37
+ github.parse_repo_path("git@github.com:getsentry/test-repo.git")
38
+ == "getsentry/test-repo"
39
+ )
40
+
41
+
31
42
  def test_parse_repo_path_non_github() -> None:
32
43
  with pytest.raises(ValueError):
33
44
  github.parse_repo_path("file:///path/to/repo")
File without changes
File without changes