Python SDK used to interact and develop with Rapid7 Surface Command
Project description
Surface Command SDK
The surcom-sdk helps you build data connectors for the Rapid7 Surface Command platform.
Source code for all connectors is available in our GitHub repository.
Getting Started
-
Install the SDK:
pip install r7-surcom-sdk
-
Configure the SDK with your API key
-
Build your first connector by following our tutorial
-
Contribute to our open source connectors or share your own connector with the community!
Documentation
Changes
0.17.20 - 2026-07-14
Added
- MockServer: new
mockserver loadcommand. connector invoke --extra-volume: support for mounting additional volumes to the invoked Docker container.connector invoke --env-var: support for injecting environment variables (asKEY=VALUE) into the invoked Docker container.- Validate:
- line-length check (max 72-byte lines for signed connectors; JAR manifest max 67).
- module folder must match the connector directory name (handles
.appsuffix). - required-keys validation on the type checker.
privileged_access_managementaccepted as a valid category.
- Docs:
Required?column,Valid Valuescolumn for enum settings, bold setting titles;Componentsand requirements sections only rendered when non-empty. - Package (Orchestrator):
- manually install the latest
certifiwhen building for orchestrator. - copy
.json/.yamlfiles (and jinja2 templates in subdirs) from the functions directory. - copy
types/to the pluginutil/directory. - no longer ignore files starting with
__(still ignores__init__.py).
- manually install the latest
- Manifest: support legacy
testfunction id,legacy_idproperty, and customsecret_reference. - Plugin:
connector_typeis now passed down; handle mismatched legacy function parameter vs. setting name. - Import: install unique types when importing data.
- Hidden settings: pass through
x-samos-hiddensettings. - Skills:
sc-connectorsupdated with the new PAM category.
Changed
- Legacy validation: improved wording and deduplicated checks.
surcom_api:import_idsare now URL-escaped in requests (they can contain/).- Deps: bumped
packaging(→ 26.0),argcomplete(→ 3.7),uv(→ 0.11.28),requests(→ 2.34.2), andurllib3(→ 2.7.0),requests/urllib3were also unpinned from exact versions to compatible-release specifiers.
0.16.19 - 2026-05-05
Added
- Orchestrator / Plugin conversion: build a plugin from a Legacy Connector; support connectors with a custom tarball; new
save_docker_imageconfig that skips producing a.tarfile; combine connector + plugin deps viauv; dep dry-run runs inside apython:3.11container. sdk_helpers: newget_path_to_functions_dirhelper and legacy-to-plugin building support.sdk_config: new method to add a config to the root section.- Validation: new
iconvalidation. - Docs: handle
communityas an author. - Plugin Wrapper: extra error handling for improved logging.
- Codegen: uses latest deps when compiling requirements.
- Packaging:
.txtfiles now included in package data;insightconnect-plugin-runtimebumped to6.4.4.
Fixed
- Plugin: return an empty
dict/listwhen a connector returnsNone/nothing; do not raise if there is notypes/directory. - Orchestrator: resolve settings when converting to a plugin; connector deps now take precedence over plugin deps.
0.15.18 - 2026-04-14
Added
data delete: new command for deleting imported data, with import-id lookup helpers added tosurcom_api. Tutorial andconnector_idnow share the same lookup logic.- Orchestrator: when a
build-numberis provided,+customis no longer appended.
Changed
- ext lib: skipped entirely for vendored connectors.
- Deps:
uvupdated to0.11.6;requestsbumped.
Removed
- Validate: removed the
betavalidation (tests retained).
0.14.16 - 2026-03-23
Added
- Agent Skills: new
sc-surcom-sdk,sc-cypher-queries, andsc-connectorsskills.sc-surcom-sdkincludes a config overview, connector-generation guidance, and a list of valid URLs.sc-cypher-queriesandsc-type-systemnow include a derived-properties reference. - KeyboardInterrupt:
Ctrl+Cis now handled gracefully across commands. config init: no longer prompts per-skill — installs all in one go.validate: checks that every type in thetypes/directory is defined.
Changed
sc-type-system: cypher query details moved out into the dedicatedsc-cypher-queriesskill.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file r7_surcom_sdk-0.17.20.tar.gz.
File metadata
- Download URL: r7_surcom_sdk-0.17.20.tar.gz
- Upload date:
- Size: 679.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b31936e617dfc936de97f32c935d2a759cc2e85ff99191de1f5a83c650cda3be
|
|
| MD5 |
67028bb157f0c63bc5341163c36929d2
|
|
| BLAKE2b-256 |
5caecbe92319bdf92966fe397c996b8cdb2afc81dd7089ae3d1d3a41db078fbc
|
File details
Details for the file r7_surcom_sdk-0.17.20-py3-none-any.whl.
File metadata
- Download URL: r7_surcom_sdk-0.17.20-py3-none-any.whl
- Upload date:
- Size: 738.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5a8b25593d55e1fbf6508f7e5805e183121c448eccb647fdf103c29c565a2f96
|
|
| MD5 |
b094f69107272d86dc7dca0bc581711e
|
|
| BLAKE2b-256 |
a6d06dc2ab599337133de9ff4ff14cf148f78609ab0e3570a956cf39ed07afae
|