Skip to content

fix(secops-soar): resolve marketplace imports and synchronize setup.py (#293, #294) - #295

Open
dandye wants to merge 1 commit into
mainfrom
fix/soar-client-errors
Open

fix(secops-soar): resolve marketplace imports and synchronize setup.py (#293, #294)#295
dandye wants to merge 1 commit into
mainfrom
fix/soar-client-errors

Conversation

@dandye

@dandye dandye commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Summary

This PR addresses marketplace module import resolution and packaging synchronization across server/secops-soar:

  1. Dynamic Marketplace Module Import Resolution (Fixes [secops-soar] Dynamic marketplace tool import fails with ModuleNotFoundError when running installed package #293):

    • Updates secops_soar_mcp/server.py to resolve marketplace integration tools via qualified package path secops_soar_mcp.marketplace.{module_stem} with fallback to marketplace.{module_stem}.
    • Prevents ModuleNotFoundError: No module named 'marketplace' when secops-soar-mcp is installed as a package or executed from arbitrary working directories.
  2. Synchronize python-dotenv in setup.py (Fixes [secops-soar] setup.py is missing python-dotenv dependency from install_requires #294):

    • Adds "python-dotenv>=1.0.0" to install_requires in server/secops-soar/setup.py to match pyproject.toml.
    • Ensures pip installations via setup.py pull in python-dotenv required by secops_soar_mcp.bindings.
  3. Hermetic Unit Tests:

    • Adds server/secops-soar/tests/unit/test_marketplace_and_packaging.py testing qualified and fallback module imports, tool registration, and setup.py dependency declaration.

(Note: Prior commits addressing SOAR TLS/certifi startup diagnostics for #191 were superseded by merged PR #308 and were removed during rebase onto main.)

Fixes #293
Fixes #294

Tests Run

  • uv run --with "mcp<2" --with pytest --with pytest-asyncio --with aiohttp --with python-dotenv pytest server/secops-soar/tests/unit/ -v (8 passed)
  • uv run --with ruff ruff check server/secops-soar/tests/unit/test_marketplace_and_packaging.py (All checks passed)

@dandye
dandye requested a review from a team August 29, 2026 23:40
@dandye
dandye force-pushed the fix/soar-client-errors branch from d900bb6 to 9142e93 Compare September 7, 2026 15:13
@dandye dandye changed the title fix(secops-soar): improve error handling, marketplace imports, and packaging sync fix(secops-soar): resolve marketplace imports and synchronize setup.py (#293, #294) Sep 7, 2026
…y dependencies (#293, #294)

- Update dynamic tool registration to import via secops_soar_mcp.marketplace.{stem} with fallback to marketplace.{stem} (Fixes #293)
- Add python-dotenv>=1.0.0 to setup.py install_requires to match pyproject.toml (Fixes #294)
- Add unit tests in tests/unit/test_marketplace_and_packaging.py verifying import resolution and dependency synchronization
@dandye
dandye force-pushed the fix/soar-client-errors branch from 9142e93 to aa9e817 Compare September 7, 2026 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

1 participant