socketsecurity 2.2.18__tar.gz → 2.2.23__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 (85) hide show
  1. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/Dockerfile +6 -1
  2. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/PKG-INFO +2 -2
  3. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/pyproject.toml +2 -2
  4. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/__init__.py +1 -1
  5. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/git_interface.py +1 -2
  6. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/tools/reachability.py +26 -22
  7. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/uv.lock +5 -5
  8. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/CODEOWNERS +0 -0
  9. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/bug-fix.md +0 -0
  10. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/feature.md +0 -0
  11. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE/improvement.md +0 -0
  12. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  13. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/docker-stable.yml +0 -0
  14. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/pr-preview.yml +0 -0
  15. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/release.yml +0 -0
  16. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.github/workflows/version-check.yml +0 -0
  17. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.gitignore +0 -0
  18. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.hooks/sync_version.py +0 -0
  19. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.pre-commit-config.yaml +0 -0
  20. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/.python-version +0 -0
  21. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/LICENSE +0 -0
  22. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/Makefile +0 -0
  23. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/README.md +0 -0
  24. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/docs/README.md +0 -0
  25. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/pytest.ini +0 -0
  26. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/build_container.sh +0 -0
  27. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/deploy-test-docker.sh +0 -0
  28. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/deploy-test-pypi.sh +0 -0
  29. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/scripts/run.sh +0 -0
  30. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/config.py +0 -0
  31. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/__init__.py +0 -0
  32. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/classes.py +0 -0
  33. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/cli_client.py +0 -0
  34. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/exceptions.py +0 -0
  35. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/helper/__init__.py +0 -0
  36. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/lazy_file_loader.py +0 -0
  37. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/logging.py +0 -0
  38. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/messages.py +0 -0
  39. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/resource_utils.py +0 -0
  40. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/__init__.py +0 -0
  41. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/base.py +0 -0
  42. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/client.py +0 -0
  43. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/github.py +0 -0
  44. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm/gitlab.py +0 -0
  45. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/scm_comments.py +0 -0
  46. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/socket_config.py +0 -0
  47. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/core/utils.py +0 -0
  48. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/output.py +0 -0
  49. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/__init__.py +0 -0
  50. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/base.py +0 -0
  51. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/jira.py +0 -0
  52. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/manager.py +0 -0
  53. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/slack.py +0 -0
  54. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/teams.py +0 -0
  55. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/plugins/webhook.py +0 -0
  56. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/socketsecurity/socketcli.py +0 -0
  57. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/__init__.py +0 -0
  58. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/conftest.py +0 -0
  59. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/create_diff_input.json +0 -0
  60. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_diff_generation.py +0 -0
  61. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_package_and_alerts.py +0 -0
  62. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_sdk_methods.py +0 -0
  63. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/core/test_supporting_methods.py +0 -0
  64. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/create_response.json +0 -0
  65. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/diff/stream_diff.json +0 -0
  66. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/diff/stream_diff_full.json +0 -0
  67. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/metadata.json +0 -0
  68. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan.json +0 -0
  69. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/head_scan/stream_scan_full.json +0 -0
  70. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/new_scan/metadata.json +0 -0
  71. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/fullscans/new_scan/stream_scan.json +0 -0
  72. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_error.json +0 -0
  73. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_no_head.json +0 -0
  74. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/repos/repo_info_success.json +0 -0
  75. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/data/settings/security-policy.json +0 -0
  76. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/__init__.py +0 -0
  77. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_cli_config.py +0 -0
  78. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_client.py +0 -0
  79. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_config.py +0 -0
  80. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_gitlab_auth.py +0 -0
  81. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_gitlab_auth_fallback.py +0 -0
  82. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/tests/unit/test_output.py +0 -0
  83. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/bitbucket-pipelines.yml +0 -0
  84. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/github-actions.yml +0 -0
  85. {socketsecurity-2.2.18 → socketsecurity-2.2.23}/workflows/gitlab-ci.yml +0 -0
@@ -6,7 +6,12 @@ ARG PIP_INDEX_URL=https://pypi.org/simple
6
6
  ARG PIP_EXTRA_INDEX_URL=https://pypi.org/simple
7
7
 
8
8
  RUN apk update \
