.. _installation: Installation ============ AIDRIN can be used in **three ways**: 1. **Run locally from source** — best for development or using the latest GitHub version. 2. **Install as a Python package via PyPI** — simplest for using AIDRIN in scripts or notebooks. 3. **Use the hosted web application** — no installation required. Choose the option that best fits your workflow. ---- Option 1: Local Installation from Source ---------------------------------------- Works on **macOS**, **Linux**, and **Windows** (via WSL or Anaconda). Prerequisites ~~~~~~~~~~~~~ Before installing AIDRIN locally, ensure you have: - `Python 3.10 `_ - `Conda `_ (Anaconda or Miniconda) - `Git `_ for cloning the repository Step 1: Clone the Repository ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash git clone https://github.com/idtlab/AIDRIN.git cd AIDRIN Step 2: Set Up the Conda Environment ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code-block:: bash conda create -n aidrin-env python=3.10 -y conda activate aidrin-env python -m pip install -e . This installs AIDRIN and its dependencies in editable mode. **Optional extras:** .. code-block:: bash # AI-generated explanations of metric results (OpenAI-compatible APIs) pip install -e ".[llm]" # Remote metric execution via Globus Compute pip install -e ".[globus]" # OpenTelemetry tracing pip install -e ".[telemetry]" # All optional features pip install -e ".[llm,globus,telemetry]" Step 3: Install Required Services ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AIDRIN uses **Redis** for background task management and **Celery** for asynchronous execution. Install Redis Locally """"""""""""""""""""" **macOS (Homebrew)**: .. code-block:: bash brew install redis **Ubuntu/Debian**: .. code-block:: bash sudo apt update sudo apt install redis-server **Windows**: - Use `Windows Subsystem for Linux (WSL) `_ and follow Linux instructions, or - Download Redis from `Microsoft’s archive `_. Verify Redis is running: .. code-block:: bash redis-cli ping Expected output: ``PONG`` Step 4: Start the Application ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Open **three terminal windows/tabs**: Terminal 1 – Redis Server """"""""""""""""""""""""" .. code-block:: bash redis-server --port 6379 Terminal 2 – Celery Worker """""""""""""""""""""""""" .. code-block:: bash conda activate aidrin-env PYTHONPATH=. celery -A worker.make_celery worker --beat --loglevel=info Terminal 3 – Flask Server """"""""""""""""""""""""" .. code-block:: bash conda activate aidrin-env flask --app 'web:create_app()' run --debug Once running, visit: `http://127.0.0.1:5000 `_ ---- Option 2: Install from PyPI --------------------------- For quick use in Python scripts or Jupyter notebooks: .. code-block:: bash pip install -i https://test.pypi.org/simple/ aidrin== Replace ```` with the latest from `PyPI versions `_. Verify installation: .. code-block:: python import aidrin print(aidrin.__version__) See :ref:`usage` for examples. ---- Option 3: Use the Hosted Web Application ---------------------------------------- For zero setup, use the hosted version at: `https://aidrin.io `_ Advantages: - No installation or dependencies - Runs entirely in the browser - Same features as the local version - All processing is server-side Simply upload datasets and run analyses directly from the interface. ---- .. note:: Both the **local** and **web** versions share the same core codebase. The web version is pre-configured and ready to use, while the local version offers flexibility for customization.