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

# Plugins

Some Atoti features require large additional libraries and might not be useful in every projects.
To keep the core library as light as possible, these features are packaged into separate plugins that can be installed when needed.

## Available plugins

### Data loading

| [`atoti_jdbc`](../api/atoti_jdbc#module-atoti_jdbc)          | Code to interact with databases through JDBC. |
| ------------------------------------------------------------ | --------------------------------------------- |
| [`atoti_kafka`](../api/atoti_kafka#module-atoti_kafka)       | Code to interact with Kafka streams.          |
| [`atoti_parquet`](../api/atoti_parquet#module-atoti_parquet) | Code to load Apache Parquet files.            |

#### Cloud storage

| [`atoti_storage_aws`](../api/atoti_storage_aws#module-atoti_storage_aws)       | Code to load CSV and Parquet files from AWS S3 into Atoti tables.               |
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------- |
| [`atoti_storage_azure`](../api/atoti_storage_azure#module-atoti_storage_azure) | Code to load CSV and Parquet files from Azure Blob Storage into Atoti tables.   |
| [`atoti_storage_gcp`](../api/atoti_storage_gcp#module-atoti_storage_gcp)       | Code to load CSV and parquet files from Google Cloud Storage into Atoti tables. |

These connectors open tens of HTTP connections to the cloud storage in order to transfer the data in parallel.
They then transparently reassemble the blocks directly in memory.
They can load up to 300 GB in about 5 minutes.
Some parameters can impact the overall download speed:

* Bandwidth of the network interface.
* Speed of the CPU cores since HTTPS connections and client side-encryption consume CPU resources.
* File size: small files will not have good download speed (\< 60 MB/s).
* Type (hot/cold) of the storage: hot storage is faster.
* Data locality: best when the host running Atoti and the data are in the same cloud region.

### DirectQuery

See [Using DirectQuery](../guides/using_directquery).

| [`atoti_directquery_bigquery`](../api/atoti_directquery_bigquery#module-atoti_directquery_bigquery)       | Code to use DirectQuery on [Google BigQuery](https://cloud.google.com/bigquery).                                    |
| --------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| [`atoti_directquery_clickhouse`](../api/atoti_directquery_clickhouse#module-atoti_directquery_clickhouse) | Code to use DirectQuery on [ClickHouse](https://clickhouse.com).                                                    |
| [`atoti_directquery_databricks`](../api/atoti_directquery_databricks#module-atoti_directquery_databricks) | Code to use DirectQuery with [Databricks](https://www.databricks.com).                                              |
| [`atoti_directquery_jdbc`](../api/atoti_directquery_jdbc#module-atoti_directquery_jdbc)                   | Code to use DirectQuery through [JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity).                   |
| [`atoti_directquery_mssql`](../api/atoti_directquery_mssql#module-atoti_directquery_mssql)                | Code to use DirectQuery with [Microsoft SQL Server](https://www.microsoft.com/en-us/sql-server).                    |
| [`atoti_directquery_redshift`](../api/atoti_directquery_redshift#module-atoti_directquery_redshift)       | Code to use DirectQuery on Amazon [Redshift](https://aws.amazon.com/redshift/).                                     |
| [`atoti_directquery_snowflake`](../api/atoti_directquery_snowflake#module-atoti_directquery_snowflake)    | Code to use DirectQuery on [Snowflake](https://www.snowflake.com).                                                  |
| [`atoti_directquery_synapse`](../api/atoti_directquery_synapse#module-atoti_directquery_synapse)          | Code to use DirectQuery on [Azure Synapse Analytics](https://azure.microsoft.com/en-us/services/synapse-analytics). |

### Administration & Monitoring

| [`atoti_observability`](../api/atoti_observability#module-atoti_observability)             | Plugin enhancing observability of Atoti sessions.                         |
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| [`atoti_spring_boot_admin`](../api/atoti_spring_boot_admin#module-atoti_spring_boot_admin) | Plugin enabling [Spring Boot Admin](https://docs.spring-boot-admin.com/). |

## Installation

The plugins can be installed as Python packages.
For instance, to install the DirectQuery JDBC plugin:

With [uv](https://docs.astral.sh/uv):

```bash theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
uv add "atoti[directquery-jdbc]"
```

Or with [pip](https://pip.pypa.io):

```bash theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
pip install "atoti[directquery-jdbc]"
```

Multiple plugins can be installed with the “extras” syntax:

```bash theme={"languages":{"custom":["/engine/python-sdk/0.9/languages/pycon.tmLanguage.json"]}}
uv add "atoti[directquery-jdbc,jupyterlab,spring-boot-admin]"
```
