├── .gitattributes ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── pull_request_template.md ├── release.yml └── workflows │ ├── tethys-release.yml │ └── tethys.yml ├── .gitignore ├── .readthedocs.yaml ├── .stickler.yml ├── CITATION.cff ├── CODE_OF_CONDUCT.md ├── Dockerfile ├── LICENSE ├── MANIFEST.in ├── README.rst ├── conda.recipe └── .gitkeep ├── docker ├── README.md ├── docker-compose.yml ├── liveness-probe.sh ├── run.sh ├── salt │ ├── post_app.sls │ ├── pre_tethys.sls │ ├── run.sls │ ├── tethyscore.sls │ └── top.sls └── test-docker.sh ├── docs ├── Makefile ├── README.md ├── _scripts │ └── cleanlinks.py ├── _static │ ├── css │ │ ├── recipe_gallery.css │ │ └── tethys.css │ └── js │ │ └── recipe_gallery.js ├── _templates │ └── header.html ├── conf.py ├── contribute.rst ├── contribute │ ├── code.rst │ ├── code │ │ ├── continuous_integration.rst │ │ ├── dependencies.rst │ │ ├── deploying_tethys.rst │ │ ├── dev_environment.rst │ │ ├── development_process.rst │ │ ├── docker.rst │ │ ├── getting_started.rst │ │ ├── issues.rst │ │ └── testing.rst │ ├── community.rst │ ├── documentation.rst │ └── documentation │ │ ├── building.rst │ │ ├── guidelines.rst │ │ ├── readthedocs.rst │ │ └── source.rst ├── dev_guides.rst ├── directives.py ├── docs_environment.yml ├── features.rst ├── glossary.rst ├── images │ ├── app_content_only.png │ ├── app_controls.png │ ├── app_header_content.png │ ├── app_left_actions.png │ ├── app_no_actions.png │ ├── app_no_nav.png │ ├── app_package_django.png │ ├── app_quad_split.png │ ├── app_right_actions.png │ ├── app_three_columns.png │ ├── app_two_columns.png │ ├── basic_mvc.png │ ├── canned_gssha_example.png │ ├── default_favicon.ico │ ├── default_favicon.png │ ├── detailed_template_blocks.png │ ├── echo_name_page.png │ ├── features │ │ ├── app_code.png │ │ ├── apps_library.png │ │ ├── computing.png │ │ ├── computing_admin_portal.png │ │ ├── computing_condorpy.png │ │ ├── computing_tethyscluster.png │ │ ├── customize_homepage.png │ │ ├── data.png │ │ ├── datastore.png │ │ ├── developer_tools.png │ │ ├── example_app_page.png │ │ ├── example_gizmo.png │ │ ├── geoprocessing.png │ │ ├── gizmos.png │ │ ├── nsf1.gif │ │ ├── sdk.png │ │ ├── tethys-logo-250.png │ │ ├── tethys-logo-512.png │ │ ├── tethys-logo-75.png │ │ ├── tethys-on-blue.svg │ │ ├── tethys-on-white.svg │ │ ├── tethys_compute.png │ │ ├── tethys_logo_inverse.png │ │ ├── tethys_platform_diagram.png │ │ └── user_profile.png │ ├── feedback.bmp │ ├── getting_started │ │ ├── hello_world_app.png │ │ └── hello_world_login.png │ ├── gizmo_example.png │ ├── import-wizard-promote-project.png │ ├── import-wizard-select-source.png │ ├── map_single_page.png │ ├── new_map_page.png │ ├── pgAdmin_III_db_confirmation.png │ ├── pgadmin_tutorial_1.png │ ├── pgadmin_tutorial_2.png │ ├── pgadmin_tutorial_3.png │ ├── recipes │ │ ├── address_searching.png │ │ ├── arcgis_layer.png │ │ ├── forms.png │ │ ├── geojson_layer.png │ │ ├── map_layout.png │ │ ├── plot_points.png │ │ ├── popup.png │ │ ├── spatial_data.png │ │ ├── vector_layer.png │ │ └── wms_layer.png │ ├── site_admin │ │ ├── app_settings_top.png │ │ ├── auth_token.png │ │ ├── custom_settings.png │ │ ├── dataset_service_edit.png │ │ ├── dataset_services.png │ │ ├── home.png │ │ ├── json_custom_settings.png │ │ ├── log_in.png │ │ ├── new_proxy_app.png │ │ ├── persistent_store_service_edit.png │ │ ├── persistent_store_services.png │ │ ├── secret_custom_settings.png │ │ ├── select_site_admin.png │ │ ├── service_settings.png │ │ ├── spatial_dataset_service_edit.png │ │ ├── spatial_dataset_services.png │ │ ├── wps_service_edit.png │ │ └── wps_services.png │ ├── software │ │ ├── 52n-logo.gif │ │ ├── cesium_color_black.png │ │ ├── ckan.png │ │ ├── django-channels.png │ │ ├── docker.png │ │ ├── geoserver.png │ │ ├── highcharts.png │ │ ├── htcondor.png │ │ ├── hydroshare.png │ │ ├── openlayers.png │ │ ├── plotly_logo.jpeg │ │ ├── postgis.png │ │ └── postgres.png │ ├── template_blocks.png │ ├── tethys_compute │ │ ├── tethys_compute_admin.png │ │ ├── tethys_compute_clusters.png │ │ ├── tethys_compute_condor_scheduler.png │ │ ├── tethys_compute_dashboard.png │ │ ├── tethys_compute_dask_launch_links.png │ │ ├── tethys_compute_dask_scheduler.png │ │ └── tethys_compute_jobs.png │ ├── tethys_portal │ │ ├── tethys_portal_admin.png │ │ ├── tethys_portal_aq_settings.png │ │ ├── tethys_portal_assign_perm1.png │ │ ├── tethys_portal_assign_perm2.png │ │ ├── tethys_portal_assign_perm3.png │ │ ├── tethys_portal_assign_perm4.png │ │ ├── tethys_portal_assign_perm5.png │ │ ├── tethys_portal_general_settings.png │ │ ├── tethys_portal_home_page_settings.png │ │ ├── tethys_portal_manage_app_storage.png │ │ ├── tethys_portal_manage_storage.png │ │ ├── tethys_portal_rq_settings.png │ │ ├── tethys_portal_site_settings.png │ │ ├── tethys_portal_toc_modal.png │ │ ├── tethys_portal_toc_new.png │ │ ├── tethys_portal_uq_settings.png │ │ ├── tethys_portal_user_management.png │ │ ├── tethys_portal_user_profile.png │ │ └── tethys_portal_user_workspace.png │ ├── tethys_portal_landing.png │ ├── tutorial │ │ ├── DaskAppSettings.png │ │ ├── NewCreateDaskScheduler.png │ │ ├── NewDaskSchedulerPage.png │ │ ├── NewPostCreateViewsHome.png │ │ ├── NewPostCreateViewsJobTable.png │ │ ├── NewPostDaskDelayedHome.png │ │ ├── NewPostDaskDelayedJobsTable.png │ │ ├── NewPostDaskDistributedHome.png │ │ ├── NewPostDaskDistributedJobsTable.png │ │ ├── NewPostMultipleLeafHome.png │ │ ├── NewPostMultipleLeafJobsTable.png │ │ ├── NewTethysCompute.png │ │ ├── SchedulerCommand.png │ │ ├── Setup_scheduler--run_tethys_dask.png │ │ ├── Setup_scheduler--run_worker.png │ │ ├── advanced │ │ │ ├── Assign_Persistent_Store_Service.png │ │ │ ├── Persistent_Store_Service.png │ │ │ ├── key-concepts-advanced-screenshot.png │ │ │ ├── key-concepts-beginner-screenshot.png │ │ │ ├── key-concepts-intermediate-screenshot.png │ │ │ └── ws-conn-browser.png │ │ ├── bokeh_integration │ │ │ ├── bokeh_integration_1.png │ │ │ ├── bokeh_integration_2.png │ │ │ └── bokeh_integration_3.png │ │ ├── dask │ │ │ ├── blank_home.png │ │ │ ├── blank_jobs_table.png │ │ │ ├── home_with_delayed_button.png │ │ │ ├── home_with_distributed_button.png │ │ │ ├── home_with_multiple_button.png │ │ │ ├── jobs_table_with_delayed.png │ │ │ ├── jobs_table_with_distributed.png │ │ │ └── jobs_table_with_multiple.png │ │ ├── gee │ │ │ ├── about_page.png │ │ │ ├── clip_by_asset.png │ │ │ ├── dataset_controls.png │ │ │ ├── dataset_controls_js.png │ │ │ ├── deploy_app.png │ │ │ ├── file_upload.png │ │ │ ├── gee_intro.png │ │ │ ├── home_page.png │ │ │ ├── map_view.png │ │ │ ├── plot_data.png │ │ │ ├── rest_api.png │ │ │ ├── scaffolded_app.png │ │ │ └── visualize_gee_layers.png │ │ └── quotas │ │ │ ├── MaxDamsView.png │ │ │ └── ResourceQuotaView.png │ └── wps_tool │ │ ├── developer_tools_wps.png │ │ ├── wps_tool_buffer.png │ │ ├── wps_tool_processes.png │ │ └── wps_tool_services.png ├── index.rst ├── installation.rst ├── installation │ ├── application.rst │ ├── conda.rst │ ├── database_configuration.rst │ ├── production.rst │ ├── production │ │ ├── docker.rst │ │ ├── docker │ │ │ ├── build.rst │ │ │ ├── docker_compose.rst │ │ │ ├── dockerfile.rst │ │ │ ├── getting_started.rst │ │ │ ├── images │ │ │ │ ├── compose--custom-tethys-portal.png │ │ │ │ ├── docker-logo.png │ │ │ │ ├── favicon.ico │ │ │ │ ├── install--docker-desktop.png │ │ │ │ ├── install--getting-started.png │ │ │ │ ├── leaf-logo.png │ │ │ │ ├── primer--containers-vs-vms.png │ │ │ │ └── primer--docker-hub.png │ │ │ ├── primer.rst │ │ │ ├── salt_state.rst │ │ │ └── tethys_docker_reference.rst │ │ ├── manual.rst │ │ └── manual │ │ │ ├── additional.rst │ │ │ ├── additional │ │ │ ├── backup.rst │ │ │ ├── distributed.rst │ │ │ ├── geoserver_ssl_config.rst │ │ │ ├── images │ │ │ │ ├── geoserver_ssl.png │ │ │ │ └── tethys_deploy_stack.png │ │ │ ├── selinux.rst │ │ │ └── troubleshooting.rst │ │ │ ├── app_installation.rst │ │ │ ├── configuration.rst │ │ │ ├── configuration │ │ │ ├── advanced │ │ │ │ ├── customize.rst │ │ │ │ ├── django_channels_layer.rst │ │ │ │ ├── email_config.rst │ │ │ │ ├── https_config.rst │ │ │ │ ├── images │ │ │ │ │ ├── locked_out.png │ │ │ │ │ ├── mfa_add_auth_app.png │ │ │ │ │ ├── mfa_add_email.png │ │ │ │ │ ├── mfa_add_method_table.png │ │ │ │ │ ├── multi-tenant-logged-in.png │ │ │ │ │ ├── multi-tenant-login-page.png │ │ │ │ │ ├── multi-tenant-onelogin-page.png │ │ │ │ │ └── multi-tenant-tenant-page.png │ │ │ │ ├── lockout.rst │ │ │ │ ├── multi_factor_auth.rst │ │ │ │ ├── self_hosted_js_deps.rst │ │ │ │ ├── social_auth.rst │ │ │ │ └── webanalytics.rst │ │ │ └── basic │ │ │ │ ├── apache.rst │ │ │ │ ├── database.rst │ │ │ │ ├── file_permissions.rst │ │ │ │ ├── firewall.rst │ │ │ │ ├── nginx.rst │ │ │ │ ├── portal_config.rst │ │ │ │ ├── static_and_workspaces.rst │ │ │ │ └── supervisor.rst │ │ │ ├── images │ │ │ └── tethys_production_diagram.png │ │ │ ├── installation.rst │ │ │ ├── overview.rst │ │ │ ├── preparation.rst │ │ │ ├── start_stop.rst │ │ │ └── system_dependencies.rst │ ├── resources │ │ ├── blank-portal-config.yml │ │ ├── example-install.yml │ │ ├── example-portal-config.yml │ │ ├── example-services.yml │ │ ├── gizmo_showcase_app.png │ │ └── layout_showcase_app.png │ ├── showcase_apps.rst │ ├── system_requirements.rst │ ├── update.rst │ ├── update_older.rst │ ├── using_docker.rst │ └── web_admin_setup.rst ├── make.bat ├── recipes.rst ├── recipes │ └── example_recipe.rst ├── repos.rst ├── software_suite.rst ├── software_suite │ ├── geoserver.rst │ └── thredds.rst ├── summary.rst ├── supplementary.rst ├── supplementary │ ├── app_project.rst │ ├── docker_testing.rst │ ├── install_ubuntu.rst │ ├── key_concepts.rst │ ├── optional_features.rst │ ├── pgadmin.rst │ ├── terminal_quick_guide.rst │ └── virtual_environment.rst ├── tethys_cli.rst ├── tethys_cli │ ├── app_settings.rst │ ├── db.rst │ ├── docker.rst │ ├── gen.rst │ ├── install.rst │ ├── link.rst │ ├── list.rst │ ├── manage.rst │ ├── scaffold.rst │ ├── schedulers.rst │ ├── services.rst │ ├── settings.rst │ ├── site.rst │ ├── syncstores.rst │ ├── test.rst │ ├── uninstall.rst │ └── version.rst ├── tethys_portal.rst ├── tethys_portal │ ├── admin_pages.rst │ ├── configuration.rst │ ├── feedback.rst │ ├── tethys_compute_admin_pages.rst │ └── tethys_users.rst ├── tethys_sdk.rst ├── tethys_sdk │ ├── app_class.rst │ ├── app_settings.rst │ ├── extensions.rst │ ├── extensions │ │ ├── custom_gizmos.rst │ │ ├── models.rst │ │ ├── scaffold.rst │ │ ├── structure.rst │ │ ├── templates_and_static_files.rst │ │ └── url_maps.rst │ ├── gizmos.rst │ ├── gizmos │ │ ├── bokeh_view.rst │ │ ├── button.rst │ │ ├── cesium_map_view.rst │ │ ├── datatable_view.rst │ │ ├── date_picker.rst │ │ ├── esri_map.rst │ │ ├── jobs_table.rst │ │ ├── map_view.rst │ │ ├── message_box.rst │ │ ├── plot_view.rst │ │ ├── plotly_view.rst │ │ ├── range_slider.rst │ │ ├── select_input.rst │ │ ├── slide_sheet.rst │ │ ├── table_view.rst │ │ ├── text_input.rst │ │ └── toggle_switch.rst │ ├── handoff.rst │ ├── jobs.rst │ ├── jobs │ │ ├── basic_job_type.rst │ │ ├── condor_job_type.rst │ │ ├── condor_workflow_type.rst │ │ └── dask_job_type.rst │ ├── layouts.rst │ ├── layouts │ │ ├── images │ │ │ └── map_layout │ │ │ │ ├── map_layout.png │ │ │ │ ├── map_layout_arcgis_layer.png │ │ │ │ ├── map_layout_click_n_plot.png │ │ │ │ ├── map_layout_geocoding.png │ │ │ │ ├── map_layout_geojson_layer.png │ │ │ │ ├── map_layout_map_click.png │ │ │ │ ├── map_layout_map_click_popup.png │ │ │ │ ├── map_layout_properties_popup.png │ │ │ │ ├── map_layout_styled_geojson_layer.png │ │ │ │ ├── map_layout_vector_feature_selection.png │ │ │ │ ├── map_layout_wms_feature_selection.png │ │ │ │ └── map_layout_wms_layer.png │ │ └── map_layout.rst │ ├── paths.rst │ ├── permissions.rst │ ├── rest_api.rst │ ├── routing.rst │ ├── static_resources.rst │ ├── templating.rst │ ├── testing.rst │ ├── tethys_quotas.rst │ ├── tethys_services.rst │ ├── tethys_services │ │ ├── dataset_service │ │ │ ├── base_reference.rst │ │ │ ├── ckan_reference.rst │ │ │ └── hydroshare_reference.rst │ │ ├── dataset_services.rst │ │ ├── persistent_store.rst │ │ ├── spatial_dataset_service │ │ │ ├── base_reference.rst │ │ │ ├── geoserver_reference.rst │ │ │ └── thredds_reference.rst │ │ ├── spatial_dataset_services.rst │ │ ├── spatial_persistent_store.rst │ │ └── web_processing_services.rst │ └── workspaces.rst ├── tutorials.rst ├── tutorials │ ├── bokeh.rst │ ├── dask.rst │ ├── dask │ │ ├── dask_delayed.rst │ │ ├── dask_distributed.rst │ │ ├── multiple_leaf_job.rst │ │ ├── new_app_project.rst │ │ ├── resources │ │ │ └── dask-logo.png │ │ ├── setup_scheduler.rst │ │ └── setup_views.rst │ ├── geoserver.rst │ ├── geoserver │ │ ├── draw.rst │ │ ├── geoserver_app_data.zip │ │ ├── map_geoserver.rst │ │ ├── start_and_register.rst │ │ └── upload_shp.rst │ ├── google_earth_engine.rst │ ├── google_earth_engine │ │ ├── part_1.rst │ │ ├── part_1 │ │ │ ├── dataset_controls.rst │ │ │ ├── dataset_controls_js.rst │ │ │ ├── gee_primer.rst │ │ │ ├── map_view.rst │ │ │ ├── new_app_project.rst │ │ │ ├── plot_data.rst │ │ │ ├── resources │ │ │ │ ├── dataset_controls_js_solution.png │ │ │ │ ├── dataset_controls_solution.png │ │ │ │ ├── earth-engine-logo.png │ │ │ │ ├── map-loader.gif │ │ │ │ ├── map_view_solution.png │ │ │ │ ├── new_app_project_solution.png │ │ │ │ ├── plot-loader.gif │ │ │ │ ├── plot_data_solution.png │ │ │ │ └── vis_gee_layers_solution.png │ │ │ └── vis_gee_layers.rst │ │ ├── part_2.rst │ │ ├── part_2 │ │ │ ├── about_page.rst │ │ │ ├── clip_by_asset.rst │ │ │ ├── file_upload.rst │ │ │ ├── home_page.rst │ │ │ ├── primer.rst │ │ │ ├── resources │ │ │ │ ├── USA_simplified.zip │ │ │ │ ├── about_page_solution.png │ │ │ │ ├── clip_by_asset_solution.png │ │ │ │ ├── coast_80_80.jpg │ │ │ │ ├── condensation_80_80.jpg │ │ │ │ ├── css_parts.png │ │ │ │ ├── disclaimer_solution.png │ │ │ │ ├── earth-engine-backdrop.png │ │ │ │ ├── earth-engine-viewer.png │ │ │ │ ├── file_upload_solution.png │ │ │ │ ├── home_page_solution.png │ │ │ │ ├── points.zip │ │ │ │ ├── rest_api_solution.png │ │ │ │ └── waterfall_80_80.jpg │ │ │ └── rest_api.rst │ │ ├── part_3.rst │ │ ├── part_3 │ │ │ ├── deploy.rst │ │ │ ├── prepare.rst │ │ │ ├── primer.rst │ │ │ ├── publish.rst │ │ │ ├── resources │ │ │ │ ├── deploy_solution.png │ │ │ │ ├── prepare_publish_solution.png │ │ │ │ ├── publish_solution.png │ │ │ │ └── service_account_solution.png │ │ │ └── service_account.rst │ │ └── resources │ │ │ └── earth_engine_app.png │ ├── key_concepts.rst │ ├── key_concepts │ │ ├── advanced.rst │ │ ├── beginner.rst │ │ ├── hydrographs.zip │ │ ├── intermediate.rst │ │ └── new_app_project.rst │ ├── map_layout.rst │ ├── map_layout │ │ ├── add_spatial_data.rst │ │ ├── additional_exercises.rst │ │ ├── configure_data_plotting.rst │ │ ├── configure_map_layout.rst │ │ ├── data_prep.rst │ │ ├── new_app_project.rst │ │ └── resources │ │ │ ├── add_spatial_data_solution.png │ │ │ ├── configure_data_plotting_solution.png │ │ │ ├── configure_map_layout_solution.png │ │ │ ├── map_layout_app.png │ │ │ ├── new_app_project_solution.png │ │ │ ├── noaa_digital_logo-2022.png │ │ │ └── popup_example.png │ ├── quotas.rst │ ├── thredds.rst │ ├── thredds │ │ ├── additional_exercises.rst │ │ ├── new_app_project.rst │ │ ├── plot_at_location.rst │ │ ├── resources │ │ │ ├── map-loader.gif │ │ │ ├── new_app_project_solution.png │ │ │ ├── plot-loader.gif │ │ │ ├── plot_at_location_solution.png │ │ │ ├── setup_thredds_service_solution.png │ │ │ ├── thredds_tutorial_app.png │ │ │ ├── unidata_logo.png │ │ │ └── visualize_leaflet_solution.png │ │ ├── setup_thredds_service.rst │ │ ├── thredds_primer.rst │ │ └── visualize_leaflet.rst │ └── websockets.rst ├── whats_new.rst └── whats_new │ ├── app_migration.rst │ ├── app_migration │ └── app_migration_2_to_3.rst │ └── prior_releases.rst ├── environment.yml ├── micro_environment.yml ├── pyproject.toml ├── resources ├── Map View Drawing Icons.ai ├── Tethys Feature Icons.ai ├── Tethys Logo.ai └── javascript_enclosure_template.js ├── scripts ├── generate_portal_config_tables.py ├── generate_site_settings_docs_from_parser.py ├── install_tethys.sh ├── mkaliases.sh └── update_tutorial_tags.py ├── setup.cfg ├── tests ├── apps │ └── tethysapp-test_app │ │ ├── install-dep.yml │ │ ├── install-no-dep.yml │ │ ├── install-skip-setup.yml │ │ ├── install-with-post.yml │ │ ├── install.yml │ │ ├── pyproject.toml │ │ ├── services-basic.yml │ │ ├── test-portal_config.yml │ │ ├── test.py │ │ └── tethysapp │ │ └── test_app │ │ ├── __init__.py │ │ ├── additional_settings.py │ │ ├── api.py │ │ ├── app.py │ │ ├── controllers.py │ │ ├── handoff.py │ │ ├── model.py │ │ ├── public │ │ ├── css │ │ │ └── main.css │ │ ├── images │ │ │ └── icon.gif │ │ └── js │ │ │ └── main.js │ │ ├── templates │ │ └── test_app │ │ │ ├── base.html │ │ │ └── home.html │ │ ├── tests │ │ ├── __init__.py │ │ └── tests.py │ │ └── workspaces │ │ └── user_workspaces │ │ └── .gitkeep ├── coverage.cfg ├── extensions │ └── tethysext-test_extension │ │ ├── .gitignore │ │ ├── pyproject.toml │ │ └── tethysext │ │ └── test_extension │ │ ├── __init__.py │ │ ├── controllers.py │ │ ├── ext.py │ │ ├── gizmos │ │ ├── __init__.py │ │ └── custom_select_input.py │ │ ├── model.py │ │ ├── public │ │ ├── css │ │ │ └── main.css │ │ ├── gizmos │ │ │ └── custom_select_input │ │ │ │ ├── custom_select_input.css │ │ │ │ └── custom_select_input.js │ │ └── js │ │ │ └── main.js │ │ ├── templates │ │ ├── gizmos │ │ │ ├── .gitkeep │ │ │ └── custom_select_input.html │ │ └── test_extension │ │ │ ├── .gitkeep │ │ │ └── home.html │ │ └── tests │ │ ├── __init__.py │ │ └── tests.py ├── gui_tests │ ├── __init__.py │ ├── test_tethys_gizmos │ │ ├── __init__.py │ │ └── test_gizmos.py │ └── test_tethys_portal │ │ ├── __init__.py │ │ └── test_authentication.py ├── intermediate_tests │ ├── __init__.py │ └── test_tethys_services │ │ ├── __init__.py │ │ └── test_backends │ │ ├── __init__.py │ │ └── test_hydroshare.py ├── portal_config │ ├── portal_test.yml │ ├── portal_test_no_apps.yml │ ├── portal_test_no_service.yml │ └── portal_test_no_services.yml └── unit_tests │ ├── __init__.py │ ├── test_tethys_apps │ ├── __init__.py │ ├── test_admin.py │ ├── test_app_installation.py │ ├── test_apps.py │ ├── test_base │ │ ├── __init__.py │ │ ├── test_app_base.py │ │ ├── test_bokeh_handler.py │ │ ├── test_consumer.py │ │ ├── test_controller.py │ │ ├── test_function_extractor.py │ │ ├── test_handoff.py │ │ ├── test_mixins.py │ │ ├── test_page_handler.py │ │ ├── test_paths.py │ │ ├── test_permissions.py │ │ ├── test_reactpy_base.py │ │ ├── test_testing │ │ │ ├── __init__.py │ │ │ ├── test_environment.py │ │ │ └── test_testing.py │ │ ├── test_url_map.py │ │ └── test_workspace.py │ ├── test_context_processors.py │ ├── test_decorators.py │ ├── test_exceptions.py │ ├── test_harvester.py │ ├── test_management │ │ ├── __init__.py │ │ └── test_commands │ │ │ ├── __init__.py │ │ │ ├── test_collectworkspaces.py │ │ │ ├── test_pre_collectstatic.py │ │ │ ├── test_syncstores.py │ │ │ └── test_tethys_app_uninstall.py │ ├── test_models │ │ ├── __init__.py │ │ ├── test_CustomSetting.py │ │ ├── test_DatasetServiceSetting.py │ │ ├── test_PersistentStoreConnectionSetting.py │ │ ├── test_PersistentStoreDatabaseSetting.py │ │ ├── test_ProxyApp.py │ │ ├── test_SchedulerSetting.py │ │ ├── test_SpatialDatasetServiceSetting.py │ │ ├── test_TethysApp.py │ │ ├── test_TethysAppSetting.py │ │ ├── test_TethysExtension.py │ │ └── test_WebProcessingServiceSetting.py │ ├── test_static_finders.py │ ├── test_template_loaders.py │ ├── test_templatetags │ │ ├── __init__.py │ │ ├── test_app_theme.py │ │ ├── test_humanize.py │ │ ├── test_site_settings.py │ │ └── test_tags.py │ ├── test_urls.py │ ├── test_utilities.py │ └── test_views.py │ ├── test_tethys_cli │ ├── __init__.py │ ├── test__init__.py │ ├── test_app_settings_command.py │ ├── test_cli_colors.py │ ├── test_cli_helper.py │ ├── test_db_commands.py │ ├── test_docker_commands.py │ ├── test_gen_commands.py │ ├── test_install_commands.py │ ├── test_link_commands.py │ ├── test_list_commands.py │ ├── test_manage_commands.py │ ├── test_proxyapps_commands.py │ ├── test_scaffold_commands.py │ ├── test_scheduler_commands.py │ ├── test_services_commands.py │ ├── test_settings_commands.py │ ├── test_site_commands.py │ ├── test_start_commands.py │ ├── test_syncstores_command.py │ ├── test_test_command.py │ ├── test_uninstall_command.py │ └── test_version_command.py │ ├── test_tethys_components │ ├── __init__.py │ ├── test_custom_and_layouts.py │ ├── test_library.py │ ├── test_resources │ │ ├── test_custom_and_layouts │ │ │ ├── custom__BaseMapSuite_expected.json │ │ │ ├── custom__Chart_expected.json │ │ │ ├── custom__Display_expected.json │ │ │ ├── custom__HeaderButton_expected.json │ │ │ ├── custom__HeaderWithNavBar_expected.json │ │ │ ├── custom__LayerPanel_expected.json │ │ │ ├── custom__LoadingAnimation_expected.json │ │ │ ├── custom__Map_expected.json │ │ │ ├── custom__NavIcon_expected.json │ │ │ ├── custom__PageLoader_expected.json │ │ │ ├── custom__Panel_expected.json │ │ │ └── layouts__NavHeader_expected.json │ │ └── test_library │ │ │ ├── test_page_1.py │ │ │ ├── test_page_1_expected.js │ │ │ ├── test_page_1_expected.json │ │ │ ├── test_page_2.py │ │ │ ├── test_page_2_expected.js │ │ │ ├── test_page_2_expected.json │ │ │ ├── test_page_3.py │ │ │ ├── test_page_3_expected.js │ │ │ └── test_page_3_expected.json │ └── test_utils.py │ ├── test_tethys_compute │ ├── __init__.py │ ├── files │ │ └── keys │ │ │ ├── README │ │ │ ├── testkey │ │ │ └── testkey.pub │ ├── test_admin.py │ ├── test_apps.py │ ├── test_job_manager.py │ ├── test_models │ │ ├── __init__.py │ │ ├── test_BasicJob.py │ │ ├── test_CondorBase.py │ │ ├── test_CondorJob.py │ │ ├── test_CondorPyJob.py │ │ ├── test_CondorPyWorkflow.py │ │ ├── test_CondorScheduler.py │ │ ├── test_CondorWorkflow.py │ │ ├── test_CondorWorkflowJobNode.py │ │ ├── test_Scheduler.py │ │ ├── test_TethysJob.py │ │ ├── test_WorkflowNode.py │ │ └── test_dask │ │ │ ├── __init__.py │ │ │ ├── test_DaskJob.py │ │ │ ├── test_DaskJobResult.py │ │ │ ├── test_DaskScheduler.py │ │ │ └── test_DaskSerializedField.py │ ├── test_scheduler_manager.py │ ├── test_tasks.py │ └── test_views │ │ ├── __init__.py │ │ ├── test_dask_dashboard.py │ │ └── test_update_status.py │ ├── test_tethys_config │ ├── __init__.py │ ├── test_admin.py │ ├── test_apps.py │ ├── test_context_processors.py │ ├── test_init.py │ └── test_models │ │ ├── __init__.py │ │ ├── test_Setting.py │ │ └── test_SettingsCategory.py │ ├── test_tethys_gizmos │ ├── __init__.py │ ├── test_context_processors.py │ ├── test_gizmo_options │ │ ├── __init__.py │ │ ├── test_base.py │ │ ├── test_bokeh_view.py │ │ ├── test_button.py │ │ ├── test_cesium_map_view.py │ │ ├── test_datatable_view.py │ │ ├── test_date_picker.py │ │ ├── test_esri_map.py │ │ ├── test_jobs_table.py │ │ ├── test_map_view.py │ │ ├── test_message_box.py │ │ ├── test_plot_view.py │ │ ├── test_plotly_view.py │ │ ├── test_range_slider.py │ │ ├── test_select_input.py │ │ ├── test_slide_sheet.py │ │ ├── test_table_view.py │ │ ├── test_text_input.py │ │ └── test_toogle_switch.py │ ├── test_templatetags │ │ ├── __init__.py │ │ └── test_tethys_gizmos.py │ ├── test_urls.py │ └── test_views │ │ ├── __init__.py │ │ └── test_gizmos │ │ ├── __init__.py │ │ └── test_jobs_table.py │ ├── test_tethys_layouts │ ├── __init__.py │ ├── test_exceptions.py │ ├── test_mixins │ │ ├── __init__.py │ │ └── test_map_layout.py │ └── test_views │ │ ├── __init__.py │ │ ├── test_map_layout.py │ │ └── test_tethys_layout.py │ ├── test_tethys_portal │ ├── __init__.py │ ├── test__init__.py │ ├── test_asgi.py │ ├── test_context_processors.py │ ├── test_dependencies.py │ ├── test_forms.py │ ├── test_middleware.py │ ├── test_optional_dependencies.py │ ├── test_settings.py │ ├── test_urls.py │ ├── test_utilities.py │ └── test_views │ │ ├── __init__.py │ │ ├── mock_decorator.py │ │ ├── test_accounts.py │ │ ├── test_admin.py │ │ ├── test_api.py │ │ ├── test_email.py │ │ ├── test_error.py │ │ ├── test_home.py │ │ ├── test_psa.py │ │ ├── test_receivers.py │ │ └── test_user.py │ ├── test_tethys_quotas │ ├── __init__.py │ ├── test_admin.py │ ├── test_enforce_quota.py │ ├── test_handlers │ │ ├── __init__.py │ │ └── test_base.py │ ├── test_models │ │ ├── __init__.py │ │ ├── test_EntityQuota.py │ │ └── test_ResourceQuota.py │ └── test_utilities.py │ ├── test_tethys_sdk │ └── __init__.py │ ├── test_tethys_services │ ├── __init__.py │ ├── test_admin.py │ ├── test_apps.py │ ├── test_backends │ │ ├── __init__.py │ │ ├── test_adfs.py │ │ ├── test_arcgis_portal.py │ │ ├── test_azuread.py │ │ ├── test_hs_restclient_helper.py │ │ ├── test_hydroshare.py │ │ ├── test_hydroshare_beta.py │ │ ├── test_hydroshare_playground.py │ │ ├── test_multi_tenant_mixin.py │ │ ├── test_okta.py │ │ └── test_onelogin.py │ ├── test_models │ │ ├── __init__.py │ │ ├── test_DatasetService.py │ │ ├── test_PersistentStoreService.py │ │ ├── test_SpatialDatasetService.py │ │ ├── test_WebProcessingService.py │ │ └── test_helper_functions.py │ ├── test_templatetags │ │ ├── __init__.py │ │ └── test_tethys_services.py │ ├── test_urls.py │ ├── test_utilities.py │ └── test_views.py │ └── test_tethys_utils │ ├── __init__.py │ └── test_deprecation.py ├── tethys_apps ├── __init__.py ├── admin.py ├── app_installation.py ├── apps.py ├── base │ ├── __init__.py │ ├── app_base.py │ ├── bokeh_handler.py │ ├── controller.py │ ├── function_extractor.py │ ├── handoff.py │ ├── mixins.py │ ├── page_handler.py │ ├── paths.py │ ├── permissions.py │ ├── reactpy_base.py │ ├── testing │ │ ├── __init__.py │ │ ├── environment.py │ │ └── testing.py │ ├── url_map.py │ └── workspace.py ├── context_processors.py ├── decorators.py ├── exceptions.py ├── harvester.py ├── management │ ├── __init__.py │ └── commands │ │ ├── __init__.py │ │ ├── collectworkspaces.py │ │ ├── pre_collectstatic.py │ │ ├── syncstores.py │ │ └── tethys_app_uninstall.py ├── migrations │ ├── 0001_initial_41.py │ ├── 0002_auto_20230407_2337.py │ ├── 0003_proxyapp_display_external.py │ ├── 0004_rename_display_external_proxyapp_display_external_icon.py │ ├── 0005_customsettingbase_include_in_api.py │ ├── 0006_auto_20240401_2032.py │ ├── 0007_tethysapp_back_url.py │ └── __init__.py ├── models.py ├── static │ └── tethys_apps │ │ ├── css │ │ ├── app_base.min.css │ │ ├── app_content_only.css │ │ ├── feedback.css │ │ └── loader.css │ │ ├── images │ │ └── default_app_icon.gif │ │ ├── js │ │ ├── app_base.js │ │ ├── app_library.js │ │ ├── feedback.js │ │ ├── group_admin.js │ │ └── layer-panel.js │ │ └── less │ │ ├── app_base.less │ │ └── vendor │ │ └── prefixer.less ├── static_finders.py ├── template_loaders.py ├── templates │ └── tethys_apps │ │ ├── app_base.html │ │ ├── app_card.html │ │ ├── app_content_only.html │ │ ├── app_header_content.html │ │ ├── app_left_actions.html │ │ ├── app_library.html │ │ ├── app_no_actions.html │ │ ├── app_no_nav.html │ │ ├── app_quad_split.html │ │ ├── app_right_actions.html │ │ ├── app_three_columns.html │ │ ├── app_two_columns.html │ │ ├── bokeh_base.html │ │ ├── bokeh_default.html │ │ ├── guardian │ │ └── extend_obj_perms_manage.html │ │ └── reactpy_base.html ├── templatetags │ ├── __init__.py │ ├── app_theme.py │ ├── humanize.py │ ├── site_settings.py │ └── tags.py ├── terminal_colors.py ├── urls.py ├── utilities.py └── views.py ├── tethys_cli ├── __init__.py ├── app_settings_commands.py ├── cli_colors.py ├── cli_helpers.py ├── db_commands.py ├── docker_commands.py ├── gen_commands.py ├── gen_templates │ ├── __init__.py │ ├── apache │ ├── apache_service │ ├── asgi_service │ ├── install │ ├── metayaml │ ├── nginx │ ├── nginx_service │ ├── package_json │ ├── portal_config │ ├── requirements │ ├── secrets │ └── services ├── install_commands.py ├── link_commands.py ├── list_command.py ├── manage_commands.py ├── proxyapps_commands.py ├── scaffold_commands.py ├── scaffold_templates │ ├── app_templates │ │ ├── default │ │ │ ├── .gitignore │ │ │ ├── install.yml_tmpl │ │ │ ├── pyproject.toml_tmpl │ │ │ └── tethysapp │ │ │ │ └── +project+ │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py_tmpl │ │ │ │ ├── controllers.py_tmpl │ │ │ │ ├── public │ │ │ │ ├── css │ │ │ │ │ └── main.css │ │ │ │ ├── images │ │ │ │ │ └── icon.gif │ │ │ │ └── js │ │ │ │ │ └── main.js │ │ │ │ ├── resources │ │ │ │ └── .gitkeep │ │ │ │ ├── templates │ │ │ │ └── +project+ │ │ │ │ │ ├── base.html_tmpl │ │ │ │ │ └── home.html_tmpl │ │ │ │ └── tests │ │ │ │ ├── __init__.py │ │ │ │ └── tests.py_tmpl │ │ ├── react │ │ │ ├── .gitignore_tmpl │ │ │ ├── README.md_tmpl │ │ │ ├── install.yml_tmpl │ │ │ ├── jsconfig.json_tmpl │ │ │ ├── package-lock.json_tmpl │ │ │ ├── package.json_tmpl │ │ │ ├── pyproject.toml_tmpl │ │ │ ├── reactapp │ │ │ │ ├── App.js │ │ │ │ ├── App.scss │ │ │ │ ├── App.test.js_tmpl │ │ │ │ ├── assets │ │ │ │ │ ├── error.png │ │ │ │ │ ├── error404.png │ │ │ │ │ └── reactLogo.svg │ │ │ │ ├── components │ │ │ │ │ ├── buttons │ │ │ │ │ │ ├── HeaderButton.js │ │ │ │ │ │ └── NavButton.js │ │ │ │ │ ├── context.js │ │ │ │ │ ├── error │ │ │ │ │ │ ├── DebugError.js │ │ │ │ │ │ ├── Error.js │ │ │ │ │ │ ├── ErrorBoundary.js │ │ │ │ │ │ ├── GenericError.js │ │ │ │ │ │ └── NotFound.js │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── Header.js │ │ │ │ │ │ ├── Layout.js │ │ │ │ │ │ └── NavMenu.js │ │ │ │ │ └── loader │ │ │ │ │ │ ├── Loader.js │ │ │ │ │ │ ├── LoadingAnimation.js │ │ │ │ │ │ └── LoadingAnimation.scss │ │ │ │ ├── config │ │ │ │ │ ├── development.env_tmpl │ │ │ │ │ ├── production.env_tmpl │ │ │ │ │ ├── tests │ │ │ │ │ │ ├── env.test.js │ │ │ │ │ │ ├── mocks │ │ │ │ │ │ │ ├── fileMock.js │ │ │ │ │ │ │ ├── handlers.js_tmpl │ │ │ │ │ │ │ └── server.js │ │ │ │ │ │ ├── setupTests.js │ │ │ │ │ │ ├── test.env_tmpl │ │ │ │ │ │ └── transforms │ │ │ │ │ │ │ ├── babelTransform.js │ │ │ │ │ │ │ ├── cssTransform.js │ │ │ │ │ │ │ └── fileTransform.js │ │ │ │ │ └── webpack.config.js_tmpl │ │ │ │ ├── custom-bootstrap.scss_tmpl │ │ │ │ ├── index.js │ │ │ │ ├── services │ │ │ │ │ ├── api │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ ├── client.js │ │ │ │ │ │ └── tethys.js │ │ │ │ │ └── utilities.js │ │ │ │ └── views │ │ │ │ │ ├── home │ │ │ │ │ ├── Home.js │ │ │ │ │ └── Home.test.js │ │ │ │ │ ├── learn │ │ │ │ │ ├── LearnReact.js │ │ │ │ │ └── LearnReact.test.js │ │ │ │ │ └── plot │ │ │ │ │ └── Plot.js │ │ │ └── tethysapp │ │ │ │ └── +project+ │ │ │ │ ├── __init__.py │ │ │ │ ├── app.py_tmpl │ │ │ │ ├── controllers.py_tmpl │ │ │ │ ├── public │ │ │ │ ├── frontend │ │ │ │ │ └── .gitkeep │ │ │ │ └── images │ │ │ │ │ └── icon.png │ │ │ │ ├── resources │ │ │ │ └── .gitkeep │ │ │ │ ├── templates │ │ │ │ └── +project+ │ │ │ │ │ └── index.html_tmpl │ │ │ │ └── tests │ │ │ │ ├── __init__.py │ │ │ │ └── tests.py_tmpl │ │ └── reactpy │ │ │ ├── .gitignore │ │ │ ├── README.rst_tmpl │ │ │ ├── install.yml_tmpl │ │ │ ├── pyproject.toml_tmpl │ │ │ └── tethysapp │ │ │ └── +project+ │ │ │ ├── __init__.py │ │ │ ├── app.py_tmpl │ │ │ ├── public │ │ │ └── images │ │ │ │ └── icon.png │ │ │ └── tests │ │ │ ├── __init__.py │ │ │ └── tests.py_tmpl │ └── extension_templates │ │ └── default │ │ ├── pyproject.toml_tmpl │ │ └── tethysext │ │ └── +project+ │ │ ├── __init__.py │ │ ├── controllers.py_tmpl │ │ ├── ext.py_tmpl │ │ ├── gizmos │ │ └── __init__.py │ │ ├── public │ │ ├── css │ │ │ └── main.css │ │ └── js │ │ │ └── main.js │ │ ├── resources │ │ └── .gitkeep │ │ ├── templates │ │ ├── +project+ │ │ │ └── .gitkeep │ │ └── gizmos │ │ │ └── .gitkeep │ │ └── tests │ │ └── tests.py_tmpl ├── scheduler_commands.py ├── services_commands.py ├── settings_commands.py ├── site_commands.py ├── start_commands.py ├── syncstores_command.py ├── test_command.py ├── uninstall_command.py └── version_command.py ├── tethys_components ├── __init__.py ├── custom.py ├── hooks.py ├── layouts.py ├── library.py ├── resources │ └── reactjs_module_wrapper_template.js └── utils.py ├── tethys_compute ├── __init__.py ├── admin.py ├── apps.py ├── job_manager.py ├── migrations │ ├── 0001_initial_41.py │ ├── 0002_alter_tethysjob_options.py │ └── __init__.py ├── models │ ├── __init__.py │ ├── basic_job.py │ ├── condor │ │ ├── __init__.py │ │ ├── condor_base.py │ │ ├── condor_job.py │ │ ├── condor_py_job.py │ │ ├── condor_py_workflow.py │ │ ├── condor_scheduler.py │ │ ├── condor_workflow.py │ │ ├── condor_workflow_job_node.py │ │ └── condor_workflow_node.py │ ├── dask │ │ ├── __init__.py │ │ ├── dask_field.py │ │ ├── dask_job.py │ │ ├── dask_job_exception.py │ │ └── dask_scheduler.py │ ├── scheduler.py │ └── tethys_job.py ├── scheduler_manager.py ├── static │ └── tethys_compute │ │ ├── css │ │ ├── dask-dashboard.css │ │ └── table.css │ │ ├── img │ │ └── loader.gif │ │ └── js │ │ └── cluster_index.js ├── tasks.py ├── templates │ └── tethys_compute │ │ ├── cluster_index.html │ │ └── dask_scheduler_dashboard.html └── views │ ├── __init__.py │ ├── dask_dashboard_view.py │ └── update_status.py ├── tethys_config ├── __init__.py ├── admin.py ├── apps.py ├── context_processors.py ├── init.py ├── migrations │ ├── 0001_initial_40.py │ ├── 0002_auto_20240820_2142.py │ └── __init__.py ├── models.py └── views.py ├── tethys_gizmos ├── __init__.py ├── admin.py ├── context_processors.py ├── gizmo_options │ ├── __init__.py │ ├── base.py │ ├── bokeh_view.py │ ├── button.py │ ├── cesium_map_view.py │ ├── datatable_view.py │ ├── date_picker.py │ ├── esri_map.py │ ├── jobs_table.py │ ├── map_view.py │ ├── message_box.py │ ├── plot_view.py │ ├── plotly_view.py │ ├── range_slider.py │ ├── select_input.py │ ├── slide_sheet.py │ ├── table_view.py │ ├── text_input.py │ └── toggle_switch.py ├── static │ └── tethys_gizmos │ │ ├── css │ │ ├── DrawHelper.min.css │ │ ├── cesium_map_view.min.css │ │ ├── jobs_table.css │ │ ├── plot_view.css │ │ ├── range_slider.css │ │ ├── slide_sheet.css │ │ ├── tethys_gizmos.css │ │ └── tethys_map_view.min.css │ │ ├── images │ │ ├── dragIcon.png │ │ ├── dragIconLight.png │ │ ├── glyphicons_067_cleaning.png │ │ ├── glyphicons_094_vector_path_square.png │ │ ├── glyphicons_095_vector_path_circle.png │ │ ├── glyphicons_096_vector_path_polygon.png │ │ ├── glyphicons_097_vector_path_line.png │ │ ├── glyphicons_242_google_maps.png │ │ ├── info-off.png │ │ ├── info-on.png │ │ ├── job_error.png │ │ └── map-view-drawing-icons.gif │ │ ├── js │ │ ├── DrawHelper.js │ │ ├── DrawHelper.min.js │ │ ├── cesium_map_view.js │ │ ├── datatable_view.js │ │ ├── esri_map.js │ │ ├── gizmo_utilities.js │ │ ├── jobs_table.js │ │ ├── plot_view.js │ │ ├── range_slider.js │ │ ├── select_input.js │ │ ├── slide_sheet.js │ │ ├── tethys_gizmos.js │ │ ├── tethys_map_view.js │ │ ├── toggle_switch.js │ │ └── workerTest.js │ │ └── less │ │ ├── DrawHelper.less │ │ ├── cesium_map_view.less │ │ ├── mixins.less │ │ ├── tethys_map_view.less │ │ └── vendor │ │ └── prefixer.less ├── templates │ └── tethys_gizmos │ │ └── gizmos │ │ ├── bokeh_application.html │ │ ├── bokeh_view.html │ │ ├── button.html │ │ ├── button_group.html │ │ ├── cesium_map_view.html │ │ ├── datatable_view.html │ │ ├── date_picker.html │ │ ├── esri_map.html │ │ ├── job_logs.html │ │ ├── job_row.html │ │ ├── job_row_error.html │ │ ├── jobs_table.html │ │ ├── jobs_table_modals.html │ │ ├── map_view.html │ │ ├── message_box.html │ │ ├── plot_view.html │ │ ├── plotly_view.html │ │ ├── range_slider.html │ │ ├── select_input.html │ │ ├── slide_sheet.html │ │ ├── table_view.html │ │ ├── test_gizmo.html │ │ ├── text_input.html │ │ ├── toggle_switch.html │ │ ├── under_construction │ │ ├── color_picker.html │ │ ├── floating_form.html │ │ ├── four_stages.html │ │ ├── link_list.html │ │ ├── multi_tab.html │ │ └── table_view_edit.html │ │ └── workflow_nodes_row.html ├── templatetags │ ├── __init__.py │ └── tethys_gizmos.py ├── urls.py └── views │ ├── __init__.py │ └── gizmos │ ├── __init__.py │ └── jobs_table.py ├── tethys_layouts ├── __init__.py ├── exceptions.py ├── mixins │ ├── __init__.py │ └── map_layout.py ├── static │ └── tethys_layouts │ │ └── map_layout │ │ ├── flat_map.css │ │ ├── geocoder.css │ │ ├── map_layout.css │ │ ├── map_layout.js │ │ ├── map_layout_cesium.css │ │ └── map_layout_cesium.js ├── templates │ └── tethys_layouts │ │ ├── components │ │ └── nav_header.html │ │ ├── map_layout │ │ ├── color_ramp_component.html │ │ ├── layer_group_content.html │ │ ├── layer_item_content.html │ │ ├── map_layout.html │ │ └── map_plot.html │ │ └── tethys_layout.html └── views │ ├── __init__.py │ ├── map_layout.py │ └── tethys_layout.py ├── tethys_portal ├── __init__.py ├── asgi.py ├── context_processors.py ├── dependencies.py ├── forms.py ├── manage.py ├── middleware.py ├── optional_dependencies.py ├── settings.py ├── static │ └── tethys_portal │ │ ├── css │ │ ├── account_form.min.css │ │ ├── admin_tweaks.min.css │ │ ├── session_security_override.min.css │ │ ├── social_labels.min.css │ │ ├── sso_tenant.min.css │ │ ├── termsandconditions.min.css │ │ └── tethys_main.min.css │ │ ├── images │ │ ├── arcgis-icon-sm.png │ │ ├── data.png │ │ ├── default_favicon.png │ │ ├── error_404.png │ │ ├── error_500.png │ │ ├── hs-icon-sm.png │ │ ├── lockout.png │ │ ├── nsf1.eps │ │ ├── onelogin_black_32.png │ │ ├── onelogin_white_32.png │ │ ├── placeholder.gif │ │ ├── tethys-logo-25.png │ │ ├── tethys-logo-75.png │ │ ├── tethys-on-blue-icon-only.svg │ │ └── tethys_logo_inverse.png │ │ ├── js │ │ ├── header.js │ │ └── sso_tenant.js │ │ └── less │ │ ├── account_form.less │ │ ├── admin_tweaks.less │ │ ├── base.less │ │ ├── buttons.less │ │ ├── fonts.less │ │ ├── session_security_override.less │ │ ├── social_labels.less │ │ ├── sso_tenant.less │ │ ├── termsandconditions.less │ │ ├── tethys_main.less │ │ ├── variables.less │ │ └── vendor │ │ └── prefixer.less ├── templates │ ├── admin │ │ └── base.html │ ├── analytical_body_bottom.html │ ├── analytical_body_top.html │ ├── analytical_head_bottom.html │ ├── analytical_head_top.html │ ├── base.html │ ├── footer.html │ ├── gravatar.html │ ├── header.html │ ├── mfa_auth_base.html │ ├── mfa_base.html │ ├── mfa_email_token_template.html │ ├── oauth2_provider │ │ └── base.html │ ├── registration │ │ ├── password_reset_complete.html │ │ ├── password_reset_confirm.html │ │ ├── password_reset_done.html │ │ ├── password_reset_email.html │ │ └── password_reset_form.html │ ├── terms.html │ ├── termsandconditions_base.html │ └── tethys_portal │ │ ├── accounts │ │ ├── base.html │ │ ├── change_password.html │ │ ├── lockout.html │ │ ├── login.html │ │ ├── register.html │ │ ├── social_buttons.html │ │ └── sso_tenant.html │ │ ├── admin │ │ ├── edit_inline │ │ │ └── tabular.html │ │ └── tethys_app │ │ │ └── clear_workspace.html │ │ ├── error.html │ │ ├── home.html │ │ └── user │ │ ├── base.html │ │ ├── clear_workspace.html │ │ ├── confirm.html │ │ ├── delete.html │ │ ├── disconnect.html │ │ ├── manage_storage.html │ │ ├── profile.html │ │ ├── settings.html │ │ ├── social_labels.html │ │ └── user_header_menu.html ├── urls.py ├── utilities.py └── views │ ├── __init__.py │ ├── accounts.py │ ├── admin.py │ ├── api.py │ ├── email.py │ ├── error.py │ ├── home.py │ ├── psa.py │ ├── receivers.py │ └── user.py ├── tethys_quotas ├── __init__.py ├── admin.py ├── apps.py ├── decorators.py ├── handlers │ ├── __init__.py │ ├── base.py │ └── workspace.py ├── migrations │ ├── 0001_initial_40.py │ └── __init__.py ├── models │ ├── __init__.py │ ├── entity_quota.py │ ├── resource_quota.py │ ├── tethys_app_quota.py │ └── user_quota.py ├── templates │ └── tethys_quotas │ │ └── admin │ │ └── edit_inline │ │ └── tabular.html └── utilities.py ├── tethys_sdk ├── __init__.py ├── app_settings.py ├── base.py ├── components │ ├── __init__.py │ └── utils.py ├── compute.py ├── gizmos.py ├── handoff.py ├── jobs.py ├── layouts.py ├── paths.py ├── permissions.py ├── quotas │ ├── __init__.py │ └── codenames.py ├── routing.py ├── services.py ├── static │ └── tethys_sdk │ │ ├── css │ │ ├── flat_nav.css │ │ ├── flat_slider.css │ │ ├── flatmark.css │ │ ├── messages.css │ │ ├── nav_header.css │ │ ├── nav_tabs.css │ │ └── wide_nav.css │ │ └── js │ │ ├── check_ie.js │ │ ├── collapse.js │ │ ├── csrf.js │ │ └── utilities.js ├── templatetags │ ├── __init__.py │ └── tethys.py ├── testing.py └── workspaces.py ├── tethys_services ├── __init__.py ├── admin.py ├── apps.py ├── backends │ ├── __init__.py │ ├── adfs.py │ ├── arcgis_portal.py │ ├── azuread.py │ ├── hs_restclient_helper.py │ ├── hydroshare.py │ ├── hydroshare_beta.py │ ├── hydroshare_playground.py │ ├── multi_tenant_mixin.py │ ├── okta.py │ └── onelogin.py ├── migrations │ ├── 0001_initial_40.py │ └── __init__.py ├── models.py ├── static │ └── tethys_services │ │ ├── css │ │ ├── tethys_datasets.css │ │ └── tethys_wps.css │ │ ├── js │ │ ├── tethys_datasets.js │ │ └── tethys_wps.js │ │ └── less │ │ └── tethys_datasets.less ├── templates │ └── tethys_services │ │ ├── tethys_datasets │ │ ├── base.html │ │ └── home.html │ │ └── tethys_wps │ │ ├── base.html │ │ ├── home.html │ │ ├── process.html │ │ └── service.html ├── templatetags │ ├── __init__.py │ └── tethys_services.py ├── urls.py ├── utilities.py └── views.py ├── tethys_utils ├── __init__.py └── deprecation.py └── tox.ini /.gitattributes: -------------------------------------------------------------------------------- 1 | docs/* linguist-documentation 2 | docs/**/*.png filter=lfs diff=lfs merge=lfs -text 3 | docs/**/*.jpeg filter=lfs diff=lfs merge=lfs -text 4 | docs/**/*.jpg filter=lfs diff=lfs merge=lfs -text 5 | docs/**/*.gif filter=lfs diff=lfs merge=lfs -text 6 | docs/**/*.zip filter=lfs diff=lfs merge=lfs -text 7 | docs/**/*.ico filter=lfs diff=lfs merge=lfs -text 8 | *.eps filter=lfs diff=lfs merge=lfs -text 9 | *.ai filter=lfs diff=lfs merge=lfs -text 10 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ### Description 2 | This merge request addresses... 3 | 4 | ### Changes Made to Code 5 | - 6 | 7 | ### Related PRs, Issues, and Discussions 8 | - 9 | 10 | ### Additional Notes 11 | - 12 | 13 | ### Quality Checks 14 | - [ ] At least one new test has been written for new code 15 | - [ ] New code has 100% test coverage 16 | - [ ] Code has been formatted with Black 17 | - [ ] Code has been linted with flake8 18 | - [ ] Docstrings for new methods have been added 19 | - [ ] The documentation has been updated appropriately 20 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: Features 4 | labels: 5 | - major feature 6 | - minor feature 7 | - title: Experimental Features 8 | labels: 9 | - experimental 10 | - title: Bug Fixes 11 | labels: 12 | - bug 13 | - bugfix 14 | - title: Security 15 | labels: 16 | - security 17 | - title: Documentation 18 | labels: 19 | - docs 20 | - title: Other Changes 21 | labels: 22 | - "*" 23 | exclude: 24 | labels: 25 | - ignore for release 26 | - contributing 27 | - continuous integration 28 | -------------------------------------------------------------------------------- /.stickler.yml: -------------------------------------------------------------------------------- 1 | linters: 2 | flake8: 3 | python: 3 4 | config: ./tox.ini -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | recursive-include tethys_* * 2 | -------------------------------------------------------------------------------- /conda.recipe/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/conda.recipe/.gitkeep -------------------------------------------------------------------------------- /docker/salt/run.sls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/docker/salt/run.sls -------------------------------------------------------------------------------- /docker/salt/top.sls: -------------------------------------------------------------------------------- 1 | base: 2 | '*': 3 | - pre_tethys 4 | - tethyscore 5 | - post_app 6 | -------------------------------------------------------------------------------- /docs/dev_guides.rst: -------------------------------------------------------------------------------- 1 | .. _dev_guides: 2 | 3 | ****************** 4 | Development Guides 5 | ****************** 6 | 7 | **Last Updated:** January 2020 8 | 9 | Use the following guides as resources for learning how to develop apps with Tethys Platform and use the Tethys Portal: 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | ../tethys_cli 15 | ../tethys_sdk 16 | ../tethys_portal 17 | ../software_suite -------------------------------------------------------------------------------- /docs/images/app_content_only.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:bc8cf461a1556f66a82372957ccead527cfed11cdd1416dd017bb1ee00c40c16 3 | size 81336 4 | -------------------------------------------------------------------------------- /docs/images/app_controls.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:59dc9bac9e7e2ae2f991abc8ae7e4b0710351ba6eae64e1864097f33c1bc040c 3 | size 96678 4 | -------------------------------------------------------------------------------- /docs/images/app_header_content.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fd97dff61aeff1a69d1ec15d4eb9fb28ddec655b964455e787f34de0b59acf33 3 | size 92980 4 | -------------------------------------------------------------------------------- /docs/images/app_left_actions.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:add32853034ad4b1df549caa575f100458b7951d7bee4c956913583bcd8e2695 3 | size 96003 4 | -------------------------------------------------------------------------------- /docs/images/app_no_actions.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:511583b19221ee2ee059fd70922b217f76f4618bc045209ee207248a621e8c9b 3 | size 105980 4 | -------------------------------------------------------------------------------- /docs/images/app_no_nav.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1d619bc765b2565ead9226e4bfa3f452499d056b388901d1d132a4f3261f9c40 3 | size 92928 4 | -------------------------------------------------------------------------------- /docs/images/app_package_django.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:996d00b38c47463223faceb5ce674a4a5f5c504dce6773b75aa73186356cac38 3 | size 27012 4 | -------------------------------------------------------------------------------- /docs/images/app_quad_split.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:284148b05eba31ce380d259a0cce1412beb232275b7f69b81202f8d27cce07f7 3 | size 50241 4 | -------------------------------------------------------------------------------- /docs/images/app_right_actions.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:99b93966413854d9820f52ec8d2980d182e684c1d178f09a80990dadebad7cd4 3 | size 96007 4 | -------------------------------------------------------------------------------- /docs/images/app_three_columns.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3939b995e678b64ec37c40817e433b13e4bdfe8b2cf16a84ff6f643370ce25a9 3 | size 97248 4 | -------------------------------------------------------------------------------- /docs/images/app_two_columns.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:413c8c82ae69dfe6f1ec0f2b7cbc2416361925ab023285616dcb960b9c64e6a9 3 | size 96022 4 | -------------------------------------------------------------------------------- /docs/images/basic_mvc.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a24deb7c3d9af35889ed6c58c1ea02dce509512a01319b3e260c3e72ea1f9ceb 3 | size 30422 4 | -------------------------------------------------------------------------------- /docs/images/canned_gssha_example.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3ae6a835d47bcfb638c6bf1b8bfc129e724308fec1700b0d9f6145a240d367cc 3 | size 238518 4 | -------------------------------------------------------------------------------- /docs/images/default_favicon.ico: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e9f27d4318ab82d485efdcc6b6e1f17ce6353bb6bafd70fe0a7decd770d28a39 3 | size 1255 4 | -------------------------------------------------------------------------------- /docs/images/default_favicon.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e9f27d4318ab82d485efdcc6b6e1f17ce6353bb6bafd70fe0a7decd770d28a39 3 | size 1255 4 | -------------------------------------------------------------------------------- /docs/images/detailed_template_blocks.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:230e1bdc9f39ece8be163c077c8ff47da1a18cfbacdc9da0f7e01bca325cdb80 3 | size 67756 4 | -------------------------------------------------------------------------------- /docs/images/echo_name_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:20fbed7634ef6b6924739f0d8f94d965e48fa010519cce6718bf56b3947dfa54 3 | size 26421 4 | -------------------------------------------------------------------------------- /docs/images/features/app_code.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:21e042f0a13ec31d99233396a2fd32ba02e8fc35c3f32d6aa7cdc1a2632f2bed 3 | size 114158 4 | -------------------------------------------------------------------------------- /docs/images/features/apps_library.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f270248009a9e280a011f7f68f907c176521317de18de10f2835f6adf76825ec 3 | size 322661 4 | -------------------------------------------------------------------------------- /docs/images/features/computing.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e3f69651e3fcd275eb9df5d474f357ef74e4c0b8bc865540c447145d22ab917a 3 | size 131169 4 | -------------------------------------------------------------------------------- /docs/images/features/computing_admin_portal.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:43b8847e92246dbc6041fd96b500ff2cacb4a2fd2f2883242a9cda2914e28843 3 | size 47354 4 | -------------------------------------------------------------------------------- /docs/images/features/computing_condorpy.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a146724e4db94ac4e17976dcd2bcf3edd7d7355ee999178aad7eef839538c4a0 3 | size 202925 4 | -------------------------------------------------------------------------------- /docs/images/features/computing_tethyscluster.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b36f33a1b37d9dc2d2dabc98c6fc6e917743f4ab91d37465c69985f7778849de 3 | size 237970 4 | -------------------------------------------------------------------------------- /docs/images/features/customize_homepage.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:45067af5547f488540a7aab9b77399b29f5ad240cdafe7ecda532837a4138fa6 3 | size 101276 4 | -------------------------------------------------------------------------------- /docs/images/features/data.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:016f57aacbc85eb5b5ac97b675f03faff362ced46911b32904d15bcd7572c66a 3 | size 92404 4 | -------------------------------------------------------------------------------- /docs/images/features/datastore.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e69bcbed9b51ea382f71fe18a4d7ff50f1ca408257904b15cb6a2d07df970da6 3 | size 69848 4 | -------------------------------------------------------------------------------- /docs/images/features/developer_tools.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a52214c718fa2bec07432185c388bc2b9430d7bf3fcc5817e4cf1a0834367e4c 3 | size 124234 4 | -------------------------------------------------------------------------------- /docs/images/features/example_app_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2c6d1625d5193b3b5b72770bfc4b0ac3dc414e0a234ea452589f6f1d840d4281 3 | size 540332 4 | -------------------------------------------------------------------------------- /docs/images/features/example_gizmo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:409dd42883a8876dbb0f906b08022f663a3adeed9dbc95e487b0704e40532ae4 3 | size 286355 4 | -------------------------------------------------------------------------------- /docs/images/features/geoprocessing.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c72b53365bc5385ce9833de709923f88ac26454c73764b36983dadcd56dcd016 3 | size 70797 4 | -------------------------------------------------------------------------------- /docs/images/features/gizmos.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0b873f1d066aacc5533210394444aed12948b95e0945315d9128c8d971abd5b4 3 | size 85534 4 | -------------------------------------------------------------------------------- /docs/images/features/nsf1.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4768e586723786951b6c0bf4707ced14a24b40c626653728e295a14d6eba6779 3 | size 12384 4 | -------------------------------------------------------------------------------- /docs/images/features/sdk.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1cf0f5f388e03862ea2bc598ac142d974a716f329703591cc1e9089857d42149 3 | size 83377 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys-logo-250.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6794c396fba7c6f0aee1d242bf6e22a6c829100c1968ae4a8de9aeec864e5831 3 | size 23848 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys-logo-512.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:91efcb136a4b385145fe4446d522def7b79e9a552cdeb37eab2d00fa1b35f2c1 3 | size 58785 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys-logo-75.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5952b09ca2a58e584dcd81a6453f670dbe7f0db137e95d0c4d9af96f24cff57a 3 | size 5527 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys_compute.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:74c91c7db9832f2247a510367c1da02b691c697399278fd9602b369d975e0acf 3 | size 86794 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys_logo_inverse.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e71e020748411984c7d522d4d1ef39a654a608797adfd33fa480da7422d99649 3 | size 25321 4 | -------------------------------------------------------------------------------- /docs/images/features/tethys_platform_diagram.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:00ee0bd1dbfd5238808056bd2965b26a64ebdbfb62f76492acc19073fb9bc90e 3 | size 117750 4 | -------------------------------------------------------------------------------- /docs/images/features/user_profile.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:656dedc8735f9b4ac8e0e4650809129763c6a7310de277a1996c27f079f2650e 3 | size 52246 4 | -------------------------------------------------------------------------------- /docs/images/feedback.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/docs/images/feedback.bmp -------------------------------------------------------------------------------- /docs/images/getting_started/hello_world_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:719e0d945a17c8efd4b2b5cc11c042a81e8cf5ed771493accb541580a38388eb 3 | size 53022 4 | -------------------------------------------------------------------------------- /docs/images/getting_started/hello_world_login.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cf374f1d126d7fa71fcdbe22a37f8b1fd609b3d1395349f98d83698ea1b7e6c4 3 | size 37089 4 | -------------------------------------------------------------------------------- /docs/images/gizmo_example.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a08567ea082ef5c55e0348715728e5cc48a02831367aff99e5d3b7a8e8b7ddd4 3 | size 38830 4 | -------------------------------------------------------------------------------- /docs/images/import-wizard-promote-project.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0fc96d44ed009066d6e753f6592799e6b73ea290b211b94ce2fa4219cba5a7f2 3 | size 37668 4 | -------------------------------------------------------------------------------- /docs/images/import-wizard-select-source.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3425a436aa39641102fba377ab5c966f6eb0be182789c8bb36e8f90b281a34c3 3 | size 43140 4 | -------------------------------------------------------------------------------- /docs/images/map_single_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f37f54626fa087dbecae97905c1cab06f25908d55e37b2c72306232d13779e85 3 | size 302052 4 | -------------------------------------------------------------------------------- /docs/images/new_map_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f23218e2d32ac3ae32dbd9fc5d4145df49c92384bde907ea29466f15fbeecf9e 3 | size 275674 4 | -------------------------------------------------------------------------------- /docs/images/pgAdmin_III_db_confirmation.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cd134f33ffd6eed3e03161f597fcd8d7226cfe9f67f2735e05b3517988c11dd8 3 | size 128223 4 | -------------------------------------------------------------------------------- /docs/images/pgadmin_tutorial_1.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:419dd9dca315e1669ee3564ed4378053cc28a676126b08a81f91a989bd9b7758 3 | size 45318 4 | -------------------------------------------------------------------------------- /docs/images/pgadmin_tutorial_2.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e95fcd5ce88d920d7a5a24bb6f7de02ffa2fe626a0b42f44d389c866adb6a710 3 | size 73963 4 | -------------------------------------------------------------------------------- /docs/images/pgadmin_tutorial_3.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:241443bbc15c0199652c56063c31df3799994a637f673153ee82540e79de985d 3 | size 104095 4 | -------------------------------------------------------------------------------- /docs/images/recipes/address_searching.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dae10fd8144f409610b02f6fad03be9414b1c801729894cc7db2132092ea868b 3 | size 722462 4 | -------------------------------------------------------------------------------- /docs/images/recipes/arcgis_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e20699e5c180ef7d37fd8fc70f0776c6f8e4702a9154b2a1301a0b1b80bc9116 3 | size 495485 4 | -------------------------------------------------------------------------------- /docs/images/recipes/forms.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5e5744b731c48de138f238b90ea0bbc1b815c2103fa5ab02c5741a1fc4fa6839 3 | size 148001 4 | -------------------------------------------------------------------------------- /docs/images/recipes/geojson_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:96d5cbea6374ec7aa479caecf6a58d17ffc7a418ed2efe0809a529732e32e50f 3 | size 732659 4 | -------------------------------------------------------------------------------- /docs/images/recipes/map_layout.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2823335b1e45425b63d72cd90aec6caf8512b39c55ccc5d69844f3b065485ba8 3 | size 846243 4 | -------------------------------------------------------------------------------- /docs/images/recipes/plot_points.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6bfde00ee055135b627e8cdedbc2f0a09f5127c7f70b977774e283eedad3ae71 3 | size 440933 4 | -------------------------------------------------------------------------------- /docs/images/recipes/popup.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7b654b44841ab622c521c7cd935f744bb51089f30a6d41a9bddde4bc2a42b64e 3 | size 1862798 4 | -------------------------------------------------------------------------------- /docs/images/recipes/spatial_data.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:286d651a327f3f0d7189b1c1f5397d6f347e87a1292401cc557d9ff9a3489506 3 | size 1973479 4 | -------------------------------------------------------------------------------- /docs/images/recipes/vector_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:da252e60e1575ce66528c37d8025448a74d10468b117af16c59ddf814d800a35 3 | size 723786 4 | -------------------------------------------------------------------------------- /docs/images/recipes/wms_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6efbc87f4742fbe03f8f045eced791cff68cf1a80fe593a63fb35be95da04d39 3 | size 720178 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/app_settings_top.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8124bdee6be05655fbf1c2bb132f64ffe316214e04cb5deb714f31404d25d23c 3 | size 57845 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/auth_token.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d82f3b8641fa3fa0be82020143160cea73e8051c212ff9154ed30e2f9c5baa67 3 | size 77039 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/custom_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a806c6a335a11164a60b626a915ff6d8c75ed715a242414c8121194229350c09 3 | size 111345 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/dataset_service_edit.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:62dd3c061f4a4d4a017b774d4b81a9ba118a425a8534409d30516902f1dde69a 3 | size 190797 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/dataset_services.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:226bc052eff2e32a51053c80729693890c480bdb42410ffcc49a7fa70335a2bd 3 | size 169944 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/home.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:df7b79bb6df2eda5fbd554b6c7c8edf45d386bb8807c2b0ebc8dcd49774827dd 3 | size 99731 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/json_custom_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a69040a489a52ee0132f3d2c0101dfbb33e75c5d64de916a6fe8f8245928c5e7 3 | size 22621 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/log_in.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:65895afc027352a74bb5fd40a92599067b706458fb77833bf3bdcddf26d01936 3 | size 177397 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/new_proxy_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:46f75b326f38b5263b8e18bb3146136a1755192a4447fd6abb6b3bae19235741 3 | size 61665 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/persistent_store_service_edit.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c3b3ce66c1bdd0209e2063c27cba125f2162b6d7a2dfe3644582aa8268a9b415 3 | size 187451 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/persistent_store_services.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ff23cb28c99d8f04c393c9b8a5bce83f72efd68cb25edd8cc685f6730813ca9a 3 | size 198590 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/secret_custom_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f4b0f8e5170e62fb39573a085d4688f261ce36b96fc73b0fa8adb85e3fae09f2 3 | size 12638 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/select_site_admin.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4da9ce8a48340bc2730e90c501143011aed1e170b3883feda8b809d9f05f53af 3 | size 194646 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/service_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:824ca533a6591919fed251063851c81115f227ffece0fce54cd819da98944efc 3 | size 124710 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/spatial_dataset_service_edit.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2ac1c0b913d2d7882127f6c939030cb32dfa4d00075711e7d36d2442631c4c14 3 | size 198687 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/spatial_dataset_services.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:46ae013a84dc4b298909ef5c4a5d84bd347575f3ee6acd8dba5f5a7f741c30eb 3 | size 174527 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/wps_service_edit.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9dbcd4c7546e7da532ce4a84412bbd277baede7af817af8cc6216d58a5fc4020 3 | size 189025 4 | -------------------------------------------------------------------------------- /docs/images/site_admin/wps_services.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a2c4cc2e78da8577a5e7e5dd30d1b578b69b08c001b51cb60f6cbc852df80290 3 | size 177737 4 | -------------------------------------------------------------------------------- /docs/images/software/52n-logo.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ecaa294fe877adddfe36f0031861ac4f3bb46a44d7d7e56a3d2824b24232deb6 3 | size 4014 4 | -------------------------------------------------------------------------------- /docs/images/software/cesium_color_black.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9e946e4ea95e28e657959d20b3d3a01f8b931033036a1887e8e2970106683550 3 | size 54202 4 | -------------------------------------------------------------------------------- /docs/images/software/ckan.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:061e15239dd48fb67d7ea42b25c527588509b429b95e999dc295ac776b539aa7 3 | size 17688 4 | -------------------------------------------------------------------------------- /docs/images/software/django-channels.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7ff77e73e4e95a58f1869b2eddd2de5fed458076fea938311042fc5fabe870bf 3 | size 68981 4 | -------------------------------------------------------------------------------- /docs/images/software/docker.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:13e22fec2bcbe91260e0494d47927f8238e6b01dd9247edc755c68567487df3a 3 | size 22898 4 | -------------------------------------------------------------------------------- /docs/images/software/geoserver.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:83655e6ff25cb6cc7c6845d67ff1a7311c9423841ad5a445a38f6c692d848d57 3 | size 16349 4 | -------------------------------------------------------------------------------- /docs/images/software/highcharts.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dbc3225e1f26ea8ab048b4366388061a5d61c1687c745237c59ee5034e8eeb23 3 | size 18136 4 | -------------------------------------------------------------------------------- /docs/images/software/htcondor.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3e0c24cd496a71e39b1323ec75d0e938b44707138fa03be78b6067c5d4238fa8 3 | size 36350 4 | -------------------------------------------------------------------------------- /docs/images/software/hydroshare.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:550f2546042498d23c85e2d066e51dc084054b7cf94b29780449c20a3d9bfdda 3 | size 10409 4 | -------------------------------------------------------------------------------- /docs/images/software/openlayers.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:04e258587d3786ca4036d7579a2bae064f145f0880260ecd92f41f1ff6b9b4e1 3 | size 5732 4 | -------------------------------------------------------------------------------- /docs/images/software/plotly_logo.jpeg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f5f6be3fd4db78573932bf28cc50277f9c3a86ec27bde1cab48c44988ac074f0 3 | size 5249 4 | -------------------------------------------------------------------------------- /docs/images/software/postgis.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:81c2682888d768e45acd42b929d59cbb55da4f842d704458b9da97d48f51a34f 3 | size 26795 4 | -------------------------------------------------------------------------------- /docs/images/software/postgres.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4ff40ff7feb890108b6da8968ae640a28244269808acccad107633d6292f171f 3 | size 44481 4 | -------------------------------------------------------------------------------- /docs/images/template_blocks.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2c45a784bc05f980bac843c85e315b9a16061c4505ab7986dbdd1e90872f3c8e 3 | size 48438 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_admin.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:659cb2d06bd1a5cc50461541dcab38922053aa677ed915be8456238c5ed2c086 3 | size 93171 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_clusters.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7aadb15fc9124d58de2defda299db0b72eba8f7ecbd0062888d7d5497e1abeae 3 | size 145632 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_condor_scheduler.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:27307becc9da68fec7b41796dc9965057bd02c159813b5fb9118a62497338af7 3 | size 86621 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_dashboard.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d60b7f7a43b5e278986fa09af28c5d534eb4e9e07bf2b13efedef8b44c8d85ef 3 | size 121239 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_dask_launch_links.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e7f30ecc6a49082859183de137259db90c496f692a903c62fe33bedb6f5df797 3 | size 87865 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_dask_scheduler.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9326ccfce01335ed0fad4315173ac334aa22f45d6f9011be60b8c3d470c5dd2c 3 | size 81793 4 | -------------------------------------------------------------------------------- /docs/images/tethys_compute/tethys_compute_jobs.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:47831a2acc20f3baeff5dcc484bbaa02087f0331e53ed44624261c9e1350fd65 3 | size 162110 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_admin.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:071b5bf0c2fce43a9d28df0c067a8b4e0f7b9e2436b681dd73bb583066d22c97 3 | size 92475 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_aq_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:faddb597a2b79b845b99f38248974ceae120f302c9f41150867750a690a2a005 3 | size 77027 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_assign_perm1.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7f43a5a6d4ad395fa3224be6a8186b6076a918888e4e4dee10d0e2da814e6016 3 | size 24132 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_assign_perm2.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9b53dabae6993abf7604bddfaccd57e80d69fe49d0752cbd149a08780ff54afd 3 | size 56421 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_assign_perm3.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5cb6bb931bfe72340e506922682492311fd2b9b1166abc52bce39075ab695765 3 | size 35175 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_assign_perm4.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e4249b5089e13a18483b70b3d5ea581a0c5bfb11a0db051c2f335a3e44f3cbe1 3 | size 88815 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_assign_perm5.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f492e6f0c46bab024ce1ee394732bf3eae5006b9e35573913e3fa0e411365b4a 3 | size 45079 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_general_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:79ff5ec184b9eb45b9eee002498436458b08f419331564b16c3050f64dc6ccb9 3 | size 188857 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_home_page_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f7f1b7239e82c3beb6dc2b5e3d8c82f226bb7dbd50f48cd5144114b3dfb8be18 3 | size 216731 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_manage_app_storage.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b75d9d07e75f6129c2d96c28870704716f3cc26157b0511e888cfad0a2f79456 3 | size 60875 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_manage_storage.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d7089b5b82dc5c19f7670c38ceab211f60c498405be12339e030dbe2ae8363e7 3 | size 61830 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_rq_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:09e297c279b46e779f7460a0e9fd7280f08e333f0580a052c08e7aa684e69de0 3 | size 62576 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_site_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1eccaf6f838b876255577495881cb969abd7ed3faca7eef4cfdde2007e0427ac 3 | size 91722 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_toc_modal.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:db40671cffaa9c18d575087ee74b1a75e4b436b3d0c0ccc59ecf44514499e212 3 | size 50365 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_toc_new.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c73027c5aa567c56c2d7fdced55e2d75be3bded2ebb90a1dd03a935fd8214c95 3 | size 45454 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_uq_settings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9848d559dc66442b78c9e05e7a4eeec8fefbd4d88c804fc88bd0a36761349011 3 | size 72168 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_user_management.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:bf77368ce7c257130f9bce69077205022063ffffdafe05822f133e1f572abca8 3 | size 75200 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_user_profile.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a7e9e58438d4966cbf45565bece1a325470e294ed7a41b320947a69cb931fb2b 3 | size 70063 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal/tethys_portal_user_workspace.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3f9407baea1c3d4352f496520cf54968fe92dec5c6c3c1a24d4deb82abf2c087 3 | size 64458 4 | -------------------------------------------------------------------------------- /docs/images/tethys_portal_landing.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6458c988c9c8c0453f511bd1bf126e59c01031524ab849b302d2d5fb70384ee5 3 | size 175141 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/DaskAppSettings.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cf882222a4dc593bde83f8a3264089af421112d35991facaa4d89a353db51566 3 | size 79544 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewCreateDaskScheduler.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cb983a99d1a4a733c14538359fd23b4ccdd2077d938eda3e28668777ec5c97d2 3 | size 59511 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewDaskSchedulerPage.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ec39d1ba5594ecaafa01a8f922a33b516ef97af7e38bebcdf1f83ec5fe34c464 3 | size 46926 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostCreateViewsHome.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7a799e6431791070b38127de156954684ad99ba14e5a888f55172241196b5cd7 3 | size 23039 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostCreateViewsJobTable.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6795f4bb3df8bac8b53aa6fa25d375c880b2abfbbf938ca5561026a7202d9e17 3 | size 51594 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostDaskDelayedHome.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:eee8aa03e43095fe450c0950a8417125885f660b46f681c464e15a36d901b184 3 | size 30423 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostDaskDelayedJobsTable.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ad652eff519bb13d7fcad45fb1f5fa7d76d3e378d2457cdc415fb8ff3613bb2c 3 | size 76123 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostDaskDistributedHome.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:96ff01cdabc4408b424642af9ad9ceddaeaf7201157538706f95f1bbc77b5dbe 3 | size 37605 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostDaskDistributedJobsTable.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5c045c4c9701e7d86695ad41c8802dd5fec050ce7d7dea580a19da9414cc3b1d 3 | size 84687 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostMultipleLeafHome.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2d29d47b41d70e6ed2dcb6b081e3f576fcc8c38c13125e1de2589d956120e494 3 | size 37445 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewPostMultipleLeafJobsTable.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:77d2f80d5da5a72a39ada38a85afeee0786c6bb213879c5dec6346226435b56c 3 | size 46439 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/NewTethysCompute.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8d63644589e9aab5c934d7e46f411c45f1840fed851a417dc489a6533910a7b0 3 | size 75543 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/SchedulerCommand.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a124969853d49903a40443b728bb2ad76eb313e05eaf48917651ede0566876a0 3 | size 118167 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/Setup_scheduler--run_tethys_dask.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2545bdf07982c47bbe881533182b3e319dd3cd3a6fe3c348bb4157688a593e08 3 | size 72075 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/Setup_scheduler--run_worker.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:06ecda3e2cc27fbe3fc0322dd6a774ad5b2607a0e0de58bffe16a7f38fcd79cb 3 | size 86427 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/Assign_Persistent_Store_Service.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e7b04480c51fae427b7875aa83ac787f8167c8e41095e3a001e9c3a2c0a158d7 3 | size 156158 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/Persistent_Store_Service.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7a596d3a9a457e5f1ea4f5cbe6fe99dbfa43f33972479049d3fdc30abeafd541 3 | size 31289 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/key-concepts-advanced-screenshot.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6bfde00ee055135b627e8cdedbc2f0a09f5127c7f70b977774e283eedad3ae71 3 | size 440933 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/key-concepts-beginner-screenshot.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2823335b1e45425b63d72cd90aec6caf8512b39c55ccc5d69844f3b065485ba8 3 | size 846243 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/key-concepts-intermediate-screenshot.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5e5744b731c48de138f238b90ea0bbc1b815c2103fa5ab02c5741a1fc4fa6839 3 | size 148001 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/advanced/ws-conn-browser.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7475a3384c7e3757711e091ebbe2b4316f6a2eaff161b1f79ec8a8c9651d22ab 3 | size 129831 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/bokeh_integration/bokeh_integration_1.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2978e69f0fedb25145fb5904c0121365306957f549eaf54004b2aea196e76a6d 3 | size 87225 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/bokeh_integration/bokeh_integration_2.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c83504a1471fd7a94926d9a7357d4bf909b8235e0d4e3b678f843dcaf6848aab 3 | size 95145 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/bokeh_integration/bokeh_integration_3.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:61ac56ff04a928c14f792343a92b491f519509dfd0f790b742ac0fe28928b3cc 3 | size 78863 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/blank_home.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6b30c7e53837a1bc43d07f37d09bbe45f6f44f39a3f5ee854a8874bab35f0be3 3 | size 30082 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/blank_jobs_table.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6a5192f8b0d52ce810bccb69ee1ede91436a895c15629a8fa84cf8ed218efb92 3 | size 36805 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/home_with_delayed_button.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cf3167abf76b4866b0cd5068c9c6ace2a579a6789ce74dc3735bbd33742d7f17 3 | size 37113 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/home_with_distributed_button.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a9599c58bdfdd36ee1cabc9c50489de651d78e8ab76fc2d59a4ea8f636ff7a33 3 | size 42802 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/home_with_multiple_button.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b869c48c609370530f1e43c452c17fa0ec2c8d74aeb038e8a36832c00503b0a5 3 | size 50711 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/jobs_table_with_delayed.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b59d4f1f511deb29efb7834761b8c4849c569df0af76a35a455a50fc5b558f44 3 | size 47256 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/jobs_table_with_distributed.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:04ee1e39609797cf7f96f9b56434d5a54283fe5bc603b299e7e3258a6f353420 3 | size 49482 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/dask/jobs_table_with_multiple.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6358e5ea494749b74976394f423c000a46b8d9218bc69f6a55e748c5b8f30c3c 3 | size 58054 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/about_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3278bda28f161a056f806a6b282261590ec73e60e2a71783eb3a797dc7f2da99 3 | size 630417 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/clip_by_asset.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:28b81527ed379b0608306e92058a4b4226accf436968df285e74ccb9bb778143 3 | size 750276 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/dataset_controls.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dcd3ebe4b9ba9229da3feaa4e26fccbd668416f3a876733c97313349e52ef0ca 3 | size 48806 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/dataset_controls_js.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2a7fb9d4a467d33087316096b59519d3dc6523dd1d5995989195248bae13bc9e 3 | size 102600 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/deploy_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7317a10ce5729757dc5d6df34c43c984c4327155bd5b78cc8aff281cba8b9e7c 3 | size 1500827 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/file_upload.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:52b3fe98a8be2bff5b6986e5617e42711a3eae478ebd5b7546812f124ee79178 3 | size 439520 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/gee_intro.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:bee2943767285ae035b72282444366c1ea0f1500e5ebdde6ad9cb4579677e179 3 | size 1456419 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/home_page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:01a8d6d8be7df72688864a5672eec8a7ab8145b17131859c23d3d365e355e7bc 3 | size 1633708 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/map_view.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:05a2ffa30900874086cb418e10d869e36c68835e92815152b56e118c2aeba942 3 | size 569788 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/plot_data.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a74cc0a08a5f9e6a362e78edbd9142d9284ce9e6d594e2c018f9f4f8ea19637b 3 | size 226624 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/rest_api.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:77101a29e5c751a3542bcf8c9ba487232753960a6e24fcb6cf94fe3f1682be72 3 | size 193659 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/scaffolded_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6943a2da7ec46108a886f6a78f3cc8c66384f5edbcccc5f1cca754acad33971a 3 | size 71614 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/gee/visualize_gee_layers.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:314debb772b0a56308d6bc5e7db05e846748d3c211caa5bd5065a362ef997f76 3 | size 1606461 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/quotas/MaxDamsView.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2e4e4fa13c60fc3080e06693246a7cee5a30199b190fdcabca7281ada3cd4115 3 | size 13879 4 | -------------------------------------------------------------------------------- /docs/images/tutorial/quotas/ResourceQuotaView.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1cb17de03cec1eca3cb4c4f3a13021d9d95122b1c29ae57e87b674a8cdc14efc 3 | size 40414 4 | -------------------------------------------------------------------------------- /docs/images/wps_tool/developer_tools_wps.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:19f8c56f8286a00be026908dd38b1a2a98c3ec8938ff4c620930febfc1ef1bc7 3 | size 150106 4 | -------------------------------------------------------------------------------- /docs/images/wps_tool/wps_tool_buffer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:16f1e4d604f35db5dcb80b3dc090425fb2920a4ac4d28cb6266ee9b8345604e4 3 | size 85883 4 | -------------------------------------------------------------------------------- /docs/images/wps_tool/wps_tool_processes.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:eb1926afd32310d679d45ef526ff901cc2511927be699f049da2041a6e1aa319 3 | size 50935 4 | -------------------------------------------------------------------------------- /docs/images/wps_tool/wps_tool_services.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:13a5df0ad6be9bbf85029b2ddb4271452bcb0cea2e50c926e04a037fb11fc674 3 | size 50697 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/compose--custom-tethys-portal.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:599c80b4bf1d31015a496a3aa2f9160f8b96040618168a8df33cccc025ffc12a 3 | size 143783 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/docker-logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d379475f78868d0abcc49ceeb006d3e2d69b362993af8a5f6fa3402258b95c56 3 | size 24928 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/favicon.ico: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:692d4a2f2f63411f1fa3647a37595f4fae5e0d0be3c764411368bfd3e49afee1 3 | size 4286 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/install--docker-desktop.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c6131f70d7cac81d933d428c8863436d542360b07694bd60cb95f1b9edfa1b23 3 | size 26829 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/install--getting-started.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e510c96b229e8363ae4b5a72fb9fddf30f3aa8027a1ed75955e597303695b28f 3 | size 101334 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/leaf-logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:769a6b5e60f08df63119110c5240180487e1cdbfa8c3627b1d7acbddc782f33b 3 | size 11128 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/primer--containers-vs-vms.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4e7e5d43943452532b1d12292f931462594f91aec11d38920977faae3e4f2bf0 3 | size 96045 4 | -------------------------------------------------------------------------------- /docs/installation/production/docker/images/primer--docker-hub.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:49c92778db6d8f2282a1501e89eef0cc74739a2e7abad260d194474aae682fe6 3 | size 108672 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/additional.rst: -------------------------------------------------------------------------------- 1 | .. _production_additional_guides: 2 | 3 | ***************** 4 | Additional Guides 5 | ***************** 6 | 7 | **Last Updated:** May 2020 8 | 9 | The following guides provide additional information on other aspects of production deployment you may be interested in. 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | additional/troubleshooting 15 | additional/backup 16 | additional/distributed 17 | additional/geoserver_ssl_config 18 | additional/selinux 19 | -------------------------------------------------------------------------------- /docs/installation/production/manual/additional/images/geoserver_ssl.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:13d399743123e4c719fa999f24368a617f622e66e3d2d82eac68c115f4cc597a 3 | size 230171 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/additional/images/tethys_deploy_stack.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:963b8ae6375fc453f43ce86f709a4584e00d51326a0312036bd2a4e04d54a0ee 3 | size 18984 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/locked_out.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:17e4667a76574de38b980d8bcff32f7b8ae41f519657a3e7ea428a6a1a587609 3 | size 97641 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/mfa_add_auth_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:fd7efe349804f14b8040531e9304be7c268e9cffb5b6e87d7d81271533f3b76a 3 | size 64370 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/mfa_add_email.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c706783b34cf323a9fb7c3dae8389899a1b932eca28c393675f9a6f832533bd4 3 | size 43607 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/mfa_add_method_table.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:607fe2481f411c8d49b2d28d909745a750c402c7d02d64aef226c5ecba16fba5 3 | size 49820 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/multi-tenant-logged-in.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:533d6ec3f5bb5479b4f6f95d888ca437fc4348cbd327c314cd7b224275c5fcd5 3 | size 59406 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/multi-tenant-login-page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e5830df2460c6a14cc5cd8883a2b49fcb0afa1c71648ae5d23e8bc720335c576 3 | size 50679 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/multi-tenant-onelogin-page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d9a967b3acf734fa0b74e43654a58c28a299aa395116d6534f0340f83e69da05 3 | size 32409 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/configuration/advanced/images/multi-tenant-tenant-page.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e1721500f547225a69e54f9f5ef0dd34117996fcea59c90e492cc199d164dd11 3 | size 39647 4 | -------------------------------------------------------------------------------- /docs/installation/production/manual/images/tethys_production_diagram.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3810b36ad98ebd4101a1854c33b0f63057f6653a606df7c2047c652e6b406458 3 | size 15387 4 | -------------------------------------------------------------------------------- /docs/installation/resources/example-services.yml: -------------------------------------------------------------------------------- 1 | # Do not commit this file with your app code. This file is portal specific. 2 | version: 1.0 3 | 4 | # Set service params in the following format : 5 | # app_service_setting_name(from your app.py): 6 | persistent: 7 | catalog_db: hydroexplorer-persistent 8 | second_db: main-persistent 9 | wps: 10 | wps_main: testWPS 11 | dataset: 12 | spatial: 13 | custom_settings: 14 | max_dams: 5 -------------------------------------------------------------------------------- /docs/installation/resources/gizmo_showcase_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:171badf5226196e7a55e669a459bdd4e457d594e9abfa18b4c80f661aa394a02 3 | size 975066 4 | -------------------------------------------------------------------------------- /docs/installation/resources/layout_showcase_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8a118fa286a19d2c7cd9a34c00118a70bc22fed4866c77aa414522c6f4b650fc 3 | size 833242 4 | -------------------------------------------------------------------------------- /docs/recipes/example_recipe.rst: -------------------------------------------------------------------------------- 1 | .. _example_recipe: 2 | 3 | :orphan: 4 | 5 | ************** 6 | Example Recipe 7 | ************** 8 | 9 | **COMING SOON!** -------------------------------------------------------------------------------- /docs/repos.rst: -------------------------------------------------------------------------------- 1 | :orphan: 2 | 3 | *********** 4 | Source Code 5 | *********** 6 | 7 | **Last Updated:** August 11, 2015 8 | 9 | The source code for Tethys Platform is contained in the following repositories: 10 | 11 | * `Tethys Platform `_ 12 | * `Tethys Dockers `_ 13 | * `Tethys Dataset Services `_ 14 | * `TethysCluster `_ 15 | * `CondorPy `_ 16 | 17 | -------------------------------------------------------------------------------- /docs/tethys_cli/app_settings.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_cli_app_settings: 2 | 3 | app_settings command 4 | ******************** 5 | 6 | Manage app settings. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: app_settings 13 | -------------------------------------------------------------------------------- /docs/tethys_cli/gen.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_gen_cmd: 2 | 3 | gen command 4 | *********** 5 | 6 | Generate supporting files for Tethys installations. 7 | 8 | .. note:: 9 | 10 | The ``package_json`` option is designed to be used when setting the ``STATICFILES_USE_NPM`` setting to ``True``, which requires that the Tethys Portal JavaScript dependencies be served by Tethys. The ``package_json`` command will generate a :file:`package.json` and then run ``npm install`` to download the JS dependencies. 11 | 12 | .. argparse:: 13 | :module: tethys_cli 14 | :func: tethys_command_parser 15 | :prog: tethys 16 | :path: gen -------------------------------------------------------------------------------- /docs/tethys_cli/link.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_cli_link: 2 | 3 | link command 4 | ************ 5 | 6 | Link an existing Tethys Service with a TethysApp Setting. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: link -------------------------------------------------------------------------------- /docs/tethys_cli/list.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_list_cmd: 2 | 3 | list command 4 | ************ 5 | 6 | List all installed apps and extensions. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: list -------------------------------------------------------------------------------- /docs/tethys_cli/manage.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_manage_cmd: 2 | 3 | manage command 4 | ************** 5 | 6 | Manage various aspects of the underlying Tethys Platform Django project. Provides a full pass-through interface for the ``manage.py`` command. 7 | 8 | .. warning:: 9 | 10 | The ``collectworkspaces`` and ``collectall`` commands are deprecated and will be removed in Tethys 5.0. For more information please refer to the new ref:`tethys_paths_api` documentation. 11 | 12 | .. argparse:: 13 | :module: tethys_cli 14 | :func: tethys_command_parser 15 | :prog: tethys 16 | :path: manage -------------------------------------------------------------------------------- /docs/tethys_cli/scaffold.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_scaffold_cmd: 2 | 3 | scaffold command 4 | **************** 5 | 6 | Create new Tethys app or extension projects. 7 | 8 | 9 | .. argparse:: 10 | :module: tethys_cli 11 | :func: tethys_command_parser 12 | :prog: tethys 13 | :path: scaffold -------------------------------------------------------------------------------- /docs/tethys_cli/schedulers.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_cli_schedulers: 2 | 3 | schedulers command 4 | ****************** 5 | 6 | Manage job schedulers. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: schedulers -------------------------------------------------------------------------------- /docs/tethys_cli/services.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_cli_services: 2 | 3 | services command 4 | **************** 5 | 6 | Manage Tethys Services. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: services -------------------------------------------------------------------------------- /docs/tethys_cli/settings.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_settings_cmd: 2 | 3 | settings command 4 | **************** 5 | 6 | Customize the settings of the Tethys Portal. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: settings -------------------------------------------------------------------------------- /docs/tethys_cli/site.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_site_cmd: 2 | 3 | site command 4 | ************ 5 | 6 | Customize the theme and content of the Tethys Portal. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: site -------------------------------------------------------------------------------- /docs/tethys_cli/syncstores.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_syncstores_cmd: 2 | 3 | syncstores command 4 | ****************** 5 | 6 | Initialize tables in persistent store databases. To learn more about persistent stores see :doc:`../tethys_sdk/tethys_services/persistent_store`. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: syncstores -------------------------------------------------------------------------------- /docs/tethys_cli/test.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_cli_testing: 2 | 3 | test command 4 | ************ 5 | 6 | Run the test suite for Tethys Platform and Tethys Apps. See :doc:`../tethys_sdk/testing`. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: test -------------------------------------------------------------------------------- /docs/tethys_cli/uninstall.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_uninstall_cmd: 2 | 3 | uninstall command 4 | ***************** 5 | 6 | Uninstall a Tethys app or extension. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: uninstall -------------------------------------------------------------------------------- /docs/tethys_cli/version.rst: -------------------------------------------------------------------------------- 1 | .. _tethys_version_cmd: 2 | 3 | version command 4 | *************** 5 | 6 | Print the current version of Tethys Platform. 7 | 8 | .. argparse:: 9 | :module: tethys_cli 10 | :func: tethys_command_parser 11 | :prog: tethys 12 | :path: version -------------------------------------------------------------------------------- /docs/tethys_portal.rst: -------------------------------------------------------------------------------- 1 | ************* 2 | Tethys Portal 3 | ************* 4 | 5 | **Last Updated:** August 2023 6 | 7 | Tethys Portal is the Django web site provided by Tethys Platform that acts as the runtime environment for apps. It leverages the capabilities of Django to provide the core website functionality that is often taken for granted in modern web applications. A description of the primary capabilities of Tethys Portal is provided in this section. 8 | 9 | .. toctree:: 10 | :maxdepth: 1 11 | 12 | tethys_portal/configuration 13 | tethys_portal/admin_pages 14 | tethys_portal/tethys_users 15 | tethys_portal/feedback 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/button.rst: -------------------------------------------------------------------------------- 1 | *********************** 2 | Button and Button Group 3 | *********************** 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.Button 8 | 9 | .. autoclass:: tethys_sdk.gizmos.ButtonGroup -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/date_picker.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | Date Picker 3 | *********** 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.DatePicker -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/esri_map.rst: -------------------------------------------------------------------------------- 1 | .. _esri-map: 2 | 3 | ******** 4 | ESRI Map 5 | ******** 6 | **Last Updated:** February 15, 2017 7 | 8 | .. autoclass:: tethys_sdk.gizmos.ESRIMap 9 | 10 | EMLayer 11 | ------- 12 | 13 | .. autoclass:: tethys_sdk.gizmos.EMLayer 14 | 15 | EMView 16 | ------ 17 | s 18 | .. autoclass:: tethys_sdk.gizmos.EMView 19 | -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/jobs_table.rst: -------------------------------------------------------------------------------- 1 | .. _jobs-table: 2 | 3 | ********** 4 | Jobs Table 5 | ********** 6 | 7 | **Last Updated:** July 2022 8 | 9 | .. autoclass:: tethys_sdk.gizmos.JobsTable 10 | 11 | .. autoclass:: tethys_sdk.gizmos.CustomJobAction 12 | -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/message_box.rst: -------------------------------------------------------------------------------- 1 | *********** 2 | Message Box 3 | *********** 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.MessageBox -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/range_slider.rst: -------------------------------------------------------------------------------- 1 | ************ 2 | Range Slider 3 | ************ 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.RangeSlider 8 | -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/table_view.rst: -------------------------------------------------------------------------------- 1 | ********** 2 | Table View 3 | ********** 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.TableView 8 | -------------------------------------------------------------------------------- /docs/tethys_sdk/gizmos/text_input.rst: -------------------------------------------------------------------------------- 1 | ********** 2 | Text Input 3 | ********** 4 | 5 | **Last Updated:** August 10, 2015 6 | 7 | .. autoclass:: tethys_sdk.gizmos.TextInput 8 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:1e110014f95cce2cf363caf568f957bbf77e4f126eae5b27d0dd26928711e762 3 | size 697716 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_arcgis_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e20699e5c180ef7d37fd8fc70f0776c6f8e4702a9154b2a1301a0b1b80bc9116 3 | size 495485 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_click_n_plot.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3f0a4c0c36fb8453a0a6873bb219dd88023577c5d192cd4abebf36c8010690b8 3 | size 546824 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_geocoding.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:dae10fd8144f409610b02f6fad03be9414b1c801729894cc7db2132092ea868b 3 | size 722462 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_geojson_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:96d5cbea6374ec7aa479caecf6a58d17ffc7a418ed2efe0809a529732e32e50f 3 | size 732659 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_map_click.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:29f859b8dc849541c1540938354ca1083d600bf882c055d2cd608d85e6bb922a 3 | size 732678 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_map_click_popup.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7c025c2c3c38db7b73cbe123b54aa21f911b6c109ae3ce024e6027daacf7c8da 3 | size 713394 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_properties_popup.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d175286dafc9b785acf61d1987435903231eeaf308220f6239ac828b81bceb36 3 | size 766088 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_styled_geojson_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:da252e60e1575ce66528c37d8025448a74d10468b117af16c59ddf814d800a35 3 | size 723786 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_vector_feature_selection.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8714b2ffe3bedf8645290391439785366154c6407c853db6ec80e207fc0db7b3 3 | size 808643 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_wms_feature_selection.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:46fa78261f5f1b4bc509de0ef9e70eea470bcc278b637a5e962770f5a3fc2a9e 3 | size 778648 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/layouts/images/map_layout/map_layout_wms_layer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6efbc87f4742fbe03f8f045eced791cff68cf1a80fe593a63fb35be95da04d39 3 | size 720178 4 | -------------------------------------------------------------------------------- /docs/tethys_sdk/tethys_services/dataset_service/ckan_reference.rst: -------------------------------------------------------------------------------- 1 | .. _tds_ckan_reference: 2 | 3 | ***************************** 4 | CKAN Dataset Engine Reference 5 | ***************************** 6 | 7 | **Last Updated**: January 19, 2015 8 | 9 | The following reference provides a summary the class used to define the ``CkanDatasetEngine`` objects. 10 | 11 | .. autoclass:: tethys_dataset_services.engines.CkanDatasetEngine 12 | :members: 13 | -------------------------------------------------------------------------------- /docs/tethys_sdk/tethys_services/dataset_service/hydroshare_reference.rst: -------------------------------------------------------------------------------- 1 | *********************************** 2 | HydroShare Dataset Engine Reference 3 | *********************************** 4 | 5 | **Last Updated**: August 5, 2015 6 | 7 | .. warning:: 8 | 9 | Coming Soon! 10 | 11 | The following reference provides a summary the class used to define the ``HydroShareDatasetEngine`` objects. 12 | 13 | .. autoclass:: tethys_dataset_services.engines.HydroShareDatasetEngine 14 | :members: -------------------------------------------------------------------------------- /docs/tutorials/dask/resources/dask-logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:05630bcd0d6c43a6a69f4b19c481e2a1196a5015f87b1ad7d38f24a19af49477 3 | size 4398 4 | -------------------------------------------------------------------------------- /docs/tutorials/geoserver/geoserver_app_data.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:6dc6cc75ca3cbbfe9ceb2326efda55655687b6af8fa4e69ad9c90ddfa1d80e40 3 | size 4280105 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/dataset_controls_js_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:44a699d79efd2a8981520f9856cf3ffb1c7cdea922c1105105b50a686c21cb1a 3 | size 182092 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/dataset_controls_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:011b3b30c816225565dbab19898965f64c3167d0035dbfeab7f72e5e384f59d7 3 | size 63061 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/earth-engine-logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:369ddfdb46d0c2da9625683ce37a8e4e168aad18ad8e8a1df699db88c7ecdece 3 | size 53848 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/map-loader.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9570c15550ed6bedbe961922d61d0c685f8b7a12e4a10f032244ec12c5175713 3 | size 83125 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/map_view_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c058eab434c1b3b36f469dc914efc7b2e5f80f75758b36136316d901718708c9 3 | size 531568 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/new_app_project_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2b07bfe2086bc435b087ca9c5c0027230f1f88204c5bafcbf295b98345d085d5 3 | size 77581 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/plot-loader.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d08c588d993ac52ee759020bd5bbcf0e4e340d5a3de96a4d976986e08b732b80 3 | size 697426 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/plot_data_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:270f30ef91a29cb3f0cfde322e2d4d8729fa07a27c96e238ac9cc30e8de0eff2 3 | size 502426 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_1/resources/vis_gee_layers_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b32d2fde66f61db55dd4edabf77f7b4f6c975d530afa2a35dd67a48b5878dbed 3 | size 2373086 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/USA_simplified.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c544bf879657b7c917f97628183f4cf0ecbfc79a3ed92200e53cb9c4a1381d4d 3 | size 2687 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/about_page_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:00575134ba441e498bdc88d13591473a062312fc537ae329d471468a7e64e26e 3 | size 732238 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/clip_by_asset_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:de268ca55bb34045812822b43373824a49dd0fabbab11823b3c9b681cee7d14c 3 | size 947439 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/coast_80_80.jpg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:42786ef0a81d5852191976710caad63c1fddd71d12127d67398322578c5312c7 3 | size 6477 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/condensation_80_80.jpg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:2a1c003e7c5ccba800b0a427eec08bd671db9c41a922d6dd04e02e94b6045574 3 | size 8136 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/css_parts.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b6b51514445284d1f957508d2dbb3127d3cc86b258c39e820e0318509996e6df 3 | size 35068 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/disclaimer_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:71e3351160b4805c5069c753d7a45d6f36b47a88da81637b6f776049e5e25e6e 3 | size 340592 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/earth-engine-backdrop.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8df664f29208781fb95d750913e52c3901206fb45ae4a8d2aa4549271d682a28 3 | size 1657123 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/earth-engine-viewer.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:cc0b750aa61600bfa038f1f43bc7ecfb556c510af1bba9476c2ce378404c47ae 3 | size 532924 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/file_upload_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:c44cf3664d4fdbc9c42352da7febf2ee5473da83152c033af2a71dc5b7a78116 3 | size 350998 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/home_page_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:09d9541cd8f0f9f65bccde86ee7671e922abe7d95573f7b9d02b9c8e5eb39e69 3 | size 1374300 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/points.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:443e193b09deb83908e31055028774761dfe25a222f8ed93f539c222580e523a 3 | size 1695 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/rest_api_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0956e7de7f0faf05f35928a552c7cfd012aa718f267acf3d0fc27b579755d1bc 3 | size 239383 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_2/resources/waterfall_80_80.jpg: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9c5cdc16a816c115e162c6cdb12506f8b4111912a2c94a8b432357cd5fb95945 3 | size 9385 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_3/resources/deploy_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:01f022220a1f4cfd49f7940e74187b741369bf655395163740b2e7e8c9e88c11 3 | size 1423862 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_3/resources/prepare_publish_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:e7380ac8886bf16597ad74724821d5e3b51c35a79780daabcffb58632af1a187 3 | size 114187 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_3/resources/publish_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:f1cb57e2ace719394949115d2e2f07056b54e1a1d0b636d8da6984c321f2702c 3 | size 148142 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/part_3/resources/service_account_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9bfbc2e44d572ee5d56413f0bc124a2cbe3d4315d08d149da0567b9f9324cf13 3 | size 106322 4 | -------------------------------------------------------------------------------- /docs/tutorials/google_earth_engine/resources/earth_engine_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:5f7db46cd19a75eae76531ed796ba9766fda0bb27cf3ef15f951a62c900f5346 3 | size 1962078 4 | -------------------------------------------------------------------------------- /docs/tutorials/key_concepts/hydrographs.zip: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:88809bb836eae0068c07950011f5c575fd92715be0f6e23f1290d206e79b2500 3 | size 2979 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/add_spatial_data_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:286d651a327f3f0d7189b1c1f5397d6f347e87a1292401cc557d9ff9a3489506 3 | size 1973479 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/configure_data_plotting_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9110e7e21263ff80479ddcbe2cd641025dd9f362e4d90ab570de3fa18e24867c 3 | size 651373 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/configure_map_layout_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:aa9808456487ee2c5cd781b412f352e5423fa0556a1e38c2b0c79f6d9499d0a8 3 | size 1628082 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/map_layout_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:3d3c2eee8b9b59e7e5342bc142dd9605ebd85e0fcb1104e0b0d68eab2450a609 3 | size 1868112 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/new_app_project_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a72e3204ca27f0161e585ac285d0a9d04a97d14bacf79e6c50ab42b0aa561e51 3 | size 121741 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/noaa_digital_logo-2022.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9724b3e10b8cd9f6e913ffd2ded160877a2b5457ed7ff66eaa62df8bb3d55d66 3 | size 57713 4 | -------------------------------------------------------------------------------- /docs/tutorials/map_layout/resources/popup_example.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:7b654b44841ab622c521c7cd935f744bb51089f30a6d41a9bddde4bc2a42b64e 3 | size 1862798 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/map-loader.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:9570c15550ed6bedbe961922d61d0c685f8b7a12e4a10f032244ec12c5175713 3 | size 83125 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/new_app_project_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:db3b16bd9f776e8bc7471d2d1d5c4f9e57f82ea72486bc47efbb4041b189e86a 3 | size 79994 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/plot-loader.gif: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:d08c588d993ac52ee759020bd5bbcf0e4e340d5a3de96a4d976986e08b732b80 3 | size 697426 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/plot_at_location_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:a5e96d557cb1650b04aec6fb1c0e9c4baad7b006cf2fe2fbf33f3eebde896be1 3 | size 143699 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/setup_thredds_service_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:0c14dbe8334b101a3825378614b6c8fa25bb2e39ba9a9fb7d8fc82e051c7dbc3 3 | size 119515 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/thredds_tutorial_app.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ba3a4530b4e949d62af731bc3aae090ab03e3211dacc61ed3d6bc7220265c42c 3 | size 224454 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/unidata_logo.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:56d57d6daa4181929695383326f35965935b565bf4b139f15c0f954967dc8fea 3 | size 139247 4 | -------------------------------------------------------------------------------- /docs/tutorials/thredds/resources/visualize_leaflet_solution.png: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:efd0c2d927b87d1e2c7891322fac198ee58b400531f7d654518d55e7c22ea468 3 | size 193950 4 | -------------------------------------------------------------------------------- /resources/Map View Drawing Icons.ai: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:8718305be82cf9fd44c9affeb6c0837a98adace56da6829f08328be2314d2147 3 | size 391501 4 | -------------------------------------------------------------------------------- /resources/Tethys Feature Icons.ai: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:4d11d332f4f184f8af8ab96a668a68d84d47ae204d0c952030426815dd7a6d5d 3 | size 851888 4 | -------------------------------------------------------------------------------- /resources/Tethys Logo.ai: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:b931a46899f6e5b3cc204fbcbc35d50c806a107ee57527f1040097a3f9d0c788 3 | size 402923 4 | -------------------------------------------------------------------------------- /setup.cfg: -------------------------------------------------------------------------------- 1 | [options] 2 | packages = find_namespace: 3 | include_package_data = True 4 | 5 | [options.packages.find] 6 | include = tethys_* 7 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/install-dep.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: test_app 3 | 4 | requirements: 5 | conda: 6 | channels: 7 | - tacaswell 8 | packages: 9 | - geojson 10 | pip: 11 | - see -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/install-no-dep.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: test_app 3 | 4 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/install-skip-setup.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: test_app 3 | 4 | requirements: 5 | skip: true 6 | conda: 7 | channels: 8 | - tacaswell 9 | packages: 10 | - pyshp=2.0.0 11 | - geojson 12 | - shapely -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/install-with-post.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: test_app 3 | 4 | requirements: 5 | skip: True 6 | conda: 7 | channels: 8 | - tacaswell 9 | packages: 10 | - pyshp=2.0.0 11 | - geojson 12 | - shapely 13 | post: 14 | - ./test.py -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/install.yml: -------------------------------------------------------------------------------- 1 | # This file may be committed to your app code. 2 | version: 1.0 3 | # This should match the app - package name in your setup.py 4 | name: test_app 5 | 6 | # see tethys documentation for how to setup this file 7 | requirements: 8 | # Putting in a skip true param will skip the entire section. Ignoring the option will assume it be set to False 9 | skip: false 10 | conda: 11 | channels: 12 | packages: 13 | pip: 14 | post: -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/services-basic.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | 3 | persistent: 4 | temp_db: test_persistent_install -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/test.py: -------------------------------------------------------------------------------- 1 | print("test") 2 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/__init__.py -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/additional_settings.py: -------------------------------------------------------------------------------- 1 | TEST_SETTING = "Test Setting" 2 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/handoff.py: -------------------------------------------------------------------------------- 1 | # Define your handoff handlers here 2 | # for more information, see: 3 | # http://docs.tethysplatform.org/en/dev/tethys_sdk/handoff.html 4 | 5 | 6 | def csv(request, csv_url): 7 | """ 8 | Test Handoff handler. 9 | """ 10 | return "test_app:home" 11 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/model.py: -------------------------------------------------------------------------------- 1 | # Put your persistent store models in this file 2 | def test_initializer(): 3 | pass 4 | -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/public/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/public/css/main.css -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/public/images/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/public/images/icon.gif -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/public/js/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/public/js/main.js -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/tests/__init__.py -------------------------------------------------------------------------------- /tests/apps/tethysapp-test_app/tethysapp/test_app/workspaces/user_workspaces/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/apps/tethysapp-test_app/tethysapp/test_app/workspaces/user_workspaces/.gitkeep -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/.gitignore: -------------------------------------------------------------------------------- 1 | *.pydevproject 2 | *.project 3 | *.egg-info 4 | *.class 5 | *.pyo 6 | *.pyc 7 | *.db 8 | *.sqlite 9 | *.DS_Store -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/__init__.py -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/controllers.py: -------------------------------------------------------------------------------- 1 | from tethys_sdk.routing import controller 2 | from .ext import Extension 3 | 4 | 5 | @controller( 6 | url="test-extension/{var1}/{var2}", 7 | ) 8 | def home(request, var1, var2): 9 | """ 10 | Controller for the app home page. 11 | """ 12 | context = { 13 | "var1": var1, 14 | "var2": var2, 15 | } 16 | 17 | return Extension.render(request, "home.html", context) 18 | -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/ext.py: -------------------------------------------------------------------------------- 1 | from tethys_sdk.base import TethysExtensionBase 2 | 3 | 4 | class Extension(TethysExtensionBase): 5 | """ 6 | Tethys extension class for Test Extension. 7 | """ 8 | 9 | name = "Test Extension" 10 | package = "test_extension" 11 | root_url = "test-extension" 12 | description = "Place a brief description of your extension here." 13 | -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/gizmos/__init__.py: -------------------------------------------------------------------------------- 1 | from tethysext.test_extension.gizmos.custom_select_input import ( # noqa: F401 2 | CustomSelectInput, 3 | ) 4 | -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/model.py: -------------------------------------------------------------------------------- 1 | # Put your persistent store models in this file 2 | -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/public/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/public/css/main.css -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/public/gizmos/custom_select_input/custom_select_input.css: -------------------------------------------------------------------------------- 1 | .select2 { 2 | width: 100%; 3 | } 4 | -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/public/gizmos/custom_select_input/custom_select_input.js: -------------------------------------------------------------------------------- 1 | $(document).ready(function() { 2 | $('.select2').select2(); 3 | }); -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/public/js/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/public/js/main.js -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/templates/gizmos/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/templates/gizmos/.gitkeep -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/templates/test_extension/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/templates/test_extension/.gitkeep -------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/templates/test_extension/home.html: -------------------------------------------------------------------------------- 1 |

Hello, World!

2 |
    3 |
  • {{ var1 }}
  • 4 |
  • {{ var2 }}
  • 5 |
-------------------------------------------------------------------------------- /tests/extensions/tethysext-test_extension/tethysext/test_extension/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/extensions/tethysext-test_extension/tethysext/test_extension/tests/__init__.py -------------------------------------------------------------------------------- /tests/gui_tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/gui_tests/__init__.py -------------------------------------------------------------------------------- /tests/gui_tests/test_tethys_gizmos/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/gui_tests/test_tethys_gizmos/__init__.py -------------------------------------------------------------------------------- /tests/gui_tests/test_tethys_gizmos/test_gizmos.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/gui_tests/test_tethys_gizmos/test_gizmos.py -------------------------------------------------------------------------------- /tests/gui_tests/test_tethys_portal/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/gui_tests/test_tethys_portal/__init__.py -------------------------------------------------------------------------------- /tests/intermediate_tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/intermediate_tests/__init__.py -------------------------------------------------------------------------------- /tests/intermediate_tests/test_tethys_services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/intermediate_tests/test_tethys_services/__init__.py -------------------------------------------------------------------------------- /tests/intermediate_tests/test_tethys_services/test_backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/intermediate_tests/test_tethys_services/test_backends/__init__.py -------------------------------------------------------------------------------- /tests/portal_config/portal_test.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: Tethys Main Portal 3 | apps: 4 | test_app: 5 | services: 6 | persistent: 7 | primary: test_service_for_install -------------------------------------------------------------------------------- /tests/portal_config/portal_test_no_apps.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: Tethys Main Portal 3 | -------------------------------------------------------------------------------- /tests/portal_config/portal_test_no_service.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: Tethys Main Portal 3 | apps: 4 | test_app: 5 | services: 6 | persistent: 7 | primary: -------------------------------------------------------------------------------- /tests/portal_config/portal_test_no_services.yml: -------------------------------------------------------------------------------- 1 | version: 1.0 2 | name: Tethys Main Portal 3 | apps: 4 | test_app: 5 | services: 6 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_base/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/test_base/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_base/test_testing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/test_base/test_testing/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_management/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/test_management/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_management/test_commands/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/test_management/test_commands/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_models/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: __init__.py 4 | * Author: nswain 5 | * Created On: August 15, 2018 6 | * Copyright: (c) Aquaveo 2018 7 | ******************************************************************************** 8 | """ 9 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_models/test_TethysExtension.py: -------------------------------------------------------------------------------- 1 | from tethys_sdk.testing import TethysTestCase 2 | from tethys_apps.models import TethysExtension 3 | 4 | 5 | class TethysExtensionTests(TethysTestCase): 6 | def set_up(self): 7 | self.test_ext = TethysExtension.objects.get(package="test_extension") 8 | 9 | def tear_down(self): 10 | pass 11 | 12 | def test_str(self): 13 | ret = str(self.test_ext) 14 | self.assertEqual("Test Extension", ret) 15 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_apps/test_templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_apps/test_templatetags/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_cli/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_cli/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_components/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_custom_and_layouts/custom__Display_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "Container", "attributes": {"fluid": true, "style": {"height": "100%"}}, "importSource": {"source": "components-test-lib.js", "sourceType": "NAME", "fallback": "\u231b", "unmountBeforeUpdate": false}, "children": []} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_custom_and_layouts/custom__HeaderButton_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "Button", "attributes": {"variant": "light", "size": "sm", "className": " styled-header-button", "style": {"background-color": "rgba(255, 255, 255, 0.1)", "border": "none", "color": "white", "border-radius": "unset"}}, "importSource": {"source": "components-test-lib.js", "sourceType": "NAME", "fallback": "\u231b", "unmountBeforeUpdate": false}, "children": []} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_custom_and_layouts/custom__LayerPanel_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "LayerPanel", "importSource": {"source": "components-test-lib.js", "sourceType": "NAME", "fallback": "\u231b", "unmountBeforeUpdate": false}} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_custom_and_layouts/custom__NavIcon_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "img", "attributes": {"src": "", "className": "d-inline-block align-top", "style": {"padding": 0, "height": "30px", "border-radius": "50%"}}} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_custom_and_layouts/custom__PageLoader_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "div", "attributes": {"style": {"height": "100%", "width": "100%"}}, "children": [null, {"tagName": "div", "attributes": {"style": {"display": null, "height": "100%", "width": "100%"}}, "key": "page-content", "children": ["TEST"]}]} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_library/test_page_3.py: -------------------------------------------------------------------------------- 1 | def test(lib): 2 | """This comment is here as a test to ensure certain code gets executed""" 3 | # Register additional packages 4 | lib.register( 5 | package="fake-package", accessor="fp", styles=["style1.css", "style2.css"] 6 | ) 7 | 8 | # Event handlers 9 | def handle_on_ready(e): 10 | print("Your video is ready.") 11 | 12 | # Layout 13 | return lib.html.div()( 14 | lib.rp.ReactPlayer( 15 | url="https://www.youtube.com/watch?v=xvFZjo5PgG0", onReady=handle_on_ready 16 | ) 17 | ) 18 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_components/test_resources/test_library/test_page_3_expected.json: -------------------------------------------------------------------------------- 1 | {"tagName": "div", "children": [{"tagName": "ReactPlayer", "attributes": {"url": "https://www.youtube.com/watch?v=xvFZjo5PgG0"}, "eventHandlers": {"onReady": null}, "importSource": {"source": "test_page_3.js", "sourceType": "NAME", "fallback": "\u231b", "unmountBeforeUpdate": false}}]} -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_compute/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/files/keys/README: -------------------------------------------------------------------------------- 1 | This directory contains ssh keys for testing: 2 | private key: testkey 3 | public key: testkey.pub 4 | password: password -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/files/keys/testkey.pub: -------------------------------------------------------------------------------- 1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDyykYmZqGOI+1Vj4KgVhGo6OmuX2czU9dU4uNo5jdnIDLUIJ3DPq0jjSwu+UXSIaVr5nfye1OXeD0s2WluzHILbaWOTMHB5035hwUfXKLZgMjR5ostBYpxwwZCU9i/BrTl8PqxgP295BqfXUFpG3lUq9mKLTh4y4cdK+eNqAYopuss0YvEVGtiuISiZvofNi48Ktxio90uLSUM3XS4gnUWCVDU2kI4CCxAhd7LqXs83Yj8NZSYYBx80+bUaj9QuAyU7z3tVjAEFta14BNr4+5nuBEXtTPVyNKqwVmRZEMYmR6TXvgo9eyIb9YwMwl8+rNSfm4SZ/WfCeLBXQKatorp swainn@agwa-dev 2 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/test_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_compute/test_models/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/test_models/test_dask/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_compute/test_models/test_dask/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_compute/test_views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_compute/test_views/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_config/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_config/test_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_config/test_models/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: __init__.py 4 | * Author: nswain 5 | * Created On: July 23, 2018 6 | * Copyright: (c) Aquaveo 2018 7 | ******************************************************************************** 8 | """ 9 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_context_processors.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import tethys_gizmos.context_processors as gizmos_context_processor 3 | 4 | 5 | class TestContextProcessor(unittest.TestCase): 6 | def setUp(self): 7 | pass 8 | 9 | def tearDown(self): 10 | pass 11 | 12 | def test_tethys_gizmos_context(self): 13 | result = gizmos_context_processor.tethys_gizmos_context("request") 14 | 15 | # Check Result 16 | self.assertEqual({"gizmos_rendered": []}, result) 17 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_gizmo_options/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: __init__.py 4 | * Author: nswain 5 | * Created On: July 23, 2018 6 | * Copyright: (c) Aquaveo 2018 7 | ******************************************************************************** 8 | """ 9 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_gizmo_options/test_message_box.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | import tethys_gizmos.gizmo_options.message_box as gizmo_message_box 3 | 4 | 5 | class TestMessageBox(unittest.TestCase): 6 | def setUp(self): 7 | pass 8 | 9 | def tearDown(self): 10 | pass 11 | 12 | def test_MessageBox(self): 13 | name = "MB Name" 14 | title = "MB Title" 15 | 16 | result = gizmo_message_box.MessageBox(name=name, title=title) 17 | 18 | # Check Result 19 | self.assertEqual(name, result["name"]) 20 | self.assertEqual(title, result["title"]) 21 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_gizmos/test_templatetags/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_gizmos/test_views/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_gizmos/test_views/test_gizmos/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_gizmos/test_views/test_gizmos/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_layouts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_layouts/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_layouts/test_mixins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_layouts/test_mixins/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_layouts/test_views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_layouts/test_views/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_portal/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_portal/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_portal/test__init__.py: -------------------------------------------------------------------------------- 1 | from importlib import reload 2 | import unittest 3 | 4 | import tethys_portal 5 | 6 | 7 | class TethysPortalInitTests(unittest.TestCase): 8 | def setUp(self): 9 | pass 10 | 11 | def tearDown(self): 12 | pass 13 | 14 | def test__version__(self): 15 | reload(tethys_portal) 16 | self.assertTrue(getattr(tethys_portal, "__version__", False)) 17 | self.assertIsNotNone(tethys_portal.__version__) 18 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_portal/test_views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_portal/test_views/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_portal/test_views/mock_decorator.py: -------------------------------------------------------------------------------- 1 | from functools import wraps 2 | 3 | 4 | def mock_decorator(*_, **__): 5 | def decorator(func): 6 | @wraps(func) 7 | def wrapper(*args, **kwargs): 8 | return func(*args, **kwargs) 9 | 10 | return wrapper 11 | 12 | return decorator 13 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_quotas/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_quotas/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_quotas/test_handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_quotas/test_handlers/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_quotas/test_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_quotas/test_models/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_sdk/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_sdk/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_services/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_services/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_services/test_apps.py: -------------------------------------------------------------------------------- 1 | import unittest 2 | from tethys_services.apps import TethysServicesConfig 3 | 4 | 5 | class TestApps(unittest.TestCase): 6 | def setUp(self): 7 | pass 8 | 9 | def tearDown(self): 10 | pass 11 | 12 | def test_TethysServiceConfig(self): 13 | self.assertEqual("tethys_services", TethysServicesConfig.name) 14 | self.assertEqual("Tethys Services", TethysServicesConfig.verbose_name) 15 | -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_services/test_backends/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_services/test_backends/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_services/test_models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_services/test_models/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_services/test_templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_services/test_templatetags/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tests/unit_tests/test_tethys_utils/__init__.py -------------------------------------------------------------------------------- /tests/unit_tests/test_tethys_utils/test_deprecation.py: -------------------------------------------------------------------------------- 1 | from tethys_utils import deprecation_warning 2 | 3 | import unittest 4 | from unittest import mock 5 | 6 | 7 | class TestDeprecation(unittest.TestCase): 8 | @mock.patch("tethys_utils.deprecation.print") 9 | def test_deprecation_warning(self, mock_print): 10 | deprecation_warning("version", "feature", "message") 11 | mock_print.assert_called_once() 12 | -------------------------------------------------------------------------------- /tethys_apps/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_apps/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # Load the custom app config 12 | default_app_config = "tethys_apps.apps.TethysAppsConfig" 13 | -------------------------------------------------------------------------------- /tethys_apps/base/testing/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_apps/base/testing/__init__.py -------------------------------------------------------------------------------- /tethys_apps/management/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: management/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: September 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_apps/management/commands/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: commands/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: August 6, 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_apps/migrations/0003_proxyapp_display_external.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.20 on 2023-09-26 19:05 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | dependencies = [ 8 | ("tethys_apps", "0002_auto_20230407_2337"), 9 | ] 10 | 11 | operations = [ 12 | migrations.AddField( 13 | model_name="proxyapp", 14 | name="display_external", 15 | field=models.BooleanField(default=False), 16 | ), 17 | ] 18 | -------------------------------------------------------------------------------- /tethys_apps/migrations/0004_rename_display_external_proxyapp_display_external_icon.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.20 on 2023-09-28 22:12 2 | 3 | from django.db import migrations 4 | 5 | 6 | class Migration(migrations.Migration): 7 | dependencies = [ 8 | ("tethys_apps", "0003_proxyapp_display_external"), 9 | ] 10 | 11 | operations = [ 12 | migrations.RenameField( 13 | model_name="proxyapp", 14 | old_name="display_external", 15 | new_name="display_external_icon", 16 | ), 17 | ] 18 | -------------------------------------------------------------------------------- /tethys_apps/migrations/0005_customsettingbase_include_in_api.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.23 on 2024-01-08 20:13 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | dependencies = [ 8 | ("tethys_apps", "0004_rename_display_external_proxyapp_display_external_icon"), 9 | ] 10 | 11 | operations = [ 12 | migrations.AddField( 13 | model_name="customsettingbase", 14 | name="include_in_api", 15 | field=models.BooleanField(default=False), 16 | ), 17 | ] 18 | -------------------------------------------------------------------------------- /tethys_apps/migrations/0007_tethysapp_back_url.py: -------------------------------------------------------------------------------- 1 | # Generated by Django 3.2.16 on 2024-04-05 17:39 2 | 3 | from django.db import migrations, models 4 | 5 | 6 | class Migration(migrations.Migration): 7 | dependencies = [ 8 | ("tethys_apps", "0006_auto_20240401_2032"), 9 | ] 10 | 11 | operations = [ 12 | migrations.AddField( 13 | model_name="tethysapp", 14 | name="back_url", 15 | field=models.CharField(blank=True, default="", max_length=512), 16 | ), 17 | ] 18 | -------------------------------------------------------------------------------- /tethys_apps/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_apps/migrations/__init__.py -------------------------------------------------------------------------------- /tethys_apps/static/tethys_apps/images/default_app_icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_apps/static/tethys_apps/images/default_app_icon.gif -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/app_content_only.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_apps/app_base.html" %} 2 | 3 | {% load static tethys %} 4 | 5 | {% block app_base_styles %} 6 | 7 | {% endblock %} 8 | 9 | {% block show_nav_override %}{% endblock %} 10 | 11 | {% block app_header_override %}{% endblock %} 12 | 13 | {% block app_navigation_override %}{% endblock %} 14 | 15 | {% block app_actions_override %}{% endblock %} 16 | 17 | {% block app_base_js %}{% endblock %} 18 | -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/app_header_content.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_apps/app_no_actions.html" %} 2 | 3 | {% load static tethys %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 12 | {% endblock %} 13 | 14 | {% block show_nav_override %}{% endblock %} 15 | 16 | {% block app_navigation_override %}{% endblock %} 17 | -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/app_left_actions.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_apps/app_right_actions.html" %} 2 | 3 | {% load static tethys %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 17 | {% endblock %} 18 | -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/app_no_actions.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_apps/app_base.html" %} 2 | 3 | {% load static tethys %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 16 | {% endblock %} 17 | 18 | {% block app_actions_override %}{% endblock %} 19 | -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/app_no_nav.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_apps/app_base.html" %} 2 | 3 | {% load static tethys %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 12 | {% endblock %} 13 | 14 | {% block app_navigation_override %}{% endblock %} 15 | -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/bokeh_base.html: -------------------------------------------------------------------------------- 1 | {% extends extends_template %} 2 | 3 | {% block app_content %} 4 | {{ script|safe }} 5 | {% endblock %} -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/bokeh_default.html: -------------------------------------------------------------------------------- 1 | {{ script|safe }} -------------------------------------------------------------------------------- /tethys_apps/templates/tethys_apps/guardian/extend_obj_perms_manage.html: -------------------------------------------------------------------------------- 1 | {% extends "admin/guardian/model/obj_perms_manage.html" %} 2 | 3 | {% block extrahead %}{{ block.super }} 4 | 9 | {% endblock %} 10 | -------------------------------------------------------------------------------- /tethys_apps/templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_apps/templatetags/__init__.py -------------------------------------------------------------------------------- /tethys_apps/terminal_colors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_apps/terminal_colors.py -------------------------------------------------------------------------------- /tethys_cli/gen_templates/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: gen_templates/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_cli/gen_templates/apache_service: -------------------------------------------------------------------------------- 1 | [program:apache] 2 | command=/usr/sbin/httpd -D "FOREGROUND" 3 | autostart=true 4 | stopasgroup=true 5 | killasgroup=true 6 | autorestart=true 7 | startretries=1 8 | user={{ run_as_user }} 9 | -------------------------------------------------------------------------------- /tethys_cli/gen_templates/nginx_service: -------------------------------------------------------------------------------- 1 | [program:nginx] 2 | command=nginx -g 'daemon off;' 3 | stdout_logfile=/var/log/nginx/access.log 4 | stderr_logfile=/var/log/nginx/error.log 5 | redirect_stderr=true -------------------------------------------------------------------------------- /tethys_cli/gen_templates/package_json: -------------------------------------------------------------------------------- 1 | {{ json }} -------------------------------------------------------------------------------- /tethys_cli/gen_templates/requirements: -------------------------------------------------------------------------------- 1 | # coding: utf-8 2 | # file generated by tethys-platform on {{ date }} 3 | # don't track in version control 4 | 5 | {% for package in packages %}{{ package }} 6 | {% endfor %} 7 | -------------------------------------------------------------------------------- /tethys_cli/gen_templates/secrets: -------------------------------------------------------------------------------- 1 | version: {{ version }} 2 | ############################################################################ 3 | # SECRETS 4 | # Salt strings for the different secret custom settings for each application 5 | ############################################################################# 6 | {{ secrets }} 7 | 8 | 9 | -------------------------------------------------------------------------------- /tethys_cli/gen_templates/services: -------------------------------------------------------------------------------- 1 | # Do not commit this file. This file is portal specific. 2 | version: 1.0 3 | 4 | # see tethys documentation for how to setup this file 5 | # Set service params in the following format : 6 | # app_service_setting_name(from your app.py): 7 | persistent: 8 | 9 | wps: 10 | 11 | dataset: 12 | 13 | spatial: 14 | 15 | custom_setting: -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/.gitignore: -------------------------------------------------------------------------------- 1 | *.pydevproject 2 | *.project 3 | *.egg-info 4 | *.class 5 | *.pyo 6 | *.pyc 7 | *.db 8 | *.sqlite 9 | *.DS_Store 10 | .idea/ 11 | services.yml -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/install.yml_tmpl: -------------------------------------------------------------------------------- 1 | # This file should be committed to your app code. 2 | version: 1.1 3 | # This should be greater or equal to your tethys-platform in your environment 4 | tethys_version: ">=4.0.0" 5 | # This should match the app - package name in your setup.py 6 | name: {{ project }} 7 | 8 | requirements: 9 | # Putting in a skip true param will skip the entire section. Ignoring the option will assume it be set to False 10 | skip: false 11 | conda: 12 | channels: 13 | packages: 14 | 15 | pip: 16 | 17 | npm: 18 | 19 | post: -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/__init__.py: -------------------------------------------------------------------------------- 1 | # Included for native namespace package support 2 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/css/main.css -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/images/icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/images/icon.gif -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/js/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/public/js/main.js -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/resources/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/resources/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/default/tethysapp/+project+/tests/__init__.py -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/.gitignore_tmpl: -------------------------------------------------------------------------------- 1 | *.pydevproject 2 | *.project 3 | *.egg-info 4 | *.class 5 | *.pyo 6 | *.pyc 7 | *.db 8 | *.sqlite 9 | *.DS_Store 10 | .idea/ 11 | services.yml 12 | node_modules* 13 | tethysapp/{{project}}/public/frontend/ 14 | tethysapp/{{project}}/workspaces/ 15 | reactapp/config/production.env -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/install.yml_tmpl: -------------------------------------------------------------------------------- 1 | # This file should be committed to your app code. 2 | version: 1.1 3 | # This should be greater or equal to your tethys-platform in your environment 4 | tethys_version: ">=4.0.0" 5 | # This should match the app - package name in your setup.py 6 | name: {{project}} 7 | 8 | requirements: 9 | # Putting in a skip true param will skip the entire section. Ignoring the option will assume it be set to False 10 | skip: false 11 | conda: 12 | channels: 13 | - conda-forge 14 | packages: 15 | - nodejs 16 | - pandas 17 | 18 | pip: 19 | 20 | post: -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/jsconfig.json_tmpl: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "baseUrl": "reactapp", 4 | "module": "CommonJS", 5 | "target": "ES6" 6 | }, 7 | "include": ["reactapp"], 8 | "exclude": [ 9 | "node_modules", 10 | "tethysapp" 11 | ] 12 | } -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/App.scss: -------------------------------------------------------------------------------- 1 | @import "custom-bootstrap"; 2 | 3 | :root { 4 | --ts-header-height: 56px; 5 | } 6 | 7 | html, body, #root { 8 | height: 100%; 9 | } 10 | 11 | body { 12 | /* offset for fixed header */ 13 | padding-top: var(--ts-header-height); 14 | } -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/assets/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/reactapp/assets/error.png -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/assets/error404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/reactapp/assets/error404.png -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/components/context.js: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | 3 | export const AppContext = createContext(); -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/components/error/GenericError.js: -------------------------------------------------------------------------------- 1 | import Error from 'components/error/Error'; 2 | 3 | import errorImage from 'assets/error.png'; 4 | 5 | const GenericError = () => { 6 | return ( 7 | 8 | Something went wrong. Please try again. 9 | 10 | ); 11 | }; 12 | 13 | export default GenericError; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/components/error/NotFound.js: -------------------------------------------------------------------------------- 1 | import Error from 'components/error/Error'; 2 | 3 | import errorImage from 'assets/error404.png'; 4 | 5 | const NotFound = () => { 6 | return ( 7 | 8 | The page you were looking for could not be found. 9 | 10 | ); 11 | }; 12 | 13 | export default NotFound; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/development.env_tmpl: -------------------------------------------------------------------------------- 1 | TETHYS_DEBUG_MODE = true 2 | TETHYS_APP_ID = {{project_url}} 3 | TETHYS_APP_PACKAGE = {{project}} 4 | TETHYS_APP_ROOT_URL = /apps/{{project_url}}/ 5 | TETHYS_LOADER_DELAY = 500 6 | TETHYS_PORTAL_HOST = "" -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/production.env_tmpl: -------------------------------------------------------------------------------- 1 | TETHYS_DEBUG_MODE = false 2 | TETHYS_APP_ID = {{project_url}} 3 | TETHYS_APP_PACKAGE = {{project}} 4 | TETHYS_APP_ROOT_URL = /apps/{{project_url}}/ 5 | TETHYS_LOADER_DELAY = 500 6 | TETHYS_PORTAL_HOST = "" -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/tests/mocks/fileMock.js: -------------------------------------------------------------------------------- 1 | module.exports = 'test-file-stub'; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/tests/mocks/server.js: -------------------------------------------------------------------------------- 1 | import { rest } from 'msw'; 2 | import { setupServer } from 'msw/node'; 3 | import { handlers } from './handlers.js'; 4 | 5 | const server = setupServer(...handlers); 6 | export { server, rest }; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/tests/test.env_tmpl: -------------------------------------------------------------------------------- 1 | TETHYS_DEBUG_MODE = true 2 | TETHYS_APP_ID = {{project_url}} 3 | TETHYS_APP_PACKAGE = {{project}} 4 | TETHYS_APP_ROOT_URL = /apps/{{project_url}}/ 5 | TETHYS_LOADER_DELAY = 500 6 | TETHYS_PORTAL_HOST = http://api.test -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/config/tests/transforms/cssTransform.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | // This is a custom Jest transformer turning style imports into empty objects. 4 | // http://facebook.github.io/jest/docs/en/webpack.html 5 | 6 | module.exports = { 7 | process() { 8 | return 'module.exports = {};'; 9 | }, 10 | getCacheKey() { 11 | // The output is always the same. 12 | return 'cssTransform'; 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/custom-bootstrap.scss_tmpl: -------------------------------------------------------------------------------- 1 | /* Set bootstrap primary color to be app theme color */ 2 | $primary: {{color}}; 3 | 4 | /* import bootstrap to set changes */ 5 | @import "../node_modules/bootstrap/scss/bootstrap"; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/services/api/app.js: -------------------------------------------------------------------------------- 1 | import apiClient from "services/api/client"; 2 | 3 | const APP_ROOT_URL = process.env.TETHYS_APP_ROOT_URL; 4 | 5 | const appAPI = { 6 | getPlotData: () => { 7 | return apiClient.get(`${APP_ROOT_URL}data/`); 8 | }, 9 | }; 10 | 11 | export default appAPI; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/services/utilities.js: -------------------------------------------------------------------------------- 1 | function getTethysPortalHost() { 2 | let tethys_portal_host = process.env.TETHYS_PORTAL_HOST; 3 | 4 | // If the .env property is not set, derive from current location 5 | if (!tethys_portal_host || !tethys_portal_host.length) { 6 | let currLocation = window.location.href; 7 | let url = new URL(currLocation); 8 | tethys_portal_host = url.origin; 9 | } 10 | return tethys_portal_host; 11 | } 12 | 13 | export { getTethysPortalHost }; -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/reactapp/views/learn/LearnReact.test.js: -------------------------------------------------------------------------------- 1 | import { render, screen } from '@testing-library/react'; 2 | 3 | import LearnReact from 'views/learn/LearnReact'; 4 | 5 | it('Renders the learn more react link', () => { 6 | // Set the --bs-primary variable on the document element 7 | document.documentElement.style.setProperty('--bs-primary', ' #ff9900'); 8 | render(); 9 | const linkElement = screen.getByText(/Click Here to Learn React!/i); 10 | expect(linkElement).toBeInTheDocument(); 11 | }); -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/__init__.py: -------------------------------------------------------------------------------- 1 | # Included for native namespace package support 2 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/public/frontend/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/public/frontend/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/public/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/public/images/icon.png -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/resources/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/resources/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/react/tethysapp/+project+/tests/__init__.py -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/.gitignore: -------------------------------------------------------------------------------- 1 | *.pydevproject 2 | *.project 3 | *.egg-info 4 | *.class 5 | *.pyo 6 | *.pyc 7 | *.db 8 | *.sqlite 9 | *.DS_Store 10 | .idea/ 11 | services.yml -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/README.rst_tmpl: -------------------------------------------------------------------------------- 1 | {{proper_name}} 2 | {{'=' * proper_name|length}} 3 | 4 | {{description}} 5 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/install.yml_tmpl: -------------------------------------------------------------------------------- 1 | # This file should be committed to your app code. 2 | version: 1.1 3 | # This should be greater or equal to your tethys-platform in your environment 4 | tethys_version: ">=4.0.0" 5 | # This should match the app - package name in your setup.py 6 | name: {{ project }} 7 | 8 | requirements: 9 | # Putting in a skip true param will skip the entire section. Ignoring the option will assume it be set to False 10 | skip: false 11 | conda: 12 | channels: 13 | packages: 14 | 15 | pip: 16 | - reactpy-django -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/tethysapp/+project+/__init__.py: -------------------------------------------------------------------------------- 1 | # Included for native namespace package support 2 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/tethysapp/+project+/public/images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/reactpy/tethysapp/+project+/public/images/icon.png -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/app_templates/reactpy/tethysapp/+project+/tests/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/app_templates/reactpy/tethysapp/+project+/tests/__init__.py -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/__init__.py: -------------------------------------------------------------------------------- 1 | # Included for native namespace package support 2 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/controllers.py_tmpl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/controllers.py_tmpl -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/ext.py_tmpl: -------------------------------------------------------------------------------- 1 | from tethys_sdk.base import TethysExtensionBase 2 | 3 | 4 | class Extension(TethysExtensionBase): 5 | """ 6 | Tethys extension class for {{proper_name}}. 7 | """ 8 | 9 | name = '{{proper_name}}' 10 | package = '{{project}}' 11 | root_url = '{{project_url}}' 12 | description = '{{description|default("Place a brief description of your extension here.")}}' 13 | -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/gizmos/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/gizmos/__init__.py -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/public/css/main.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/public/css/main.css -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/public/js/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/public/js/main.js -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/resources/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/resources/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/templates/+project+/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/templates/+project+/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/templates/gizmos/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_cli/scaffold_templates/extension_templates/default/tethysext/+project+/templates/gizmos/.gitkeep -------------------------------------------------------------------------------- /tethys_cli/version_command.py: -------------------------------------------------------------------------------- 1 | from tethys_portal import __version__ 2 | 3 | 4 | def add_version_parser(subparsers): 5 | # Setup list command 6 | version_parser = subparsers.add_parser( 7 | "version", help="Print the version of tethys_platform" 8 | ) 9 | version_parser.set_defaults(func=version_command) 10 | 11 | 12 | def version_command(args): 13 | print(__version__) 14 | -------------------------------------------------------------------------------- /tethys_components/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_components/__init__.py -------------------------------------------------------------------------------- /tethys_components/layouts.py: -------------------------------------------------------------------------------- 1 | def NavHeader(lib, app, user, nav_links=None, content=None): 2 | nav_links = nav_links or [] 3 | content = content or [] 4 | if not isinstance(content, list): 5 | content = [content] 6 | 7 | return lib.html.div(style=lib.Style(height="100vh"))( 8 | lib.tethys.HeaderWithNavBar(app=app, user=user, nav_links=nav_links), 9 | lib.html.div(style=lib.Style(paddingTop="56px", height="100%", width="100%"))( 10 | *content 11 | ), 12 | ) 13 | -------------------------------------------------------------------------------- /tethys_compute/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_compute/__init__.py 4 | * Author: Scott Christensen 5 | * Created On: 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | default_app_config = "tethys_compute.apps.TethysComputeConfig" 12 | -------------------------------------------------------------------------------- /tethys_compute/apps.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: apps.py 4 | * Author: Scott Christensen 5 | * Created On: 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | from django.apps import AppConfig 12 | 13 | 14 | class TethysComputeConfig(AppConfig): 15 | name = "tethys_compute" 16 | verbose_name = "Tethys Compute" 17 | -------------------------------------------------------------------------------- /tethys_compute/models/condor/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_compute/models/condor/__init__.py -------------------------------------------------------------------------------- /tethys_compute/models/dask/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_compute/models/dask/__init__.py -------------------------------------------------------------------------------- /tethys_compute/models/dask/dask_job_exception.py: -------------------------------------------------------------------------------- 1 | class DaskJobException(Exception): 2 | """ 3 | Custom Dask job exception. 4 | """ 5 | 6 | pass 7 | -------------------------------------------------------------------------------- /tethys_compute/static/tethys_compute/css/dask-dashboard.css: -------------------------------------------------------------------------------- 1 | #dask-dashboard-header { 2 | background-color: #7ec1f7; 3 | } 4 | 5 | #dask-dashboard-content { 6 | width: 80%; 7 | margin-left: 10%; 8 | margin-right: 10%; 9 | margin-top: 2rem; 10 | margin-bottom: 2rem; 11 | max-height: 58vh; 12 | overflow-y: auto; 13 | } 14 | 15 | #dask-dashboard-content > div { 16 | height: 800px; 17 | } -------------------------------------------------------------------------------- /tethys_compute/static/tethys_compute/img/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_compute/static/tethys_compute/img/loader.gif -------------------------------------------------------------------------------- /tethys_compute/views/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_compute/views/__init__.py 4 | * Author: Scott Christensen 5 | * Created On: October 2024 6 | * Copyright: (c) Tethys Geoscience Foundation 2024 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | from .dask_dashboard_view import dask_dashboard 13 | from .update_status import ( 14 | get_job, 15 | do_job_action, 16 | update_job_status, 17 | update_dask_job_status, 18 | ) 19 | -------------------------------------------------------------------------------- /tethys_config/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_config/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # Load the custom app config 12 | default_app_config = "tethys_config.apps.TethysPortalConfig" 13 | -------------------------------------------------------------------------------- /tethys_config/apps.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: apps.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | from django.apps import AppConfig 12 | 13 | 14 | class TethysPortalConfig(AppConfig): 15 | name = "tethys_config" 16 | verbose_name = "Tethys Portal" 17 | -------------------------------------------------------------------------------- /tethys_config/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_config/migrations/__init__.py -------------------------------------------------------------------------------- /tethys_config/views.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_config/views.py -------------------------------------------------------------------------------- /tethys_gizmos/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_gizmos/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_gizmos/admin.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: admin.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # from django.contrib import admin 12 | 13 | # Register your models here. 14 | -------------------------------------------------------------------------------- /tethys_gizmos/context_processors.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: context_processors.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | 12 | def tethys_gizmos_context(request): 13 | """ 14 | Add the gizmos_rendered context to the global context. 15 | """ 16 | 17 | # Setup variables 18 | context = {"gizmos_rendered": []} 19 | return context 20 | -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/css/range_slider.css: -------------------------------------------------------------------------------- 1 | .form-range { 2 | width: auto; 3 | flex-grow: 2; 4 | } 5 | 6 | .slider-after { 7 | text-align: left; 8 | padding-left: 10px; 9 | } -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/dragIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/dragIcon.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/dragIconLight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/dragIconLight.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_067_cleaning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_067_cleaning.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_094_vector_path_square.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_094_vector_path_square.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_095_vector_path_circle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_095_vector_path_circle.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_096_vector_path_polygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_096_vector_path_polygon.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_097_vector_path_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_097_vector_path_line.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/glyphicons_242_google_maps.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/glyphicons_242_google_maps.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/info-off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/info-off.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/info-on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/info-on.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/job_error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/job_error.png -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/images/map-view-drawing-icons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_gizmos/static/tethys_gizmos/images/map-view-drawing-icons.gif -------------------------------------------------------------------------------- /tethys_gizmos/static/tethys_gizmos/less/mixins.less: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * FILE: mixins 3 | * DATE: 2014 4 | * AUTHOR: Nathan Swain 5 | * COPYRIGHT: (c) Brigham Young University 2014 6 | * LICENSE: BSD 2-Clause 7 | *****************************************************************************/ 8 | // Mixins 9 | 10 | .font-smoothing() { 11 | -webkit-font-smoothing: antialiased; 12 | -moz-osx-font-smoothing: grayscale; 13 | } -------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/bokeh_application.html: -------------------------------------------------------------------------------- 1 | {% load static tethys %} 2 | 3 |
4 | {{ the_script|safe}} 5 |
6 | -------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/bokeh_view.html: -------------------------------------------------------------------------------- 1 | {% load tethys %} 2 | 3 | -------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/job_logs.html: -------------------------------------------------------------------------------- 1 | {% load static tethys %} 2 | 3 | {% gizmo sub_job_select %} 4 | {% for log, options in log_options.items %} 5 |
6 | {% gizmo options %} 7 |
8 | {% endfor %} -------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/plot_view.html: -------------------------------------------------------------------------------- 1 | {% load tethys %} 2 | 3 |
15 |
-------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/plotly_view.html: -------------------------------------------------------------------------------- 1 | {% load tethys %} 2 | 3 | -------------------------------------------------------------------------------- /tethys_gizmos/templates/tethys_gizmos/gizmos/test_gizmo.html: -------------------------------------------------------------------------------- 1 | {{ name }} -------------------------------------------------------------------------------- /tethys_gizmos/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: templatetags/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_gizmos/views/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: views/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_gizmos/views/gizmos/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: gizmos/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_layouts/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_layouts/__init__.py -------------------------------------------------------------------------------- /tethys_layouts/mixins/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_layouts/mixins/__init__.py -------------------------------------------------------------------------------- /tethys_layouts/templates/tethys_layouts/map_layout/color_ramp_component.html: -------------------------------------------------------------------------------- 1 |
    2 | {% for value, color in legend.divisions.items %} 3 |
    4 |
  • 5 |

    {{ value }}

    6 |
    7 |
  • 8 |
    9 | {% endfor %} 10 |
-------------------------------------------------------------------------------- /tethys_layouts/templates/tethys_layouts/map_layout/map_plot.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /tethys_layouts/views/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_layouts/views/__init__.py -------------------------------------------------------------------------------- /tethys_portal/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_portal/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | try: 12 | from ._version import version as __version__ 13 | from ._version import version_tuple # noqa: F401 14 | except ImportError: 15 | print("WARNING: Unable to find version for package tethys-platform") 16 | __version__ = None 17 | version_tuple = None 18 | -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/css/sso_tenant.min.css: -------------------------------------------------------------------------------- 1 | label[for="id_remember"]{display:none} -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/css/termsandconditions.min.css: -------------------------------------------------------------------------------- 1 | #termsandconditions #toc-header .toc-close{text-decoration:none}#termsandconditions #toc-content #toc-footer .toc-accept-all-btn{text-decoration:none} -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/arcgis-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/arcgis-icon-sm.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/data.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/data.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/default_favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/default_favicon.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/error_404.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/error_404.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/error_500.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/error_500.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/hs-icon-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/hs-icon-sm.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/lockout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/lockout.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/nsf1.eps: -------------------------------------------------------------------------------- 1 | version https://git-lfs.github.com/spec/v1 2 | oid sha256:ae6aa1cc3d082e732c60e883b3d2007186e12a75f17cf70ca9d5246b10d05f18 3 | size 3095246 4 | -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/onelogin_black_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/onelogin_black_32.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/onelogin_white_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/onelogin_white_32.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/placeholder.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/placeholder.gif -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/tethys-logo-25.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/tethys-logo-25.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/tethys-logo-75.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/tethys-logo-75.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/images/tethys_logo_inverse.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_portal/static/tethys_portal/images/tethys_logo_inverse.png -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/less/sso_tenant.less: -------------------------------------------------------------------------------- 1 | // out: ../css/sso_tenant.min.css, compress: true 2 | /* Remember checkbox hidden by default */ 3 | label[for="id_remember"] { 4 | display: none; 5 | } -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/less/termsandconditions.less: -------------------------------------------------------------------------------- 1 | // out: ../css/termsandconditions.min.css, compress: true 2 | #termsandconditions #toc-header .toc-close { 3 | text-decoration: none; 4 | } 5 | 6 | #termsandconditions #toc-content #toc-footer .toc-accept-all-btn { 7 | text-decoration: none; 8 | } -------------------------------------------------------------------------------- /tethys_portal/static/tethys_portal/less/tethys_main.less: -------------------------------------------------------------------------------- 1 | // out: ../css/tethys_main.min.css, compress: true 2 | /***************************************************************************** 3 | * FILE: tethys_main 4 | * DATE: 2014 5 | * AUTHOR: Nathan Swain 6 | * COPYRIGHT: (c) Brigham Young University 2014 7 | * LICENSE: BSD 2-Clause 8 | *****************************************************************************/ 9 | @import "variables"; 10 | @import "fonts"; 11 | @import "base"; 12 | @import "buttons"; -------------------------------------------------------------------------------- /tethys_portal/templates/analytical_body_bottom.html: -------------------------------------------------------------------------------- 1 | {% load analytical %} 2 | {% analytical_body_bottom %} -------------------------------------------------------------------------------- /tethys_portal/templates/analytical_body_top.html: -------------------------------------------------------------------------------- 1 | {% load analytical %} 2 | {% analytical_body_top %} -------------------------------------------------------------------------------- /tethys_portal/templates/analytical_head_bottom.html: -------------------------------------------------------------------------------- 1 | {% load analytical %} 2 | {% analytical_head_bottom %} -------------------------------------------------------------------------------- /tethys_portal/templates/analytical_head_top.html: -------------------------------------------------------------------------------- 1 | {% load analytical %} 2 | {% analytical_head_top %} -------------------------------------------------------------------------------- /tethys_portal/templates/gravatar.html: -------------------------------------------------------------------------------- 1 | {% load gravatar static %} 2 | 3 | {% if gravatar_url %} 4 | 5 | {% else %} 6 | {% if user.email %}{% gravatar user.email image_size %}{% else %}{% gravatar "tethys@example.com" image_size %}{% endif %} 7 | {% endif %} -------------------------------------------------------------------------------- /tethys_portal/templates/mfa_auth_base.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} -------------------------------------------------------------------------------- /tethys_portal/templates/mfa_base.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_portal/user/base.html" %} 2 | 3 | {% block styles %} 4 | {{ block.super }} 5 | 10 | {% endblock %} -------------------------------------------------------------------------------- /tethys_portal/templates/mfa_email_token_template.html: -------------------------------------------------------------------------------- 1 |

