Skip to content

Commit 04237f6

Browse files
authored
Merge pull request #1544 from TOMToolkit/docs/update_readme
Update documentation of plugin list and README
2 parents 24ab0a3 + 5511f5a commit 04237f6

3 files changed

Lines changed: 139 additions & 72 deletions

File tree

README.md

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -69,37 +69,12 @@ Please review our [code of conduct](CODE_OF_CONDUCT.md) for information about wh
6969
For development information targeted at the maintainers of the project, please see [README-dev.md](README-dev.md).
7070

7171
## Plugins
72-
73-
### tom_alerts_dash
74-
75-
The [tom_alerts_dash](https://github.com/TOMToolkit/tom_alerts_dash) plugin adds responsive ReactJS views to the
76-
`tom_alerts` module for supported brokers.
77-
78-
### Antares
79-
80-
The [tom-antares](https://github.com/TOMToolkit/tom_antares) plugin adds support
81-
for querying the Antares broker for targets of interest.
82-
83-
### tom_nonsidereal_airmass
84-
85-
The [tom_nonsidereal_airmass](https://github.com/TOMToolkit/tom_nonsidereal_airmass) plugin provides a templatetag
86-
that supports plotting for non-sidereal objects. The plugin is fully supported by the TOM Toolkit team; however,
87-
non-sidereal visibility calculations require the PyEphem library, which is minimally supported while its successor
88-
is in development. The library used for the TOM Toolkit sidereal visibility, astroplan, does not yet support
89-
non-sidereal visibility calculations.
90-
91-
### tom-lt
92-
93-
This module provides the ability to submit observations to the Liverpool Telescope Phase 2 system. It is in a very alpha
94-
state, with little error handling and minimal instrument options, but can successfully submit well-formed observation
95-
requests.
96-
97-
[Github](https://github.com/TOMToolkit/tom_lt)
98-
99-
### tom_registration
100-
101-
The [tom_registration](https://github.com/TOMToolkit/tom_registration) plugin introduces support for two TOM registration
102-
flows--an open registration, and a registration that requires administrator approval.
72+
Our philosophy is to keep the TOM as lightweight and adaptable as possible.
73+
Different TOM systems have different science goals and sometimes need
74+
different functions. Rather than require users to support all
75+
dependencies from all possible functions, we support a range of optional
76+
plugin modules for the Toolkit. Have a look at our [list of plugins](https://tom-toolkit.readthedocs.io/en/stable/api/plugins.html)
77+
see which would benefit your science goals.
10378

10479
## About the TOM Toolkit
10580

docs/api/plugins.md

Lines changed: 132 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,159 @@
1-
Plugins
2-
---
1+
TOM Toolkit Plugins
2+
-------------------
33

4-
### TOM Toolkit Plugins
4+
We aim to keep the TOM as lightweight and flexible as possible, and we
5+
recognize that every team has their own science goals and often need
6+
different functions. These often come with added dependencies.
57

6-
Additional functionality can be added to the TOM Toolkit in the form of plugins.
7-
These may range from adding the ability to interface with additional
8-
observatories, to providing additional plotting or data analytics functionality.
8+
Rather than require users to support all dependencies from all possible
9+
functions, we support a range of optional plugin modules for the Toolkit.
10+
These range from adding the ability to interface with additional
11+
observatories and catalogs, to providing additional plotting or data analytics functionality.
912

10-
### tom-alerts-dash
13+
### [tom_hermes](https://github.com/TOMToolkit/tom_hermes)
1114

12-
This module supplements the tom_alerts module with Plotly Dash support for more responsive broker views.
15+
The [Hermes](https://hermes.lco.global) service provides a archive of
16+
astronomical alerts. This plugin allows TOM users to query Hermes and share
17+
data with the service.
1318

14-
[Github](https://github.com/TOMToolkit/tom_alerts_dash)
19+
### [tom_fink](https://github.com/TOMToolkit/tom_fink)
1520

16-
[Installation Instructions](https://github.com/TOMToolkit/tom_alerts_dash#installation)
21+
[Fink](https://fink-broker.org/) is an alert broker service. This plugin
22+
enables users to query this service and harvest alert information.
1723

18-
### tom-antares
19-
This module provides the ability to query and/or listen to Antares alert streams
20-
from within a TOM.
24+
### [tom_antares](https://github.com/TOMToolkit/tom_antares)
2125

22-
[Github](https://github.com/TOMToolkit/tom_antares)
26+
This plugin adds support for querying the [ANTARES](https://antares.noirlab.edu/) broker for targets of interest.
2327

24-
[Installation Instructions](https://github.com/TOMToolkit/tom_antares)
28+
### [tom_app_template](https://github.com/TOMToolkit/tom_app_template)
2529

26-
#### Compatibility Notes
30+
This repository is designed to provide a starting template for TOM users
31+
wishing to develop their own TOM app. This app contains all of the basic workflows,
32+
directory structure, testing infrastructure, and instructions you will need to get started.
2733

28-
If you're on Mac OS, it should be noted that the Antares client library has a dependency
29-
that only supports Mac OS 10.13 or later. If you try to run `./manage.py migrate` on an
30-
earlier version, you may see an error.
34+
### [tom_jpl](https://github.com/TOMToolkit/tom_jpl)
3135

32-
### tom-nonsidereal-airmass
36+
The Jet Propulsion Laboratory provides a number of services supporting
37+
Solar System science. This plugin provides a TOM interface to JPL's
38+
[SCOUT](https://cneos.jpl.nasa.gov/scout/intro.html) service.
3339

34-
This module provides a templatetag supporting visibility plots for non-sidereal targets. This plugin is fully
35-
supported by the TOM Toolkit team; however, non-sidereal visibility calculations require the PyEphem library, which is
36-
minimally supported while its successor is in development. The library used for the TOM Toolkit sidereal visibility,
37-
`astroplan`, does not yet support non-sidereal visibility calculations.
40+
### [tom_eso](https://github.com/TOMToolkit/tom_eso)
3841

39-
[Github](https://github.com/TOMToolkit/tom_nonsidereal_airmass)
42+
This plugin enables users to compose and submit observation requests to
43+
telescopes at the [European Southern Observatory](https://www.eso.org/public/).
4044

41-
[Installation Instructions](https://github.com/TOMToolkit/tom_nonsidereal_airmass)
45+
### [tom_regions](https://github.com/TOMToolkit/tom_regions)
4246

43-
### tom-lt
47+
This plugin allows a TOM to store sky regions defined from Multi-Order
48+
Coverage maps.
4449

45-
This module provides the ability to submit observations to the Liverpool Telescope Phase 2 system. It is in a very
46-
alpha state, with little error handling and minimal instrument options, but can successfully submit well-formed
47-
observation requests.
50+
### [tom_registration](https://github.com/TOMToolkit/tom_registration)
4851

49-
[Github](https://github.com/TOMToolkit/tom_lt)
52+
This plugin introduces support for two TOM registration
53+
workflows--an open registration, and a registration that requires administrator approval.
5054

51-
[Installation Instructions](https://github.com/TOMToolkit/tom_lt/blob/main/README.md#installation-and-setup)
55+
### [tom_tns](https://github.com/TOMToolkit/tom_tns)
5256

53-
### tom-registration
57+
This plugin enables TOMs to report transient classifications to
58+
the [Transient Name Server](https://www.wis-tns.org/).
5459

55-
This module provides two registration flows for users to self-register--either requiring approval, or not.
60+
### [tom_alertstreams](https://github.com/TOMToolkit/tom_alertstreams)
5661

57-
[Github](https://github.com/TOMToolkit/tom_registration)
62+
Apache Kafka is widely used in astrophysics for the dissemination of
63+
alert packages. This plugin enables a TOM system to listen to user-configured
64+
alerts streams.
5865

59-
[Installation Instructions](https://github.com/TOMToolkit/tom_registration#installation)
66+
### [tom_demoapp](https://github.com/TOMToolkit/tom_demoapp)
6067

61-
### tom-hermes
68+
This TOM application is not designed to be installed by users, but instead act
69+
as a development and demonstration app for users wishing to integrate their
70+
own TOM applications with the base TOM toolkit. The code itself serves as example,
71+
while the [wiki](https://github.com/TOMToolkit/tom_demoapp/wiki) gives a menu of existing integration points.
6272

63-
This module provides an interface to query the [Hermes alert broker](https://hermes.lco.global).
73+
### [tom_nonlocalizedevents](https://github.com/TOMToolkit/tom_nonlocalizedevents)
6474

65-
[Github](https://github.com/TOMToolkit/tom_hermes)
75+
Various events in astrophysics are hard to localize, for example gravitational wave
76+
or neutrino detections. This app allows the TOM to recognize that a
77+
given event may be associated with a number of candidates, and provides
78+
custom views designed to support this workflow.
6679

67-
[Installation Instructions](https://github.com/TOMToolkit/tom_hermes#installation)
80+
### [tom_swift](https://github.com/TOMToolkit/tom_swift)
81+
82+
The [Neil Gehrels Swift Observatory](https://swift.gsfc.nasa.gov/) is a space telescope offering
83+
UV/Visible and X-ray instrumentation and rapid response capabilities. This plugin
84+
enables TOM users to submit requests for Target of Opportunity observations
85+
with this spacecraft.
86+
87+
### [tom_classifications](https://github.com/TOMToolkit/tom_classifications)
88+
89+
This app provides a number of data visualization tools for inspecting alert
90+
data from multiple brokers.
91+
92+
### [tom_keck](https://github.com/TOMToolkit/tom_keck)
93+
94+
Application to enable requests for Target of Opportunity observations
95+
to be submitted to the [Keck Observatories](https://keckobservatory.org/).
96+
Note: to be integrated with [AEONlib](https://github.com/AEONplus/AEONlib).
97+
98+
### [tom-lt](https://github.com/TOMToolkit/tom_lt)
99+
100+
This module provides the ability to submit observations to the
101+
[Liverpool Telescope](https://telescope.livjm.ac.uk/) Phase 2 system. It is in a very alpha
102+
state, with little error handling and minimal instrument options, but can successfully submit well-formed observation
103+
requests.
104+
105+
### [tom-toolkit_component_lib](https://github.com/TOMToolkit/tom-toolkit-component-lib)
106+
107+
Demonstration of how Javascript front-end components can be integrated with
108+
a TOM.
109+
110+
### [tom_dash](https://github.com/TOMToolkit/tom_dash)
111+
112+
This module demonstrates how [Plotly-Dash](https://dash.plotly.com/) components can be added to a
113+
TOM for data exploration and visualization.
114+
115+
### [tom_gemini_community](https://github.com/TOMToolkit/tom_gemini_community)
116+
117+
TOM module to enable observations to be submitted to the
118+
[Gemini Telescope's](http://www.gemini.edu/) Phase 2 system.
119+
120+
### [tom_nonsidereal_airmass](https://github.com/TOMToolkit/tom_nonsidereal_airmass)
121+
122+
This plugin provides a templatetag
123+
that supports plotting for non-sidereal objects. The plugin is fully supported by the TOM Toolkit team; however,
124+
non-sidereal visibility calculations require the PyEphem library, which is minimally supported while its successor
125+
is in development. The library used for the TOM Toolkit sidereal visibility, astroplan, does not yet support
126+
non-sidereal visibility calculations.
127+
128+
### [tom_publications](https://github.com/TOMToolkit/tom_publications)
129+
130+
This application prototyped tools to enable users to output latex-formatted
131+
data from their TOM system.
132+
133+
### [herokutom](https://github.com/TOMToolkit/herokutom)
134+
135+
This repository demonstrates how a TOM system can be deployed to a public
136+
server using the [Heroku platform](https://www.heroku.com/).
137+
138+
## Archived plugins
139+
140+
The following plugins are available but not currently supported. In some
141+
cases this is because the functionality has been integrated with the
142+
base Toolkit.
143+
144+
### [tom_alerts_dash](https://github.com/TOMToolkit/tom_alerts_dash)
145+
146+
This plugin adds responsive ReactJS views to the
147+
`tom_alerts` module for supported brokers. The `tom_alerts` module has been superseded
148+
by tom_dataservices in v3.0.0.
149+
150+
### [dockertom](https://github.com/TOMToolkit/dockertom)
151+
152+
This repository demonstrates how to package a TOM system in a docker container,
153+
which is often required for deployment.
154+
155+
### [tom_scimma](https://github.com/TOMToolkit/tom_scimma)
156+
157+
This app enables a TOM to subscribe to the Hopskotch alert stream developed
158+
by the Scalable Cyberinfrastructure to support Multi‑Messenger Astrophysics
159+
([SCiMMA](https://scimma.org/)) project.

tom_dataservices/dataservices.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,7 @@ def to_reduced_datums(self, target, data_results=None, **kwargs):
271271
of query_reduced_data() to create_reduced_datums_from_query()
272272
:param target: Target object to associate with the ReducedDatum
273273
:param data_results: Query results from the DataService storing observation data. This should be a dictionary
274-
with each key being a data_type (i.e. Photometry, Spectroscopy, etc.)
274+
with each key being a data_type (i.e. Photometry, Spectroscopy, etc.)
275275
"""
276276
if not data_results:
277277
raise MissingDataException('No Reduced Data dictionary found.')

0 commit comments

Comments
 (0)