tomtoolkit 2.31.6__tar.gz → 2.32.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (726) hide show
  1. tomtoolkit-2.32.0/.git/FETCH_HEAD +1 -0
  2. tomtoolkit-2.32.0/.git/HEAD +1 -0
  3. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/config +1 -1
  4. tomtoolkit-2.32.0/.git/index +0 -0
  5. tomtoolkit-2.32.0/.git/logs/HEAD +1 -0
  6. tomtoolkit-2.32.0/.git/objects/pack/pack-7050370d8d03d256564c706445d4422d0d704459.idx +0 -0
  7. tomtoolkit-2.31.6/.git/objects/pack/pack-f7e6e0971f6094bd2c913fff92670cf1e05c731d.pack → tomtoolkit-2.32.0/.git/objects/pack/pack-7050370d8d03d256564c706445d4422d0d704459.pack +0 -0
  8. tomtoolkit-2.32.0/.git/objects/pack/pack-7050370d8d03d256564c706445d4422d0d704459.rev +0 -0
  9. tomtoolkit-2.32.0/.git/refs/tags/2.32.0 +1 -0
  10. tomtoolkit-2.32.0/.git/shallow +1 -0
  11. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/PKG-INFO +3 -3
  12. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/data_processing.md +2 -2
  13. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/customizing_data_processing.rst +1 -1
  14. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/poetry.lock +82 -82
  15. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/pyproject.toml +3 -3
  16. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_base/__init__.py +1 -1
  17. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_base/settings.py +1 -0
  18. tomtoolkit-2.32.0/tom_calendar/admin.py +5 -0
  19. tomtoolkit-2.32.0/tom_calendar/apps.py +12 -0
  20. tomtoolkit-2.32.0/tom_calendar/migrations/0001_initial.py +27 -0
  21. tomtoolkit-2.32.0/tom_calendar/migrations/0002_calendarevent_target_list.py +20 -0
  22. tomtoolkit-2.32.0/tom_calendar/migrations/0003_calendarevent_proposal_calendarevent_telescope_and_more.py +28 -0
  23. tomtoolkit-2.32.0/tom_calendar/migrations/0004_eventtodo.py +25 -0
  24. tomtoolkit-2.32.0/tom_calendar/migrations/0005_calendarevent_instrument.py +18 -0
  25. tomtoolkit-2.32.0/tom_calendar/models.py +57 -0
  26. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/calendar_page.html +30 -0
  27. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/partials/calendar.html +205 -0
  28. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/partials/event_form.html +86 -0
  29. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/partials/navbar_item.html +3 -0
  30. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/partials/target_list_block.html +7 -0
  31. tomtoolkit-2.32.0/tom_calendar/templates/tom_calendar/partials/todos.html +33 -0
  32. tomtoolkit-2.32.0/tom_calendar/templatetags/calendar_tags.py +17 -0
  33. tomtoolkit-2.32.0/tom_calendar/tests.py +182 -0
  34. tomtoolkit-2.32.0/tom_calendar/urls.py +14 -0
  35. tomtoolkit-2.32.0/tom_calendar/utils.py +17 -0
  36. tomtoolkit-2.32.0/tom_calendar/views.py +239 -0
  37. tomtoolkit-2.32.0/tom_common/default_settings.py +56 -0
  38. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/bootstrap_htmx.html +4 -4
  39. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/urls.py +1 -0
  40. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0010_manual_20210305_fix_spectroscopy.py +5 -5
  41. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/processors/data_serializers.py +12 -12
  42. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/processors/spectroscopy_processor.py +11 -11
  43. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/tests.py +5 -5
  44. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/gemini.py +1 -1
  45. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/management/commands/tom_setup.py +2 -0
  46. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/templates/tom_setup/settings.tmpl +9 -44
  47. tomtoolkit-2.32.0/tom_targets/signals/__init__.py +0 -0
  48. tomtoolkit-2.32.0/tom_targets/templatetags/__init__.py +0 -0
  49. tomtoolkit-2.32.0/tom_targets/tests/__init__.py +0 -0
  50. tomtoolkit-2.31.6/.git/FETCH_HEAD +0 -1
  51. tomtoolkit-2.31.6/.git/HEAD +0 -1
  52. tomtoolkit-2.31.6/.git/index +0 -0
  53. tomtoolkit-2.31.6/.git/logs/HEAD +0 -1
  54. tomtoolkit-2.31.6/.git/objects/pack/pack-f7e6e0971f6094bd2c913fff92670cf1e05c731d.idx +0 -0
  55. tomtoolkit-2.31.6/.git/objects/pack/pack-f7e6e0971f6094bd2c913fff92670cf1e05c731d.rev +0 -0
  56. tomtoolkit-2.31.6/.git/refs/tags/2.31.6 +0 -1
  57. tomtoolkit-2.31.6/.git/shallow +0 -1
  58. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.coveragerc +0 -0
  59. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.flake8 +0 -0
  60. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/description +0 -0
  61. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/applypatch-msg.sample +0 -0
  62. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/commit-msg.sample +0 -0
  63. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/fsmonitor-watchman.sample +0 -0
  64. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/post-update.sample +0 -0
  65. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-applypatch.sample +0 -0
  66. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-commit.sample +0 -0
  67. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-merge-commit.sample +0 -0
  68. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-push.sample +0 -0
  69. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-rebase.sample +0 -0
  70. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/pre-receive.sample +0 -0
  71. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/prepare-commit-msg.sample +0 -0
  72. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/push-to-checkout.sample +0 -0
  73. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/sendemail-validate.sample +0 -0
  74. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/hooks/update.sample +0 -0
  75. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.git/info/exclude +0 -0
  76. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  77. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  78. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/ISSUE_TEMPLATE/sprint-story.md +0 -0
  79. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/dependabot.yml +0 -0
  80. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/workflows/github-release.yml +0 -0
  81. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/workflows/pypi-release.yml +0 -0
  82. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/workflows/run-canary-tests.yml +0 -0
  83. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.github/workflows/run-tests.yml +0 -0
  84. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.gitignore +0 -0
  85. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/.readthedocs.yml +0 -0
  86. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/CITATION.cff +0 -0
  87. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/CODE_OF_CONDUCT.md +0 -0
  88. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/CONTRIBUTING.md +0 -0
  89. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/LICENSE +0 -0
  90. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/MANIFEST.in +0 -0
  91. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/README-dev.md +0 -0
  92. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/README.md +0 -0
  93. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/Makefile +0 -0
  94. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/adding_pages_doc/base.png +0 -0
  95. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/adding_pages_doc/quote.png +0 -0
  96. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/adding_pages_doc/targets.png +0 -0
  97. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/architecture/erd.csv +0 -0
  98. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/architecture/erd.png +0 -0
  99. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/architecture/snex2layout.png +0 -0
  100. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/architecture/standardlayout.png +0 -0
  101. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/common_interface.png +0 -0
  102. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/compare-across-forks.png +0 -0
  103. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/create_broker_doc/example_query.png +0 -0
  104. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/create_broker_doc/populated_query_list.png +0 -0
  105. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/create_broker_doc/query_result.png +0 -0
  106. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/create_broker_doc/success_broker_list.png +0 -0
  107. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/custom.css +0 -0
  108. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_observations/newform.png +0 -0
  109. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_observations/observebutton.png +0 -0
  110. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_template_tags_doc/Templatetags.png +0 -0
  111. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_templates_doc/darkmode.png +0 -0
  112. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_templates_doc/sciencecat.jpg +0 -0
  113. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_templates_doc/toast_example.png +0 -0
  114. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_templates_doc/tomhomepagemod.png +0 -0
  115. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_templates_doc/tomhomepagenew.png +0 -0
  116. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_views_doc/after.png +0 -0
  117. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/customize_views_doc/before.png +0 -0
  118. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/dataservices_doc/demo_Data_Service.png +0 -0
  119. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/fork.png +0 -0
  120. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/heroku_deploy_doc/branchdeployed.png +0 -0
  121. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/heroku_deploy_doc/githubconnected.png +0 -0
  122. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/heroku_deploy_doc/githubintegration.png +0 -0
  123. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/heroku_deploy_doc/herokudeploybranch.png +0 -0
  124. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/hs.jpg +0 -0
  125. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/htmx_tables_doc/sortable_table_with_general_search.png +0 -0
  126. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/jupyterdoc/newnotebook.png +0 -0
  127. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/lco.jpg +0 -0
  128. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/logo-color.png +0 -0
  129. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/logo.png +0 -0
  130. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/observation_module/empty_form.png +0 -0
  131. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/observation_module/fields.png +0 -0
  132. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/observation_module/myfacility.png +0 -0
  133. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/permissions_doc/addgroup.png +0 -0
  134. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/permissions_doc/targetgroups.png +0 -0
  135. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/plotting_data_doc/plot.png +0 -0
  136. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/pull-request.png +0 -0
  137. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/target_fields_doc/redshift.png +0 -0
  138. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/target_fields_doc/redshift_display.png +0 -0
  139. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/target_fields_doc/redshift_filter.png +0 -0
  140. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/target_fields_doc/redshift_tag.png +0 -0
  141. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/target_sources.png +0 -0
  142. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/_static/zff.png +0 -0
  143. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/affiliated.rst +0 -0
  144. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/management_commands.rst +0 -0
  145. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/modules.rst +0 -0
  146. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/plugins.md +0 -0
  147. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_alerts/brokers.rst +0 -0
  148. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_alerts/exceptions.rst +0 -0
  149. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_alerts/index.rst +0 -0
  150. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_alerts/models.rst +0 -0
  151. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_alerts/views.rst +0 -0
  152. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_catalogs/forms.rst +0 -0
  153. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_catalogs/harvesters.rst +0 -0
  154. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_catalogs/index.rst +0 -0
  155. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_catalogs/views.rst +0 -0
  156. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_common/exceptions.rst +0 -0
  157. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_common/hooks.rst +0 -0
  158. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_common/index.rst +0 -0
  159. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_common/template_tags.rst +0 -0
  160. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_common/views.rst +0 -0
  161. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/api_views.rst +0 -0
  162. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/index.rst +0 -0
  163. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/models.rst +0 -0
  164. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/templatetags.rst +0 -0
  165. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/utils.rst +0 -0
  166. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataproducts/views.rst +0 -0
  167. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataservices/data_services.rst +0 -0
  168. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataservices/exceptions.rst +0 -0
  169. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataservices/index.rst +0 -0
  170. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataservices/models.rst +0 -0
  171. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_dataservices/views.rst +0 -0
  172. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/facilities.rst +0 -0
  173. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/index.rst +0 -0
  174. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/models.rst +0 -0
  175. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/templatetags.rst +0 -0
  176. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/utils.rst +0 -0
  177. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_observations/views.rst +0 -0
  178. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/api_views.rst +0 -0
  179. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/groups.rst +0 -0
  180. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/index.rst +0 -0
  181. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/models.rst +0 -0
  182. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/templatetags.rst +0 -0
  183. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/utils.rst +0 -0
  184. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/api/tom_targets/views.rst +0 -0
  185. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/brokers/create_broker.rst +0 -0
  186. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/brokers/create_dash_broker.rst +0 -0
  187. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/brokers/create_dataservice.rst +0 -0
  188. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/brokers/index.rst +0 -0
  189. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/code/automation.rst +0 -0
  190. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/code/backgroundtasks.rst +0 -0
  191. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/code/custom_code.rst +0 -0
  192. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/code/index.rst +0 -0
  193. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/code/querying.rst +0 -0
  194. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/common/customsettings.rst +0 -0
  195. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/common/latex_generation.rst +0 -0
  196. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/common/permissions.rst +0 -0
  197. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/common/refactoring_roadmap.rst +0 -0
  198. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/common/scripts.rst +0 -0
  199. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/conf.py +0 -0
  200. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/adding_pages.rst +0 -0
  201. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/customize_template_tags.rst +0 -0
  202. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/customize_templates.rst +0 -0
  203. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/encrypted_model_fields.rst +0 -0
  204. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/htmx_tables.rst +0 -0
  205. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/index.rst +0 -0
  206. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/testing_toms.rst +0 -0
  207. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/customization/widgets.rst +0 -0
  208. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/deployment/amazons3.rst +0 -0
  209. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/deployment/deployment_heroku.rst +0 -0
  210. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/deployment/deployment_tips.rst +0 -0
  211. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/deployment/index.rst +0 -0
  212. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/examples.rst +0 -0
  213. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/index.rst +0 -0
  214. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/about.rst +0 -0
  215. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/acknowledging_tom_toolkit.rst +0 -0
  216. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/contributing.rst +0 -0
  217. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/credits.rst +0 -0
  218. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/faqs.rst +0 -0
  219. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/getting_started.rst +0 -0
  220. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/index.rst +0 -0
  221. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/manual_installation.rst +0 -0
  222. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/resources.rst +0 -0
  223. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/support.rst +0 -0
  224. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/tomarchitecture.rst +0 -0
  225. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/troubleshooting.rst +0 -0
  226. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/introduction/workflow.rst +0 -0
  227. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/make.bat +0 -0
  228. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/continuous_sharing.rst +0 -0
  229. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/index.rst +0 -0
  230. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/plotting_data.rst +0 -0
  231. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/single_target_data_service.rst +0 -0
  232. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/stream_pub_sub.rst +0 -0
  233. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/managing_data/tom_direct_sharing.rst +0 -0
  234. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/add_facility_form_admin.png +0 -0
  235. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/customize_ocs_facility.rst +0 -0
  236. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/index.rst +0 -0
  237. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/observation_module.rst +0 -0
  238. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/selecting_targets_for_facility.rst +0 -0
  239. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/strategies.rst +0 -0
  240. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/target_selection_menu_option.png +0 -0
  241. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/observing/target_selection_table_default.png +0 -0
  242. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/targets/index.rst +0 -0
  243. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/targets/target_fields.rst +0 -0
  244. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/targets/target_matcher.rst +0 -0
  245. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/docs/targets/target_table.rst +0 -0
  246. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/manage.py +0 -0
  247. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/test_settings.py +0 -0
  248. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/__init__.py +0 -0
  249. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/admin.py +0 -0
  250. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/alerts.py +0 -0
  251. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/apps.py +0 -0
  252. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/__init__.py +0 -0
  253. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/alerce.py +0 -0
  254. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/antares.py +0 -0
  255. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/fink.py +0 -0
  256. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/gaia.py +0 -0
  257. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/hermes.py +0 -0
  258. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/lasair.py +0 -0
  259. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/scout.py +0 -0
  260. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/brokers/tns.py +0 -0
  261. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/exceptions.py +0 -0
  262. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/management/__init__.py +0 -0
  263. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/management/commands/__init__.py +0 -0
  264. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/management/commands/runbrokerquery.py +0 -0
  265. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0001_initial.py +0 -0
  266. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0002_auto_20190626_2135.py +0 -0
  267. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0003_auto_20190701_2226.py +0 -0
  268. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0004_auto_20210204_2300.py +0 -0
  269. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0005_alertstreammessage.py +0 -0
  270. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0006_alter_alertstreammessage_exchange_status.py +0 -0
  271. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/0007_alter_alertstreammessage_message_id.py +0 -0
  272. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/migrations/__init__.py +0 -0
  273. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/models.py +0 -0
  274. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/brokerquery_confirm_delete.html +0 -0
  275. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/brokerquery_list.html +0 -0
  276. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/partials/navbar_link.html +0 -0
  277. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/partials/submit_upstream_form.html +0 -0
  278. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/query_form.html +0 -0
  279. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templates/tom_alerts/query_result.html +0 -0
  280. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/templatetags/alerts_extras.py +0 -0
  281. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/__init__.py +0 -0
  282. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/brokers/__init__.py +0 -0
  283. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/brokers/test_alerce.py +0 -0
  284. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/brokers/test_gaia.py +0 -0
  285. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/brokers/test_lasair.py +0 -0
  286. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/tests/tests.py +0 -0
  287. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/urls.py +0 -0
  288. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_alerts/views.py +0 -0
  289. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_base/wsgi.py +0 -0
  290. {tomtoolkit-2.31.6/tom_catalogs → tomtoolkit-2.32.0/tom_calendar}/__init__.py +0 -0
  291. {tomtoolkit-2.31.6/tom_catalogs/harvesters → tomtoolkit-2.32.0/tom_calendar/migrations}/__init__.py +0 -0
  292. {tomtoolkit-2.31.6/tom_catalogs → tomtoolkit-2.32.0/tom_calendar}/templatetags/__init__.py +0 -0
  293. {tomtoolkit-2.31.6/tom_catalogs/tests → tomtoolkit-2.32.0/tom_catalogs}/__init__.py +0 -0
  294. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/admin.py +0 -0
  295. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/apps.py +0 -0
  296. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/forms.py +0 -0
  297. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvester.py +0 -0
  298. {tomtoolkit-2.31.6/tom_catalogs/tests → tomtoolkit-2.32.0/tom_catalogs}/harvesters/__init__.py +0 -0
  299. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvesters/jplhorizons.py +0 -0
  300. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvesters/mpc.py +0 -0
  301. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvesters/ned.py +0 -0
  302. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvesters/simbad.py +0 -0
  303. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/harvesters/tns.py +0 -0
  304. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/templates/tom_catalogs/partials/catalog_query_menu.html +0 -0
  305. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/templates/tom_catalogs/query_form.html +0 -0
  306. {tomtoolkit-2.31.6/tom_catalogs/tests/harvesters/data → tomtoolkit-2.32.0/tom_catalogs/templatetags}/__init__.py +0 -0
  307. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/templatetags/dataservices_extras.py +0 -0
  308. {tomtoolkit-2.31.6/tom_common → tomtoolkit-2.32.0/tom_catalogs/tests}/__init__.py +0 -0
  309. {tomtoolkit-2.31.6/tom_common/migrations → tomtoolkit-2.32.0/tom_catalogs/tests/harvesters}/__init__.py +0 -0
  310. {tomtoolkit-2.31.6/tom_common/templatetags → tomtoolkit-2.32.0/tom_catalogs/tests/harvesters/data}/__init__.py +0 -0
  311. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/tests/harvesters/data/test_65803_mpc_orb.json +0 -0
  312. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/tests/harvesters/test_jplhorizons.py +0 -0
  313. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/tests/harvesters/test_mpc.py +0 -0
  314. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/tests/harvesters/test_simbad.py +0 -0
  315. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/tests/tests.py +0 -0
  316. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/urls.py +0 -0
  317. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_catalogs/views.py +0 -0
  318. {tomtoolkit-2.31.6/tom_dataproducts → tomtoolkit-2.32.0/tom_common}/__init__.py +0 -0
  319. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/admin.py +0 -0
  320. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/api_router.py +0 -0
  321. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/api_views.py +0 -0
  322. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/apps.py +0 -0
  323. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/exceptions.py +0 -0
  324. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/forms.py +0 -0
  325. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/hints.py +0 -0
  326. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/hooks.py +0 -0
  327. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/htmx_table.py +0 -0
  328. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/middleware.py +0 -0
  329. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/migrations/0001_initial.py +0 -0
  330. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/migrations/0002_usersession.py +0 -0
  331. {tomtoolkit-2.31.6/tom_dataproducts/alertstreams → tomtoolkit-2.32.0/tom_common/migrations}/__init__.py +0 -0
  332. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/mixins.py +0 -0
  333. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/models.py +0 -0
  334. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/serializers.py +0 -0
  335. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/session_utils.py +0 -0
  336. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/signals.py +0 -0
  337. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/HELP-US-OUT.txt +0 -0
  338. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/css/font-awesome.css +0 -0
  339. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/css/font-awesome.min.css +0 -0
  340. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/FontAwesome.otf +0 -0
  341. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/fontawesome-webfont.eot +0 -0
  342. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +0 -0
  343. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf +0 -0
  344. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/fontawesome-webfont.woff +0 -0
  345. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
  346. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/animated.less +0 -0
  347. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/bordered-pulled.less +0 -0
  348. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/core.less +0 -0
  349. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/fixed-width.less +0 -0
  350. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/font-awesome.less +0 -0
  351. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/icons.less +0 -0
  352. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/larger.less +0 -0
  353. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/list.less +0 -0
  354. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/mixins.less +0 -0
  355. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/path.less +0 -0
  356. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/rotated-flipped.less +0 -0
  357. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/screen-reader.less +0 -0
  358. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/stacked.less +0 -0
  359. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/less/variables.less +0 -0
  360. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_animated.scss +0 -0
  361. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_bordered-pulled.scss +0 -0
  362. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_core.scss +0 -0
  363. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_fixed-width.scss +0 -0
  364. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_icons.scss +0 -0
  365. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_larger.scss +0 -0
  366. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_list.scss +0 -0
  367. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_mixins.scss +0 -0
  368. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_path.scss +0 -0
  369. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_rotated-flipped.scss +0 -0
  370. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_screen-reader.scss +0 -0
  371. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_stacked.scss +0 -0
  372. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/_variables.scss +0 -0
  373. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/font-awesome-4.7.0/scss/font-awesome.scss +0 -0
  374. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/css/dark.css +0 -0
  375. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/css/main.css +0 -0
  376. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/bluespinner.gif +0 -0
  377. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/favicon-16.ico +0 -0
  378. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/favicon-16x16.png +0 -0
  379. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/favicon-32.ico +0 -0
  380. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/favicon-32x32.png +0 -0
  381. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/favicon.ico +0 -0
  382. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/icon.png +0 -0
  383. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/logo-color-cropped.png +0 -0
  384. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/logo-color.png +0 -0
  385. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/img/logo-text.png +0 -0
  386. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/static/tom_common/js/htmx.min.js +0 -0
  387. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/404.html +0 -0
  388. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/group_confirm_delete.html +0 -0
  389. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/group_form.html +0 -0
  390. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/partials/app_user_lists.html +0 -0
  391. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/partials/group_list.html +0 -0
  392. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/partials/user_list.html +0 -0
  393. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/user_confirm_change_password.html +0 -0
  394. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/user_confirm_delete.html +0 -0
  395. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/auth/user_list.html +0 -0
  396. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/bootstrap4_overrides/pagination.html +0 -0
  397. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/comments/form.html +0 -0
  398. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/comments/list.html +0 -0
  399. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/django_comments/comment_confirm_delete.html +0 -0
  400. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/django_filters/widgets/multiwidget.html +0 -0
  401. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/registration/login.html +0 -0
  402. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/base.html +0 -0
  403. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/change_user_password.html +0 -0
  404. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/create_user.html +0 -0
  405. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/index.html +0 -0
  406. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/navbar_content.html +0 -0
  407. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/api_token.html +0 -0
  408. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/app_profiles.html +0 -0
  409. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/confirm_user_delete.html +0 -0
  410. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/copy_button.html +0 -0
  411. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/htmx_table_partial.html +0 -0
  412. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/include_app_partial.html +0 -0
  413. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/messages.html +0 -0
  414. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/navbar_app_addons.html +0 -0
  415. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/navbar_login.html +0 -0
  416. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/partials/user_data.html +0 -0
  417. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templates/tom_common/user_profile.html +0 -0
  418. {tomtoolkit-2.31.6/tom_dataproducts/management → tomtoolkit-2.32.0/tom_common/templatetags}/__init__.py +0 -0
  419. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templatetags/bootstrap4_overrides.py +0 -0
  420. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templatetags/tom_common_extras.py +0 -0
  421. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/templatetags/user_extras.py +0 -0
  422. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/tests.py +0 -0
  423. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_common/views.py +0 -0
  424. {tomtoolkit-2.31.6/tom_dataproducts/management/commands → tomtoolkit-2.32.0/tom_dataproducts}/__init__.py +0 -0
  425. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/admin.py +0 -0
  426. {tomtoolkit-2.31.6/tom_dataproducts/migrations → tomtoolkit-2.32.0/tom_dataproducts/alertstreams}/__init__.py +0 -0
  427. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/alertstreams/hermes.py +0 -0
  428. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/api_views.py +0 -0
  429. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/apps.py +0 -0
  430. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/data_processor.py +0 -0
  431. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/exceptions.py +0 -0
  432. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/filters.py +0 -0
  433. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/forms.py +0 -0
  434. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/hooks.py +0 -0
  435. {tomtoolkit-2.31.6/tom_dataproducts/processors → tomtoolkit-2.32.0/tom_dataproducts/management}/__init__.py +0 -0
  436. {tomtoolkit-2.31.6/tom_dataproducts/single_target_data_service → tomtoolkit-2.32.0/tom_dataproducts/management/commands}/__init__.py +0 -0
  437. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/management/commands/downloaddata.py +0 -0
  438. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/management/commands/updatereduceddata.py +0 -0
  439. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0001_initial.py +0 -0
  440. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0004_auto_20190626_0904.py +0 -0
  441. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0005_auto_20190704_1010.py +0 -0
  442. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0006_auto_20190912_2013.py +0 -0
  443. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0007_manual_20191016_rename_type.py +0 -0
  444. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0008_auto_20191205_1952.py +0 -0
  445. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0009_auto_20210204_2221.py +0 -0
  446. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0011_reduceddatum_message.py +0 -0
  447. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0012_alter_reduceddatum_data_product_and_more.py +0 -0
  448. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0013_alter_reduceddatum_message.py +0 -0
  449. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/migrations/0014_alter_reduceddatum_timestamp.py +0 -0
  450. {tomtoolkit-2.31.6/tom_dataproducts/single_target_data_service/panstarrs_service → tomtoolkit-2.32.0/tom_dataproducts/migrations}/__init__.py +0 -0
  451. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/models.py +0 -0
  452. {tomtoolkit-2.31.6/tom_dataproducts/templatetags → tomtoolkit-2.32.0/tom_dataproducts/processors}/__init__.py +0 -0
  453. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/processors/atlas_processor.py +0 -0
  454. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/processors/panstarrs_processor.py +0 -0
  455. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/processors/photometry_processor.py +0 -0
  456. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/serializers.py +0 -0
  457. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/sharing.py +0 -0
  458. {tomtoolkit-2.31.6/tom_dataproducts/tests → tomtoolkit-2.32.0/tom_dataproducts/single_target_data_service}/__init__.py +0 -0
  459. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/single_target_data_service/atlas.py +0 -0
  460. {tomtoolkit-2.31.6/tom_dataservices → tomtoolkit-2.32.0/tom_dataproducts/single_target_data_service/panstarrs_service}/__init__.py +0 -0
  461. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/single_target_data_service/panstarrs_service/panstarrs.py +0 -0
  462. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/single_target_data_service/panstarrs_service/panstarrs_api.py +0 -0
  463. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/single_target_data_service/panstarrs_service/tests.py +0 -0
  464. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/single_target_data_service/single_target_data_service.py +0 -0
  465. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/static/tom_dataproducts/img/placeholder.png +0 -0
  466. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/static/tom_dataproducts/photometry_sample.csv +0 -0
  467. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/static/tom_dataproducts/spectrum_sample.csv +0 -0
  468. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tasks.py +0 -0
  469. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/add_product_to_group.html +0 -0
  470. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproduct_confirm_delete.html +0 -0
  471. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproduct_list.html +0 -0
  472. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproductgroup_confirm_delete.html +0 -0
  473. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproductgroup_detail.html +0 -0
  474. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproductgroup_form.html +0 -0
  475. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/dataproductgroup_list.html +0 -0
  476. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/dataproduct_list_for_target.html +0 -0
  477. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/js9_button.html +0 -0
  478. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/js9_scripts.html +0 -0
  479. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/photometry_datalist_for_target.html +0 -0
  480. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/photometry_for_target.html +0 -0
  481. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/query_single_target_data_service.html +0 -0
  482. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/recent_photometry.html +0 -0
  483. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/reduceddatum_sparkline.html +0 -0
  484. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/saved_dataproduct_list_for_observation.html +0 -0
  485. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/spectroscopy_for_target.html +0 -0
  486. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/unsaved_dataproduct_list_for_observation.html +0 -0
  487. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/update_broker_data_button.html +0 -0
  488. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/partials/upload_dataproduct.html +0 -0
  489. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/single_target_data_service_form.html +0 -0
  490. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templates/tom_dataproducts/upload_reduced_data.html +0 -0
  491. {tomtoolkit-2.31.6/tom_dataservices/migrations → tomtoolkit-2.32.0/tom_dataproducts/templatetags}/__init__.py +0 -0
  492. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/templatetags/dataproduct_extras.py +0 -0
  493. {tomtoolkit-2.31.6/tom_dataservices → tomtoolkit-2.32.0/tom_dataproducts}/tests/__init__.py +0 -0
  494. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_api.py +0 -0
  495. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_atlas.py +0 -0
  496. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_data/test_atlas_fp.csv +0 -0
  497. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_data/test_lightcurve.csv +0 -0
  498. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_data/test_spectrum.csv +0 -0
  499. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_data/test_spectrum.fits +0 -0
  500. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/tests/test_sharing.py +0 -0
  501. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/urls.py +0 -0
  502. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/utils.py +0 -0
  503. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataproducts/views.py +0 -0
  504. {tomtoolkit-2.31.6/tom_observations → tomtoolkit-2.32.0/tom_dataservices}/__init__.py +0 -0
  505. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/admin.py +0 -0
  506. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/apps.py +0 -0
  507. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/data_services/lsst.py +0 -0
  508. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/data_services/simbad.py +0 -0
  509. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/data_services/tns.py +0 -0
  510. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/dataservices.py +0 -0
  511. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/forms.py +0 -0
  512. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/migrations/0001_initial.py +0 -0
  513. {tomtoolkit-2.31.6/tom_observations/cadences → tomtoolkit-2.32.0/tom_dataservices/migrations}/__init__.py +0 -0
  514. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/models.py +0 -0
  515. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/dataservicequery_confirm_delete.html +0 -0
  516. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/partials/catalog_query_menu.html +0 -0
  517. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/partials/navbar_list.html +0 -0
  518. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/partials/query_results_table.html +0 -0
  519. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/query_form.html +0 -0
  520. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/query_list.html +0 -0
  521. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/query_result.html +0 -0
  522. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/tns/partials/tns_query_results_table.html +0 -0
  523. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templates/tom_dataservices/tns/partials/tns_simple_form.html +0 -0
  524. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/templatetags/dataservices_extras.py +0 -0
  525. {tomtoolkit-2.31.6/tom_observations/facilities → tomtoolkit-2.32.0/tom_dataservices/tests}/__init__.py +0 -0
  526. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/tests/test_api.py +0 -0
  527. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/tests/tests.py +0 -0
  528. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/urls.py +0 -0
  529. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_dataservices/views.py +0 -0
  530. {tomtoolkit-2.31.6/tom_observations/management → tomtoolkit-2.32.0/tom_observations}/__init__.py +0 -0
  531. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/admin.py +0 -0
  532. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/api_views.py +0 -0
  533. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/apps.py +0 -0
  534. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/cadence.py +0 -0
  535. {tomtoolkit-2.31.6/tom_observations/management/commands → tomtoolkit-2.32.0/tom_observations/cadences}/__init__.py +0 -0
  536. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/cadences/resume_cadence_after_failure.py +0 -0
  537. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/cadences/retry_failed_observations.py +0 -0
  538. {tomtoolkit-2.31.6/tom_observations/migrations → tomtoolkit-2.32.0/tom_observations/facilities}/__init__.py +0 -0
  539. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/blanco.py +0 -0
  540. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/lco.py +0 -0
  541. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/lco_redirect.py +0 -0
  542. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/lt.py +0 -0
  543. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/manual.py +0 -0
  544. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/ocs.py +0 -0
  545. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facilities/soar.py +0 -0
  546. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/facility.py +0 -0
  547. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/forms.py +0 -0
  548. {tomtoolkit-2.31.6/tom_observations/templatetags → tomtoolkit-2.32.0/tom_observations/management}/__init__.py +0 -0
  549. {tomtoolkit-2.31.6/tom_observations/tests → tomtoolkit-2.32.0/tom_observations/management/commands}/__init__.py +0 -0
  550. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/management/commands/runcadencestrategies.py +0 -0
  551. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/management/commands/updatestatus.py +0 -0
  552. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0001_initial.py +0 -0
  553. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0002_auto_20190306_2343.py +0 -0
  554. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0003_auto_20190503_2318.py +0 -0
  555. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0004_observationgroup.py +0 -0
  556. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0005_auto_20191210_0007.py +0 -0
  557. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0006_observationgroup_cadence_strategy.py +0 -0
  558. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0007_observationstrategy.py +0 -0
  559. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0008_observationgroup_cadence_parameters.py +0 -0
  560. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0009_observationrecord_user.py +0 -0
  561. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0010_manual_create_dynamic_cadence.py +0 -0
  562. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0011_auto_20200917_0306.py +0 -0
  563. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0012_auto_20210205_1819.py +0 -0
  564. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0013_facility.py +0 -0
  565. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0014_alter_facility_orbit.py +0 -0
  566. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0015_remove_facility_mpc_site_code_and_more.py +0 -0
  567. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/migrations/0016_alter_facility_options.py +0 -0
  568. {tomtoolkit-2.31.6/tom_observations/tests/facilities → tomtoolkit-2.32.0/tom_observations/migrations}/__init__.py +0 -0
  569. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/models.py +0 -0
  570. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/observation_template.py +0 -0
  571. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/serializers.py +0 -0
  572. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/static/tom_observations/css/main.css +0 -0
  573. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/existing_observation_confirm.html +0 -0
  574. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/facility_status.html +0 -0
  575. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observation_form.html +0 -0
  576. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observation_list.html +0 -0
  577. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationgroup_confirm_delete.html +0 -0
  578. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationgroup_form.html +0 -0
  579. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationgroup_list.html +0 -0
  580. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationrecord_detail.html +0 -0
  581. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationtemplate_confirm_delete.html +0 -0
  582. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationtemplate_form.html +0 -0
  583. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationtemplate_list.html +0 -0
  584. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/observationupdate_form.html +0 -0
  585. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/existing_observation_form.html +0 -0
  586. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/facility_map.html +0 -0
  587. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/facility_observation_form.html +0 -0
  588. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/facility_status_table.html +0 -0
  589. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observation_distribution.html +0 -0
  590. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observation_list.html +0 -0
  591. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observation_plan.html +0 -0
  592. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observation_type_tabs.html +0 -0
  593. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observationtemplate_from_record.html +0 -0
  594. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observationtemplate_run.html +0 -0
  595. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/observing_buttons.html +0 -0
  596. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/update_observation_id_form.html +0 -0
  597. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templates/tom_observations/partials/update_status_button.html +0 -0
  598. {tomtoolkit-2.31.6/tom_setup → tomtoolkit-2.32.0/tom_observations/templatetags}/__init__.py +0 -0
  599. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/templatetags/observation_extras.py +0 -0
  600. {tomtoolkit-2.31.6/tom_setup/management → tomtoolkit-2.32.0/tom_observations/tests}/__init__.py +0 -0
  601. {tomtoolkit-2.31.6/tom_setup/management/commands → tomtoolkit-2.32.0/tom_observations/tests/facilities}/__init__.py +0 -0
  602. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/facilities/test_gemini.py +0 -0
  603. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/facilities/test_lco.py +0 -0
  604. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/facilities/test_ocs.py +0 -0
  605. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/facilities/test_soar.py +0 -0
  606. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/factories.py +0 -0
  607. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/test_api.py +0 -0
  608. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/test_cadence.py +0 -0
  609. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/test_credentials.py +0 -0
  610. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/tests.py +0 -0
  611. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/tests/utils.py +0 -0
  612. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/urls.py +0 -0
  613. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/utils.py +0 -0
  614. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/views.py +0 -0
  615. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_observations/widgets.py +0 -0
  616. {tomtoolkit-2.31.6/tom_targets/management → tomtoolkit-2.32.0/tom_setup}/__init__.py +0 -0
  617. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/apps.py +0 -0
  618. {tomtoolkit-2.31.6/tom_targets/management/commands → tomtoolkit-2.32.0/tom_setup/management}/__init__.py +0 -0
  619. {tomtoolkit-2.31.6/tom_targets/migrations → tomtoolkit-2.32.0/tom_setup/management/commands}/__init__.py +0 -0
  620. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/templates/tom_setup/css.tmpl +0 -0
  621. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/templates/tom_setup/models.tmpl +0 -0
  622. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_setup/templates/tom_setup/urls.tmpl +0 -0
  623. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/__init__.py +0 -0
  624. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/admin.py +0 -0
  625. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/api_views.py +0 -0
  626. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/apps.py +0 -0
  627. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/base_models.py +0 -0
  628. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/fields.py +0 -0
  629. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/filters.py +0 -0
  630. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/forms.py +0 -0
  631. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/groups.py +0 -0
  632. {tomtoolkit-2.31.6/tom_targets/signals → tomtoolkit-2.32.0/tom_targets/management}/__init__.py +0 -0
  633. {tomtoolkit-2.31.6/tom_targets/templatetags → tomtoolkit-2.32.0/tom_targets/management/commands}/__init__.py +0 -0
  634. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/management/commands/converttargetextras.py +0 -0
  635. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/management/commands/setdefaultextras.py +0 -0
  636. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/merge.py +0 -0
  637. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0001_initial.py +0 -0
  638. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0002_auto_20190115_2102.py +0 -0
  639. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0002_auto_20190117_2248.py +0 -0
  640. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0003_merge_20190123_1754.py +0 -0
  641. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0004_auto_20190123_2010.py +0 -0
  642. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0005_auto_20190214_1722.py +0 -0
  643. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0006_auto_20190403_1659.py +0 -0
  644. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0007_auto_20190423_1455.py +0 -0
  645. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0007_auto_20190503_2318.py +0 -0
  646. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0007_auto_20190515_0047.py +0 -0
  647. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0008_merge_20190515_0914.py +0 -0
  648. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0008_merge_20190520_1645.py +0 -0
  649. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0009_auto_20190605_1656.py +0 -0
  650. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0010_auto_20190715_1657.py +0 -0
  651. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0010_merge_20190612_1227.py +0 -0
  652. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0011_merge_20190731_1821.py +0 -0
  653. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0012_target_perihdist.py +0 -0
  654. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0013_manual_20190916_multiple_names.py +0 -0
  655. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0014_auto_20190923_1827.py +0 -0
  656. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0015_auto_20190923_2233.py +0 -0
  657. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0016_auto_20191211_1707.py +0 -0
  658. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0017_auto_20200130_2350.py +0 -0
  659. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0018_auto_20200714_1832.py +0 -0
  660. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0019_auto_20210811_0018.py +0 -0
  661. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0020_alter_targetname_created_alter_targetname_modified.py +0 -0
  662. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0021_rename_target_basetarget_alter_basetarget_options.py +0 -0
  663. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0022_persistentshare.py +0 -0
  664. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0023_alter_basetarget_created.py +0 -0
  665. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0024_basetarget_permissions.py +0 -0
  666. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0025_auto_20250206_2017.py +0 -0
  667. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0026_alter_basetarget_permissions.py +0 -0
  668. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0027_alter_basetarget_epoch_of_elements_and_more.py +0 -0
  669. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0028_basetarget_abs_mag_basetarget_slope_and_more.py +0 -0
  670. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0029_alter_basetarget_permissions.py +0 -0
  671. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/migrations/0030_alter_basetarget_slope.py +0 -0
  672. {tomtoolkit-2.31.6/tom_targets/tests → tomtoolkit-2.32.0/tom_targets/migrations}/__init__.py +0 -0
  673. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/models.py +0 -0
  674. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/permissions.py +0 -0
  675. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/persistent_sharing_serializers.py +0 -0
  676. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/seed.py +0 -0
  677. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/serializers.py +0 -0
  678. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/sharing.py +0 -0
  679. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/signals/handlers.py +0 -0
  680. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/static/tom_targets/css/main.css +0 -0
  681. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/static/tom_targets/target_import.csv +0 -0
  682. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/tables.py +0 -0
  683. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/aladin_finderchart.html +0 -0
  684. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/aladin_skymap.html +0 -0
  685. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/aladin_skymap_targets_oob.html +0 -0
  686. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/app_tab_divs.html +0 -0
  687. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/app_tabs.html +0 -0
  688. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/create_persistent_share.html +0 -0
  689. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/module_buttons.html +0 -0
  690. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/moon_distance.html +0 -0
  691. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/observation_table.html +0 -0
  692. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/persistent_share_table.html +0 -0
  693. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/recent_targets.html +0 -0
  694. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/recently_updated_targets.html +0 -0
  695. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_buttons.html +0 -0
  696. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_data.html +0 -0
  697. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_feature.html +0 -0
  698. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_groups.html +0 -0
  699. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_merge_fields.html +0 -0
  700. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_plan.html +0 -0
  701. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_table.html +0 -0
  702. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_table_partial.html +0 -0
  703. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/target_unknown_statuses.html +0 -0
  704. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/partials/targetlist_select.html +0 -0
  705. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_confirm_delete.html +0 -0
  706. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_detail.html +0 -0
  707. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_facility_selection.html +0 -0
  708. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_form.html +0 -0
  709. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_group_share.html +0 -0
  710. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_grouping.html +0 -0
  711. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_import.html +0 -0
  712. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_list.html +0 -0
  713. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_manage_persistent_shares.html +0 -0
  714. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_merge.html +0 -0
  715. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/target_share.html +0 -0
  716. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/targetlist_confirm_delete.html +0 -0
  717. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templates/tom_targets/targetlist_form.html +0 -0
  718. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/templatetags/targets_extras.py +0 -0
  719. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/tests/factories.py +0 -0
  720. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/tests/test_api.py +0 -0
  721. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/tests/tests.py +0 -0
  722. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/urls.py +0 -0
  723. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/utils.py +0 -0
  724. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/validators.py +0 -0
  725. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/views.py +0 -0
  726. {tomtoolkit-2.31.6 → tomtoolkit-2.32.0}/tom_targets/viewsets.py +0 -0