Here is the one time passcode you requested: {{ otp }}

-------------------------------------------------------------------------------- /tethys_portal/templates/oauth2_provider/base.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block styles %} 4 | {{ block.super }} 5 | 15 | {% endblock %} 16 | 17 | 18 | {% block content %} 19 | {% endblock %} -------------------------------------------------------------------------------- /tethys_portal/templates/registration/password_reset_complete.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_portal/accounts/base.html" %} 2 | 3 | {% load django_bootstrap5 %} 4 | 5 | {% block title %}{{ block.super }} - Password Reset Complete{% endblock %} 6 | 7 | {% block account_form_title %}Reset Complete{% endblock %} 8 | 9 | {% block account_form_body %} 10 |

You're password has been reset, please log in now.

11 |

Log In

12 | {% endblock %} -------------------------------------------------------------------------------- /tethys_portal/templates/registration/password_reset_done.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_portal/accounts/base.html" %} 2 | 3 | {% load django_bootstrap5 %} 4 | 5 | {% block title %}{{ block.super }} - Password Reset Sent{% endblock %} 6 | 7 | {% block account_form_title %}Instructions Sent{% endblock %} 8 | 9 | {% block account_form_body %} 10 |

We've e-mailed you instructions for resetting your password. You should be receiving it shortly.

