The building blocks of our wildfire detection & monitoring API.
The API stores access metadata (Users, Cameras, Organizations), the core wildfire-monitoring workflow (Detections grouped into Sequences), and client integrations (Webhooks). End to end, an alert flows like this: an admin registers a user, the user registers a camera and mints a camera token, then the camera uploads a picture as a detection, which is grouped into a sequence over a dense time window. For the full data model, UML diagram, codebase tour and developer setup, see CONTRIBUTING.md.
Two ways to run the stack, depending on whether you just want to use the API or to develop against it.
Pull the published ghcr.io/pyronear/alert-api image and start the stack:
cp .env.example .env
docker compose pull
docker compose upThen navigate to http://localhost:5050/docs to interact with the API and explore the OpenAPI documentation.
To stop the service:
docker compose downmake runThis builds the backend image from uv.lock. See CONTRIBUTING.md for the full developer setup, tests, and migration workflow.
To stop the service:
make stopContributors building the image locally also need UV; see CONTRIBUTING.md.
git clone https://github.com/pyronear/pyro-api.git && cd pyro-api
cp .env.example .env
make venvThen run the stack as described in the Quick Tour above.
This project is a REST-API, and you can interact with the service through HTTP requests. However, if you want to ease the integration into a Python project, take a look at our Python client.
Any sort of contribution is greatly appreciated!
CONTRIBUTING.md covers more than the contribution guidelines: it also documents the data model, codebase structure, developer setup, testing workflow and database migrations. Start there if you want to understand how the project is organised.
Distributed under the Apache 2.0 License. See LICENSE for more information.