citrascope 0.7.0__py3-none-any.whl → 0.8.0__py3-none-any.whl
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.
- citrascope/api/abstract_api_client.py +14 -0
- citrascope/api/citra_api_client.py +41 -0
- citrascope/citra_scope_daemon.py +75 -0
- citrascope/hardware/abstract_astro_hardware_adapter.py +80 -2
- citrascope/hardware/adapter_registry.py +10 -3
- citrascope/hardware/devices/__init__.py +17 -0
- citrascope/hardware/devices/abstract_hardware_device.py +79 -0
- citrascope/hardware/devices/camera/__init__.py +13 -0
- citrascope/hardware/devices/camera/abstract_camera.py +102 -0
- citrascope/hardware/devices/camera/rpi_hq_camera.py +353 -0
- citrascope/hardware/devices/camera/usb_camera.py +402 -0
- citrascope/hardware/devices/camera/ximea_camera.py +744 -0
- citrascope/hardware/devices/device_registry.py +273 -0
- citrascope/hardware/devices/filter_wheel/__init__.py +7 -0
- citrascope/hardware/devices/filter_wheel/abstract_filter_wheel.py +73 -0
- citrascope/hardware/devices/focuser/__init__.py +7 -0
- citrascope/hardware/devices/focuser/abstract_focuser.py +78 -0
- citrascope/hardware/devices/mount/__init__.py +7 -0
- citrascope/hardware/devices/mount/abstract_mount.py +115 -0
- citrascope/hardware/direct_hardware_adapter.py +787 -0
- citrascope/hardware/filter_sync.py +94 -0
- citrascope/hardware/indi_adapter.py +6 -2
- citrascope/hardware/kstars_dbus_adapter.py +46 -37
- citrascope/hardware/nina_adv_http_adapter.py +13 -11
- citrascope/settings/citrascope_settings.py +6 -0
- citrascope/tasks/runner.py +2 -0
- citrascope/tasks/scope/static_telescope_task.py +17 -12
- citrascope/tasks/task.py +3 -0
- citrascope/time/__init__.py +13 -0
- citrascope/time/time_health.py +96 -0
- citrascope/time/time_monitor.py +164 -0
- citrascope/time/time_sources.py +62 -0
- citrascope/web/app.py +229 -51
- citrascope/web/static/app.js +296 -36
- citrascope/web/static/config.js +216 -81
- citrascope/web/static/filters.js +55 -0
- citrascope/web/static/style.css +39 -0
- citrascope/web/templates/dashboard.html +114 -9
- {citrascope-0.7.0.dist-info → citrascope-0.8.0.dist-info}/METADATA +17 -1
- citrascope-0.8.0.dist-info/RECORD +62 -0
- citrascope-0.7.0.dist-info/RECORD +0 -41
- {citrascope-0.7.0.dist-info → citrascope-0.8.0.dist-info}/WHEEL +0 -0
- {citrascope-0.7.0.dist-info → citrascope-0.8.0.dist-info}/entry_points.txt +0 -0
- {citrascope-0.7.0.dist-info → citrascope-0.8.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -67,17 +67,51 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
<div class="row mb-2">
|
|
69
69
|
<div class="col-6 fw-semibold">Camera</div>
|
|
70
|
-
<div class="col-6" id="cameraConnected"><span class="badge rounded-pill bg-secondary">Unknown</span></div>
|
|
70
|
+
<div class="col-6 d-flex align-items-center gap-2" id="cameraConnected"><span class="badge rounded-pill bg-secondary">Unknown</span></div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="row mb-2">
|
|
73
|
+
<div class="col-6 fw-semibold">
|
|
74
|
+
<span data-bs-toggle="tooltip" data-bs-theme="dark" data-bs-placement="top" title="Controls whether the Citra.space server will automatically assign new observation tasks to this telescope">
|
|
75
|
+
Automated Scheduling
|
|
76
|
+
</span>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="col-6 d-flex align-items-center gap-2">
|
|
79
|
+
<span id="automatedSchedulingStatus"><span class="badge rounded-pill bg-secondary">Unknown</span></span>
|
|
80
|
+
<div class="form-check form-switch">
|
|
81
|
+
<input class="form-check-input" type="checkbox" id="toggleAutomatedSchedulingSwitch" title="Toggle automated scheduling">
|
|
82
|
+
<label class="form-check-label visually-hidden" for="toggleAutomatedSchedulingSwitch">Automated Scheduling</label>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
71
85
|
</div>
|
|
72
86
|
<div class="row">
|
|
73
|
-
<div class="col-6 fw-semibold">
|
|
87
|
+
<div class="col-6 fw-semibold">
|
|
88
|
+
<span data-bs-toggle="tooltip" data-bs-theme="dark" data-bs-placement="top" title="Controls whether this local daemon will execute tasks from its queue. Pause to safely stop observations without canceling scheduled tasks">
|
|
89
|
+
Task Processing
|
|
90
|
+
</span>
|
|
91
|
+
</div>
|
|
74
92
|
<div class="col-6 d-flex align-items-center gap-2">
|
|
75
93
|
<span id="processingStatus"><span class="badge rounded-pill bg-success">Active</span></span>
|
|
76
|
-
<
|
|
77
|
-
<
|
|
78
|
-
|
|
94
|
+
<div class="form-check form-switch">
|
|
95
|
+
<input class="form-check-input" type="checkbox" id="toggleProcessingSwitch" checked title="Toggle task processing">
|
|
96
|
+
<label class="form-check-label visually-hidden" for="toggleProcessingSwitch">Task Processing</label>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
</div>
|
|
100
|
+
<div class="row">
|
|
101
|
+
<div class="col-6 fw-semibold">
|
|
102
|
+
<span data-bs-toggle="tooltip" data-bs-theme="dark" data-bs-placement="top" title="System clock synchronization status. Accurate time is critical for astronomical observations">
|
|
103
|
+
Time Sync
|
|
104
|
+
</span>
|
|
105
|
+
</div>
|
|
106
|
+
<div class="col-6 d-flex align-items-center gap-2">
|
|
107
|
+
<span id="timeSyncStatus"><span class="badge rounded-pill bg-secondary">Unknown</span></span>
|
|
108
|
+
<small class="text-muted" id="timeOffsetDisplay">-</small>
|
|
79
109
|
</div>
|
|
80
110
|
</div>
|
|
111
|
+
<!-- Missing Dependencies Alert -->
|
|
112
|
+
<div id="missingDependenciesAlert" class="alert alert-warning mt-3 mb-0" role="alert" style="display: none;">
|
|
113
|
+
<!-- Populated by JavaScript -->
|
|
114
|
+
</div>
|
|
81
115
|
</div>
|
|
82
116
|
</div>
|
|
83
117
|
</div>
|
|
@@ -92,12 +126,12 @@
|
|
|
92
126
|
<div class="col-6" id="hardwareAdapter">-</div>
|
|
93
127
|
</div>
|
|
94
128
|
<div class="row mb-2">
|
|
95
|
-
<div class="col-6 fw-semibold">
|
|
96
|
-
<div class="col-6" id="
|
|
129
|
+
<div class="col-6 fw-semibold">RA / DEC</div>
|
|
130
|
+
<div class="col-6" id="telescopeCoords">-</div>
|
|
97
131
|
</div>
|
|
98
132
|
<div class="row mb-2">
|
|
99
|
-
<div class="col-6 fw-semibold">
|
|
100
|
-
<div class="col-6" id="
|
|
133
|
+
<div class="col-6 fw-semibold">Enabled Filters</div>
|
|
134
|
+
<div class="col-6" id="enabledFilters">-</div>
|
|
101
135
|
</div>
|
|
102
136
|
<div class="row">
|
|
103
137
|
<div class="col-6 fw-semibold">Ground Station</div>
|
|
@@ -236,6 +270,11 @@
|
|
|
236
270
|
<!-- Dynamic Adapter Settings Container -->
|
|
237
271
|
<div id="adapter-settings-container"></div>
|
|
238
272
|
|
|
273
|
+
<!-- Missing Dependencies Alert (Config Page) -->
|
|
274
|
+
<div id="configMissingDependenciesAlert" class="alert alert-warning mt-3" role="alert" style="display: none;">
|
|
275
|
+
<!-- Populated by JavaScript -->
|
|
276
|
+
</div>
|
|
277
|
+
|
|
239
278
|
<!-- Filter Configuration Section (shown when adapter supports filters) -->
|
|
240
279
|
<div id="filterConfigSection" style="display: none; margin-top: 1.5rem;">
|
|
241
280
|
<hr class="border-secondary">
|
|
@@ -306,6 +345,24 @@
|
|
|
306
345
|
</div>
|
|
307
346
|
</div>
|
|
308
347
|
|
|
348
|
+
<!-- Time Synchronization Settings Card -->
|
|
349
|
+
<div class="col-12">
|
|
350
|
+
<div class="card bg-dark text-light border-secondary">
|
|
351
|
+
<div class="card-header">
|
|
352
|
+
<h5 class="mb-0">Time Synchronization</h5>
|
|
353
|
+
</div>
|
|
354
|
+
<div class="card-body">
|
|
355
|
+
<div class="row g-3">
|
|
356
|
+
<div class="col-12 col-md-6">
|
|
357
|
+
<label for="time_offset_pause_ms" class="form-label">Pause Threshold (ms)</label>
|
|
358
|
+
<input type="number" class="form-control form-control-sm" id="time_offset_pause_ms" min="1" max="10000" step="1" value="500">
|
|
359
|
+
<small class="text-muted">Clock drift that triggers task pause (NTP-based monitoring)</small>
|
|
360
|
+
</div>
|
|
361
|
+
</div>
|
|
362
|
+
</div>
|
|
363
|
+
</div>
|
|
364
|
+
</div>
|
|
365
|
+
|
|
309
366
|
<!-- Logging Settings Card -->
|
|
310
367
|
<div class="col-12">
|
|
311
368
|
<div class="card bg-dark text-light border-secondary">
|
|
@@ -514,6 +571,54 @@
|
|
|
514
571
|
</div>
|
|
515
572
|
</div>
|
|
516
573
|
|
|
574
|
+
<!-- Camera Control Modal -->
|
|
575
|
+
<div class="modal fade" id="cameraControlModal" tabindex="-1" aria-labelledby="cameraControlModalLabel" aria-hidden="true">
|
|
576
|
+
<div class="modal-dialog modal-lg modal-dialog-centered">
|
|
577
|
+
<div class="modal-content bg-dark text-light border-secondary">
|
|
578
|
+
<div class="modal-header border-secondary">
|
|
579
|
+
<h5 class="modal-title" id="cameraControlModalLabel"><i class="bi bi-camera"></i> Camera Control</h5>
|
|
580
|
+
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
581
|
+
</div>
|
|
582
|
+
<div class="modal-body">
|
|
583
|
+
<div class="row g-3">
|
|
584
|
+
<div class="col-12">
|
|
585
|
+
<label for="exposureDuration" class="form-label">Exposure Duration (seconds)</label>
|
|
586
|
+
<input type="number" id="exposureDuration" class="form-control" value="0.1" min="0.001" max="300" step="0.001">
|
|
587
|
+
<small class="text-muted">Range: 0.001 to 300 seconds</small>
|
|
588
|
+
</div>
|
|
589
|
+
</div>
|
|
590
|
+
|
|
591
|
+
<!-- Capture Result Area -->
|
|
592
|
+
<div id="captureResult" class="mt-3" style="display: none;">
|
|
593
|
+
<hr class="border-secondary">
|
|
594
|
+
<h6>Latest Capture</h6>
|
|
595
|
+
<div class="alert alert-success mb-2">
|
|
596
|
+
<strong>Filename:</strong> <span id="captureFilename"></span><br>
|
|
597
|
+
<strong>Format:</strong> <span id="captureFormat"></span>
|
|
598
|
+
</div>
|
|
599
|
+
</div>
|
|
600
|
+
|
|
601
|
+
<!-- Images Directory -->
|
|
602
|
+
<div class="mt-3">
|
|
603
|
+
<hr class="border-secondary">
|
|
604
|
+
<h6>Images Directory</h6>
|
|
605
|
+
<p class="text-muted small mb-1">All captured images are saved to:</p>
|
|
606
|
+
<p><a href="#" id="imagesDirLink" class="text-break"></a></p>
|
|
607
|
+
</div>
|
|
608
|
+
</div>
|
|
609
|
+
<div class="modal-footer border-secondary">
|
|
610
|
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
|
611
|
+
<button type="button" class="btn btn-primary" id="captureButton" onclick="captureImage()">
|
|
612
|
+
<span id="captureButtonText">Capture</span>
|
|
613
|
+
<span id="captureButtonSpinner" class="spinner-border spinner-border-sm ms-2" role="status" style="display: none;">
|
|
614
|
+
<span class="visually-hidden">Capturing...</span>
|
|
615
|
+
</span>
|
|
616
|
+
</button>
|
|
617
|
+
</div>
|
|
618
|
+
</div>
|
|
619
|
+
</div>
|
|
620
|
+
</div>
|
|
621
|
+
|
|
517
622
|
<!-- Toast Container for Notifications -->
|
|
518
623
|
<div class="toast-container position-fixed top-0 end-0 p-3" style="z-index: 9999;" id="toastContainer"></div>
|
|
519
624
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: citrascope
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: Remotely control a telescope while it polls for tasks, collects and edge processes data, and delivers results and data for further processing.
|
|
5
5
|
Project-URL: Homepage, https://citra.space
|
|
6
6
|
Project-URL: Documentation, https://docs.citra.space/citrascope/
|
|
@@ -25,6 +25,7 @@ Requires-Python: <3.13,>=3.10
|
|
|
25
25
|
Requires-Dist: click
|
|
26
26
|
Requires-Dist: fastapi>=0.104.0
|
|
27
27
|
Requires-Dist: httpx
|
|
28
|
+
Requires-Dist: ntplib>=0.4.0
|
|
28
29
|
Requires-Dist: platformdirs>=4.0.0
|
|
29
30
|
Requires-Dist: python-dateutil
|
|
30
31
|
Requires-Dist: requests
|
|
@@ -36,6 +37,14 @@ Requires-Dist: dbus-python; extra == 'all'
|
|
|
36
37
|
Requires-Dist: pixelemon; extra == 'all'
|
|
37
38
|
Requires-Dist: plotly; extra == 'all'
|
|
38
39
|
Requires-Dist: pyindi-client; extra == 'all'
|
|
40
|
+
Provides-Extra: all-hardware
|
|
41
|
+
Requires-Dist: cv2-enumerate-cameras>=1.0.0; extra == 'all-hardware'
|
|
42
|
+
Requires-Dist: opencv-python>=4.8.0; extra == 'all-hardware'
|
|
43
|
+
Requires-Dist: picamera2>=0.3.12; extra == 'all-hardware'
|
|
44
|
+
Requires-Dist: pixelemon; extra == 'all-hardware'
|
|
45
|
+
Requires-Dist: plotly; extra == 'all-hardware'
|
|
46
|
+
Requires-Dist: pyindi-client; extra == 'all-hardware'
|
|
47
|
+
Requires-Dist: ximea-api>=1.0.0; extra == 'all-hardware'
|
|
39
48
|
Provides-Extra: build
|
|
40
49
|
Requires-Dist: build; extra == 'build'
|
|
41
50
|
Provides-Extra: deploy
|
|
@@ -58,10 +67,17 @@ Requires-Dist: plotly; extra == 'indi'
|
|
|
58
67
|
Requires-Dist: pyindi-client; extra == 'indi'
|
|
59
68
|
Provides-Extra: kstars
|
|
60
69
|
Requires-Dist: dbus-python; extra == 'kstars'
|
|
70
|
+
Provides-Extra: rpi
|
|
71
|
+
Requires-Dist: picamera2>=0.3.12; extra == 'rpi'
|
|
61
72
|
Provides-Extra: test
|
|
62
73
|
Requires-Dist: mockito; extra == 'test'
|
|
63
74
|
Requires-Dist: pytest; extra == 'test'
|
|
64
75
|
Requires-Dist: pytest-cov; extra == 'test'
|
|
76
|
+
Provides-Extra: usb-camera
|
|
77
|
+
Requires-Dist: cv2-enumerate-cameras>=1.0.0; extra == 'usb-camera'
|
|
78
|
+
Requires-Dist: opencv-python>=4.8.0; extra == 'usb-camera'
|
|
79
|
+
Provides-Extra: ximea
|
|
80
|
+
Requires-Dist: ximea-api>=1.0.0; extra == 'ximea'
|
|
65
81
|
Description-Content-Type: text/markdown
|
|
66
82
|
|
|
67
83
|
# CitraScope
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
citrascope/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
citrascope/__main__.py,sha256=W7uY30MOuIlmhzVEoiZ_6BMmKrsqIvxcAxqw4-pOT3k,596
|
|
3
|
+
citrascope/citra_scope_daemon.py,sha256=VIvRnvrsx1spfefHwTzkaxO7lAiNi0aau1EiDyYI8S4,16050
|
|
4
|
+
citrascope/constants.py,sha256=Mc7SLzCelUMDV96BIwP684fFLGANCOEO_mM3GCeRDVY,968
|
|
5
|
+
citrascope/api/abstract_api_client.py,sha256=GJXpHTQEsE3QRbRjLCj3LkQsxvtPxHggXieQLomAO1o,1012
|
|
6
|
+
citrascope/api/citra_api_client.py,sha256=JOu5uNuBYXizmQZWUo77YNjOdMA_uSc7RA8qzw_4e7M,7570
|
|
7
|
+
citrascope/hardware/abstract_astro_hardware_adapter.py,sha256=vRlBFvGlzgb8AQIEojwGC68KFkhq5sELjZ9XWoOtf5k,14381
|
|
8
|
+
citrascope/hardware/adapter_registry.py,sha256=7Vi6RRxb5ygIJeHXd6objp9h0w96_JKaz2TnADkbv8Y,3597
|
|
9
|
+
citrascope/hardware/direct_hardware_adapter.py,sha256=eKYXQ2fx_RZ3A_b0Zh1SsawFnGHHXiVHTiUjWTPOkmo,29031
|
|
10
|
+
citrascope/hardware/filter_sync.py,sha256=jOo_P78TJC_FYhvm2SHvCAvQoBkVQNBiBx7jUSBdqhg,3463
|
|
11
|
+
citrascope/hardware/indi_adapter.py,sha256=VvlB13-9hk0ytfUjdNTGsLHfUz2q062KPDesBS8qxUQ,30060
|
|
12
|
+
citrascope/hardware/kstars_dbus_adapter.py,sha256=kpP8wC_HDHvPNMkynBiT7KGVGmi5F5_4uCQ7BJrOZHY,43439
|
|
13
|
+
citrascope/hardware/kstars_scheduler_template.esl,sha256=uHbS3Zs1S9_hz8kiMkrkZj5ye0z1T1zsy_8MO4N0D4Y,836
|
|
14
|
+
citrascope/hardware/kstars_sequence_template.esq,sha256=u1fzSGtyq7ybKvZcNRjDtQK7QnrQim-E6qiZyG9P7H0,626
|
|
15
|
+
citrascope/hardware/nina_adv_http_adapter.py,sha256=NZNF-_BMZVNhlOsx4k39v2hrTQWSJ1RTrEIe30rrCOg,28619
|
|
16
|
+
citrascope/hardware/nina_adv_http_survey_template.json,sha256=5y0l0h0rWZK6i6GxfAn-9rx7wA7aN5deAVe7op9RKPo,14480
|
|
17
|
+
citrascope/hardware/devices/__init__.py,sha256=6G9wIiSXDsKxAqW1goP6lWePbYfHpoW8j39OEeDsHqs,576
|
|
18
|
+
citrascope/hardware/devices/abstract_hardware_device.py,sha256=CYaLaOQ7TMjuZMfiYZnnERTuvCl-hSHv45qwDhxhPoo,2118
|
|
19
|
+
citrascope/hardware/devices/device_registry.py,sha256=1_ools6WQrbCtvb-9x6xStyeRnMXRtQ9P3BrhTFG2P4,8818
|
|
20
|
+
citrascope/hardware/devices/camera/__init__.py,sha256=ItA7cymHoMy-vnyk562XOcibLovCI5w4t1jixfzU0Ro,456
|
|
21
|
+
citrascope/hardware/devices/camera/abstract_camera.py,sha256=0s16dl8Pc8b4xYQH-KMJ-zHEwAofrDjk9cbm9ZNQcbQ,2857
|
|
22
|
+
citrascope/hardware/devices/camera/rpi_hq_camera.py,sha256=6mMU2l-GbdYhta6vP2HzF2OYdw2YW0UWqRDlhQtBn3k,11658
|
|
23
|
+
citrascope/hardware/devices/camera/usb_camera.py,sha256=JkyYyZS2esgSkksu56Ro6yDsZi_dP1TWWWd1jy0tvpg,14096
|
|
24
|
+
citrascope/hardware/devices/camera/ximea_camera.py,sha256=TpmQZeNBp4MM7R4icOghdg00IwVh7YTyZGpZ3fdDiBA,30715
|
|
25
|
+
citrascope/hardware/devices/filter_wheel/__init__.py,sha256=CukW3VbU3ttrTcKvVwvGiOrWhIe3fhjhVnMK7DVChK8,174
|
|
26
|
+
citrascope/hardware/devices/filter_wheel/abstract_filter_wheel.py,sha256=iMwZDOmZbjsfjQNSBTaAZCAmY_iO-siIB1o5078h8X4,1822
|
|
27
|
+
citrascope/hardware/devices/focuser/__init__.py,sha256=lPbSW43_gjYU9Q6E1pEHw-dMorA6F4vHms2JbdIZOnA,151
|
|
28
|
+
citrascope/hardware/devices/focuser/abstract_focuser.py,sha256=NfNzSVsqQEWwXVTmUFeTfCzV16jE66s_2TcQECME7lE,1959
|
|
29
|
+
citrascope/hardware/devices/mount/__init__.py,sha256=swyX-IXdZ_4gZa3MMLWgHdu2hTDjjgOkEOdrMdv1-fI,141
|
|
30
|
+
citrascope/hardware/devices/mount/abstract_mount.py,sha256=QKneKhK_YFyIFiEEld2w1O80U9IqjtHMggX30nLEUGw,2790
|
|
31
|
+
citrascope/logging/__init__.py,sha256=YU38HLMWfbXh_H-s7W7Zx2pbCR4f_tRk7z0G8xqz4_o,179
|
|
32
|
+
citrascope/logging/_citrascope_logger.py,sha256=GkqNpFJWiatqrBr8t4o2nHt7V9bBDJ8mysM0F4AXMa8,3479
|
|
33
|
+
citrascope/logging/web_log_handler.py,sha256=d0XQzHJZ5M1v3H351tdkBYg7EOwFzXpp7PA9nYejIV0,2659
|
|
34
|
+
citrascope/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
35
|
+
citrascope/settings/citrascope_settings.py,sha256=iClMV57Qd3_fTlC6nagAJg7M635x_Fu1kmhn3FH_o2k,7090
|
|
36
|
+
citrascope/settings/settings_file_manager.py,sha256=Yijb-I9hbbVJ2thkr7OrfkNknSPt1RDpsE7VvqAs0a8,4193
|
|
37
|
+
citrascope/tasks/runner.py,sha256=uEXMP_FSpi3zCqekvWWx4w6vRG-k3LdbfKwT77EsUrA,18292
|
|
38
|
+
citrascope/tasks/task.py,sha256=wK6t5iWhxxB0SC9k2nT_FS0ohBLnimwgBoWdAQQtrgI,1429
|
|
39
|
+
citrascope/tasks/scope/base_telescope_task.py,sha256=wIdyUxplFNhf_YMdCXOK6pG7HF7tZn_id59TvYyWZAY,9674
|
|
40
|
+
citrascope/tasks/scope/static_telescope_task.py,sha256=WYoqCPool2_Sel5VvjEAWWg_ZvytW9Y9wUxLPc6-Ojw,1627
|
|
41
|
+
citrascope/tasks/scope/tracking_telescope_task.py,sha256=k5LEmEi_xnFHNjqPNYb8_tqDdCFD3YGe25Wh_brJXHk,1130
|
|
42
|
+
citrascope/time/__init__.py,sha256=sN81g6VT2qiyEF6e1RAPba2m0PRdcaSCwNUyx1mMnzQ,363
|
|
43
|
+
citrascope/time/time_health.py,sha256=jRrERYbzqNRzjJejW1Zp04Ka85P3EYZGMOd15bH5KIU,2598
|
|
44
|
+
citrascope/time/time_monitor.py,sha256=GAb6Otc3iwMd_HR7mV6Gxsne3y08wgIu1a5lzc_3KYs,5828
|
|
45
|
+
citrascope/time/time_sources.py,sha256=3oPKV6s44DsVmyRyxyPhRmyr8YTAErMzrmFHe_BT5_U,1739
|
|
46
|
+
citrascope/web/__init__.py,sha256=CgU36fyNSxGXjUy3hsHwx7UxF8UO4Qsb7PjC9-6tRmY,38
|
|
47
|
+
citrascope/web/app.py,sha256=hu2IErgjOAcRyFnIMhFIF50fe-S4eQMzrPJXE8dlqDg,37109
|
|
48
|
+
citrascope/web/server.py,sha256=IJJk4HgEwcsjHercL-Q5z39NmJRbkNk_51HIUKKhtRE,5242
|
|
49
|
+
citrascope/web/static/api.js,sha256=s-b1FIw-pTo3A8kLlLINVqHhIvfHwTWA7cEvz4N8Gqc,1924
|
|
50
|
+
citrascope/web/static/app.js,sha256=kXrPGeO2UqEc2RVTdVw7XTYzIOlSWSasPcvEhuSbo9I,39169
|
|
51
|
+
citrascope/web/static/config.js,sha256=MynZZMoF61UstDZbQ5ctDMmuCugPE7R5WP80IcUmgF0,35730
|
|
52
|
+
citrascope/web/static/filters.js,sha256=a_Ug4potNvcNu1Q-d7eodUdixZuXOIQYVdBOEdqhmn8,1768
|
|
53
|
+
citrascope/web/static/style.css,sha256=AMmdJ3aR7aAst71j7HP41_KiwyjjeqNLu5DsDJ_mahk,3690
|
|
54
|
+
citrascope/web/static/websocket.js,sha256=UITw1DDfehOKpjlltn5MXhewZYGKzPFmaTtMFtC0-Ps,3931
|
|
55
|
+
citrascope/web/static/img/citra.png,sha256=Bq8dPWB6fNz7a_H0FuEtNmZWcPHH2iV2OC-fMg4REbQ,205570
|
|
56
|
+
citrascope/web/static/img/favicon.png,sha256=zrbUlpFXDB_zmsIdhhn8_klnc2Ma3N6Q8ouBMAxFjbM,24873
|
|
57
|
+
citrascope/web/templates/dashboard.html,sha256=Sci5M57E9px-Pquokw5xXvhipBOhaQ2iVo5hb9jgvAw,39877
|
|
58
|
+
citrascope-0.8.0.dist-info/METADATA,sha256=kQPmtCYhE_dYgd3HvEd-51owPjUYBqoyk5HZ81eKGQw,8693
|
|
59
|
+
citrascope-0.8.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
60
|
+
citrascope-0.8.0.dist-info/entry_points.txt,sha256=fP22Lt8bNZ_whBowDnOWSADf_FUrgAWnIhqqPf5Xo2g,55
|
|
61
|
+
citrascope-0.8.0.dist-info/licenses/LICENSE,sha256=4B_Ug8tnhTwde7QywOV3HhQcweHJeI0QaGdZfJLxsV8,1068
|
|
62
|
+
citrascope-0.8.0.dist-info/RECORD,,
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
citrascope/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
citrascope/__main__.py,sha256=W7uY30MOuIlmhzVEoiZ_6BMmKrsqIvxcAxqw4-pOT3k,596
|
|
3
|
-
citrascope/citra_scope_daemon.py,sha256=KDj_48zN1SFB-82Amc_IqTnmE_ExV2bRwklQPkAtT8o,12759
|
|
4
|
-
citrascope/constants.py,sha256=Mc7SLzCelUMDV96BIwP684fFLGANCOEO_mM3GCeRDVY,968
|
|
5
|
-
citrascope/api/abstract_api_client.py,sha256=gjmA9mw1O-TK16nYahOWClAwqPc_L1E3F2llZJeKTPw,624
|
|
6
|
-
citrascope/api/citra_api_client.py,sha256=8rpz25Diy8YhuCiQ9HqMi4TIqxAc6BbrvqoFu8u-orQ,6007
|
|
7
|
-
citrascope/hardware/abstract_astro_hardware_adapter.py,sha256=S7vBG2cBA-EOR8XC_7H4enR6gTiAgeC-3hjN2T7Voco,10546
|
|
8
|
-
citrascope/hardware/adapter_registry.py,sha256=fFIZhXYphZ_p480c6hICpcx9fNOeX-EG2tvLHm372dM,3170
|
|
9
|
-
citrascope/hardware/indi_adapter.py,sha256=uNrjkfxD0zjOPfar6J-frb6A87VkEjsL7SD9N9bEsC8,29903
|
|
10
|
-
citrascope/hardware/kstars_dbus_adapter.py,sha256=1Al4ZZNHUXyue8qEr0ryrwJ36a2gOC77GiK6pN_0QLc,43059
|
|
11
|
-
citrascope/hardware/kstars_scheduler_template.esl,sha256=uHbS3Zs1S9_hz8kiMkrkZj5ye0z1T1zsy_8MO4N0D4Y,836
|
|
12
|
-
citrascope/hardware/kstars_sequence_template.esq,sha256=u1fzSGtyq7ybKvZcNRjDtQK7QnrQim-E6qiZyG9P7H0,626
|
|
13
|
-
citrascope/hardware/nina_adv_http_adapter.py,sha256=ul2vkoI9RvvWkEH8FGtUkqlAhoKUqSnUySNPz9Xs8Cw,28620
|
|
14
|
-
citrascope/hardware/nina_adv_http_survey_template.json,sha256=5y0l0h0rWZK6i6GxfAn-9rx7wA7aN5deAVe7op9RKPo,14480
|
|
15
|
-
citrascope/logging/__init__.py,sha256=YU38HLMWfbXh_H-s7W7Zx2pbCR4f_tRk7z0G8xqz4_o,179
|
|
16
|
-
citrascope/logging/_citrascope_logger.py,sha256=GkqNpFJWiatqrBr8t4o2nHt7V9bBDJ8mysM0F4AXMa8,3479
|
|
17
|
-
citrascope/logging/web_log_handler.py,sha256=d0XQzHJZ5M1v3H351tdkBYg7EOwFzXpp7PA9nYejIV0,2659
|
|
18
|
-
citrascope/settings/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
|
-
citrascope/settings/citrascope_settings.py,sha256=XQUcI1n_8WULtHNNa1lFG1q3Qa1bcNrH4pI9-kKonpY,6698
|
|
20
|
-
citrascope/settings/settings_file_manager.py,sha256=Yijb-I9hbbVJ2thkr7OrfkNknSPt1RDpsE7VvqAs0a8,4193
|
|
21
|
-
citrascope/tasks/runner.py,sha256=JHGaKPMsioAUB1feyLagDil-Q-XsSKr0xEi49HNeL0E,18099
|
|
22
|
-
citrascope/tasks/task.py,sha256=0u0oN56E6KaNz19ba_7WuY43Sk4CTXc8UPT7sdUpRXo,1287
|
|
23
|
-
citrascope/tasks/scope/base_telescope_task.py,sha256=wIdyUxplFNhf_YMdCXOK6pG7HF7tZn_id59TvYyWZAY,9674
|
|
24
|
-
citrascope/tasks/scope/static_telescope_task.py,sha256=nrRV2M2bUfIwTtZacAmidwj1dlTxyZgTbFEVkpxzL7c,1389
|
|
25
|
-
citrascope/tasks/scope/tracking_telescope_task.py,sha256=k5LEmEi_xnFHNjqPNYb8_tqDdCFD3YGe25Wh_brJXHk,1130
|
|
26
|
-
citrascope/web/__init__.py,sha256=CgU36fyNSxGXjUy3hsHwx7UxF8UO4Qsb7PjC9-6tRmY,38
|
|
27
|
-
citrascope/web/app.py,sha256=p2Y0yUSghjiLx2B2lZ_4R-E12OQDNObDyKIANznUsWw,28564
|
|
28
|
-
citrascope/web/server.py,sha256=IJJk4HgEwcsjHercL-Q5z39NmJRbkNk_51HIUKKhtRE,5242
|
|
29
|
-
citrascope/web/static/api.js,sha256=s-b1FIw-pTo3A8kLlLINVqHhIvfHwTWA7cEvz4N8Gqc,1924
|
|
30
|
-
citrascope/web/static/app.js,sha256=M54WudBqkXqFFvm0mcbDZOvgkClFetyLZUxW-5KY_aI,29440
|
|
31
|
-
citrascope/web/static/config.js,sha256=AcCt_WpsuXVXBLR7Zgeva47CJRf3XB6beQq27WG2VZA,29973
|
|
32
|
-
citrascope/web/static/style.css,sha256=z5D4FHWm-JBb0Cu0HWPD_4V7qnXNBuOllrPJD9nHI38,2961
|
|
33
|
-
citrascope/web/static/websocket.js,sha256=UITw1DDfehOKpjlltn5MXhewZYGKzPFmaTtMFtC0-Ps,3931
|
|
34
|
-
citrascope/web/static/img/citra.png,sha256=Bq8dPWB6fNz7a_H0FuEtNmZWcPHH2iV2OC-fMg4REbQ,205570
|
|
35
|
-
citrascope/web/static/img/favicon.png,sha256=zrbUlpFXDB_zmsIdhhn8_klnc2Ma3N6Q8ouBMAxFjbM,24873
|
|
36
|
-
citrascope/web/templates/dashboard.html,sha256=-BsbkN4S015n60TWv8V_CqX3KRQj9Gfa8Q9S3ms4DRw,32774
|
|
37
|
-
citrascope-0.7.0.dist-info/METADATA,sha256=jaPQLyrnZkNgfWLH9rrpTfjNHyS7Pk_OFSW0L2L6Y2M,7945
|
|
38
|
-
citrascope-0.7.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
39
|
-
citrascope-0.7.0.dist-info/entry_points.txt,sha256=fP22Lt8bNZ_whBowDnOWSADf_FUrgAWnIhqqPf5Xo2g,55
|
|
40
|
-
citrascope-0.7.0.dist-info/licenses/LICENSE,sha256=4B_Ug8tnhTwde7QywOV3HhQcweHJeI0QaGdZfJLxsV8,1068
|
|
41
|
-
citrascope-0.7.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|