# Installing the CLI

## Prerequisites

* **Python 3.7 or newer** — required for both the CLI and the Python API.
* **A Nuvolos API key** — see below.

## Create an API key

An API key is a long, randomly generated string that acts like a password. When the CLI or the Python API sends a request to Nuvolos, it includes this key so the server knows the request comes from you — without you having to type your username and password every time.

1. Open [**User Settings → API ACCESS**](https://app.nuvolos.cloud/user/settings/api-access).
2. Click **+ ADD NEW API KEY**.
3. Copy the key and store it somewhere safe (e.g. a password manager).

{% hint style="warning" %}
The API key is only displayed once, at creation time. If you lose it, you will need to generate a new one.
{% endhint %}

The key is automatically configured for every Nuvolos application you start — no extra setup is needed if you only use the CLI inside Nuvolos.

## Install the CLI

Run the following command in a terminal:

```bash
pip install -U nuvolos-cli
```

Verify the installation:

```bash
nuvolos info
```

This prints your current user, organisation, and API key status.

## Configure a local installation

If you installed the CLI on your own computer (outside a Nuvolos application), you need to tell it which API key to use:

```bash
nuvolos config --api-key <YOUR_API_KEY>
```

Replace `<YOUR_API_KEY>` with the key you copied earlier. After this, all CLI commands will authenticate against your Nuvolos account.

## Install the Python API

If you prefer to work in Python scripts or notebooks rather than the shell, install the Python client instead of (or alongside) the CLI:

```bash
pip install -U nuvolos-client-api
```

The Python API uses the same API key. Inside a Nuvolos application the key is detected automatically; on your local machine, pass it when creating a client instance (see the [nuvolos-client-api README](https://github.com/nuvolos-cloud/nuvolos-client-api) for details).


---

# 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.nuvolos.com/features/nuvolos-cli-and-python-api/installing-the-cli.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.
