Python SDK for Boomi Platform API - provides programmatic access to Boomi Enterprise Platform functionality.
Project description
Boomi Python SDK
A modern, intuitive Python SDK for the Boomi Platform API that makes integration development simple and efficient.
🚀 What is Boomi?
Boomi is a leading cloud-native integration platform that connects applications, data, and people. The Boomi Platform API provides programmatic access to manage integrations, deploy processes, monitor executions, and control platform resources.
📦 Installation
pip install boomi
⚡ Quick Start
from boomi import Boomi
# Initialize the SDK
client = Boomi(
account_id="your-account-id",
access_token="your-api-token" # or use username/password
)
# List all environments
environments = client.environment.query_environment()
print(f"Found {len(environments.result)} environments")
# Get a specific process component
process = client.component.get_component(component_id="your-process-id")
print(f"Process: {process.name}")
# Execute a process
from boomi.models import ExecutionRequest
execution = client.execution_request.create_execution_request(
request_body=ExecutionRequest(
process_id="your-process-id",
atom_id="your-atom-id"
)
)
print(f"Execution ID: {execution.request_id}")
🔑 Authentication
The SDK supports multiple authentication methods:
API Token (Recommended)
client = Boomi(
account_id="your-account-id",
access_token="your-api-token"
)
Username/Password
client = Boomi(
account_id="your-account-id",
username="your-username",
password="your-password"
)
💡 Tip: Get your API token from the Boomi Platform: Manage → AtomSphere API Tokens
🎯 Key Features
📋 Process Management
- Create, update, and deploy integration processes
- Manage process components and configurations
- Handle process libraries and shared resources
🔄 Runtime Operations
- Execute processes on-demand
- Monitor execution status and logs
- Manage Atom and Molecule runtimes
🌍 Environment Control
- Manage deployment environments
- Handle environment extensions and configurations
- Control environment roles and permissions
👥 Account Administration
- User and role management
- Account configuration
- License and quota monitoring
📊 Monitoring & Analytics
- Execution records and logs
- Performance metrics
- Error tracking and debugging
🔧 Advanced Usage
Async Support
import asyncio
from boomi import BoomiAsync
async def main():
client = BoomiAsync(
account_id="your-account-id",
access_token="your-api-token"
)
environments = await client.environment.query_environment()
print(f"Found {len(environments.result)} environments")
asyncio.run(main())
Custom Timeout
client = Boomi(
account_id="your-account-id",
access_token="your-api-token",
timeout=30000 # 30 seconds (default: 60 seconds)
)
Error Handling
from boomi.net.transport.api_error import ApiError
try:
process = client.component.get_component(component_id="invalid-id")
except ApiError as e:
print(f"API Error: {e.status} - {e.message}")
📚 Common Use Cases
Deploy a Process
from boomi.models import Deployment
# Create a deployment
deployment = client.deployment.create_deployment(
request_body=Deployment(
component_id="your-process-id",
environment_id="your-environment-id",
packaged_component_id="your-package-id"
)
)
print(f"Deployment created: {deployment.deployment_id}")
Monitor Executions
from boomi.models import ExecutionRecordQueryConfig
# Query recent executions
executions = client.execution_record.query_execution_record(
request_body=ExecutionRecordQueryConfig(
query_filter={
"property": "executionTime",
"operator": "GREATER_THAN",
"value": "2024-01-01T00:00:00Z"
}
)
)
for execution in executions.result:
print(f"Execution {execution.execution_id}: {execution.status}")
Manage Atoms
# List all atoms
atoms = client.atom.query_atom()
for atom in atoms.result:
print(f"Atom: {atom.name} - Status: {atom.status}")
🏗️ Architecture
The SDK is organized into logical service modules:
- Component Services: Process, connector, and component management
- Runtime Services: Atom, execution, and deployment management
- Platform Services: Account, environment, and user management
- Monitoring Services: Logs, metrics, and audit trails
Each service provides intuitive methods following REST conventions:
get_*()- Retrieve single resourcesquery_*()- Search and filter resourcescreate_*()- Create new resourcesupdate_*()- Modify existing resourcesdelete_*()- Remove resources
🔗 Resources
🤝 Contributing
We welcome contributions! Please see our Contributing Guide for details.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
⚠️ Requirements
- Python 3.9 or higher
- Active Boomi account with API access
- Valid API token or username/password credentials
Built with ❤️ for the Boomi developer community
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 boomi-2.0.0.tar.gz.
File metadata
- Download URL: boomi-2.0.0.tar.gz
- Upload date:
- Size: 432.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37756c65a6cf2aad1bd5e6297233bec2a8214b8714950e34301261536b6157bb
|
|
| MD5 |
361f73a93da30055616dae3318b7dcf6
|
|
| BLAKE2b-256 |
2a7f0fee4333bdab7710d1e8d47c0fdce4170dc0969935ee47ec20835d353492
|
Provenance
The following attestation bundles were made for boomi-2.0.0.tar.gz:
Publisher:
publish.yml on RenEra-ai/boomi-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boomi-2.0.0.tar.gz -
Subject digest:
37756c65a6cf2aad1bd5e6297233bec2a8214b8714950e34301261536b6157bb - Sigstore transparency entry: 975810407
- Sigstore integration time:
-
Permalink:
RenEra-ai/boomi-python@7abc018bf413cca48da4d3d684613a4b82186d39 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/RenEra-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7abc018bf413cca48da4d3d684613a4b82186d39 -
Trigger Event:
push
-
Statement type:
File details
Details for the file boomi-2.0.0-py3-none-any.whl.
File metadata
- Download URL: boomi-2.0.0-py3-none-any.whl
- Upload date:
- Size: 986.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01a3c3969b73c608da1a2bd995e3fc26e8f0c647616e842b7bb3f014c77b9442
|
|
| MD5 |
2b69b9665e2248aadaa5c73a71f81b8f
|
|
| BLAKE2b-256 |
9cbebaa626eacb2ad8d4f84b38c463332a392770cd1719c8f707e3e5e4eb4bce
|
Provenance
The following attestation bundles were made for boomi-2.0.0-py3-none-any.whl:
Publisher:
publish.yml on RenEra-ai/boomi-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
boomi-2.0.0-py3-none-any.whl -
Subject digest:
01a3c3969b73c608da1a2bd995e3fc26e8f0c647616e842b7bb3f014c77b9442 - Sigstore transparency entry: 975810410
- Sigstore integration time:
-
Permalink:
RenEra-ai/boomi-python@7abc018bf413cca48da4d3d684613a4b82186d39 -
Branch / Tag:
refs/tags/v2.0.0 - Owner: https://github.com/RenEra-ai
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@7abc018bf413cca48da4d3d684613a4b82186d39 -
Trigger Event:
push
-
Statement type: