@@ -7,6 +7,7 @@ A suite of modules to enable TDA/MMA observations
77[ issues] ( https://github.com/AEONplus/AEONlib/issues )
88
99# Configuration
10+
1011Many of the facilities and services accessed by AEONlib require specific configuration such
1112as api keys, urls, etc. All configuration can be supplied by either supplying a .env file or
1213setting environmental variables in the execution environment.
@@ -33,8 +34,8 @@ Environmental variables take precedence over .env files. See the
3334[ pydantic-settings] ( https://docs.pydantic.dev/latest/concepts/pydantic_settings/ ) documentation
3435for more details.
3536
36-
3737# Testing
38+
3839This project uses [ pytest] ( https://docs.pytest.org/ ) to run tests:
3940
4041``` bash
@@ -59,6 +60,7 @@ pytest -m "not side_effect"
5960CI does not run tests marked as online.
6061
6162## Viewing logs during tests
63+
6264Aeonlib turns on the Pytest
6365[ Live Logging] ( https://docs.pytest.org/en/stable/how-to/logging.html#live-logs ) feature.
6466By default any logging calls with a level above ` WARNING ` will be displayed to the console
@@ -70,9 +72,11 @@ pytest -m online --log-cli-level=debug
7072```
7173
7274# Linting
75+
7376All code is formatted via [ ruff] ( https://astral.sh/ruff ) .
7477
7578# Code Generation
79+
7680Las Cumbres Observatory [ instrument classes] ( src/aeonlib/ocs/lco/instruments.py )
7781are generated via the [ generator.py] ( codegen/lco/generator.py ) script. This script
7882takes as input the [ OCS instruments api] ( https://observe.lco.global/api/instruments/ )
@@ -105,22 +109,26 @@ LCO instruments definition file:
105109``` bash
106110curl https://observe.lco.global/api/instruments/ | codegen/lco/generator.py {facility} > src/aeonlib/ocs/lco/instruments.py
107111```
112+
108113# Supported Facilities
109114
110115This list is a work in progress.
111116
112117## Las Cumbres Observatory (LCO)
113118
114119### Dependency group
120+
115121Las Cumbres Observatory requires no additional dependency groups to be installed.
116122
117123### Configuration Values
124+
118125See [ configuration] ( #configuration ) for instructions on setting these values.
119126
120127``` python
121128lco_token: str = " "
122129lco_api_root: str = " https://observe.lco.global/api/"
123130```
131+
124132### Helpful links
125133
126134* [ LCO Observation Portal] ( https://observe.lco.global/ )
@@ -132,46 +140,55 @@ lco_api_root: str = "https://observe.lco.global/api/"
132140SOAR is functionally the same as LCO, but has its own set of instruments and can be configured separately.
133141
134142### Dependency group
143+
135144SOAR requires no additional dependency groups to be installed.
136145
137146### Configuration Values
147+
138148See [ configuration] ( #configuration ) for instructions on setting these values.
139149
140150``` python
141151soar_token: str = " "
142152soar_api_root: str = " https://observe.lco.global/api/"
143153```
154+
144155Note: the soar API token will default to the same value as lco_token, if it is set.
145156
146157## BLANCO
147158
148159BLANCO is functionally the same as LCO, but has its own set of instruments and can be configured separately.
149160
150161### Dependency group
162+
151163BLANCO requires no additional dependency groups to be installed.
152164
153165### Configuration Values
166+
154167See [ configuration] ( #configuration ) for instructions on setting these values.
155168
156169``` python
157170blanco_token: str = " "
158171blanco_api_root: str = " https://observe.lco.global/api/"
159172```
173+
160174Note: the blanco API token will default to the same value as lco_token, if it is set.
161175
162176## ESO (European Southern Observatory)
163177
164178Full documentation: TODO
165179
166180### Dependency Group
181+
167182To use the ESO facility, you must install the ` eso ` group:
183+
168184``` bash
169185pip install aeonlib[eso]
170186uv sync --extra eso
171187poetry install --with eso
172188```
173189
174190### Configuration Values
191+
175192See [ configuration] ( #configuration ) for instructions on setting these values.
176193
177194``` python
@@ -185,17 +202,20 @@ eso_password: str = ""
185202* [ ESO Phase 2 API] ( https://www.eso.org/sci/observing/phase2/p2intro/Phase2API.html )
186203* [ ESO Phase 2 Demo Application] ( https://www.eso.org/p2demo/home )
187204
188-
189205## LT (Liverpool Telescope)
190206
191207### Dependency Group
208+
192209To use the LT facility, you must install the ` lt ` group:
210+
193211``` bash
194212pip install aeonlib[lt]
195213uv sync --extra lt
196214poetry install --with lt
197215```
216+
198217### Configuration Values
218+
199219See [ configuration] ( #configuration ) for instructions on setting these values.
200220
201221``` python
@@ -204,17 +224,43 @@ lt_password: str = ""
204224lt_host: str = " "
205225lt_port: str = " "
206226```
227+
207228### Helpful links
208- * [ LT Phase 2 Information] ( https://telescope.livjm.ac.uk/PropInst/Phase2/ )
209229
230+ * [ LT Phase 2 Information] ( https://telescope.livjm.ac.uk/PropInst/Phase2/ )
210231
211232## SAAO (South African Astronomical Observatory)
212233
213234### Configuration Values
235+
214236``` python
215237 saao_token: str = " "
216- saao_api_root: str = " https://ocsio.saao.ac.za/api/"
238+ saao_api_root: str = " https://ocsio.saao.ac.za/api/"
217239```
218240
219241### Helpful links
242+
220243* [ SAAO Observatory Control System] ( https://ocsio.saao.ac.za/create )
244+
245+ ## SALT (Southern African Large Telescope)
246+
247+ ### Dependency Group
248+
249+ To use the SALT facility, you must install the ` salt ` group:
250+
251+ ``` bash
252+ pip install aeonlib[salt]
253+ uv sync --extra salt
254+ poetry install --with salt
255+ ```
256+
257+ ### Configuration values
258+
259+ See [ configuration] ( #configuration ) for instructions on setting these values.
260+
261+ ``` python
262+ salt_username: str = " "
263+ salt_password = " "
264+ ```
265+
266+ The username and password are those you would use for the [ SALT Web Manager] ( https://www.salt.ac.za/wm/ ) .
0 commit comments