@@ -0,0 +1 @@
1
+ 8e30f15557e778813e255d5378fe7c2387359093 '8e30f15557e778813e255d5378fe7c2387359093' of https://github.com/TOMToolkit/tom_base
@@ -0,0 +1 @@
1
+ 8e30f15557e778813e255d5378fe7c2387359093
@@ -9,4 +9,4 @@
9
9
  [gc]
10
10
  auto = 0
11
11
  [http "https://github.com/"]
12
- extraheader = AUTHORIZATION: basic eC1hY2Nlc3MtdG9rZW46Z2hzX1pWNk9wNEk1dmVuV3gzZkUxNFpwa0NCSEc5eFBBOTJLSzh5RA==
12
+ extraheader = AUTHORIZATION: basic eC1hY2Nlc3MtdG9rZW46Z2hzX0dQNjA1NktBN2NpeFAzN1JkUzBMVDdhWG55eGg0cTFRU2k2Mw==
Binary file
@@ -0,0 +1 @@
1
+ 0000000000000000000000000000000000000000 8e30f15557e778813e255d5378fe7c2387359093 runner <runner@runnervmeorf1.ve0odadno2suxm2sbvaejm5i1a.yx.internal.cloudapp.net> 1776974622 +0000 checkout: moving from master to refs/tags/2.32.0
@@ -0,0 +1 @@
1
+ 8e30f15557e778813e255d5378fe7c2387359093
@@ -0,0 +1 @@
1
+ 8e30f15557e778813e255d5378fe7c2387359093
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tomtoolkit
3
- Version: 2.31.6
3
+ Version: 2.32.0
4
4
  Summary: TOM Toolkit and base modules
