Observed since 20 Oct, 20:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
A suite of modules to enable TDA/MMA observations
A suite of modules to enable TDA/MMA observations
Many of the facilities and services accessed by AEONlib require specific configuration such as api keys, urls, etc. All configuration can be supplied by either supplying a .env file or setting environmental variables in the execution environment.
Example .env file:
AEON_LCO_API_ROOT="https://observe.lco.global/api"
AEON_LCO_TOKEN="my-api-token"
Or set environmental variables via the shell:
export AEON_LCO_API_ROOT="https://observe.lco.global/api"
export AEON_LCO_TOKEN="my-api-token"
All configuration keys are prefixed with AEON_ to prevent conflicts. See the documentation for each service to see which configuration keys are available, or check conf.py
Environmental variables take precedence over .env files. See the pydantic-settings documentation for more details.
This project uses pytest to run tests:
pytest
Some tests are marked as online. These tests make real http requests in order
to test interfaces with various services. To run them:
pytest -m online
A subset of online tests are marked as side_effect. These are tests that change data on remote
systems. For example, a test might be testing creating new observation requests, or updating the
status of one. You might want to disable these:
pytest -m "not side_effect"
CI does not run tests marked as online.
Aeonlib turns on the Pytest
Live Logging feature.
By default any logging calls with a level above WARNING will be displayed to the console
during the test run. It may be helpful to display debug logging, especially if debugging remote
facilities or services:
pytest -m online --log-cli-level=debug
All code is formatted via ruff.
Las Cumbres Observatory instrument classes are generated via the generator.py script. This script takes as input the OCS instruments api in order to produce definitions of all instruments currently available on the network.
To update the definitions, first make sure you have installed the codegen dependency
group:
uv sync --group codegen # or poetry install --with codegen
This ensures regular users of the library do not need to install these dependencies.
The generate.py script takes as input JSON as produced by the instruments endpoint:
codegen/lco/generator.py {facility} instruments.json
Or directly from stdin using a pipe:
curl https://observe.lco.global/api/instruments/ | codegen/lco/generator.py {facility}
If the output looks satisfactory, you can redirect the output to overwrite the LCO instruments definition file:
curl https://observe.lco.global/api/instruments/ | codegen/lco/generator.py {facility} > src/aeonlib/ocs/lco/instruments.py
This list is a work in progress.
Las Cumbres Observatory requires no additional dependency groups to be installed.
See configuration for instructions on setting these values.
lco_token: str = ""
lco_api_root: str = "https://observe.lco.global/api/"
SOAR is functionally the same as LCO, but has its own set of instruments and can be configured separately.
SOAR requires no additional dependency groups to be installed.
See configuration for instructions on setting these values.
soar_token: str = ""
soar_api_root: str = "https://observe.lco.global/api/"
Note: the soar API token will default to the same value as lco_token, if it is set.
BLANCO is functionally the same as LCO, but has its own set of instruments and can be configured separately.
BLANCO requires no additional dependency groups to be installed.
See configuration for instructions on setting these values.
blanco_token: str = ""
blanco_api_root: str = "https://observe.lco.global/api/"
Note: the blanco API token will default to the same value as lco_token, if it is set.
Full documentation: TODO
To use the ESO facility, you must install the eso group:
pip install aeonlib[eso]
uv sync --extra eso
poetry install --with eso
See configuration for instructions on setting these values.
eso_environment: str = "demo"
eso_username: str = ""
eso_password: str = ""
To use the LT facility, you must install the lt group:
pip install aeonlib[lt]
uv sync --extra lt
poetry install --with lt
See configuration for instructions on setting these values.
lt_username: str = ""
lt_password: str = ""
lt_host: str = ""
lt_port: str = ""
saao_token: str = ""
saao_api_root: str = "https://ocsio.saao.ac.za/api/"
To use the SALT facility, you must install the salt group:
pip install aeonlib[salt]
uv sync --extra salt
poetry install --with salt
See configuration for instructions on setting these values.
salt_username: str = ""
salt_password = ""
The username and password are those you would use for the SALT Web Manager.
Download counts and popularity will appear here as the collector receives them.
| Version | Published | Direct dependencies | Open version |
|---|---|---|---|
| 0.2.0 | 7 May 2026 | 11 |
This describes our collected data; it is not a security assessment.
Observed since 20 Oct, 20:25 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package:dfac13ce286d43c7c2d968d2e62bb9ddc5ed85bcc99916e55dcb16ad9cb76b45