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
requestslibrary (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 (fromScanTypeenum) 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.