winterapi 1.6.0__tar.gz → 1.7.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 (40) hide show
  1. {winterapi-1.6.0 → winterapi-1.7.0}/.github/workflows/continuous_integration.yml +25 -6
  2. {winterapi-1.6.0/winterapi.egg-info → winterapi-1.7.0}/PKG-INFO +1 -1
  3. winterapi-1.7.0/example.env +3 -0
  4. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Example_1_Setting_Up_Credentials.ipynb +5 -5
  5. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Example_2_Submitting_a_ToO.ipynb +62 -62
  6. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Example_4_Finding_Observatory_Data.ipynb +775 -454
  7. {winterapi-1.6.0 → winterapi-1.7.0}/pyproject.toml +5 -1
  8. winterapi-1.7.0/tests/configure_tests.py +64 -0
  9. winterapi-1.7.0/tests/test_images.py +200 -0
  10. {winterapi-1.6.0 → winterapi-1.7.0}/tests/test_login.py +1 -1
  11. {winterapi-1.6.0 → winterapi-1.7.0}/tests/test_schedule.py +3 -2
  12. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/messenger.py +30 -12
  13. {winterapi-1.6.0 → winterapi-1.7.0/winterapi.egg-info}/PKG-INFO +1 -1
  14. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi.egg-info/SOURCES.txt +2 -1
  15. winterapi-1.6.0/example.env +0 -2
  16. winterapi-1.6.0/winterapi/configure_tests.py +0 -32
  17. {winterapi-1.6.0 → winterapi-1.7.0}/.github/dependabot.yml +0 -0
  18. {winterapi-1.6.0 → winterapi-1.7.0}/.github/workflows/automerge.yml +0 -0
  19. {winterapi-1.6.0 → winterapi-1.7.0}/.github/workflows/black.yml +0 -0
  20. {winterapi-1.6.0 → winterapi-1.7.0}/.github/workflows/isort.yml +0 -0
  21. {winterapi-1.6.0 → winterapi-1.7.0}/.github/workflows/pylint.yml +0 -0
  22. {winterapi-1.6.0 → winterapi-1.7.0}/.gitignore +0 -0
  23. {winterapi-1.6.0 → winterapi-1.7.0}/.pre-commit-config.yaml +0 -0
  24. {winterapi-1.6.0 → winterapi-1.7.0}/LICENSE +0 -0
  25. {winterapi-1.6.0 → winterapi-1.7.0}/README.md +0 -0
  26. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Example_3_Interacting_with_Observatory_Queue.ipynb +0 -0
  27. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Example_5_Downloading_Observatory_Data.ipynb +0 -0
  28. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Info_1_Introduction_To_Credentials.ipynb +0 -0
  29. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Info_2a_ToO_Parameters.ipynb +0 -0
  30. {winterapi-1.6.0 → winterapi-1.7.0}/notebooks/Info_2b_Submitting_ToOs.ipynb +0 -0
  31. {winterapi-1.6.0 → winterapi-1.7.0}/setup.cfg +0 -0
  32. {winterapi-1.6.0 → winterapi-1.7.0}/tests/testdata/test_schedule.csv +0 -0
  33. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/__init__.py +0 -0
  34. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/base_api.py +0 -0
  35. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/credentials.py +0 -0
  36. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/endpoints.py +0 -0
  37. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi/fidelius.py +0 -0
  38. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi.egg-info/dependency_links.txt +0 -0
  39. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi.egg-info/requires.txt +0 -0
  40. {winterapi-1.6.0 → winterapi-1.7.0}/winterapi.egg-info/top_level.txt +0 -0
@@ -4,8 +4,19 @@ name: CI
4
4
 
5
5
  # Controls when the action will run.
6
6
  on:
7
- # Triggers the workflow on push or pull request events
7
+ # Only run on push to main or a tag, so that pushing to a branch with an
8
+ # open PR doesn't trigger this workflow twice (once via push, once via
9
+ # pull_request). Pushes to other branches still get CI via pull_request
10
+ # once a PR is open, or can be run manually via workflow_dispatch.
11
+ # branches/tags are matched independently (a branch push only checks
12
+ # branches, a tag push only checks tags), so the release flow of tagging
13
+ # and pushing after a merge still triggers this workflow and its PyPI
14
+ # publish step.
8
15
  push:
