A Python client SDK for triggering actions on Repello's Artemis Platform.
You can install the package from PyPI:
pip install repello-artemis-sdk
- Python 3.10 or higher
requests
library (automatically installed as a dependency)
from repello_artemis_sdk import RepelloArtemisClient
from repello_artemis_sdk.enums import ScanType
# Initialize the client with your credentials
client = RepelloArtemisClient(
client_id="your-client-id",
client_secret="your-client-secret",
log_to_console=True, # Optional: Enable console logging
log_to_file="artemis.log" # Optional: Log to file
)
# Trigger a single scan type on an asset
client.assets.trigger_scan("asset_id", ScanType.quick_scan)
# Trigger multiple scan types on an asset
client.assets.trigger_scan("asset_id", [ScanType.quick_scan, ScanType.safety_scan])
- Simple, intuitive API for interacting with Repello's Artemis Platform
- Supports single or multiple scan types for assets in a single request
- Configurable logging (console and/or file)
- Type hints for better IDE integration
The SDK uses client credentials for authentication. You need to provide your client_id
and client_secret
when initializing the client:
client = RepelloArtemisClient(client_id, client_secret)
Head to platform.repello.ai and login to your account, go to the CI/CD page, create a client secret, then copy the client ID and client secret.
RepelloArtemisClient(
client_id: str,
client_secret: str,
log_to_console: bool = False,
log_to_file: str = None
)
Parameters:
client_id
: Your Repello Artemis client IDclient_secret
: Your Repello Artemis client secretlog_to_console
: (Optional) Enable logging to consolelog_to_file
: (Optional) Path to log file
client.assets.trigger_scan(asset_id: str, scan_type: Union[ScanType, List[ScanType]])
Parameters:
asset_id
: ID of the asset to scanscan_type
: Type of scan to perform (fromScanType
enum) or a list of scan types
Available scan types:
ScanType.quick_scan
: Performs a quick scan on the assetScanType.safety_scan
: Performs a safety scan on the assetScanType.owasp
: Performs an OWASP guideline-based scanScanType.mitre
: Performs a MITRE ATT&CK framework-based scanScanType.nist
: Performs a NIST standards-based scanScanType.whistleblower
: Performs a whistleblower vulnerability scanScanType.fingerprint
: Performs a digital fingerprinting scan
See the CHANGELOG.md file for details on all changes and releases.
This project is licensed under the Apache License 2.0 - see the details in the license file.
If you encounter any problems, please file an issue at the GitHub repository.