Skip to main content

Python SDK for FireVM SaaS - Execute code in isolated Firecracker VMs

Project description

FireVM Python SDK

Official Python client for executing code in isolated Firecracker VMs.

Installation

pip install firevm-sdk

Or install from source:

cd sdk/python
pip install -e .

Quick Start

from firevm_sdk import FireVMClient

# Initialize client with your API key
client = FireVMClient(api_key="your_api_key_here")

# Create a VM
vm = client.create_vm(name="my-vm")
print(f"VM created: {vm.vm_id}")

# Execute Python code
result = client.execute_python(vm.vm_id, """
print("Hello from FireVM!")
print(f"2 + 2 = {2 + 2}")
""")

print(result.stdout)  # Hello from FireVM!\n2 + 2 = 4
print(result.exit_code)  # 0

Examples

Execute Python Code

result = client.execute_python(vm.vm_id, "print('Hello World')")
print(result.stdout)  # Hello World

Execute Bash Commands

result = client.execute_bash(vm.vm_id, "ls -la && whoami")
print(result.stdout)

Handle Errors

result = client.execute_python(vm.vm_id, "1/0")
if result.exit_code != 0:
    print(f"Error: {result.stderr}")

Multiple Languages

# Python
client.execute(vm.vm_id, "print('Python!')", language="python")

# Bash
client.execute(vm.vm_id, "echo 'Bash!'", language="bash")

# Node.js
client.execute(vm.vm_id, "console.log('JavaScript!')", language="nodejs")

API Reference

FireVMClient

FireVMClient(api_key: str, base_url: str = "https://firevm-backend-345160625255.asia-northeast1.run.app")

Initialize the FireVM client.

create_vm()

create_vm(name: str, tier: str = "small", wait: bool = True) -> VM

Create a new VM instance.

Parameters:

  • name: VM name
  • tier: VM size ("small", "medium", "large")
  • wait: Wait for VM to be ready (default: True)

execute()

execute(vm_id: str, code: str, language: str = "python", timeout: int = 30, wait: bool = True) -> ExecutionResult

Execute code in a VM.

Parameters:

  • vm_id: VM identifier
  • code: Code to execute
  • language: "python", "bash", or "nodejs"
  • timeout: Execution timeout in seconds
  • wait: Wait for execution to complete

Returns: ExecutionResult with:

  • stdout: Standard output
  • stderr: Standard error
  • exit_code: Exit code (0 = success)
  • execution_time: Time taken in seconds
  • error: Error message if any

Get Your API Key

  1. Visit https://firevm-frontend-345160625255.asia-northeast1.run.app
  2. Sign up for an account
  3. Copy your API key from the dashboard

Support

License

MIT License - see LICENSE file for details.

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

firevm_sdk-0.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

firevm_sdk-0.1.0-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file firevm_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: firevm_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for firevm_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 66a9ac78f5bf942317d30619be1ba88a3b0ae1e961e6b2f8484bba77dad54083
MD5 a1d4e5a3b4396b7560b475107f5e6c5c
BLAKE2b-256 c1ca0f9a04fd429b9f9bcaec38a527d76596beec2e18f48ebeb7055012145fe7

See more details on using hashes here.

File details

Details for the file firevm_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: firevm_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.2

File hashes

Hashes for firevm_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3ac467344cf0b545257caecafd482c56c8cb70df0cd75c94465ac23c00e4dea7
MD5 e7d5fe14933dd89c7db323f7f7899716
BLAKE2b-256 96c07a74cfe77a4d47d45e7b7ca5976cfba519dec14c14f88e2e711301092075

See more details on using hashes here.

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