16
+ branches:
17
+ - main
18
+ tags:
19
+ - "*"
9
20
 
10
21
  pull_request:
11
22
 
@@ -19,10 +30,14 @@ jobs:
19
30
  # The type of runner that the job will run on
20
31
  runs-on: ubuntu-latest
21
32
 
22
- # Specify the python versions to test
33
+ # Install/import-check on every supported Python version, but only run
34
+ # the live-API test suite, coverage upload, build, and PyPI publish on
35
+ # Python 3.11 - running the real test suite (which hits the production
36
+ # server) on every matrix leg at once is what was tripping server-side
37
+ # rate limits/timeouts.
23
38
  strategy:
24
39
  matrix:
25
- python-version: ["3.10", "3.11"]
40
+ python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
26
41
 
27
42
  # Steps represent a sequence of tasks that will be executed as part of the job
28
43
  steps:
@@ -47,31 +62,35 @@ jobs:
47
62
  pip install keyrings.alt
48
63
 
49
64
  - name: Run tests
65
+ if: ${{ matrix.python-version == '3.11' }}
50
66
  env:
51
67
  WINTER_API_USER: ${{ secrets.WINTER_API_USER }}
52
68
  WINTER_API_PASSWORD: ${{ secrets.WINTER_API_PASSWORD }}
53
69
  WINTER_API_PROGRAM: ${{ secrets.WINTER_API_PROGRAM }}
54
70
  WINTER_API_KEY: ${{ secrets.WINTER_API_KEY }}
71
+ WINTER_API_IMAGE_KEY: ${{ secrets.WINTER_API_IMAGE_KEY }}
55
72
  run: coverage run -m unittest discover tests
56
73
 
57
74
  - name: Run Coveralls
58
75
  continue-on-error: true
59
- if: ${{ success() }}
76
+ if: ${{ success() && matrix.python-version == '3.11' }}
60
77
  run: |
61
78
  coveralls --service=github
62
79
  env:
63
80
  GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
64
81
 
65
82
  - name: Echo tag name
66
- run: echo "Tag is ${{ github.ref }}, Tagged is ${{ startsWith(github.ref, 'refs/tags/')}}, Python Check is ${{matrix.python-version == 3.11}}, Deploy is ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version == 3.11}}"
83
+ run: echo "Tag is ${{ github.ref }}, Tagged is ${{ startsWith(github.ref, 'refs/tags/')}}, Python Check is ${{matrix.python-version == '3.11'}}, Deploy is ${{ startsWith(github.ref, 'refs/tags/') && matrix.python-version == '3.11' }}"
67
84
 
68
85
  - name: Install pypa/build
86
+ if: ${{ matrix.python-version == '3.11' }}
69
87
  run: >-
70
88
  python -m
71
89
  pip install
72
90
  build
73
91
  --user
74
92
  - name: Build a binary wheel and a source tarball
93
+ if: ${{ matrix.python-version == '3.11' }}
75
94
  run: >-
76
95
  python -m
77
96
  build
@@ -81,7 +100,7 @@ jobs:
81
100
  .
82
101
 
83
102
  - name: Publish distribution 📦 to PyPI
84
- if: ${{ startsWith(github.ref, 'refs/tags/') && success() && matrix.python-version == 3.11 && github.event_name == 'push'}}
103
+ if: ${{ startsWith(github.ref, 'refs/tags/') && success() && matrix.python-version == '3.11' && github.event_name == 'push' }}
85
104
  uses: pypa/gh-action-pypi-publish@master
86
105
  with:
87
106
  password: ${{ secrets.PYPI_API_TOKEN }}
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: winterapi
3
- Version: 1.6.0
3
+ Version: 1.7.0
4
4
  Author-email: Robert Stein <rdstein@caltech.edu>
5
5
  License: MIT
6
6
  Project-URL: Homepage, https://github.com/winter-telescope/winterapi
@@ -0,0 +1,3 @@
1
+ WINTER_API_LOCAL="False"
2
+ WINTER_API_PROGRAM=
3
+ WINTER_API_IMAGE_KEY=
@@ -66,7 +66,7 @@
66
66
  "name": "stdout",
