Skip to main content

Python SDK for PandaStack — open-source Firecracker microVM sandboxes

Project description

PandaStack Python SDK

Python SDK for PandaStack, open-source Firecracker microVM sandboxes for AI agents and code execution.

Install

pip install pandastack

Auth

Create a token in the PandaStack dashboard, then export it:

export PANDASTACK_TOKEN=psk_...
# Optional for self-hosted/dev:
export PANDASTACK_API=http://localhost:8080

Client() also reads ~/.config/pandastack/config.json when environment variables are unset.

Quickstart

from pandastack import Sandbox

with Sandbox.create(template="code-interpreter") as sb:
    result = sb.run_code("print(2 + 2)")
    print(result.stdout.strip())

Explicit client

from pandastack import Client

client = Client(api_key="psk_xxx", api_url="https://api.pandastack.ai")
sb = client.sandboxes.create(template="code-interpreter")
try:
    print(sb.exec("ls -la").stdout)
finally:
    sb.kill()

Filesystem

sb.filesystem.write("/home/panda/hello.txt", "hello")
print(sb.filesystem.read("/home/panda/hello.txt"))
sb.filesystem.upload("local.csv", "/home/panda/local.csv")
sb.filesystem.download("/home/panda/out.png", "out.png")

Commands and logs

result = sb.commands.run("python3 --version", timeout=10)
for line in sb.logs(stream="both", follow=False):
    print(line)

Lifecycle

sb.set_ttl(600)
sb.set_persistent(True)
print(sb.lifecycle())
sb.pause()
sb.resume()
snapshot_id = sb.snapshot()

Templates

from pandastack import templates

print(templates.list())
build = templates.build("my-template", rootfs_tar="rootfs.tar", size_mb=2048)
print(build.status)
templates.delete("my-template")

Tokens

from pandastack import tokens

new_token = tokens.create("ci")
print(new_token.token)
for token in tokens.list():
    print(token.prefix, token.name)
tokens.revoke(new_token.prefix)

The old pandastack import remains as a deprecated compatibility alias. Use pandastack for new code.

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

pandastack-0.1.1.tar.gz (26.9 kB view details)

Uploaded Source

Built Distribution

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

pandastack-0.1.1-py3-none-any.whl (26.2 kB view details)

Uploaded Python 3

File details

Details for the file pandastack-0.1.1.tar.gz.

File metadata

  • Download URL: pandastack-0.1.1.tar.gz
  • Upload date:
  • Size: 26.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for pandastack-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5f646c79b7eebfc14e2d636831f8545591f2d73987544b1aa68fc734363d798a
MD5 8030276cbed2653c4ca3e31c13514047
BLAKE2b-256 52cc10c9c853f861c19c81ceb5d6d41e0a0a153e4e29c14acf8be14d505e2633

See more details on using hashes here.

File details

Details for the file pandastack-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pandastack-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 26.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.8

File hashes

Hashes for pandastack-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 65c88236a83912fc9bd37eefa0074007402bdb884addd3f910f590caed155655
MD5 f31c97b4346b130c1f080bf9678f28fa
BLAKE2b-256 8e88c92d5ac03fb70c4511d5b969b7ff2fb3a8a43f1d0bffb5d24eb50676cf22

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