TOM toolkit plugin for educational projects
Project description
tom_education
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
-
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
.
- Add
tom_education
toINSTALLED_APPS
insettings.py
.
INSTALLED_APPS = [
...
'tom_education'
]
- Run the
tom_education
setup management command. Note that this overwritessettings.py
andurls.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 astom_education
, or if using a non-default port, change the Redis connection settings insettings.py
underDRAMATIQ_BROKER
. -
Start the Dramatiq worker processes:
python manage.py rundramatiq
Note that rundramatiq
must be restarted for code changes to take effect.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for tom_education-1.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6e66e85ddcea50de7c3ef71f3c278434f00b3afa0bde9dda5148276444cc570 |
|
MD5 | 3f9de2496177dbc4ac89bb48590954e6 |
|
BLAKE2b-256 | 41ded39dcb1a3360a65d5ee47ba7a4108a3cebd7bbc24b3932304edce727211d |