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

# Quickstart

The fastest end-to-end workflow is:

1. Define a template in code.
2. Build it once.
3. Launch sandboxes from the returned template ID.

<CodeGroup>
  ```ts JavaScript & TypeScript icon="js" theme={"system"}
  import { Sandbox, Template } from "novita-sandbox"

  const template = Template().fromImage("python:3.12")

  const build = await Template.build(template, "my-python-template", {
    cpuCount: 2,
    memoryMB: 1024,
  })

  console.log(build.templateId)
  console.log(build.buildId)

  const sandbox = await Sandbox.create(build.templateId)
  const result = await sandbox.commands.run("python --version")

  console.log(result.stdout)

  await sandbox.kill()
  ```

  ```python Python icon="python" theme={"system"}
  from novita_sandbox.core import Sandbox, Template

  template = Template().from_image("python:3.12")

  build = Template.build(
      template,
      "my-python-template",
      cpu_count=2,
      memory_mb=1024,
  )

  print(build.template_id)
  print(build.build_id)

  sandbox = Sandbox.create(build.template_id)
  result = sandbox.commands.run("python --version")

  print(result.stdout)

  sandbox.kill()
  ```
</CodeGroup>