5
5
  License-Expression: GPL-3.0-only
6
6
  License-File: LICENSE
@@ -38,7 +38,7 @@ Requires-Dist: django-filter (>=23,<25)
38
38
  Requires-Dist: django-gravatar2 (>=1.0.0,<2.0.0)
39
39
  Requires-Dist: django-guardian (>=2.0.0,<3.0.0)
40
40
  Requires-Dist: django-htmx (>=1.0.0,<2.0.0)
41
- Requires-Dist: django-tables2 (<3)
41
+ Requires-Dist: django-tables2 (>=3.0,<4)
42
42
  Requires-Dist: django-tasks (>=0.6.1,<0.7.0)
43
43
  Requires-Dist: djangorestframework (>=3.15,<4)
44
44
  Requires-Dist: fits2image (>=0.4,<0.5)
@@ -49,7 +49,7 @@ Requires-Dist: pillow (>9.2,<13.0)
49
49
  Requires-Dist: plotly (<6)
50
50
  Requires-Dist: python-dateutil (<3)
51
51
  Requires-Dist: requests (<3)
52
- Requires-Dist: specutils (<2)
52
+ Requires-Dist: specutils (>=1.20.0,<3)
53
53
  Description-Content-Type: text/markdown
54
54
 
55
55
  # TOM Toolkit