9
- && apk add --no-cache git nodejs npm yarn
9
+ && apk add --no-cache git nodejs npm yarn curl \
10
+ && npm install @coana-tech/cli -g
11
+
12
+ # Install uv
13
+ RUN curl -LsSf https://astral.sh/uv/install.sh | sh
14
+ ENV PATH="/root/.cargo/bin:${PATH}"
10
15
 
11
16
  # Install CLI with retries for TestPyPI propagation (10 attempts, 30s each = 5 minutes total)
12
17
  RUN for i in $(seq 1 10); do \
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: socketsecurity
3
- Version: 2.2.18
3
+ Version: 2.2.23
4
4
  Summary: Socket Security CLI for CI/CD
5
5
  Project-URL: Homepage, https://socket.dev
6
6
  Author-email: Douglas Coburn <douglas@socket.dev>
@@ -40,7 +40,7 @@ Requires-Dist: packaging
40
40
  Requires-Dist: prettytable
41
41
  Requires-Dist: python-dotenv
42
42
  Requires-Dist: requests
43
- Requires-Dist: socketdev<4.0.0,>=3.0.6
43
+ Requires-Dist: socketdev<4.0.0,>=3.0.16
44
44
  Provides-Extra: dev
45
45
  Requires-Dist: hatch; extra == 'dev'
46
46
  Requires-Dist: pre-commit; extra == 'dev'
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
6
6
 
7
7
  [project]
8
8
  name = "socketsecurity"
9
- version = "2.2.18"
9
+ version = "2.2.23"
10
10
  requires-python = ">= 3.10"
11
11
  license = {"file" = "LICENSE"}
