Metadata-Version: 2.4
Name: bluebird-api
Version: 0.1.1
Summary: A REST API for the Project Bluebird Digital Twin
Author: Project Bluebird
License-Expression: AGPL-3.0-or-later
Requires-Python: <3.15,>=3.10
Requires-Dist: bluebird-dt==0.1.0
Requires-Dist: fastapi<0.137,>=0.136.1
Requires-Dist: lxml-html-clean>=0.4.4
Requires-Dist: uvicorn<0.47,>=0.46.0
Description-Content-Type: text/markdown

## The REST API for BluebirdATC

It is possible to run the BluebirdATC digital twin in a server process, such that the simulation will evolve at regular time intervals, and Agents and/or frontend visualization software can interact with it via HTTP requests.
In particular, users can:
* Query available scenario categories and scenarios.
* Load a selected scenario.
* Evolve the simulation by a specified time interval.
* Obtain the current state of the `Environment`.
* Submit `Actions` to individual aircraft.
* Save logfiles with data on all steps of the simulation.

In order to run the app, with all the correct dependencies for this feature, from the `BluebirdATC/bluebird-api` directory, run the command:

```shell
uv run uvicorn bluebird_api:app --port 8000
```

You should then be able to go to [http://localhost:8000](http://localhost:8000) in a web browser, and see the message "Hello, BluebirdATC!".

To see the full list and description of API endpoints, with the application running, go to [http://localhost:8000/docs](http://localhost:8000/docs).

## Frontend visualisation

The app also serves the frontend visualization (more details on that can be found [here](../bluebird-hmi/README.md)), at the URL [http://localhost:8000/hmi](http://localhost:8000/hmi).
