Skip to main content

A Tethys App for no code/low code web application development app

Project description

TethysDash

This app was created using an experimental Tethys + React app scaffold. It uses React for the frontend of the app and Tethys as the backend. For more detailed information, check the official TethysDash documentation

Quick Installation

  1. If creating a new python environment, create and activate it
    python3 -m venv test_env
    source test_env/bin/activate
  1. Install TethysDash
    pip install tethysdash
  1. Setup Tethys and TethysDash Databases and Services
    tethysdash setup
  1. Start Tethys Portal
    tethysdash start

Development Installation

You need to install both the Tethys dependencies and the node dependencies:

  1. If creating a new python environment, create and activate it
    python3 -m venv test_env
    source test_env/bin/activate
  1. Clone the Repo
git clone https://github.com/tethysplatform/tethysapp-tethys_dash
  1. Install the app in Tethys Platform
cd tethysapp-tethys_dash/
pip install -e .
  1. Setup Tethys and TethysDash Databases and Services
    tethysdash setup
  1. Install Plugin Examples (not necessary but recommended)
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 is configured to proxy the Tethys development server (see webpack.config.js). The app endpoint will be handled by the webpack development server and all other endpoints will be handled by the Tethys (Django) development server. As such, you will need to start both in separate terminals.

  1. Install the node and dependencies
cd tethysapp-tethys_dash/
npm install --dev
  1. Start Tethys development server
tethys manage start
  1. Start webpack development server (in separate terminal)
npm start

Frontend Build

Webpack is configured to bundle and build the React app into the tethysapp/<app_package>/public/frontend directory. Before building a Python distribution for release, you should build using this command:

npm run build

Serving the built frontend in development

The production build emits content-hashed filenames (e.g. main.<hash>.js) and a manifest.json mapping logical names to the hashed files. Mode detection is automatic:

  • Hit Django directly (e.g. localhost:8000/apps/tethysdash/) → the page loads the hashed bundle named in manifest.json, served straight from the app's public/frontend/ directory.
  • Hit the webpack dev server (e.g. localhost:8080) → the dev server proxies the page request to Django with an X-Webpack-Dev-Server header. Django detects it and renders the unhashed main.js URL, which the dev server serves from memory.

No environment variable or DEBUG toggle is required to switch between the two.

Frontend Test

Use the following commands to lint and test the React portion of the app.

npm run lint
npm run test

The linting capability is powered by eslint and a number of plugins for React. The testing capabilities include jest, jsdom, testing-framework, user-event, and a few other JavaScript testing utilties to make it easy to test the frontend of the React-Tethys app.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tethysdash-0.19.16.tar.gz (90.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tethysdash-0.19.16-py3-none-any.whl (42.9 MB view details)

Uploaded Python 3

File details

Details for the file tethysdash-0.19.16.tar.gz.

File metadata

  • Download URL: tethysdash-0.19.16.tar.gz
  • Upload date:
  • Size: 90.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for tethysdash-0.19.16.tar.gz
Algorithm Hash digest
SHA256 dca88ee46ddb44df271929ca21cfecca7d47f8f3e5239db134bd7b2160694e4a
MD5 9a727f1ffb4a8331cda7367682a9e603
BLAKE2b-256 1b49a94a95a0bd192d5b466bfffcd962e2c7a1a96437e2250b34b4c77c4198ae

See more details on using hashes here.

File details

Details for the file tethysdash-0.19.16-py3-none-any.whl.

File metadata

  • Download URL: tethysdash-0.19.16-py3-none-any.whl
  • Upload date:
  • Size: 42.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.11

File hashes

Hashes for tethysdash-0.19.16-py3-none-any.whl
Algorithm Hash digest
SHA256 ec3c28cc93ef254027149a221d07424dd37d545329dda49544f9d2c0199a197f
MD5 85b697160cb61f5162f1cf3eb852330d
BLAKE2b-256 94ef2e89bb098c272312c60269e110d0eaa1a2927e1cddde555b341455b918cd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page