You'll need a laptop running either Linux or OSX. If you use Windows that’s fine, but just know you may have to do some extra troubleshooting, as none of the workshop coaches have extensive experience with it.
You’ll also need a working Python installation, version >=3.6. We don’t recommend the use of Anaconda, though it should be fine to use it if that’s what you are used to.
It would be tremendously helpful to have an installation of Django in a Python virtual environment ready to go. You can find instructions for that here:
These instructions are part of the larger Django tutorial we will be following on Day 0, so for those of you that like to read ahead feel free to do so (we will be covering chapters “What is Django?” to “Django Forms”).
Installing the TOM Toolkit and starting a TOM
You can install the Toolkit very easily through pip, and we recommend you install it in a virtual environment, to avoid any conflict with other software using python on your machine. Setting this up is very quick and easy, and full instructions are given here that take you through getting your TOM up and running.
The Toolkit uses the Django web framework extensively, so understanding how this works will really help you to use the Toolkit. The Django Girls organization provides an excellent introduction to Django and other fundamentals of web development. We recommend reviewing their tutorials from What is Django to Introduction to HTML, and from The Django ORM to Django Forms.
Customizing your TOM
These tutorials discuss how to change the displays in your TOM and add pages specific to your needs:
Adding new pages to a TOM
Programmatically interacting with your TOM
It's often important to be able to write software that talks to your TOM, by calling information from it, or sending information to it, for example data reduction tasks. These tutorials take you through enabling software to communicate with your TOM and ways to automate these processes:
Scripting a TOM,
Interacting with Brokers and Observatories
One of the most powerful advantages of a TOM is their ability to directly interface with the external services essential to running an astronomical observing program. These tutorials discuss how these interfaces work, and how you can develop new interfaces to services that are important for your program:
Writing a TOM alert broker module
Writing a TOM observatory module
Operating a TOM
Once you have developed a TOM for your science, you'll need to deploy it for fullscale operation in the real world (a.k.a. in production). There are a number of ways to do this, and some important security features to be aware of, which we cover here:
TOM Advanced deployment procedures
Deploying an operational TOM, securely
Want to learn more?
We've developed extensive documentation to help you through every aspect of developing, customizing and operating your TOM. Learn more at tom-toolkit.readthedocs.io.