TOM Education is a plugin for the TOM Toolkit adding features intended for educational use. See the documentation for more information.
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.
In addition to the requirements listed in setup.py
you will need:
Set up a TOM following the getting started guide.
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
.
tom_education
to INSTALLED_APPS
in settings.py
.INSTALLED_APPS = [
...
'tom_education'
]
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
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
.
Start the Dramatiq worker processes:
python manage.py rundramatiq
Note that rundramatiq
must be restarted for code changes to take effect.
pip install tomtoolkit[test]
python manage.py test tom_education
Clone this repo and install the package with pip
:
git clone https://github.com/joesingo/tom_education
pip install -e tom_education