The Halina project is a heuristic algorithmic library designed for managing and processing astronomical observation data. It includes components for simulating data, collecting telescope observations, and sending email reports with the processed data.
Clone the repository:
git clone https://github.com/araucaria-project/halina.git
cd halina
Install poetry
if you don't have it installed:
curl -sSL https://install.python-poetry.org | python3 -
Install the dependencies using poetry
:
poetry install
The email report service collects data from various telescopes, processes it, and sends a summary email report.
To run the email report service, use the following command:
poetry run services
The data simulator generates and publishes data for a set of telescopes. The data is published to a NATS server specified by the user.
To run the simulator, use the following command:
poetry run simulator --num_copies 10 --host localhost --port 4222 --telescopes zb08,jk15
--num_copies
: Number of copies to generate for each telescope (default: 10)--host
: NATS server host (default: localhost)--port
: NATS server port (default: 4222)--telescopes
: Comma-separated list of telescope names (default: zb08,jk15)To generate and publish 12 copies of data for telescopes zb08 and jk15 to a NATS server running on localhost at port 4222, run:
poetry run simulator --num_copies 12 --host localhost --port 4222 --telescopes zb08,jk15
The following environment variables can be used to configure the simulator and email report service:
NUM_COPIES
: Number of copies to generate for each telescopeNATS_HOST
: NATS server hostNATS_PORT
: NATS server portTELESCOPES
: Comma-separated list of telescope namesEMAILS_TO
: List of email addresses to send reports toExample usage with environment variables:
export NUM_COPIES=12
export NATS_HOST=localhost
export NATS_PORT=4222
export TELESCOPES=zb08,jk15
export EMAILS_TO="email1@example.com,email2@example.com"
poetry run services
To set up a development environment:
Run tests to ensure everything is working correctly:
This project is licensed under the MIT License. See the LICENSE
file for details.