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. When DEBUG=True, the Tethys server normally references the unhashed main.js served from memory by the webpack dev server. If you want to serve the built bundle directly from the Tethys server (e.g. at localhost:8000) without running the webpack dev server or disabling DEBUG, set the TETHYSDASH_SERVE_BUILT_FRONTEND environment variable when starting the server:

TETHYSDASH_SERVE_BUILT_FRONTEND=true tethys manage start

The variable must be set in the shell that launches the server so the runserver child process inherits it. With it set, the page loads the hashed bundle from manifest.json; without it, behavior is unchanged.

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.15.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.15-py3-none-any.whl (42.9 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tethysdash-0.19.15.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.15.tar.gz
Algorithm Hash digest
SHA256 de76b94dd6fa04126d727b2b53e79f7a8d4d45b2bed28f80269d3cdb66b53045
MD5 c5d6738f733bef37d194324e584d96d6
BLAKE2b-256 7e5d83934cc1ffc42bb97ca584e28be38716057030b4520881a98fe01f60c9a7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tethysdash-0.19.15-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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 df5bc1d6862744fc0471cd9cb76a62a92a73ba5290b0e92f47a494c9ad1dddb0
MD5 33d2e2bb62c164185f600efb61494a74
BLAKE2b-256 827963c07d86c52937273851638af4413d69e87e25b06b3cdb3ee26afff02f3e

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