# Before you begin

*Estimated read time: 3 minutes*

These guides are written to be self-contained. Most code examples should work out of the box, with very few exceptions.

## Prerequisites

Before starting, make sure you've completed the following setup:

{% stepper %}
{% step %}
**Python virtual environment**

Use a dedicated Python virtual environment with both [PySDK](https://docs.degirum.com/pysdk) and [DeGirum Tools](https://docs.degirum.com/degirum-tools) installed.

[Click here](https://docs.degirum.com/pysdk/installation) for instructions on setting up a Python virtual environment and installing PySDK (`degirum`) and DeGirum Tools (`degirum_tools`).

We recommend avoiding your system-level Python installation to prevent conflicts.
{% endstep %}

{% step %}
**Axelera runtime and drivers**

Make sure the Axelera runtime and drivers are installed.

[Click here](https://docs.degirum.com/pysdk/runtimes-and-drivers/axelera) for Axelera runtime and driver installation instructions.
{% endstep %}

{% step %}
**Supported hardware**

Check that your hardware is recognized by PySDK. Run `degirum sys-info` and look for a \`metis' device.

Here is an example for Axelera Metis:

{% code overflow="wrap" %}

```bash
Devices:
  AXELERA/METIS:
  - '@Index': 0
    DeviceName: metis-0:3a:0
    SDKVersion: v1.4.1
  - '@Index': 1
  - '@Index': 2
  - '@Index': 3
```

{% endcode %}

[Click here](https://docs.degirum.com/pysdk/installation#verification) for full instructions on verifying your Axelera and PySDK installation.
{% endstep %}

{% step %}
**Access to the DeGirum AI Hub**

For access to pre-verified models and cloud-hosted hardware, install an AI Hub Workspace Token into your PySDK setup.

While not required, it simplifies model access and improves the development experience.

You can [learn what a Workspace Token is](https://docs.degirum.com/ai-hub/workspaces/workspace-tokens) and [follow these instructions to install one](https://docs.degirum.com/pysdk/user-guide-pysdk/command-line-interface#manage-ai-hub-tokens).

To verify that your token is active, run `degirum token status`:

{% code overflow="wrap" %}

```bash
token: <token>
$schema: https://hub.degirum.com/schemas/GetTokenInfoOutputBody.json
created_at: '2025-01-01T11:11:11.111111Z'
description: <description>
value: <token>
expiration: '2025-01-02T11:11:11.111111Z'
user: <your_email>
space: <your_workspace>
```

{% endcode %}
{% endstep %}
{% endstepper %}

## Optional: improve your deployment environment

Although not required, the tools below can enhance your experience.

{% stepper %}
{% step %}
**IDE support**

We recommend using an integrated development environment like [Visual Studio Code](https://code.visualstudio.com/) (VS Code), which makes it easier to run and edit PySDK and DeGirum Tools code compared to the default Python REPL or plain text files.
{% endstep %}

{% step %}
**Jupyter Notebook extension**

Many examples in our guides are written in Jupyter Notebook and can run directly in your IDE or Google Colab.

[Click here](https://code.visualstudio.com/docs/datascience/jupyter-notebooks) for details on the Jupyter Notebook extension for VS Code.
{% endstep %}
{% endstepper %}

## Core concepts to know

To get the most out of these guides, it's helpful to be familiar with these PySDK and AI Hub [concepts](https://docs.degirum.com/pysdk/user-guide-pysdk/core-concepts):

* **AI inference engine**: the component that runs AI models to make predictions.
* **AI model**: a trained model that performs tasks like object detection or face recognition.
* **AI Model Zoo**: a collection of ready-to-use models available to the inference engine.

Understanding these concepts will give you the foundation to navigate the examples and tools confidently.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.degirum.com/axelera/basics/before-you-begin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
