Skip to main content

Box Public API v1

Project description

ascii-box-sdk

Use Box from your application code.

Install

pip install ascii-box-sdk

Links

Flow

  1. Create an API key in the Box dashboard.
  2. Create or resume a Box.
  3. Prompt the Box.
  4. Read events until the work is done.
  5. Open desktop access when you need browser or GUI visibility.
  6. Stop, resume, fork, or delete the Box according to your retention policy.

Notes

  • Put cleanup in finally: stop/archive or delete Boxes you create for tests.
  • Treat API key secrets, Box secrets, SSH keys, and desktop stream URLs as sensitive.
  • updateSecrets / update_secrets replaces the entire secret setup. Read the current setup first and send every env var and secret file that should remain.
  • rotateApiKey / rotate_api_key rotates the raw secret in place. Store the returned secret immediately; it is shown once.
  • Repository selection is idempotent. Selecting an already-selected repository updates its base branch.

Example

import os
import time

from ascii_box_sdk import ApiClient, Configuration
from ascii_box_sdk.api.box_api import BoxApi
from ascii_box_sdk.models.create_box_request import CreateBoxRequest
from ascii_box_sdk.models.prompt_request import PromptRequest
from ascii_box_sdk.models.update_box_request import UpdateBoxRequest

config = Configuration(
    host=os.getenv("BOX_BASE_URL", "https://ascii.dev/api/box/v1"),
    access_token=os.environ["BOX_API_KEY"],
)

box_id = None
with ApiClient(config) as client:
    box = BoxApi(client)

    try:
        created = box.create(CreateBoxRequest(ttl_seconds=1800))
        box_id = created.box.id

        box.update(box_id, UpdateBoxRequest(name="sdk-demo"))

        while box.get(box_id).box.state not in {"ready", "idle"}:
            time.sleep(2)

        box.prompt(
            box_id,
            PromptRequest(
                provider="codex",
                prompt="Inspect the repository and summarize the test command.",
            ),
        )

        events = box.events(box_id)
        print(events.events)
    finally:
        if box_id:
            box.stop(box_id)

License

This SDK is MIT licensed. Box, the Box API, the Box CLI, and the Box product are proprietary.

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

ascii_box_sdk-0.0.11.tar.gz (61.0 kB view details)

Uploaded Source

Built Distribution

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

ascii_box_sdk-0.0.11-py3-none-any.whl (128.4 kB view details)

Uploaded Python 3

File details

Details for the file ascii_box_sdk-0.0.11.tar.gz.

File metadata

  • Download URL: ascii_box_sdk-0.0.11.tar.gz
  • Upload date:
  • Size: 61.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ascii_box_sdk-0.0.11.tar.gz
Algorithm Hash digest
SHA256 e1ac50ce77a3c747178629d8f0a6fc5efb6e00c1b91fd46b0098ab8cf42bd326
MD5 98e5e2773509ea2f011f8969e2962652
BLAKE2b-256 00a08c832a354aca480094263f6d7232c677b2bcd7fe9b0324dca9681a94a4c6

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascii_box_sdk-0.0.11.tar.gz:

Publisher: release-box-sdks.yml on ariana-dot-dev/ariana-ide-private

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

File details

Details for the file ascii_box_sdk-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: ascii_box_sdk-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 128.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ascii_box_sdk-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 f94fe59991e75c5bc17f3c295a2d9fb36a353a634a3c1011c9328d5d9cf8555e
MD5 01b1fb293f60d2fa528f9de957e1b08b
BLAKE2b-256 9230dfd7a606b6fa7f2ca564ec8513a5d9f1081d42289b0edacbec2a09120f27

See more details on using hashes here.

Provenance

The following attestation bundles were made for ascii_box_sdk-0.0.11-py3-none-any.whl:

Publisher: release-box-sdks.yml on ariana-dot-dev/ariana-ide-private

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