Skip to main content

TOM toolkit plugin for educational projects

Project description

tom_education

Build Status Documentation Status

TOM Education is a plugin for the TOM Toolkit adding features intended for educational use. See the documentation for more information.

Features

  • Templated observation forms: Save the fields in the observation creation form as a template to make it easier to create multiple observations with similar parameters.

  • Timelapses: Create a timelapse of FITS data products for a target. Timelapses can be created as animated GIFs or MP4 or WebM videos.

  • Data gallery: View a gallery of thumbnails of FITS files which allows files to be selected and added to a data product group.

  • Data pipelines: Run a user-supplied data pipeline on a selection of files and save the outputs as data products in the TOM.

  • API endpoints: REST API endpoints give information about targets, timelapses, pipeline runs, and allow observations to be submitted.

  • Observation alerts: Associate an email address with an observation to receive email updates when data is available.

  • Observations with multiple instrument configurations: Submit LCO observations with multiple filters and exposure settings.

Long-running tasks (such as running data pipelines and creating large timelapses) are performed asynchronously in separate worker processes using Dramatiq via django_dramatiq and Redis.

Requirements

In addition to the requirements listed in setup.py you will need:

  • A working TOM (see TOM Toolkit documentation)
  • Python >= 3.6

Installation

  1. Set up a TOM following the getting started guide.

  2. Clone and install this package with pip:

pip install tom_education

Note: a dependency of one of tom_education's dependencies requires a Fortran compiler to install. On Ubuntu, run sudo apt-get install gfortran before installing with pip.

  1. Add tom_education to INSTALLED_APPS in settings.py.
INSTALLED_APPS = [
    ...
    'tom_education'
]
  1. Run the tom_education setup management command. Note that this overwrites settings.py and urls.py in the newly created project.
python manage.py tom_education_setup
  1. Install Redis, and start redis-server. If not running Redis on the same server as tom_education, or if using a non-default port, change the Redis connection settings in settings.py under DRAMATIQ_BROKER.

  2. Start the Dramatiq worker processes:

python manage.py rundramatiq

Note that rundramatiq must be restarted for code changes to take effect.

  1. Optional: install test dependencies and run tests to check everything is okay (Note: Redis and the Dramatiq workers do not have to be running to run the tests).
pip install tomtoolkit[test]
python manage.py test tom_education

Install Development version

Clone this repo and install the package with pip:

git clone https://github.com/joesingo/tom_education
pip install -e tom_education

Project details


Download files

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

Source Distribution

tom_education-1.1.9.tar.gz (56.6 kB view hashes)

Uploaded Source

Built Distribution

tom_education-1.1.9-py3-none-any.whl (78.8 kB view hashes)

Uploaded Python 3

Supported by

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