@@ -11,9 +11,9 @@ The ``DataProductUploadView`` calls ``run_data_processor`` upon saving the ``Dat
11
11
  instantiates the ``DATA_PROCESSOR_CLASS``, which can be specified in ``settings.py``. ``run_data_processor`` then
12
12
  processes the uploaded ``DataProduct`` based on the tag value, which can either be Photometry or Spectroscopy.
13
13
 
14
- In the case of spectra, the default behavior is that ``DataProduct`` is converted into a ``specutils.Spectrum1D`` from
14
+ In the case of spectra, the default behavior is that ``DataProduct`` is converted into a ``specutils.Spectrum`` from
15
15
  either a CSV or a FITS file. The spectrum is multiplied by the flux constant of the facility it was taken at, or not
16
- multiplied. The ``Spectrum1D`` is then serialized into JSON for database via the ``SpectrumSerializer``.
16
+ multiplied. The ``Spectrum`` is then serialized into JSON for database via the ``SpectrumSerializer``.
17
17
 
18
18
  For photometry, the default behavior is simply to read the CSV and convert it to JSON for database storage.
19
19
 
@@ -149,7 +149,7 @@ Just like the ``PhotometryProcessor``, this class inherits from
149
149
  ``DataProcessor`` and implements ``process_data()``. This is a