67
67
  "output_type": "stream",
68
68
  "text": [
69
- "User is rdstein@caltech.edu\n"
69
+ "User is rdstein@umd.edu\n"
70
70
  ]
71
71
  }
72
72
  ],
@@ -99,7 +99,7 @@
99
99
  "name": "stdout",
100
100
  "output_type": "stream",
101
101
  "text": [
102
- "Found the following saved programs: ['2024A001']\n"
102
+ "Found the following saved programs: ['2023A001', '2023A002', '2023A999', '2024A000', '2024A001', '2024A004']\n"
103
103
  ]
104
104
  }
105
105
  ],
@@ -112,13 +112,13 @@
112
112
  },
113
113
  {
114
114
  "cell_type": "code",
115
- "execution_count": null,
115
+ "execution_count": 8,
116
116
  "id": "42f4d81b",
117
117
  "metadata": {},
118
118
  "outputs": [],
119
119
  "source": [
120
120
  "# Uncomment to add additional programs\n",
121
- "winter.add_program(overwrite=True)"
121
+ "# winter.add_program(\"2023A002\")"
122
122
  ]
123
123
  },
124
124
  {
@@ -157,7 +157,7 @@
157
157
  "name": "python",
158
158
  "nbconvert_exporter": "python",
159
159
  "pygments_lexer": "ipython3",
160
- "version": "3.11.3"
160
+ "version": "3.14.2"
161
161
  }
162
162
  },
163
163
  "nbformat": 4,
@@ -67,7 +67,7 @@
67
67
  {
68
68
  "data": {
69
69
  "text/plain": [
70
- "WinterRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['Y', 'J'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=960.0, n_dither=8, n_repetitions=1, dither_distance=90.0, start_time_mjd=np.float64(61061.94537127345), end_time_mjd=np.float64(61068.94537128066), max_airmass=2.0, use_best_detector=True, camera='winter', single_exposure_time=120.0)"
70
+ "WinterRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['Y', 'J'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=960.0, n_dither=8, n_repetitions=1, dither_distance=90.0, start_time_mjd=np.float64(61292.931556917974), end_time_mjd=np.float64(61299.93155692115), max_airmass=2.0, use_best_detector=True, camera='winter', single_exposure_time=120.0)"
71
71
  ]
72
72
  },
73
73
  "execution_count": 6,
@@ -99,7 +99,7 @@
99
99
  {
100
100
  "data": {
101
101
  "text/plain": [
102
- "WinterRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['Hs'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=960.0, n_dither=15, n_repetitions=1, dither_distance=90.0, start_time_mjd=np.float64(61061.94537137891), end_time_mjd=np.float64(61068.94537138248), max_airmass=2.0, use_best_detector=True, camera='winter', single_exposure_time=64.0)"
102
+ "WinterRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['Hs'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=960.0, n_dither=15, n_repetitions=1, dither_distance=90.0, start_time_mjd=np.float64(61292.93155696654), end_time_mjd=np.float64(61299.931556968215), max_airmass=2.0, use_best_detector=True, camera='winter', single_exposure_time=64.0)"
103
103
  ]
104
104
  },
105
105
  "execution_count": 7,
@@ -140,7 +140,7 @@
140
140
  "name": "stdout",
141
141
  "output_type": "stream",
142
142
  "text": [
143
- "Available programs: ['2023A001', '2024A000', '2024A001', '2024A004']\n"
143
+ "Available programs: ['2023A001', '2023A002', '2023A999', '2024A000', '2024A001', '2024A004']\n"
144
144
  ]
145
145
  }
146
146
  ],
@@ -215,8 +215,8 @@
215
215
  " <td>MKasliwal</td>\n",
216
216
  " <td>2024A000</td>\n",
217
217
  " <td>3</td>\n",
218
- " <td>61061.945371</td>\n",
219
- " <td>61068.945371</td>\n",
218
+ " <td>61292.931557</td>\n",
219
+ " <td>61299.931557</td>\n",
220
220
  " <td>False</td>\n",
221
221
  " <td>2.0</td>\n",
