Installation and Setup

TethysDash uses Tethys Platform as the backend and React for the frontend.

Quick Installation

  1. Create and activate a Python virtual environment (optional but recommended):

python3 -m venv test_env
source test_env/bin/activate
  1. Install TethysDash:

pip install tethysdash
  1. Setup Tethys and TethysDash databases/services:

tethysdash setup
  1. Start Tethys Portal:

tethysdash start

Development Installation

Install both Python/Tethys dependencies and Node dependencies for full development.

  1. Create and activate a Python virtual environment (optional but recommended):

python3 -m venv test_env
source test_env/bin/activate
  1. Clone the repository:

git clone https://github.com/tethysplatform/tethysapp-tethys_dash
cd tethysapp-tethys_dash/
  1. Install the app in editable mode:

pip install -e .
  1. Setup Tethys and TethysDash databases/services:

tethysdash setup
  1. (Optional) Install plugin examples:

cd ..
git clone https://github.com/FIRO-Tethys/tethysdash_examples
cd tethysdash_examples
pip install -e .
  1. Start Tethys Portal:

tethysdash start

Frontend Development

The webpack dev server proxies the Tethys development server. Run both in separate terminals.

  1. Install Node dependencies:

cd tethysapp-tethys_dash/
npm install --dev
  1. Start Tethys development server:

tethys manage start
  1. Start webpack development server (separate terminal):

npm start

Frontend Build

Build frontend assets before creating a Python distribution:

npm run build

Frontend Test

Lint and test the React frontend:

npm run lint
npm run test

Testing uses tools such as eslint, jest, jsdom, and Testing Library.

Websocket Configuration

Some visualizations (for example, Live Chat and Progress Updating) require WebSocket support. To enable this, configure a Redis server and update the Tethys Portal configuration file accordingly.

For setup details, see the Tethys Platform Django Channels documentation.