12
12
  dependencies = [
@@ -16,7 +16,7 @@ dependencies = [
16
16
  'GitPython',
17
17
  'packaging',
18
18
  'python-dotenv',
19
- 'socketdev>=3.0.6,<4.0.0',
19
+ 'socketdev>=3.0.16,<4.0.0',
20
20
  "bs4>=0.0.2",
21
21
  ]
22
22
  readme = "README.md"
@@ -1,3 +1,3 @@
1
1
  __author__ = 'socket.dev'
2
- __version__ = '2.2.18'
2
+ __version__ = '2.2.23'
3
3
  USER_AGENT = f'SocketPythonCLI/{__version__}'
@@ -97,8 +97,7 @@ class Git:
97
97
  else:
98
98
  # Try to get branch name from git properties
99
99
  try:
100
- self.branch = self.head.reference
101
- urllib.parse.unquote(str(self.branch))
100
+ self.branch = urllib.parse.unquote(str(self.head.reference))
102
101
  log.debug(f"Branch detected from git reference: {self.branch}")
103
102
  except Exception as error:
104
103
  log.debug(f"Failed to get branch from git reference: {error}")
@@ -17,10 +17,10 @@ class ReachabilityAnalyzer:
17
17
 
18
18
  def _ensure_coana_cli_installed(self, version: Optional[str] = None) -> str:
19
19
  """
20
- Check if @coana-tech/cli is installed, and install it if not present.
20
+ Check if @coana-tech/cli is installed, and install/update it if needed.
21
21
 
22
22
  Args:
23
- version: Specific version to install (e.g., '1.2.3')
23
+ version: Specific version to install (e.g., '1.2.3'). If None, updates to latest.
24
24
 
25
25
  Returns:
26
26
  str: The package specifier to use with npx
@@ -28,27 +28,31 @@ class ReachabilityAnalyzer:
28
28
  # Determine the package specifier
29
29
  package_spec = f"@coana-tech/cli@{version}" if version else "@coana-tech/cli"
30
30
 
31
- # Check if the package is already available
32
- try:
33
- check_cmd = ["npm", "list", "-g", "@coana-tech/cli", "--depth=0"]
34
- result = subprocess.run(
35
- check_cmd,
36
- capture_output=True,
37
- text=True,
38
- timeout=10
39
- )
40
-
41
- # If npm list succeeds and mentions the package, it's installed
42
- if result.returncode == 0 and "@coana-tech/cli" in result.stdout:
43
- log.debug(f"@coana-tech/cli is already installed globally")
44
- return package_spec
31
+ # If a specific version is requested, check if it's already installed
32
+ if version:
33
+ try:
34
+ check_cmd = ["npm", "list", "-g", "@coana-tech/cli", "--depth=0"]
35
+ result = subprocess.run(
36
+ check_cmd,
37
+ capture_output=True,
38
+ text=True,
39
+ timeout=10
40
+ )
45
41
 
46
- except Exception as e:
47
- log.debug(f"Could not check for existing @coana-tech/cli installation: {e}")
48
-
49
- # Package not found or check failed - install it
50
- log.info("Downloading reachability analysis plugin (@coana-tech/cli)...")
51
- log.info("This may take a moment on first run...")
42
+ # If npm list succeeds and mentions the specific version, it's installed
43
+ if result.returncode == 0 and f"@coana-tech/cli@{version}" in result.stdout:
44
+ log.debug(f"@coana-tech/cli@{version} is already installed globally")
45
+ return package_spec
46
+
47
+ except Exception as e:
48
+ log.debug(f"Could not check for existing @coana-tech/cli installation: {e}")
49
+
50
+ # Install or update the package
51
+ if version:
52
+ log.info(f"Installing reachability analysis plugin (@coana-tech/cli@{version})...")
53
+ else:
54
+ log.info("Updating reachability analysis plugin (@coana-tech/cli) to latest version...")
55
+ log.info("This may take a moment...")
52
56
 
53
57
  try:
54
58
  install_cmd = ["npm", "install", "-g", package_spec]
@@ -1052,20 +1052,20 @@ wheels = [
1052
1052
 
1053
1053
  [[package]]
1054
1054
  name = "socketdev"
1055
- version = "3.0.14"
1055
+ version = "3.0.16"
1056
1056
  source = { registry = "https://pypi.org/simple" }
1057
1057
  dependencies = [
1058
1058
  { name = "requests" },
1059
1059
  { name = "typing-extensions" },
1060
1060
  ]
1061
- sdist = { url = "https://files.pythonhosted.org/packages/71/e8/362072e5a8b94aa550d91ec0d7ef9ee63120284ceaedc9c8e1889a32abcf/socketdev-3.0.14.tar.gz", hash = "sha256:bcd1c548ac93f91ecc504f8a42be0ad59e457baa9ab17d02fcd2ccd9f10ace5e", size = 131919, upload-time = "2025-10-17T01:53:04.019Z" }
1061
+ sdist = { url = "https://files.pythonhosted.org/packages/02/0d/6da0e0c34b97eef3a926d55470fa4bda2fcbbc42cc9e26ac51a34c6f117d/socketdev-3.0.16.tar.gz", hash = "sha256:5145300945e4e8d2d7f71db9c55cb44cc1449874f9d6416cc1d6ec129c64d638", size = 132505, upload-time = "2025-11-07T03:24:16.231Z" }
1062
1062
  wheels = [
1063
- { url = "https://files.pythonhosted.org/packages/80/ac/aa54c296ecfff89d32974396517eb67bec17737cb863ef1f41bfe1ef83f1/socketdev-3.0.14-py3-none-any.whl", hash = "sha256:189d3e717f774b402eee55d933ddc13e41b52fc9e6410ab4362d5198ff57c723", size = 57338, upload-time = "2025-10-17T01:53:02.356Z" },
1063
+ { url = "https://files.pythonhosted.org/packages/a3/91/8486b2a62ba71d62a8f4f2f9ad22c61fcaabb461c5f269bbe0734eae76f9/socketdev-3.0.16-py3-none-any.whl", hash = "sha256:f5e413f5f2f8c0c938d5654da7f0a157c0be02a25e14d94af62c252e9fb3b502", size = 58567, upload-time = "2025-11-07T03:24:14.965Z" },
1064
1064
  ]
1065
1065
 
1066
1066
  [[package]]
1067
1067
  name = "socketsecurity"
1068
- version = "2.2.15"
1068
+ version = "2.2.18"
1069
1069
  source = { editable = "." }
1070
1070
  dependencies = [
1071
1071
  { name = "bs4" },
@@ -1111,7 +1111,7 @@ requires-dist = [
1111
1111
  { name = "python-dotenv" },
1112
1112
  { name = "requests" },
1113
1113
  { name = "ruff", marker = "extra == 'dev'", specifier = ">=0.3.0" },
1114
- { name = "socketdev", specifier = ">=3.0.6,<4.0.0" },
1114
+ { name = "socketdev", specifier = ">=3.0.16,<4.0.0" },
1115
1115
  { name = "twine", marker = "extra == 'dev'" },
1116
1116
  { name = "uv", marker = "extra == 'dev'", specifier = ">=0.1.0" },
1117
1117
  ]
File without changes