222
222
  " <td>8</td>\n",
@@ -238,8 +238,8 @@
238
238
  " <td>MKasliwal</td>\n",
239
239
  " <td>2024A000</td>\n",
240
240
  " <td>3</td>\n",
241
- " <td>61061.945371</td>\n",
242
- " <td>61068.945371</td>\n",
241
+ " <td>61292.931557</td>\n",
242
+ " <td>61299.931557</td>\n",
243
243
  " <td>False</td>\n",
244
244
  " <td>2.0</td>\n",
245
245
  " <td>8</td>\n",
@@ -261,8 +261,8 @@
261
261
  " <td>MKasliwal</td>\n",
262
262
  " <td>2024A000</td>\n",
263
263
  " <td>3</td>\n",
264
- " <td>61061.945371</td>\n",
265
- " <td>61068.945371</td>\n",
264
+ " <td>61292.931557</td>\n",
265
+ " <td>61299.931557</td>\n",
266
266
  " <td>False</td>\n",
267
267
  " <td>2.0</td>\n",
268
268
  " <td>15</td>\n",
@@ -282,14 +282,14 @@
282
282
  "2 ZTF25aclckzl 144.419513 20.037579 999999999 Hs 960.0 \n",
283
283
  "\n",
284
284
  " singleExpTime priority progPI progName progID validStart \\\n",
285
- "0 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
286
- "1 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
287
- "2 64.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
285
+ "0 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
286
+ "1 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
287
+ "2 64.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
288
288
  "\n",
289
289
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
290
- "0 61068.945371 False 2.0 8 90.0 \n",
291
- "1 61068.945371 False 2.0 8 90.0 \n",
292
- "2 61068.945371 False 2.0 15 90.0 \n",
290
+ "0 61299.931557 False 2.0 8 90.0 \n",
291
+ "1 61299.931557 False 2.0 8 90.0 \n",
292
+ "2 61299.931557 False 2.0 15 90.0 \n",
293
293
  "\n",
294
294
  " bestDetector camera obsHistID \n",
295
295
  "0 True winter 0 \n",
