{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "4f3d16b0",
   "metadata": {},
   "source": [
    "# How to set up and install Boulder Opal\n",
    "\n",
    "**Get the accounts and development tools required to run Boulder Opal**\n",
    "\n",
    "Boulder Opal is a versatile Python toolset that provides everything a research team needs to automate and optimize quantum hardware performance at scale for quantum computing and quantum sensing.\n",
    "\n",
    "In this guide, you will learn how to:\n",
    "1. Set up accounts with Q-CTRL for use with Boulder Opal.\n",
    "2. Set up an environment for use with Boulder Opal.\n",
    "3. Install the Boulder Opal Python package.\n",
    "\n",
    "## 1. Sign up for an account\n",
    "\n",
    "[Sign up for a Q-CTRL account](https://boulder.q-ctrl.com/signup) to get started with Boulder Opal for free.\n",
    "\n",
    "## 2. Set up your environment\n",
    "To get started quickly and easily, we recommend [Anaconda](https://www.anaconda.com/)—a free and open-source distribution of the Python and R programming languages for scientific computing. Boulder Opal requires Python 3.9 or later.\n",
    "\n",
    "## 3. Install the Boulder Opal Python package\n",
    "Install the Boulder Opal Python package using pip on the command line."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7df4722b",
   "metadata": {
    "vscode": {
     "languageId": "plaintext"
    }
   },
   "outputs": [],
   "source": [
    "pip install boulder-opal"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e987e5b1",
   "metadata": {},
   "source": [
    "Several of the Boulder Opal [user guides](https://docs.q-ctrl.com/boulder-opal) and [application notes](https://docs.q-ctrl.com/boulder-opal/toolkit/apply) use the [Q-CTRL Visualizer](https://docs.q-ctrl.com/references/qctrl-visualizer) and [Q-CTRL Open Controls](https://github.com/qctrl/open-controls) packages. You can also install them using `pip`.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "7553f22d",
   "metadata": {
    "vscode": {
     "languageId": "plaintext"
    }
   },
   "outputs": [],
   "source": [
    "pip install qctrl-visualizer qctrl-open-controls"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "79fd3a8c",
   "metadata": {},
   "source": [
    "If you already have the `boulder-opal` package installed and wish to update to the latest version, use the `upgrade` flag in `pip`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "a943381e",
   "metadata": {
    "vscode": {
     "languageId": "plaintext"
    }
   },
   "outputs": [],
   "source": [
    "pip install --upgrade boulder-opal"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6371a6ad",
   "metadata": {},
   "source": [
    "You can similarly update `qctrl-visualizer` and `qctrl-open-controls`.\n",
    "\n",
    "For more information on managing your Boulder Opal instance, read through our [set up](https://docs.q-ctrl.com/boulder-opal/toolkit/discover/set-up) documentation."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
