GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add missing purl types and per-artifact parse resilience to full-scan stream by lelia · Pull Request #101 · SocketDev/socket-sdk-python

Conversation

@lelia

@lelia lelia commented Aug 5, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Summary

SocketPURL_Type only defined unknown, npm, pypi, and golang. When a full-scan stream includes an artifact with any other purl type (e.g. generic), FullScanStreamResponse.from_dict raised a ValueError and FullScans.stream() returned success=False with no artifacts, so consumers ended up with zero packages and alerts for a scan that succeeded server-side.

Changes

  • Add the standard purl types (generic, maven, gem, nuget, cargo, etc.) to SocketPURL_Type
  • Add a _missing_ fallback that resolves unrecognized purl types to UNKNOWN with a warning, following the same forward-compat approach SocketCategory uses (#78)
  • Parse artifacts individually in FullScanStreamResponse.from_dict, skipping (with a warning) any artifact that fails to parse rather than failing the whole response
  • Bump version to 3.4.2 for the bundled 3.4.x release

Testing

  • New unit tests in tests/unit/test_socket_purl_type.py covering enum resolution, the UNKNOWN fallback, and per-artifact skip behavior
  • pytest tests/unit: 130 passed, 1 skipped (pre-existing)

Note: touches version.py/pyproject.toml like #99, so whichever merges second will need a trivial rebase.

Linear: CE-362

🤖 Generated with Claude Code

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@lelia @claude
fix(fullscans): tolerate unknown purl types and skip unparseable arti…
b9730b7
…facts (CE-362)

The full-scan stream can include artifacts whose purl type is not in
SocketPURL_Type (e.g. "generic"), and a single such artifact failed the
entire FullScanStreamResponse parse, leaving consumers with zero
packages and alerts for an otherwise-successful scan.

- Add the standard purl types (generic, maven, gem, nuget, cargo, ...)
  to SocketPURL_Type
- Fall back to UNKNOWN with a warning for unrecognized purl types, the
  same forward-compat approach SocketCategory uses (#78)
- Skip individual artifacts that fail to parse in
  FullScanStreamResponse.from_dict instead of discarding the response
- Bump version to 3.4.0

Co-Authored-By: Claude Fable 5 <[email protected]>
@lelia
lelia requested a review from a team as a code owner August 5, 2026 16:57
@lelia lelia mentioned this pull request Aug 5, 2026
Raise failure on SBOM fetch errors SocketDev/socket-python-cli#288
Merged
@lelia
lelia temporarily deployed to socket-firewall August 5, 2026 16:57 — with GitHub Actions Inactive
@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown

🚀 Preview package published!

Install with:

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple socketdev==3.4.0.dev8
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@lelia lelia changed the title Add missing purl types and per-artifact parse resilience to full-scan stream (CE-362) Add missing purl types and per-artifact parse resilience to full-scan stream Aug 5, 2026
flowstate
Eric Hibbs (flowstate) approved these changes Aug 5, 2026
View reviewed changes
@lelia
Merge branch 'main' into lelia/ce-362-generic-purl-type
ff78408
@lelia
lelia temporarily deployed to socket-firewall August 5, 2026 19:15 — with GitHub Actions Inactive
@lelia
fix(fullscans): skip artifacts without usable ids
9476cea
@lelia
lelia temporarily deployed to socket-firewall August 5, 2026 19:22 — with GitHub Actions Inactive
@lelia
lelia merged commit d5a7f51 into main Aug 5, 2026
12 checks passed

Uh oh!

There was an error while loading. Please reload this page.

This was referenced Aug 5, 2026
Fix intermittent connection resets on scan comparison by polling the diff-scans endpoints SocketDev/socket-python-cli#284
Merged
fix(purl): expose fail-open batch params and harden dedupe #98
Merged

This branch was previously deployed

1 inactive deployment
socket-firewall — 9476cea2 Deployed Aug 5, 2026 by lelia via python-sfw-smoke-enterprise #56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@flowstate Eric Hibbs (flowstate) flowstate approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@lelia @flowstate
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.