Installation and Setup
TethysDash uses Tethys Platform as the backend and React for the frontend.
Quick Installation
Create and activate a Python virtual environment (optional but recommended):
python3 -m venv test_env
source test_env/bin/activate
Install TethysDash:
pip install tethysdash
Setup Tethys and TethysDash databases/services:
tethysdash setup
Start Tethys Portal:
tethysdash start
Development Installation
Install both Python/Tethys dependencies and Node dependencies for full development.
Create and activate a Python virtual environment (optional but recommended):
python3 -m venv test_env
source test_env/bin/activate
Clone the repository:
git clone https://github.com/tethysplatform/tethysapp-tethys_dash
cd tethysapp-tethys_dash/
Install the app in editable mode:
pip install -e .
Setup Tethys and TethysDash databases/services:
tethysdash setup
(Optional) Install plugin examples:
cd ..
git clone https://github.com/FIRO-Tethys/tethysdash_examples
cd tethysdash_examples
pip install -e .
Start Tethys Portal:
tethysdash start
Frontend Development
The webpack dev server proxies the Tethys development server. Run both in separate terminals.
Install Node dependencies:
cd tethysapp-tethys_dash/
npm install --dev
Start Tethys development server:
tethys manage start
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.