11 |

Keep in mind that it may arrive in your spam folder.

12 |

Return to Log In

13 | {% endblock %} -------------------------------------------------------------------------------- /tethys_portal/templates/registration/password_reset_email.html: -------------------------------------------------------------------------------- 1 | {% autoescape off %} 2 | You're receiving this e-mail because you requested a password reset for your user account at {{ site_name }}. 3 | 4 | Please use the following link to reset your password: 5 | {% block reset_link %} 6 | {% endblock %} 7 | 8 | {{ protocol }}://{{ domain }}{% url 'accounts:password_confirm' uidb64=uid token=token %} 9 | 10 | Thank you for using our site! 11 | 12 | The {{ site_name }} team. 13 | 14 | {% endautoescape %} -------------------------------------------------------------------------------- /tethys_portal/templates/terms.html: -------------------------------------------------------------------------------- 1 | {% load terms_tags %} 2 | {% show_terms_if_not_agreed %} 3 | -------------------------------------------------------------------------------- /tethys_portal/templates/termsandconditions_base.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% block header %} 4 | {{ block.super }} 5 |
6 | {% endblock %} -------------------------------------------------------------------------------- /tethys_portal/views/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: views/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_portal/views/receivers.py: -------------------------------------------------------------------------------- 1 | from django.conf import settings 2 | from django.db.models.signals import post_save 3 | from django.dispatch import receiver 4 | from rest_framework.authtoken.models import Token 5 | 6 | 7 | # create API Token for newly created django USER object 8 | # see: https://www.django-rest-framework.org/api-guide/authentication/ 9 | @receiver(post_save, sender=settings.AUTH_USER_MODEL) 10 | def create_auth_token(sender, instance=None, created=False, **kwargs): 11 | if created: 12 | Token.objects.create(user=instance) 13 | -------------------------------------------------------------------------------- /tethys_quotas/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: __init__.py 4 | * Author: tbayer 5 | * Created On: February 12, 2019 6 | * Copyright: (c) Aquaveo 2018 7 | ******************************************************************************** 8 | """ 9 | 10 | default_app_config = "tethys_quotas.apps.TethysQuotasConfig" 11 | -------------------------------------------------------------------------------- /tethys_quotas/handlers/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_quotas/handlers/__init__.py -------------------------------------------------------------------------------- /tethys_quotas/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_quotas/migrations/__init__.py -------------------------------------------------------------------------------- /tethys_quotas/models/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: 4 | * Author: tbayer 5 | * Created On: 2019 6 | * Copyright: (c) Aquaveo 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | from tethys_quotas.models.resource_quota import ResourceQuota # noqa: F401 12 | from tethys_quotas.models.entity_quota import EntityQuota # noqa: F401 13 | from tethys_quotas.models.user_quota import UserQuota # noqa: F401 14 | from tethys_quotas.models.tethys_app_quota import TethysAppQuota # noqa: F401 15 | -------------------------------------------------------------------------------- /tethys_sdk/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_sdk/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 7 August 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # This module provides a centralized location for SDK imports. 13 | from tethys_portal import __version__ 14 | -------------------------------------------------------------------------------- /tethys_sdk/components/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: components.py 4 | * Author: Shawn Crawley 5 | * Created On: 14 June 2024 6 | * License: BSD 2-Clause 7 | ******************************************************************************** 8 | """ 9 | 10 | # flake8: noqa 11 | # DO NOT ERASE 12 | from . import utils 13 | from tethys_apps.base.reactpy_base import ReactPyBase 14 | -------------------------------------------------------------------------------- /tethys_sdk/components/utils.py: -------------------------------------------------------------------------------- 1 | from reactpy import component, event # noqa: F401 2 | from tethys_components.utils import Props, background_execute # noqa: F401 3 | -------------------------------------------------------------------------------- /tethys_sdk/compute.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: compute.py 4 | * Author: Nathan Swain 5 | * Created On: 7 August 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_compute.scheduler_manager import ( 14 | list_schedulers, 15 | get_scheduler, 16 | create_scheduler, 17 | create_condor_scheduler, 18 | create_dask_scheduler, 19 | ) 20 | -------------------------------------------------------------------------------- /tethys_sdk/gizmos.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: gizmos.py 4 | * Author: Nathan Swain 5 | * Created On: 7 August 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_gizmos.gizmo_options import * 14 | from tethys_gizmos.gizmo_options.base import TethysGizmoOptions, SecondaryGizmoOptions 15 | -------------------------------------------------------------------------------- /tethys_sdk/handoff.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: handoff.py 4 | * Author: Nathan Swain 5 | * Created On: August 11, 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_apps.base.handoff import HandoffHandler 14 | -------------------------------------------------------------------------------- /tethys_sdk/jobs.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: jobs.py 4 | * Author: Nathan Swain and Scott Christensen 5 | * Created On: 7 August 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_compute.models import ( 14 | TethysJob, 15 | BasicJob, 16 | CondorJob, 17 | CondorWorkflow, 18 | CondorWorkflowJobNode, 19 | DaskJob, 20 | ) 21 | -------------------------------------------------------------------------------- /tethys_sdk/layouts.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: layouts.py 4 | * Author: Nathan Swain 5 | * Created On: 29 June 2021 6 | * License: BSD 2-Clause 7 | ******************************************************************************** 8 | """ 9 | 10 | # flake8: noqa 11 | # DO NOT ERASE 12 | from tethys_layouts.views.map_layout import MapLayout 13 | -------------------------------------------------------------------------------- /tethys_sdk/paths.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: paths.py 4 | * Author: Scott Christensen 5 | * Created On: April 2024 6 | * Copyright: (c) Tethys Geoscience Foundation 2024 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_apps.base.paths import ( 14 | TethysPath, 15 | get_app_workspace, 16 | get_user_workspace, 17 | get_app_media, 18 | get_user_media, 19 | get_app_resources, 20 | get_app_public, 21 | ) 22 | -------------------------------------------------------------------------------- /tethys_sdk/permissions.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: permissions.py 4 | * Author: nswain 5 | * Created On: May 09, 2016 6 | * Copyright: 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_apps.base import Permission, PermissionGroup, has_permission 14 | from tethys_apps.decorators import permission_required, login_required 15 | -------------------------------------------------------------------------------- /tethys_sdk/quotas/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_sdk/quotas/__init__.py 4 | * Author: tbayer 5 | * Created On: April 2, 2019 6 | * Copyright: (c) Aquaveo 2018 7 | ******************************************************************************** 8 | """ 9 | 10 | from tethys_quotas.handlers.base import ResourceQuotaHandler # noqa: F401 11 | from tethys_quotas.decorators import enforce_quota # noqa: F401 12 | from tethys_quotas.utilities import ( # noqa: F401 13 | passes_quota, 14 | get_resource_available, 15 | get_quota, 16 | ) 17 | -------------------------------------------------------------------------------- /tethys_sdk/quotas/codenames.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_sdk/quotas/codenames.py -------------------------------------------------------------------------------- /tethys_sdk/static/tethys_sdk/css/messages.css: -------------------------------------------------------------------------------- 1 | #app-content-wrapper .flash-messages { 2 | padding-right: 50px; 3 | position: absolute; 4 | display: inline-block; 5 | top: 57px; 6 | left: 10%; 7 | z-index: 1000000000; 8 | width: 80%; 9 | } 10 | 11 | #app-content-wrapper.show-nav .flash-messages { 12 | padding-right: 450px; 13 | } 14 | -------------------------------------------------------------------------------- /tethys_sdk/static/tethys_sdk/js/check_ie.js: -------------------------------------------------------------------------------- 1 | // Check if Internet Explorer 2 | (function check_ie() { 3 | var ua = window.navigator.userAgent; 4 | var msie = ua.indexOf("MSIE "); 5 | var error_message = "This app does not support Internet Explorer. Please switch to another browser." 6 | if (msie > 0) // IE 10 or less 7 | { 8 | alert(error_message) 9 | } 10 | else { 11 | var trident = ua.indexOf('Trident/'); 12 | if (trident > 0) { // IE 11 13 | alert(error_message) 14 | } 15 | } 16 | })() -------------------------------------------------------------------------------- /tethys_sdk/templatetags/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_sdk/templatetags/__init__.py -------------------------------------------------------------------------------- /tethys_sdk/testing.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: testing.py 4 | * Author: Shawn Crawley 5 | * Created On: 18 November 2016 6 | * Copyright: (c) Brigham Young University 2016 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_apps.base.testing.testing import TethysTestCase 14 | from tethys_apps.base.testing.environment import ( 15 | set_testing_environment, 16 | get_test_db_name, 17 | is_testing_environment, 18 | ) 19 | -------------------------------------------------------------------------------- /tethys_sdk/workspaces.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: workspaces.py 4 | * Author: Nathan Swain 5 | * Created On: 7 August 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # flake8: noqa 12 | # DO NOT ERASE 13 | from tethys_apps.base.workspace import ( 14 | TethysWorkspace, 15 | user_workspace, 16 | app_workspace, 17 | get_app_workspace_old as get_app_workspace, 18 | get_user_workspace_old as get_user_workspace, 19 | ) 20 | -------------------------------------------------------------------------------- /tethys_services/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: tethys_services/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | # Load the custom app config 12 | default_app_config = "tethys_services.apps.TethysServicesConfig" 13 | -------------------------------------------------------------------------------- /tethys_services/apps.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: apps.py 4 | * Author: Nathan Swain 5 | * Created On: 2014 6 | * Copyright: (c) Brigham Young University 2014 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | 11 | from django.apps import AppConfig 12 | 13 | 14 | class TethysServicesConfig(AppConfig): 15 | name = "tethys_services" 16 | verbose_name = "Tethys Services" 17 | -------------------------------------------------------------------------------- /tethys_services/backends/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ******************************************************************************** 3 | * Name: backends/__init__.py 4 | * Author: Nathan Swain 5 | * Created On: July 31, 2015 6 | * Copyright: (c) Brigham Young University 2015 7 | * License: BSD 2-Clause 8 | ******************************************************************************** 9 | """ 10 | -------------------------------------------------------------------------------- /tethys_services/backends/azuread.py: -------------------------------------------------------------------------------- 1 | from social_core.backends.azuread_tenant import AzureADTenantOAuth2 2 | from social_core.backends.azuread_b2c import AzureADB2COAuth2 3 | 4 | from tethys_services.backends.multi_tenant_mixin import MultiTenantMixin 5 | 6 | 7 | class AzureADTenantOAuth2MultiTenant(MultiTenantMixin, AzureADTenantOAuth2): 8 | pass 9 | 10 | 11 | class AzureADB2COAuth2MultiTenant(MultiTenantMixin, AzureADB2COAuth2): 12 | pass 13 | -------------------------------------------------------------------------------- /tethys_services/backends/okta.py: -------------------------------------------------------------------------------- 1 | from social_core.backends.okta import OktaOAuth2 2 | from social_core.backends.okta_openidconnect import OktaOpenIdConnect 3 | 4 | from tethys_services.backends.multi_tenant_mixin import MultiTenantMixin 5 | 6 | 7 | class OktaOauth2MultiTenant(MultiTenantMixin, OktaOAuth2): 8 | pass 9 | 10 | 11 | class OktaOpenIdConnectMultiTenant(MultiTenantMixin, OktaOpenIdConnect): 12 | pass 13 | -------------------------------------------------------------------------------- /tethys_services/migrations/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_services/migrations/__init__.py -------------------------------------------------------------------------------- /tethys_services/static/tethys_services/css/tethys_datasets.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tethysplatform/tethys/7051881e0ba29f12b92f68c6e355a7a129d2709f/tethys_services/static/tethys_services/css/tethys_datasets.css -------------------------------------------------------------------------------- /tethys_services/static/tethys_services/js/tethys_datasets.js: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * FILE: tethys_datasets.js 3 | * DATE: 2014 4 | * AUTHOR: Nathan Swain 5 | * COPYRIGHT: (c) Brigham Young University 2014 6 | * LICENSE: BSD 2-Clause 7 | *****************************************************************************/ -------------------------------------------------------------------------------- /tethys_services/static/tethys_services/less/tethys_datasets.less: -------------------------------------------------------------------------------- 1 | /***************************************************************************** 2 | * FILE: tethys_datasets 3 | * DATE: 2014 4 | * AUTHOR: Nathan Swain 5 | * COPYRIGHT: (c) Brigham Young University 2014 6 | * LICENSE: BSD 2-Clause 7 | *****************************************************************************/ -------------------------------------------------------------------------------- /tethys_services/templates/tethys_services/tethys_datasets/base.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% load static %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 8 | {% endblock %} 9 | 10 | {% block primary_content %} 11 | {% endblock %} 12 | 13 | {% block scripts %} 14 | {{ block.super }} 15 | 16 | {% endblock %} -------------------------------------------------------------------------------- /tethys_services/templates/tethys_services/tethys_datasets/home.html: -------------------------------------------------------------------------------- 1 | {% extends "tethys_services/tethys_datasets/base.html" %} 2 | 3 | {% block title %}{{ block.super }} - Tethys Datasets{% endblock %} 4 | 5 | {% block primary_content %} 6 |
7 |
8 |

