# Pre-installed Python Libraries in the BuildingPro Suites System

## Standard-Installed Libraries

The following Python libraries are already installed in the BuildingPro Suites system and are available for your scripts:

* **pytz**: Provides support for time zones in Python.
* **numpy**: A fundamental library for numerical calculations and working with arrays.
* **pandas**: A powerful library for data analysis and manipulation.
* **keras\_tuner**: A library for hyperparameter optimization for deep learning models.
* [**python-eliona-api-client2**](https://github.com/eliona-smart-building-assistant/python-eliona-api-client2/tree/master): A Python client for the BuildingPro Suites API, which is installed directly from the GitHub repository. This library enables full access to all BuildingPro Suites services, allowing you to easily interact with the various functions and data sources of the BuildingPro Suites system.
* **Python 3.12**: All standard modules and functions of Python version 3.12 are available. [➔ \[External Link\] Python 3.12 Libraries](https://docs.python.org/release/3.12.0/library/index.html)

***

## Installing Additional Python Libraries

{% hint style="info" %}
If you need libraries that are not installed by default, you can install them yourself in the Grafana container (SSR). Proceed as follows:
{% endhint %}

1. **Switch to the container shell** Connect interactively to the SSR container:

   ```bash
   docker exec -it ssr /bin/bash
   ```
2. **Install package** Install the desired Python package to the external target directory:

   ```bash
   pip install --target /ssr/pip_external <package_name>
   ```

   * The parameter `--target /ssr/pip_external` ensures that the package is installed in a writable directory outside the core environment.
3. **Restart container** To make the newly installed package available for the next script run, restart the container:

   ```bash
   docker restart ssr
   ```
4. **Check for available space** By default, **1 GB** of storage space is available in the `/ssr/pip_external` directory. Make sure there is enough free space before installing large packages.

{% hint style="warning" %}
If `pip install` ends with a non-zero return code, this does not automatically indicate an error—as long as no other error messages are displayed, the installation was usually successful.
{% endhint %}
