> ## Documentation Index
> Fetch the complete documentation index at: https://docs.celesto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get started with the Celesto SDK

> Install the Celesto SDK, authenticate with an API key, create your first sandboxed computer, run a command in it, and clean up the resources.

This quickstart creates one sandboxed computer, runs `uname -a`, prints the output, and deletes the computer. You can use the language selector to switch the whole example between Python and TypeScript.

## Before you start

Get an API key from [celesto.ai](https://celesto.ai) under **Settings > Security**. Set it as `CELESTO_API_KEY` before you run the examples.

<View title="Python" icon="python">
  ## Install the Python SDK

  ```bash theme={null}
  pip install celesto
  ```

  ## Run your first computer

  Create `quickstart.py`:

  ```python quickstart.py theme={null}
  import os

  from celesto import Celesto


  if not os.environ.get("CELESTO_API_KEY"):
      raise RuntimeError("Set CELESTO_API_KEY before running this script.")

  with Celesto() as client:
      computer = client.computers.create(template_id="scratch")
      print(f"Computer ready: {computer['name']}")

      try:
          result = client.computers.exec(computer["id"], "uname -a")
          print(result["stdout"].strip())
      finally:
          client.computers.delete(computer["id"])
  ```

  Run it:

  ```bash theme={null}
  export CELESTO_API_KEY="your-api-key"
  python quickstart.py
  ```

  <Check>
    The script prints the computer name, prints Linux system information, and deletes the computer.
  </Check>

  ## Next step

  Learn how to [create computers with templates](/celesto-sdk/computers#use-a-template) when your agent needs coding tools already installed.
</View>

<View title="TypeScript" icon="js">
  ## Install the TypeScript SDK

  ```bash theme={null}
  npm install @celestoai/sdk
  npm install --save-dev tsx typescript
  ```

  ## Run your first computer

  Create `quickstart.ts`:

  ```ts quickstart.ts theme={null}
  import { Celesto } from "@celestoai/sdk";

  const token = process.env.CELESTO_API_KEY;
  if (!token) {
    throw new Error("Set CELESTO_API_KEY before running this script.");
  }

  const client = new Celesto({ token });
  const computer = await client.computers.create({ templateId: "scratch" });
  console.log(`Computer ready: ${computer.name}`);

  try {
    const result = await client.computers.exec(computer.id, "uname -a");
    console.log(result.stdout.trim());
  } finally {
    await client.computers.delete(computer.id);
  }
  ```

  Run it:

  ```bash theme={null}
  export CELESTO_API_KEY="your-api-key"
  npx tsx quickstart.ts
  ```

  <Check>
    The script prints the computer name, prints Linux system information, and deletes the computer.
  </Check>

  ## Next step

  Learn how to [create computers with templates](/celesto-sdk/computers#use-a-template) when your agent needs coding tools already installed.
</View>