Dataset Services

9 |
10 |
11 | {% endblock %} -------------------------------------------------------------------------------- /tethys_services/templates/tethys_services/tethys_wps/base.html: -------------------------------------------------------------------------------- 1 | {% extends "base.html" %} 2 | 3 | {% load static %} 4 | 5 | {% block styles %} 6 | {{ block.super }} 7 | 8 | {% endblock %} 9 | 10 | {% block primary_content %} 11 | {% endblock %} 12 | 13 | {% block scripts %} 14 | {{ block.super }} 15 | 16 | {% endblock %} -------------------------------------------------------------------------------- /tethys_services/templatetags/__init__.py: -------------------------------------------------------------------------------- 1 | __author__ = "swainn" 2 | -------------------------------------------------------------------------------- /tethys_services/templatetags/tethys_services.py: -------------------------------------------------------------------------------- 1 | from django import template 2 | 3 | from tethys_portal.optional_dependencies import optional_import 4 | 5 | # optional imports 6 | ComplexData = optional_import("ComplexData", from_module="owslib.wps") 7 | 8 | register = template.Library() 9 | 10 | 11 | @register.filter 12 | def is_complex_data(value): 13 | """ 14 | Test whether value is owslib.wps.ComplexData. 15 | 16 | Returns: 17 | (bool): True if value is owslib.wps.ComplexData, false if not. 18 | """ 19 | 20 | if isinstance(value, ComplexData): 21 | return True 22 | 23 | return False 24 | -------------------------------------------------------------------------------- /tethys_utils/__init__.py: -------------------------------------------------------------------------------- 1 | # flake8: noqa 2 | from .deprecation import deprecation_warning 3 | 4 | DOCS_BASE_URL = "https://docs.tethysplatform.org/en/stable/" 5 | -------------------------------------------------------------------------------- /tox.ini: -------------------------------------------------------------------------------- 1 | [flake8] 2 | max-line-length = 88 3 | extend-ignore = E203, E501 4 | exclude = .git,build,dist,__pycache__,.eggs,*.egg-info, node_modules, tethys_*/migrations/* --------------------------------------------------------------------------------