150
150
  requirement for a custom DataProcessor! This ``process_data()`` method
151
151
  handles two file types, unlike the previous example, each of which calls
152
- an internal method that returns a ``Spectrum1D`` object. Again, like the
152
+ an internal method that returns a ``Spectrum`` object. Again, like the
153
153
  ``PhotometryProcessor``, a list of 2-tuples is created, with the first
154
154
  value being the timestamp, and the second being the JSON spectrum.
155
155
 
@@ -253,14 +253,14 @@ typing = ["typing_extensions (>=4.0.0)"]
253
253
 
254
254
  [[package]]
255
255
  name = "astropy-iers-data"
256
- version = "0.2026.4.1.15.5.49"
256
+ version = "0.2026.4.6.0.54.57"
257
257
  description = "IERS Earth Rotation and Leap Second tables for the astropy core package"
258
258
  optional = false
259
259
  python-versions = ">=3.10"
260
260
  groups = ["main"]
261
261
  files = [
262
- {file = "astropy_iers_data-0.2026.4.1.15.5.49-py3-none-any.whl", hash = "sha256:ca90106817015638234cfeb41a6543d51149d64ab0b495b76863d33411846f25"},
263
- {file = "astropy_iers_data-0.2026.4.1.15.5.49.tar.gz", hash = "sha256:0f76474e6a0d6a7cecf086d08dc4c00d0540518fc6e0133a24e13cf7fcae8a53"},
262
+ {file = "astropy_iers_data-0.2026.4.6.0.54.57-py3-none-any.whl", hash = "sha256:e3d85850ccfd2e68f797c417cd1cc30fe1bdbd54c3a6ec6e48c307c879858ac4"},
263
+ {file = "astropy_iers_data-0.2026.4.6.0.54.57.tar.gz", hash = "sha256:d248c5e154c61536533688787d14c0f45c1e22f599670e7399ed493b21c5d2a5"},
264
264
  ]
265
265
 
266
266
  [package.extras]
