>> View Streams | View Events | View Alerts

How to Publish VOEvents to Skyalert

VOEvents are XML documents containing information about astronomical events. More precisely, it is a report about an observation of an astronomical event. Some examples of astronomical events are Gamma Ray Bursts, Supernovae, Microlensing events, or variable star outbursts. VOEvents are structured reports about such things that can be sent to Skyalert. Further, there is an inference that rapid follow-up observation is what is needed. The Skyalert system connects producers with consumers, gives each event a portfolio and a web page, and allows complete automation of decision.

There is a lot of information at, including What is VOEvent? and Event Handling with SkyAlert.

This document assumes that you have a source of events now or in the future, and want to load them into a Skyalert server.

Before sending events, we need to know the meaning of the numbers and strings in your events. They are called Params.

Step 1: Design a Stream
Think carefully about what data you want to expose in the event. Some parameters are numbers and strings, and can be used to make decisions; some parameters are URLs that link to complex data objects (eg FITS). To help you design a stream:

Step 2: Upload your stream
This will be done by Skyalert staff (write to ), using the agreed sample event, which has all the metadata. You will be asked to check that your stream appears correctly in the web interface. If you are running your own Skyalert system, you can login as an account with staff status.

Step 3: Test Events
Build code that can create events from your event stream: it can of course be done with print statements, or with the VOEventLib python library. It is VERY IMPORTANT that test events be labeled role="test" in the first element of the VOEvent, so they are not mixed with real astronomy.

Step 4: Send events to Skyalert
There are two ways to ingest events to Skyalert:

Step 5: Annotators
You can now build rules against your stream that use the Params to make decisions and take actions. These can be, for example fetching archival data, followup with a robotic telescope, or messaging (sending email). Here is a sample of an annotator to show the structure.

Thank you for using Skyalert! If you have questions or problems, write to .

Skyalert FAQ

What is Skyalert?

Skyalert collects and distributes astronomical events in near-real time. Each event belongs to a stream of structurally similar events that come from a common source, with a common vocabulary of parameters for each event. Users can browse event streams and the events themselves, and can set up "alert rules" which decide which events will be delivered. It is available as a web application or as downloadable software. Also, this book and this paper from the book gives an overview of Skyalert.

Is VOEvent an International Standard?

Yes. It is a Recommendation of the International Virtual Observatory Alliance. See wikipedia, and the IVOA VOEvent definition.

Can I run my own private Skyalert?

Yes. The software is open-source and pure python. It requires Django and a database such as MySQL, and Apache WSGI.

Can I make my own VOEvents

To produce the actual VOEvent xml is simple enough if you follow the instructions above. However, the VOEvent xml file should be valid xml (the correct case, matching brackets, etc.) and conform to the VOEvent schema. The VOEvents that you create can be checked for validity and conformity using this service.

What software is available for download?

Skyalart itself, which needs Django.