@@ -331,7 +331,7 @@
331
331
  {
332
332
  "data": {
333
333
  "text/plain": [
334
- "'Request passed validation! Triggering was set to False. Schedule was not saved to disk and has no assigned name.'"
334
+ "'Request passed validation! Triggering was set to False. Program 2024A000 has 522.9 hours used, and 93.1 hours remaining. Schedule was not saved to disk and has no assigned name.'"
335
335
  ]
336
336
  },
337
337
  "execution_count": 12,
@@ -407,8 +407,8 @@
407
407
  " <td>MKasliwal</td>\n",
408
408
  " <td>2024A000</td>\n",
409
409
  " <td>3</td>\n",
410
- " <td>61061.945371</td>\n",
411
- " <td>61068.945371</td>\n",
410
+ " <td>61292.931557</td>\n",
411
+ " <td>61299.931557</td>\n",
412
412
  " <td>False</td>\n",
413
413
  " <td>2.0</td>\n",
414
414
  " <td>8</td>\n",
@@ -430,8 +430,8 @@
430
430
  " <td>MKasliwal</td>\n",
431
431
  " <td>2024A000</td>\n",
432
432
  " <td>3</td>\n",
433
- " <td>61061.945371</td>\n",
434
- " <td>61068.945371</td>\n",
433
+ " <td>61292.931557</td>\n",
434
+ " <td>61299.931557</td>\n",
435
435
  " <td>False</td>\n",
436
436
  " <td>2.0</td>\n",
437
437
  " <td>8</td>\n",
@@ -453,8 +453,8 @@
453
453
  " <td>MKasliwal</td>\n",
454
454
  " <td>2024A000</td>\n",
455
455
  " <td>3</td>\n",
456
- " <td>61061.945371</td>\n",
457
- " <td>61068.945371</td>\n",
456
+ " <td>61292.931557</td>\n",
457
+ " <td>61299.931557</td>\n",
458
458
  " <td>False</td>\n",
459
459
  " <td>2.0</td>\n",
460
460
  " <td>15</td>\n",
@@ -474,14 +474,14 @@
474
474
  "2 ZTF25aclckzl 144.419513 20.037579 999999999 Hs 960.0 \n",
475
475
  "\n",
476
476
  " singleExpTime priority progPI progName progID validStart \\\n",
477
- "0 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
478
- "1 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
479
- "2 64.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
477
+ "0 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
478
+ "1 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
479
+ "2 64.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
480
480
  "\n",
481
481
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
482
- "0 61068.945371 False 2.0 8 90.0 \n",
483
- "1 61068.945371 False 2.0 8 90.0 \n",
484
- "2 61068.945371 False 2.0 15 90.0 \n",
482
+ "0 61299.931557 False 2.0 8 90.0 \n",
483
+ "1 61299.931557 False 2.0 8 90.0 \n",
484
+ "2 61299.931557 False 2.0 15 90.0 \n",
485
485
  "\n",
486
486
  " bestDetector camera obsHistID \n",
487
487
  "0 True winter 0 \n",
@@ -508,7 +508,7 @@
508
508
  {
509
509
  "data": {
510
510
  "text/plain": [
511
- "\"Request passed validation! Triggering was set to True. Schedule name is 'request_2024A000_2026_01_21_14_42_19' .\""
511
+ "\"Request passed validation! Triggering was set to True. Program 2024A000 has 522.9 hours used, and 93.1 hours remaining. Schedule name is 'request_2024A000_2026_09_09_18_22_20' .\""
512
512
  ]
513
513
  },
514
514
  "execution_count": 14,
@@ -587,8 +587,8 @@
587
587
  " <td>MKasliwal</td>\n",
588
588
  " <td>2024A000</td>\n",
589
589
  " <td>3</td>\n",
590
- " <td>61061.945371</td>\n",
591
- " <td>61068.945371</td>\n",
590
+ " <td>61292.931557</td>\n",
591
+ " <td>61299.931557</td>\n",
592
592
  " <td>False</td>\n",
593
593
  " <td>2.0</td>\n",
594
594
  " <td>8</td>\n",
@@ -610,8 +610,8 @@
610
610
  " <td>MKasliwal</td>\n",
611
611
  " <td>2024A000</td>\n",
612
612
  " <td>3</td>\n",
613
- " <td>61061.945371</td>\n",
614
- " <td>61068.945371</td>\n",
613
+ " <td>61292.931557</td>\n",
614
+ " <td>61299.931557</td>\n",
615
615
  " <td>False</td>\n",
616
616
  " <td>2.0</td>\n",
617
617
  " <td>8</td>\n",
@@ -633,8 +633,8 @@
633
633
  " <td>MKasliwal</td>\n",
634
634
  " <td>2024A000</td>\n",
635
635
  " <td>3</td>\n",
636
- " <td>61061.945371</td>\n",
637
- " <td>61068.945371</td>\n",
636
+ " <td>61292.931557</td>\n",
637
+ " <td>61299.931557</td>\n",
638
638
  " <td>False</td>\n",
639
639
  " <td>2.0</td>\n",
640
640
  " <td>15</td>\n",
@@ -654,14 +654,14 @@
654
654
  "2 ZTF25aclckzl 144.419513 20.037579 999999999 Hs 960.0 \n",
655
655
  "\n",
656
656
  " singleExpTime priority progPI progName progID validStart \\\n",
657
- "0 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
658
- "1 120.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
659
- "2 64.0 50.0 MKasliwal 2024A000 3 61061.945371 \n",
657
+ "0 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
658
+ "1 120.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
659
+ "2 64.0 50.0 MKasliwal 2024A000 3 61292.931557 \n",
660
660
  "\n",
661
661
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
662
- "0 61068.945371 False 2.0 8 90.0 \n",
663
- "1 61068.945371 False 2.0 8 90.0 \n",
664
- "2 61068.945371 False 2.0 15 90.0 \n",
662
+ "0 61299.931557 False 2.0 8 90.0 \n",
663
+ "1 61299.931557 False 2.0 8 90.0 \n",
664
+ "2 61299.931557 False 2.0 15 90.0 \n",
665
665
  "\n",
666
666
  " bestDetector camera obsHistID \n",
667
667
  "0 True winter 0 \n",
@@ -704,7 +704,7 @@
704
704
  {
705
705
  "data": {
706
706
  "text/plain": [
707
- "SpringRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['J'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=900.0, n_dither=30, n_repetitions=1, dither_distance=60.0, start_time_mjd=np.float64(61061.9460627211), end_time_mjd=np.float64(61068.94606272622), max_airmass=2.0, use_best_detector=True, camera='spring', single_exposure_time=30.0)"
707
+ "SpringRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['J'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=900.0, n_dither=30, n_repetitions=1, dither_distance=60.0, start_time_mjd=np.float64(61292.93218200203), end_time_mjd=np.float64(61299.93218200441), max_airmass=2.0, use_best_detector=True, camera='spring', single_exposure_time=30.0)"
708
708
  ]
709
709
  },
710
710
  "execution_count": 16,
@@ -792,8 +792,8 @@
792
792
  " <td>MKasliwal</td>\n",
793
793
  " <td>2024A000</td>\n",
794
794
  " <td>3</td>\n",
795
- " <td>61061.946063</td>\n",
796
- " <td>61068.946063</td>\n",
795
+ " <td>61292.932182</td>\n",
796
+ " <td>61299.932182</td>\n",
797
797
  " <td>False</td>\n",
798
798
  " <td>2.0</td>\n",
799
799
  " <td>30</td>\n",
@@ -811,10 +811,10 @@
811
811
  "0 ZTF25aclckzl 144.419513 20.037579 999999999 J 900.0 \n",
812
812
  "\n",
813
813
  " singleExpTime priority progPI progName progID validStart \\\n",
814
- "0 30.0 50.0 MKasliwal 2024A000 3 61061.946063 \n",
814
+ "0 30.0 50.0 MKasliwal 2024A000 3 61292.932182 \n",
815
815
  "\n",
816
816
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
817
- "0 61068.946063 False 2.0 30 60.0 \n",
817
+ "0 61299.932182 False 2.0 30 60.0 \n",
818
818
  "\n",
819
819
  " bestDetector camera obsHistID \n",
820
820
  "0 True spring 0 "
@@ -862,7 +862,7 @@
862
862
  {
863
863
  "data": {
864
864
  "text/plain": [
865
- "'Request passed validation! Triggering was set to False. Schedule was not saved to disk and has no assigned name.'"
865
+ "'Request passed validation! Triggering was set to False. Program 2024A000 has 522.9 hours used, and 93.1 hours remaining. Schedule was not saved to disk and has no assigned name.'"
866
866
  ]
867
867
  },
868
868
  "execution_count": 20,
@@ -938,8 +938,8 @@
938
938
  " <td>MKasliwal</td>\n",
939
939
  " <td>2024A000</td>\n",
940
940
  " <td>3</td>\n",
941
- " <td>61061.946063</td>\n",
942
- " <td>61068.946063</td>\n",
941
+ " <td>61292.932182</td>\n",
942
+ " <td>61299.932182</td>\n",
943
943
  " <td>False</td>\n",
944
944
  " <td>2.0</td>\n",
945
945
  " <td>30</td>\n",
@@ -957,10 +957,10 @@
957
957
  "0 ZTF25aclckzl 144.419513 20.037579 999999999 J 900.0 \n",
958
958
  "\n",
959
959
  " singleExpTime priority progPI progName progID validStart \\\n",
960
- "0 30.0 50.0 MKasliwal 2024A000 3 61061.946063 \n",
960
+ "0 30.0 50.0 MKasliwal 2024A000 3 61292.932182 \n",
961
961
  "\n",
962
962
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
963
- "0 61068.946063 False 2.0 30 60.0 \n",
963
+ "0 61299.932182 False 2.0 30 60.0 \n",
964
964
  "\n",
965
965
  " bestDetector camera obsHistID \n",
966
966
  "0 True spring 0 "
@@ -1001,7 +1001,7 @@
1001
1001
  {
1002
1002
  "data": {
1003
1003
  "text/plain": [
1004
- "SpringRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['J', 'dark'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=900.0, n_dither=60, n_repetitions=1, dither_distance=60.0, start_time_mjd=np.float64(61061.946349995094), end_time_mjd=np.float64(61068.9463499981), max_airmass=2.0, use_best_detector=True, camera='spring', single_exposure_time=15.0)"
1004
+ "SpringRaDecToO(ra_deg=144.419513, dec_deg=20.037579, use_field_grid=False, filters=['J', 'dark'], target_priority=50.0, target_name='ZTF25aclckzl', total_exposure_time=900.0, n_dither=60, n_repetitions=1, dither_distance=60.0, start_time_mjd=np.float64(61292.93249264312), end_time_mjd=np.float64(61299.93249264478), max_airmass=2.0, use_best_detector=True, camera='spring', single_exposure_time=15.0)"
1005
1005
  ]
1006
1006
  },
1007
1007
  "execution_count": 22,
@@ -1022,7 +1022,7 @@
1022
1022
  },
1023
1023
  {
1024
1024
  "cell_type": "code",
1025
- "execution_count": 24,
1025
+ "execution_count": 23,
1026
1026
  "id": "d31a61be-45a5-41f2-9342-ec27ca9bce76",
1027
1027
  "metadata": {},
1028
1028
  "outputs": [],
@@ -1034,17 +1034,17 @@
1034
1034
  },
1035
1035
  {
1036
1036
  "cell_type": "code",
1037
- "execution_count": 25,
1037
+ "execution_count": 24,
1038
1038
  "id": "fa100f7e-c360-4fdb-9ba2-cf8935eff698",
1039
1039
  "metadata": {},
1040
1040
  "outputs": [
1041
1041
  {
1042
1042
  "data": {
1043
1043
  "text/plain": [
1044
- "'Request passed validation! Triggering was set to False. Schedule was not saved to disk and has no assigned name.'"
1044
+ "'Request passed validation! Triggering was set to False. Program 2024A000 has 522.9 hours used, and 93.1 hours remaining. Schedule was not saved to disk and has no assigned name.'"
1045
1045
  ]
1046
1046
  },
1047
- "execution_count": 25,
1047
+ "execution_count": 24,
1048
1048
  "metadata": {},
1049
1049
  "output_type": "execute_result"
1050
1050
  }
@@ -1056,7 +1056,7 @@
1056
1056
  },
1057
1057
  {
1058
1058
  "cell_type": "code",
1059
- "execution_count": 26,
1059
+ "execution_count": 25,
1060
1060
  "id": "4a8d1758-9732-4bdc-81e5-8751f9d0d908",
1061
1061
  "metadata": {},
1062
1062
  "outputs": [
@@ -1117,8 +1117,8 @@
1117
1117
  " <td>MKasliwal</td>\n",
1118
1118
  " <td>2024A000</td>\n",
1119
1119
  " <td>3</td>\n",
1120
- " <td>61061.946063</td>\n",
1121
- " <td>61068.946063</td>\n",
1120
+ " <td>61292.932182</td>\n",
1121
+ " <td>61299.932182</td>\n",
1122
1122
  " <td>False</td>\n",
1123
1123
  " <td>2.0</td>\n",
1124
1124
  " <td>30</td>\n",
@@ -1136,16 +1136,16 @@
1136
1136
  "0 ZTF25aclckzl 144.419513 20.037579 999999999 J 900.0 \n",
1137
1137
  "\n",
1138
1138
  " singleExpTime priority progPI progName progID validStart \\\n",
1139
- "0 30.0 50.0 MKasliwal 2024A000 3 61061.946063 \n",
1139
+ "0 30.0 50.0 MKasliwal 2024A000 3 61292.932182 \n",
1140
1140
  "\n",
1141
1141
  " validStop observed maxAirmass ditherNumber ditherStepSize \\\n",
1142
- "0 61068.946063 False 2.0 30 60.0 \n",
1142
+ "0 61299.932182 False 2.0 30 60.0 \n",
1143
1143
  "\n",
1144
1144
  " bestDetector camera obsHistID \n",
1145
1145
  "0 True spring 0 "
1146
1146
  ]
1147
1147
  },
1148
- "execution_count": 26,
1148
+ "execution_count": 25,
1149
1149
  "metadata": {},
1150
1150
  "output_type": "execute_result"
1151
1151
  }