@@ -611,14 +611,14 @@ files = [
611
611
 
612
612
  [[package]]
613
613
  name = "click"
614
- version = "8.3.1"
614
+ version = "8.3.2"
615
615
  description = "Composable command line interface toolkit"
616
616
  optional = false
617
617
  python-versions = ">=3.10"
618
618
  groups = ["coverage"]
619
619
  files = [
620
- {file = "click-8.3.1-py3-none-any.whl", hash = "sha256:981153a64e25f12d547d3426c367a4857371575ee7ad18df2a6183ab0545b2a6"},
621
- {file = "click-8.3.1.tar.gz", hash = "sha256:12ff4785d337a1bb490bb7e9c2b1ee5da3112e94a8622f26a6c77f5d2fc6842a"},
620
+ {file = "click-8.3.2-py3-none-any.whl", hash = "sha256:1924d2c27c5653561cd2cae4548d1406039cb79b858b747cfea24924bbc1616d"},
621
+ {file = "click-8.3.2.tar.gz", hash = "sha256:14162b8b3b3550a7d479eafa77dfd3c38d9dc8951f6f69c78913a8f9a7540fd5"},
622
622
  ]
623
623
 
624
624
  [package.dependencies]
@@ -812,61 +812,61 @@ django-crispy-forms = ">=2.3"
812
812
 
813
813
  [[package]]
814
814
  name = "cryptography"
815
- version = "46.0.6"
815
+ version = "46.0.7"
816
816
  description = "cryptography is a package which provides cryptographic recipes and primitives to Python developers."
817
817
  optional = false
818
818
  python-versions = "!=3.9.0,!=3.9.1,>=3.8"
819
819
  groups = ["main"]
820
820
  files = [
821
- {file = "cryptography-46.0.6-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:64235194bad039a10bb6d2d930ab3323baaec67e2ce36215fd0952fad0930ca8"},
822
- {file = "cryptography-46.0.6-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:26031f1e5ca62fcb9d1fcb34b2b60b390d1aacaa15dc8b895a9ed00968b97b30"},
823
- {file = "cryptography-46.0.6-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:9a693028b9cbe51b5a1136232ee8f2bc242e4e19d456ded3fa7c86e43c713b4a"},
824
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:67177e8a9f421aa2d3a170c3e56eca4e0128883cf52a071a7cbf53297f18b175"},
825
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:d9528b535a6c4f8ff37847144b8986a9a143585f0540fbcb1a98115b543aa463"},
826
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:22259338084d6ae497a19bae5d4c66b7ca1387d3264d1c2c0e72d9e9b6a77b97"},
827
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:760997a4b950ff00d418398ad73fbc91aa2894b5c1db7ccb45b4f68b42a63b3c"},
828
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:3dfa6567f2e9e4c5dceb8ccb5a708158a2a871052fa75c8b78cb0977063f1507"},
829
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:cdcd3edcbc5d55757e5f5f3d330dd00007ae463a7e7aa5bf132d1f22a4b62b19"},
830
- {file = "cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:d4e4aadb7fc1f88687f47ca20bb7227981b03afaae69287029da08096853b738"},
831
- {file = "cryptography-46.0.6-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:2b417edbe8877cda9022dde3a008e2deb50be9c407eef034aeeb3a8b11d9db3c"},
832
- {file = "cryptography-46.0.6-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:380343e0653b1c9d7e1f55b52aaa2dbb2fdf2730088d48c43ca1c7c0abb7cc2f"},
833
- {file = "cryptography-46.0.6-cp311-abi3-win32.whl", hash = "sha256:bcb87663e1f7b075e48c3be3ecb5f0b46c8fc50b50a97cf264e7f60242dca3f2"},
834
- {file = "cryptography-46.0.6-cp311-abi3-win_amd64.whl", hash = "sha256:6739d56300662c468fddb0e5e291f9b4d084bead381667b9e654c7dd81705124"},
835
- {file = "cryptography-46.0.6-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:2ef9e69886cbb137c2aef9772c2e7138dc581fad4fcbcf13cc181eb5a3ab6275"},
836
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7f417f034f91dcec1cb6c5c35b07cdbb2ef262557f701b4ecd803ee8cefed4f4"},
837
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:d24c13369e856b94892a89ddf70b332e0b70ad4a5c43cf3e9cb71d6d7ffa1f7b"},
838
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:aad75154a7ac9039936d50cf431719a2f8d4ed3d3c277ac03f3339ded1a5e707"},
839
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:3c21d92ed15e9cfc6eb64c1f5a0326db22ca9c2566ca46d845119b45b4400361"},
840
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:4668298aef7cddeaf5c6ecc244c2302a2b8e40f384255505c22875eebb47888b"},
841
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:8ce35b77aaf02f3b59c90b2c8a05c73bac12cea5b4e8f3fbece1f5fddea5f0ca"},
842
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:c89eb37fae9216985d8734c1afd172ba4927f5a05cfd9bf0e4863c6d5465b013"},
843
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:ed418c37d095aeddf5336898a132fba01091f0ac5844e3e8018506f014b6d2c4"},
844
- {file = "cryptography-46.0.6-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:69cf0056d6947edc6e6760e5f17afe4bea06b56a9ac8a06de9d2bd6b532d4f3a"},
845
- {file = "cryptography-46.0.6-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e7304c4f4e9490e11efe56af6713983460ee0780f16c63f219984dab3af9d2d"},
846
- {file = "cryptography-46.0.6-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b928a3ca837c77a10e81a814a693f2295200adb3352395fad024559b7be7a736"},
847
- {file = "cryptography-46.0.6-cp314-cp314t-win32.whl", hash = "sha256:97c8115b27e19e592a05c45d0dd89c57f81f841cc9880e353e0d3bf25b2139ed"},
848
- {file = "cryptography-46.0.6-cp314-cp314t-win_amd64.whl", hash = "sha256:c797e2517cb7880f8297e2c0f43bb910e91381339336f75d2c1c2cbf811b70b4"},
849
- {file = "cryptography-46.0.6-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:12cae594e9473bca1a7aceb90536060643128bb274fcea0fc459ab90f7d1ae7a"},
850
- {file = "cryptography-46.0.6-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:639301950939d844a9e1c4464d7e07f902fe9a7f6b215bb0d4f28584729935d8"},
851
- {file = "cryptography-46.0.6-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ed3775295fb91f70b4027aeba878d79b3e55c0b3e97eaa4de71f8f23a9f2eb77"},
852
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8927ccfbe967c7df312ade694f987e7e9e22b2425976ddbf28271d7e58845290"},
853
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:b12c6b1e1651e42ab5de8b1e00dc3b6354fdfd778e7fa60541ddacc27cd21410"},
854
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:063b67749f338ca9c5a0b7fe438a52c25f9526b851e24e6c9310e7195aad3b4d"},
855
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:02fad249cb0e090b574e30b276a3da6a149e04ee2f049725b1f69e7b8351ec70"},
856
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:7e6142674f2a9291463e5e150090b95a8519b2fb6e6aaec8917dd8d094ce750d"},
857
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:456b3215172aeefb9284550b162801d62f5f264a081049a3e94307fe20792cfa"},
858
- {file = "cryptography-46.0.6-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:341359d6c9e68834e204ceaf25936dffeafea3829ab80e9503860dcc4f4dac58"},
859
- {file = "cryptography-46.0.6-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:9a9c42a2723999a710445bc0d974e345c32adfd8d2fac6d8a251fa829ad31cfb"},
860
- {file = "cryptography-46.0.6-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:6617f67b1606dfd9fe4dbfa354a9508d4a6d37afe30306fe6c101b7ce3274b72"},
861
- {file = "cryptography-46.0.6-cp38-abi3-win32.whl", hash = "sha256:7f6690b6c55e9c5332c0b59b9c8a3fb232ebf059094c17f9019a51e9827df91c"},
862
- {file = "cryptography-46.0.6-cp38-abi3-win_amd64.whl", hash = "sha256:79e865c642cfc5c0b3eb12af83c35c5aeff4fa5c672dc28c43721c2c9fdd2f0f"},
863
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:2ea0f37e9a9cf0df2952893ad145fd9627d326a59daec9b0802480fa3bcd2ead"},
864
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:a3e84d5ec9ba01f8fd03802b2147ba77f0c8f2617b2aff254cedd551844209c8"},
865
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:12f0fa16cc247b13c43d56d7b35287ff1569b5b1f4c5e87e92cc4fcc00cd10c0"},
866
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:50575a76e2951fe7dbd1f56d181f8c5ceeeb075e9ff88e7ad997d2f42af06e7b"},
867
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:90e5f0a7b3be5f40c3a0a0eafb32c681d8d2c181fc2a1bdabe9b3f611d9f6b1a"},
868
- {file = "cryptography-46.0.6-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:6728c49e3b2c180ef26f8e9f0a883a2c585638db64cf265b49c9ba10652d430e"},
869
- {file = "cryptography-46.0.6.tar.gz", hash = "sha256:27550628a518c5c6c903d84f637fbecf287f6cb9ced3804838a1295dc1fd0759"},
821
+ {file = "cryptography-46.0.7-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:ea42cbe97209df307fdc3b155f1b6fa2577c0defa8f1f7d3be7d31d189108ad4"},
822
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b36a4695e29fe69215d75960b22577197aca3f7a25b9cf9d165dcfe9d80bc325"},
823
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ad9ef796328c5e3c4ceed237a183f5d41d21150f972455a9d926593a1dcb308"},
824
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:73510b83623e080a2c35c62c15298096e2a5dc8d51c3b4e1740211839d0dea77"},
825
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cbd5fb06b62bd0721e1170273d3f4d5a277044c47ca27ee257025146c34cbdd1"},
826
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:420b1e4109cc95f0e5700eed79908cef9268265c773d3a66f7af1eef53d409ef"},
827
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:24402210aa54baae71d99441d15bb5a1919c195398a87b563df84468160a65de"},
828
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:8a469028a86f12eb7d2fe97162d0634026d92a21f3ae0ac87ed1c4a447886c83"},
829
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:9694078c5d44c157ef3162e3bf3946510b857df5a3955458381d1c7cfc143ddb"},
830
+ {file = "cryptography-46.0.7-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:42a1e5f98abb6391717978baf9f90dc28a743b7d9be7f0751a6f56a75d14065b"},
831
+ {file = "cryptography-46.0.7-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:91bbcb08347344f810cbe49065914fe048949648f6bd5c2519f34619142bbe85"},
832
+ {file = "cryptography-46.0.7-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5d1c02a14ceb9148cc7816249f64f623fbfee39e8c03b3650d842ad3f34d637e"},
833
+ {file = "cryptography-46.0.7-cp311-abi3-win32.whl", hash = "sha256:d23c8ca48e44ee015cd0a54aeccdf9f09004eba9fc96f38c911011d9ff1bd457"},
834
+ {file = "cryptography-46.0.7-cp311-abi3-win_amd64.whl", hash = "sha256:397655da831414d165029da9bc483bed2fe0e75dde6a1523ec2fe63f3c46046b"},
835
+ {file = "cryptography-46.0.7-cp314-cp314t-macosx_10_9_universal2.whl", hash = "sha256:d151173275e1728cf7839aaa80c34fe550c04ddb27b34f48c232193df8db5842"},
836
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:db0f493b9181c7820c8134437eb8b0b4792085d37dbb24da050476ccb664e59c"},
837
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ebd6daf519b9f189f85c479427bbd6e9c9037862cf8fe89ee35503bd209ed902"},
838
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_28_aarch64.whl", hash = "sha256:b7b412817be92117ec5ed95f880defe9cf18a832e8cafacf0a22337dc1981b4d"},
839
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_28_ppc64le.whl", hash = "sha256:fbfd0e5f273877695cb93baf14b185f4878128b250cc9f8e617ea0c025dfb022"},
840
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_28_x86_64.whl", hash = "sha256:ffca7aa1d00cf7d6469b988c581598f2259e46215e0140af408966a24cf086ce"},
841
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_31_armv7l.whl", hash = "sha256:60627cf07e0d9274338521205899337c5d18249db56865f943cbe753aa96f40f"},
842
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_34_aarch64.whl", hash = "sha256:80406c3065e2c55d7f49a9550fe0c49b3f12e5bfff5dedb727e319e1afb9bf99"},
843
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_34_ppc64le.whl", hash = "sha256:c5b1ccd1239f48b7151a65bc6dd54bcfcc15e028c8ac126d3fada09db0e07ef1"},
844
+ {file = "cryptography-46.0.7-cp314-cp314t-manylinux_2_34_x86_64.whl", hash = "sha256:d5f7520159cd9c2154eb61eb67548ca05c5774d39e9c2c4339fd793fe7d097b2"},
845
+ {file = "cryptography-46.0.7-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:fcd8eac50d9138c1d7fc53a653ba60a2bee81a505f9f8850b6b2888555a45d0e"},
846
+ {file = "cryptography-46.0.7-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:65814c60f8cc400c63131584e3e1fad01235edba2614b61fbfbfa954082db0ee"},
847
+ {file = "cryptography-46.0.7-cp314-cp314t-win32.whl", hash = "sha256:fdd1736fed309b4300346f88f74cd120c27c56852c3838cab416e7a166f67298"},
848
+ {file = "cryptography-46.0.7-cp314-cp314t-win_amd64.whl", hash = "sha256:e06acf3c99be55aa3b516397fe42f5855597f430add9c17fa46bf2e0fb34c9bb"},
849
+ {file = "cryptography-46.0.7-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:462ad5cb1c148a22b2e3bcc5ad52504dff325d17daf5df8d88c17dda1f75f2a4"},
850
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:84d4cced91f0f159a7ddacad249cc077e63195c36aac40b4150e7a57e84fffe7"},
851
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:128c5edfe5e5938b86b03941e94fac9ee793a94452ad1365c9fc3f4f62216832"},
852
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:5e51be372b26ef4ba3de3c167cd3d1022934bc838ae9eaad7e644986d2a3d163"},
853
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_28_ppc64le.whl", hash = "sha256:cdf1a610ef82abb396451862739e3fc93b071c844399e15b90726ef7470eeaf2"},
854
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:1d25aee46d0c6f1a501adcddb2d2fee4b979381346a78558ed13e50aa8a59067"},
855
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_31_armv7l.whl", hash = "sha256:cdfbe22376065ffcf8be74dc9a909f032df19bc58a699456a21712d6e5eabfd0"},
856
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:abad9dac36cbf55de6eb49badd4016806b3165d396f64925bf2999bcb67837ba"},
857
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_34_ppc64le.whl", hash = "sha256:935ce7e3cfdb53e3536119a542b839bb94ec1ad081013e9ab9b7cfd478b05006"},
858
+ {file = "cryptography-46.0.7-cp38-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:35719dc79d4730d30f1c2b6474bd6acda36ae2dfae1e3c16f2051f215df33ce0"},
859
+ {file = "cryptography-46.0.7-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:7bbc6ccf49d05ac8f7d7b5e2e2c33830d4fe2061def88210a126d130d7f71a85"},
860
+ {file = "cryptography-46.0.7-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:a1529d614f44b863a7b480c6d000fe93b59acee9c82ffa027cfadc77521a9f5e"},
861
+ {file = "cryptography-46.0.7-cp38-abi3-win32.whl", hash = "sha256:f247c8c1a1fb45e12586afbb436ef21ff1e80670b2861a90353d9b025583d246"},
862
+ {file = "cryptography-46.0.7-cp38-abi3-win_amd64.whl", hash = "sha256:506c4ff91eff4f82bdac7633318a526b1d1309fc07ca76a3ad182cb5b686d6d3"},
863
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:fc9ab8856ae6cf7c9358430e49b368f3108f050031442eaeb6b9d87e4dcf4e4f"},
864
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:d3b99c535a9de0adced13d159c5a9cf65c325601aa30f4be08afd680643e9c15"},
865
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:d02c738dacda7dc2a74d1b2b3177042009d5cab7c7079db74afc19e56ca1b455"},
866
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_aarch64.whl", hash = "sha256:04959522f938493042d595a736e7dbdff6eb6cc2339c11465b3ff89343b65f65"},
867
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-manylinux_2_34_x86_64.whl", hash = "sha256:3986ac1dee6def53797289999eabe84798ad7817f3e97779b5061a95b0ee4968"},
868
+ {file = "cryptography-46.0.7-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:258514877e15963bd43b558917bc9f54cf7cf866c38aa576ebf47a77ddbc43a4"},
869
+ {file = "cryptography-46.0.7.tar.gz", hash = "sha256:e4cfd68c5f3e0bfdad0d38e023239b96a2fe84146481852dffbcca442c245aa5"},
870
870
  ]
871
871
 
872
872
  [package.dependencies]
@@ -880,19 +880,19 @@ nox = ["nox[uv] (>=2024.4.15)"]
880
880
  pep8test = ["check-sdist", "click (>=8.0.1)", "mypy (>=1.14)", "ruff (>=0.11.11)"]
881
881
  sdist = ["build (>=1.0.0)"]
882
882
  ssh = ["bcrypt (>=3.1.5)"]
883
- test = ["certifi (>=2024)", "cryptography-vectors (==46.0.6)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"]
883
+ test = ["certifi (>=2024)", "cryptography-vectors (==46.0.7)", "pretend (>=0.7)", "pytest (>=7.4.0)", "pytest-benchmark (>=4.0)", "pytest-cov (>=2.10.1)", "pytest-xdist (>=3.5.0)"]
884
884
  test-randomorder = ["pytest-randomly"]
885
885
 
886
886
  [[package]]
887
887
  name = "django"
888
- version = "5.2.12"
888
+ version = "5.2.13"
889
889
  description = "A high-level Python web framework that encourages rapid development and clean, pragmatic design."
890
890
  optional = false
891
891
  python-versions = ">=3.10"
892
892
  groups = ["main"]
893
893
  files = [
894
- {file = "django-5.2.12-py3-none-any.whl", hash = "sha256:4853482f395c3a151937f6991272540fcbf531464f254a347bf7c89f53c8cff7"},
895
- {file = "django-5.2.12.tar.gz", hash = "sha256:6b809af7165c73eff5ce1c87fdae75d4da6520d6667f86401ecf55b681eb1eeb"},
894
+ {file = "django-5.2.13-py3-none-any.whl", hash = "sha256:5788fce61da23788a8ce6f02583765ab060d396720924789f97fa42119d37f7a"},
895
+ {file = "django-5.2.13.tar.gz", hash = "sha256:a31589db5188d074c63f0945c3888fad104627dfcc236fb2b97f71f89da33bc4"},
896
896
  ]
897
897
 
898
898
  [package.dependencies]
@@ -1041,14 +1041,14 @@ typing-extensions = "*"
1041
1041
 
1042
1042
  [[package]]
1043
1043
  name = "django-tables2"
1044
- version = "2.8.0"
1044
+ version = "3.0.0"
1045
1045
  description = "Table/data-grid framework for Django"
1046
1046
  optional = false
1047
- python-versions = ">=3.9"
1047
+ python-versions = ">=3.10"
1048
1048
  groups = ["main"]
1049
1049
  files = [
1050
- {file = "django_tables2-2.8.0-py3-none-any.whl", hash = "sha256:860633b0f448216af73fca6005c7e38dc9b46931dc36c08a9281a71ee250b1ee"},
1051
- {file = "django_tables2-2.8.0.tar.gz", hash = "sha256:0dea3401bb99a0164ba09e20d59a7d90856fdc05e5ae2da9a14d0fa14d99257c"},
1050
+ {file = "django_tables2-3.0.0-py3-none-any.whl", hash = "sha256:2a5b5447f10d7a8cfb7a2e8f0b139d969c7eb2e675079a4b8ba0107956345bfa"},
1051
+ {file = "django_tables2-3.0.0.tar.gz", hash = "sha256:3c5343f72663b0d6684e8e6cbcb16caae10d7621a51c1cf3c581f57ce605f8ee"},
1052
1052
  ]
1053
1053
 
1054
1054
  [package.dependencies]
@@ -1127,14 +1127,14 @@ doc = ["Sphinx", "sphinx-rtd-theme", "sphinxcontrib-spelling"]
1127
1127
 
1128
1128
  [[package]]
1129
1129
  name = "faker"
1130
- version = "40.12.0"
1130
+ version = "40.13.0"
1131
1131
  description = "Faker is a Python package that generates fake data for you."
1132
1132
  optional = false
1133
1133
  python-versions = ">=3.10"
1134
1134
  groups = ["test"]
1135
1135
  files = [
1136
- {file = "faker-40.12.0-py3-none-any.whl", hash = "sha256:6238a4058a8b581892e3d78fe5fdfa7568739e1c8283e4ede83f1dde0bfc1a3b"},
1137
- {file = "faker-40.12.0.tar.gz", hash = "sha256:58b5a9054c367bd5fb2e948634105364cc570e78a98a8e5161a74691c45f158f"},
1136
+ {file = "faker-40.13.0-py3-none-any.whl", hash = "sha256:c1298fd0d819b3688fb5fd358c4ba8f56c7c8c740b411fd3dbd8e30bf2c05019"},
1137
+ {file = "faker-40.13.0.tar.gz", hash = "sha256:a0751c84c3abac17327d7bb4c98e8afe70ebf7821e01dd7d0b15cd8856415525"},
1138
1138
  ]
1139
1139
 
1140
1140
  [package.dependencies]
@@ -1602,14 +1602,14 @@ files = [
1602
1602
 
1603
1603
  [[package]]
1604
1604
  name = "more-itertools"
1605
- version = "11.0.1"
1605
+ version = "11.0.2"
1606
1606
  description = "More routines for operating on iterables, beyond itertools"
1607
1607
  optional = false
1608
1608
  python-versions = ">=3.10"
1609
1609
  groups = ["main"]
1610
1610
  files = [
1611
- {file = "more_itertools-11.0.1-py3-none-any.whl", hash = "sha256:eaf287826069452a8f61026c597eae2428b2d1ba2859083abbf240b46842ce6d"},
1612
- {file = "more_itertools-11.0.1.tar.gz", hash = "sha256:fefaf25b7ab08f0b45fa9f1892cae93b9fc0089ef034d39213bce15f1cc9e199"},
1611
+ {file = "more_itertools-11.0.2-py3-none-any.whl", hash = "sha256:6e35b35f818b01f691643c6c611bc0902f2e92b46c18fffa77ae1e7c46e912e4"},
1612
+ {file = "more_itertools-11.0.2.tar.gz", hash = "sha256:392a9e1e362cbc106a2457d37cabf9b36e5e12efd4ebff1654630e76597df804"},
1613
1613
  ]
1614
1614
 
1615
1615
  [[package]]
@@ -2354,24 +2354,24 @@ files = [
2354
2354
 
2355
2355
  [[package]]
2356
2356
  name = "specutils"
2357
- version = "1.20.3"
2357
+ version = "2.1.0"
2358
2358
  description = "Package for spectroscopic astronomical data"
2359
2359
  optional = false
2360
2360
  python-versions = ">=3.10"
2361
2361
  groups = ["main"]
2362
2362
  files = [
2363
- {file = "specutils-1.20.3-py3-none-any.whl", hash = "sha256:f3a99e4822e443f46db03201f8a3af64848b968a6039369aabc7e00d137131f1"},
2364
- {file = "specutils-1.20.3.tar.gz", hash = "sha256:2c3050e30f7614cb613b60fb97f84f1045f324cc8165ebbcc56560da943b348b"},
2363
+ {file = "specutils-2.1.0-py3-none-any.whl", hash = "sha256:90652041792b236d9e028f74bb4230005ff86f211f6746eaed814e05f1dd5349"},
2364
+ {file = "specutils-2.1.0.tar.gz", hash = "sha256:4b0189b6d3650a7f49885354487409f992ab68dbf40d0a2c3e1272868106ce0b"},
2365
2365
  ]
2366
2366
 
2367
2367
  [package.dependencies]
2368
- asdf = ">=2.14.4"
2369
- asdf-astropy = ">=0.3"
2370
- astropy = ">=5.1"
2371
- gwcs = ">=0.18"
2368
+ asdf = ">=3.3.0"
2369
+ asdf-astropy = ">=0.5"
2370
+ astropy = ">=6.0"
2371
+ gwcs = ">=0.22"
2372
2372
  ndcube = ">=2.0"
2373
2373
  numpy = ">=1.24"
2374
- scipy = ">=1.3"
2374
+ scipy = ">=1.14"
2375
2375
 
2376
2376
  [package.extras]
2377
2377
  docs = ["graphviz", "matplotlib", "sphinx-astropy"]
@@ -2716,14 +2716,14 @@ files = [
2716
2716
 
2717
2717
  [[package]]
2718
2718
  name = "tzdata"
2719
- version = "2025.3"
2719
+ version = "2026.1"
2720
2720
  description = "Provider of IANA time zone data"
2721
2721
  optional = false
2722
2722
  python-versions = ">=2"
2723
2723
  groups = ["main", "test"]
2724
2724
  files = [
2725
- {file = "tzdata-2025.3-py2.py3-none-any.whl", hash = "sha256:06a47e5700f3081aab02b2e513160914ff0694bce9947d6b76ebd6bf57cfc5d1"},
2726
- {file = "tzdata-2025.3.tar.gz", hash = "sha256:de39c2ca5dc7b0344f2eba86f49d614019d29f060fc4ebc8a417896a620b56a7"},
2725
+ {file = "tzdata-2026.1-py2.py3-none-any.whl", hash = "sha256:4b1d2be7ac37ceafd7327b961aa3a54e467efbdb563a23655fbfe0d39cfc42a9"},
2726
+ {file = "tzdata-2026.1.tar.gz", hash = "sha256:67658a1903c75917309e753fdc349ac0efd8c27db7a0cb406a25be4840f87f98"},
2727
2727
  ]
2728
2728
  markers = {main = "sys_platform == \"win32\"", test = "platform_system == \"Windows\""}
2729
2729
 
@@ -2781,4 +2781,4 @@ type = ["pytest-mypy"]
2781
2781
  [metadata]
2782
2782
  lock-version = "2.1"
2783
2783
  python-versions = ">=3.10.0,<3.14"
2784
- content-hash = "eed447568cdd51d4b53e83d98e95984d5e2f1fc36cc34414afdd63e791ec7acf"
2784
+ content-hash = "d20f1afe99aee56b9fec3bb1a36e8ac2db563df7a4315426388a81ab8191e9d1"
@@ -57,7 +57,7 @@ dependencies = [
57
57
  "crispy-bootstrap4 >=2023.1,<2024.11",
58
58
  "django-extensions >=3.0.0,<4.0.0",
59
59
  "django-filter >=23,<25",
60
- "django-tables2 <3",
60
+ "django-tables2 >=3.0,<4",
61
61
  "django-gravatar2 >=1.0.0,<2.0.0",
62
62
  "django-guardian >=2.0.0,<3.0.0",
63
63
  "django-htmx >=1.0.0,<2.0.0",
@@ -67,11 +67,11 @@ dependencies = [
67
67
  "plotly <6",
68
68
  "python-dateutil <3",
69
69
  "requests <3",
70
- "specutils <2",
70
+ "specutils >=1.20.0,<3",
71
71
  "importlib-resources >=6.4.5,<6.5.0",
72
72
  "django-tasks (>=0.6.1,<0.7.0)",
73
73
  ]
74
- version = "2.31.6"
74
+ version = "2.32.0"
75
75
 
76
76
  [tool.poetry]
77
77
  packages = [ # tell poetry build that the repo is named tom_base (which != name, above)
@@ -1,2 +1,2 @@
1
1
  # this is a placeholder for poetry-dynamic-versioning (see pyproject.toml)
2
- __version__ = "2.31.6"
2
+ __version__ = "2.32.0"
@@ -62,6 +62,7 @@ INSTALLED_APPS = [
62
62
  'tom_observations',
63
63
  'tom_dataproducts',
64
64
  'tom_dataservices',
65
+ 'tom_calendar',
65
66
  ]
66
67
 
67
68
  SITE_ID = 1
@@ -0,0 +1,5 @@
1
+ from django.contrib import admin
2
+
3
+ from .models import CalendarEvent
4
+
5
+ admin.site.register(CalendarEvent)
@@ -0,0 +1,12 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class TomCalendarConfig(AppConfig):
5
+ name = 'tom_calendar'
6
+
7
+ def nav_items(self):
8
+ """Integration point for adding items to the navbar.
9
+ This method should return a list of partial templates to be included in the navbar.
10
+ """
11
+
12
+ return [{'partial': 'tom_calendar/partials/navbar_item.html'}]
@@ -0,0 +1,27 @@
1
+ # Generated by Django 4.2.27 on 2026-02-27 22:33
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ initial = True
9
+
10
+ dependencies = [
11
+ ]
12
+
13
+ operations = [
14
+ migrations.CreateModel(
15
+ name='CalendarEvent',
16
+ fields=[
17
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18
+ ('title', models.CharField(max_length=200)),
19
+ ('description', models.TextField(blank=True, default='')),
20
+ ('start_time', models.DateTimeField()),
21
+ ('end_time', models.DateTimeField()),
22
+ ('url', models.URLField(blank=True, default='')),
23
+ ('created', models.DateTimeField(auto_now_add=True)),
24
+ ('modified', models.DateTimeField(auto_now=True)),
25
+ ],
26
+ ),
27
+ ]
@@ -0,0 +1,20 @@
1
+ # Generated by Django 4.2.27 on 2026-03-05 17:52
2
+
3
+ from django.db import migrations, models
4
+ import django.db.models.deletion
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+
9
+ dependencies = [
10
+ ('tom_targets', '0030_alter_basetarget_slope'),
11
+ ('tom_calendar', '0001_initial'),
12
+ ]
13
+
14
+ operations = [
15
+ migrations.AddField(
16
+ model_name='calendarevent',
17
+ name='target_list',
18
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='tom_targets.targetlist'),
19
+ ),
20
+ ]
@@ -0,0 +1,28 @@
1
+ # Generated by Django 4.2.27 on 2026-03-05 22:35
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('tom_calendar', '0002_calendarevent_target_list'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name='calendarevent',
15
+ name='proposal',
16
+ field=models.CharField(blank=True, default='', max_length=200),
17
+ ),
18
+ migrations.AddField(
19
+ model_name='calendarevent',
20
+ name='telescope',
21
+ field=models.CharField(blank=True, default='', max_length=200),
22
+ ),
23
+ migrations.AddField(
24
+ model_name='calendarevent',
25
+ name='user',
26
+ field=models.CharField(blank=True, default='', max_length=200),
27
+ ),
28
+ ]
@@ -0,0 +1,25 @@
1
+ # Generated by Django 4.2.27 on 2026-03-05 23:42
2
+
3
+ from django.db import migrations, models
4
+ import django.db.models.deletion
5
+
6
+
7
+ class Migration(migrations.Migration):
8
+
9
+ dependencies = [
10
+ ('tom_calendar', '0003_calendarevent_proposal_calendarevent_telescope_and_more'),
11
+ ]
12
+
13
+ operations = [
14
+ migrations.CreateModel(
15
+ name='EventTodo',
16
+ fields=[
17
+ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
18
+ ('description', models.CharField(max_length=200)),
19
+ ('is_completed', models.BooleanField(default=False)),
20
+ ('created', models.DateTimeField(auto_now_add=True)),
21
+ ('modified', models.DateTimeField(auto_now=True)),
22
+ ('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='todos', to='tom_calendar.calendarevent')),
23
+ ],
24
+ ),
25
+ ]
@@ -0,0 +1,18 @@
1
+ # Generated by Django 4.2.27 on 2026-03-12 20:58
2
+
3
+ from django.db import migrations, models
4
+
5
+
6
+ class Migration(migrations.Migration):
7
+
8
+ dependencies = [
9
+ ('tom_calendar', '0004_eventtodo'),
10
+ ]
11
+
12
+ operations = [
13
+ migrations.AddField(
14
+ model_name='calendarevent',
15
+ name='instrument',
16
+ field=models.CharField(blank=True, default='', max_length=200),
17
+ ),
18
+ ]
@@ -0,0 +1,57 @@
1
+ from django.db import models
2
+
3
+ from tom_targets.models import TargetList
4
+
5
+ from .utils import BOOTSTRAP_COLORS
6
+
7
+
8
+ class EventTodo(models.Model):
9
+ event = models.ForeignKey('CalendarEvent', on_delete=models.CASCADE, related_name='todos')
10
+ description = models.CharField(max_length=200)
11
+ is_completed = models.BooleanField(default=False)
12
+ created = models.DateTimeField(auto_now_add=True)
13
+ modified = models.DateTimeField(auto_now=True)
14
+
15
+ class Meta:
16
+ app_label = 'tom_calendar'
17
+
18
+ def __str__(self):
19
+ return f'Todo for {self.event.title}: {self.description}'
20
+
21
+
22
+ class CalendarEvent(models.Model):
23
+
24
+ """Class representing an event in the calendar.
25
+
26
+ Other applications can create calendar events by creating instances of this class.
27
+ """
28
+
29
+ title = models.CharField(max_length=200)
30
+ description = models.TextField(blank=True, default="")
31
+ start_time = models.DateTimeField()
32
+ end_time = models.DateTimeField()
33
+ url = models.URLField(blank=True, default="")
34
+ """The URL a user can visit for more information or associated object."""
35
+ target_list = models.ForeignKey(TargetList, on_delete=models.SET_NULL, null=True, blank=True)
36
+ user = models.CharField(max_length=200, blank=True, default="")
37
+ proposal = models.CharField(max_length=200, blank=True, default="")
38
+ telescope = models.CharField(max_length=200, blank=True, default="")
39
+ instrument = models.CharField(max_length=200, blank=True, default="")
40
+ created = models.DateTimeField(auto_now_add=True)
41
+ modified = models.DateTimeField(auto_now=True)
42
+
43
+ todos: models.Manager[EventTodo]
44
+
45
+ class Meta:
46
+ app_label = 'tom_calendar'
47
+
48
+ def __str__(self):
49
+ return self.title
50
+
51
+ @property
52
+ def color(self) -> str:
53
+ return BOOTSTRAP_COLORS[self.pk % len(BOOTSTRAP_COLORS)]
54
+
55
+ @property
56
+ def active_todos(self):
57
+ return self.todos.filter(is_completed=False)