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

# Installation

> pip install minerva-sdk — plus opt-in extras for pandas DataFrames and pretty terminal tables.

```bash theme={null}
pip install minerva-sdk
```

The base install pulls in only `httpx` and `pydantic`. Everything else is an
opt-in extra so the wheel stays small.

## Extras

| Extra     | Adds                     | Why                                                 |
| --------- | ------------------------ | --------------------------------------------------- |
| `pandas`  | `pandas`                 | `result.to_df()` returns a DataFrame                |
| `table`   | `tabulate`               | `result.to_table()` for pretty terminal output      |
| `gsheet`  | `gspread`, `google-auth` | `mc.io.*_from_sheet` / `to_sheet` for Google Sheets |
| `excel`   | `openpyxl`               | `mc.io.*_from_excel` / `to_excel` for `.xlsx`       |
| `storage` | `boto3`                  | `mc.storage.*` for bulk upload / download           |
| `all`     | everything above         | One-shot                                            |

```bash theme={null}
pip install "minerva-sdk[pandas]"
pip install "minerva-sdk[table]"
pip install "minerva-sdk[gsheet]"
pip install "minerva-sdk[excel]"
pip install "minerva-sdk[storage]"
pip install "minerva-sdk[all]"
```

<Note>
  Use quotes around `minerva-sdk[extra]` — zsh interprets `[ ]` as a glob without them.
</Note>

## Python versions

* Required: **3.11+**
* Tested: 3.11, 3.12, 3.13, 3.14

The SDK is fully type-annotated (ships `py.typed`). Run `mypy` / `pyright`
against your code and you'll get static checking on method args + response
shapes for free.

## Verify the install

```bash theme={null}
python -m minerva --version
# → minerva-sdk 0.0.x

python -m minerva
# Prints the banner + a usage cheat-sheet.
```

From Python:

```python theme={null}
>>> import minerva
>>> minerva.__version__
'0.0.x'
>>> from minerva import Minerva
>>> help(Minerva)        # class + method docstrings
```
