# 🛰️ COnstellation Satellite siMulator for optIcal CommunicAtion (COSMICA)

![Test Status](https://github.com/ut-issl/cosmica/workflows/test/badge.svg)

COSMICA is a Python package for simulating optical communication satellite constellations. It is modular and extensible so that users can conduct various optical communication satellite constellation analyses. See [COSMICA documentation](https://www.space.t.u-tokyo.ac.jp/cosmica/) for more details.

## Usage

### Examples

- See `examples` directory for how to use COSMICA in analyses.

## Getting started

### Prerequisites

- Python 3.12 or higher

### Installation

If you use pip, install COSMICA by running:

```bash
pip install cosmica
```

## Structure

The diagram below shows the structure of the simulator. Each green box is a Python submodule.

![COSMICA structure](docs/assets/cosmica_structure.drawio.svg)
