Skip to main content

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.

Python 3.9+ PyPI version License: MIT

🚀 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: ManageAtomSphere 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 resources
  • query_*() - Search and filter resources
  • create_*() - Create new resources
  • update_*() - Modify existing resources
  • delete_*() - 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boomi-1.2.8.tar.gz (406.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boomi-1.2.8-py3-none-any.whl (933.5 kB view details)

Uploaded Python 3

File details

Details for the file boomi-1.2.8.tar.gz.

File metadata

  • Download URL: boomi-1.2.8.tar.gz
  • Upload date:
  • Size: 406.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for boomi-1.2.8.tar.gz
Algorithm Hash digest
SHA256 0880014ce30bae6cfd34c4b0973e7878bae4ee3288d1e3004beebfb15d2a91b2
MD5 eb020bfba6f50d78cbba844abe5cd4e7
BLAKE2b-256 11b1b05a34616b7ea80d6047f499c71e9ccd0605fe37e83c7d576d2345f4ff92

See more details on using hashes here.

Provenance

The following attestation bundles were made for boomi-1.2.8.tar.gz:

Publisher: publish.yml on RenEra-ai/boomi-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file boomi-1.2.8-py3-none-any.whl.

File metadata

  • Download URL: boomi-1.2.8-py3-none-any.whl
  • Upload date:
  • Size: 933.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for boomi-1.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a6fd3fa94a2c2360bfd90a966d03a01c9ceaff0b0718da7de9b2c1a543cb76cf
MD5 c01fb129084d7abd8a117b597289077b
BLAKE2b-256 b774e465891ba43f0ba19f81a15e8bb4b631f0c914ceceac3625e489dea11712

See more details on using hashes here.

Provenance

The following attestation bundles were made for boomi-1.2.8-py3-none-any.whl:

Publisher: publish.yml on RenEra-ai/boomi-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page