Last Updated: September 2019
Refer to this article for information about each new release of Tethys Platform.
Use this presentation in workshops and training courses to provide an overview of the latest features in Tethys Platform 3.0: Tethys Platform 3.0 Overview Presentation.
Django was updated to version 2.2, the next LTS version of Django.
It will be supported until April 2022.
Includes the latest security updates.
Python 3 Only¶
Tethys Platform no longer supports Python 2.
This is in large part because Django no longer supports Python 2 as of version 2.0.
Python 2 is also reaching its end of life in 2020 (supposedly).
Tethys has been Conda packaged
It can be installed from our Conda channel.
See: Getting Started
Upgraded JQuery and Bootstrap¶
The JQuery and Bootstrap libraries that Tethys provides were upgraded to address known security vulnerabilities (see: https://snyk.io/test/npm/bootstrap/3.2.0 and https://snyk.io/test/npm/jquery/1.11.1).
Bootstrap has been upgraded to version 3.4.1 (not 4 yet, sorry).
Coincidentally, JQuery was also upgraded to version 3.4.1.
Tethys comes with Django Channels
Django Channels wraps the synchronous Django process in an asynchronous process, allowing developers to use modern web protocols like WebSockets.
WebSockets allow for a bidirectional, long-lived connections between the server and client.
See: WebSockets Concepts
See: Bokeh Integration
URL Maps API¶
Documentation for Tethys
UrlMaphas been added. This includes a description of the newly added
See: URL Maps API
Tethys comes with Django Analytical installed to enable support form a number of analytics and tracking services.
You can now enable analytics tracking (e.g. Google Analytics) to every page of your apps and portal with a few settings in the settings file.
Tethys Quotas allow portal administrators to have better control over the resources being used by users and apps (e.g. disk storage).
Tethys ships with quotas for workspace storage implemented, but it is disabled by default. When enabled, portal administrators can set limits on the storage users or apps are able to use.
Tethys Quotas are completely extensible, allowing developer to create custom quotas for other resources (e.g. memory usage, database storage, wall time hours, etc.).
Workspace Storage Management Pages¶
The User Profile now includes a page for managing storage in the user's workspace accross all apps in the portal. Users can choose to clear the storage in their workspace for an app.
The App Settings page now includes information about storage in the app's workspace and provides a method for clearing that workspace.
New endpoints on the App class allow app developers to respond to requests to clear storage from users.
See: Tethys Quotas
New Portal Configuration File¶
Tethys will now use a new configuration file:
portal_config.ymlwill store information about which services should be used for installed apps and the portal settings
Tethys Portal settings will now be configured in the new
portal_config.ymlfile, rather than the
This will allow for the local settings to be retained when Tethys is updated in the future (no more regenerating the
settings.pyfile when you update).
Site settings will also be able to be configured via the
portal_config.yml(e.g. primary color, logo, home page content).
tethys db command¶
The CLI has a new command for managing the Tethys database.
It includes subcommands for initializing the tethys database, starting and stopping the local database, migrating the database between releases, and creating the tethys superuser.
See: db command
tethys docker command¶
tethys dockercommand now uses the latest version of the Docker Python API.
See: docker command
Improved CLI Documentation¶
The documentation for the command line interface has moved to a new location.
The CLI documenation is automatically generated from the code to ensure accuracy.
Automatic Application Installation¶
App now require an
install.ymlfile which allows dependencies to be installed using conda or pip.
Apps can also use an optional
services.ymlportal specific file that will automatically link services.
The CLI has a new command for installing apps: tethys install.
New App Installation Approach¶
The structure of apps and the way they are installed has changed.
The changes will allow Tethys to be updated in the future without the need to reinstall apps afterward.
Tethys 2 Apps will need to be migrated to work in Tethys 3.
Dask Job Type¶
New TethysJob types for submitting and managing Dask Jobs.
Dask allows pure Python code to be automagically parallelized and executed accross a distributed cluster of nodes.
New Gizmo for adding Cesium 3D globes to Tethys Apps.
The initial view can be configured almost entirely using Python in the controller.
See: Cesium Map View
The MapView Gizmo now includes an overview map control.
Features on the drawing layer can no be made selectable.
Initial features can now be specified for the drawing layer.
New snapping capabilities: a layer can be specified as the layer to snap to.
Adds full API support for styles on vector-based MVLayers.
See: Map View
Fixed an issue that prevented the DAG view of Condor Workflow jobs from working with jobs submitted to a remote Condor Scheduler.
Improved usability of JobsTable in general.
Changes to allow the JobsTable to work with custom TethysJobs.
See: Jobs Table
Open Portal Mode¶
Adds setting to allow Tethys to be run in an open-portal mode.
When running in open-portal mode, no login will be required, even for views decorated with the
Note: you should use the
login_requireddecorator provided by Tethys.
Updated PostGIS Docker Image¶
We have retired the custom PostGIS image that Tethys has been using since it's first release.
tethys dockercommand will now install the excellent
THREDDS Integration as Tethys Service¶
THREDDS is now supported as a Tethys Spatial Dataset Service.
The official Unidata THREDDS docker can be installed with the Tethys docker command.
Official Tethys Docker Image¶
Tethys now builds and maintains an official Docker image on Docker Hub.
Tethys Apps Settings¶
The icon for an app can now be set and overriden by portal admins via the App Settings page.
Several bugs with the JobsTable gizmo (see above).
tethys docker ipcommand returning the incorrect port for GeoServer.
tethys uninstallcommand would not remove the database entry if the files were removed manually.
Removed hardcoded "src" directory to allow tethys to be installed in directories of any name.
Fixed issue where tags for disabled or not shown apps were still showing up.