Skip to main content

A simulation and AI development framework for air traffic control.

Project description

The bluebird_dt digital twin.

The python package bluebird_dt encodes a digital twin of an airspace, including classes that represent:

  • The geometry of the airspace - Sectors, Volumes, Airways, Fixes, ...
  • Aircraft, with properties such as location, heading, flight level, ...
  • Predictors, to model how the aircraft parameters evolve with the simulation.
  • Action, defining the schema by which agents can interact with the simulation.
  • Infrastructure classes such as Simulator, ScenarioManagers, EventHandlers, logger, to allow the user to define and run simulated ATC scenarios.

Getting started

Installation

bluebird-dt is available on pypi, therefore it can be installed using

pip install bluebird-dt

or, if using UV, you can add it to your environment using

uv add bluebird-dt

Making an agent

To run your first simulation, run the following script which issues a single instruction to an aircraft.

from bluebird_dt.core import Action
from bluebird_dt.simulator.simulator import Simulator

# Use Simulator
sim = Simulator.from_category("Artificial", "I-Sector Two Aircraft")

# Evolve for 60 seconds, in 6 second radar sweeps
for _ in range(0, 10):
    sim.evolve(6)

# List all the aircraft in the airspace
print(sim.manager.environment.aircraft)

# Issue an action to one of the aircraft
sim.manager.receive_actions(
        [
            Action("AIR0", "change_flight_level_to", 200)
            ]
        )

This example is very simple, various examples of using the bluebird_dt package can be found in the form of Jupyter notebooks in the examples directory.

Documentation

The online documentation for the bluebird_dt package can be found at in https://docs.projectbluebird.ai

Running the digital twin as a server.

A FastApi app is available as bluebird-api, allowing the simulation to be run as a server, with the user (or an agent) interacting via a REST API. For information on this, see GitHub or Pypi.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bluebird_dt-0.2.0.tar.gz (840.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bluebird_dt-0.2.0-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file bluebird_dt-0.2.0.tar.gz.

File metadata

  • Download URL: bluebird_dt-0.2.0.tar.gz
  • Upload date:
  • Size: 840.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bluebird_dt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 4e10bd7887730bc428f3a2c9f38f2cab455e6c9f6c6c3e259412afcdc88d1d0e
MD5 e619fe734ba4dfdb26aecb03443ad33d
BLAKE2b-256 6fc4101ebeddc0ead3a755b8744edf9aadce3b1152b1094bd2aaa1c39656cd1e

See more details on using hashes here.

File details

Details for the file bluebird_dt-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: bluebird_dt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.11 {"installer":{"name":"uv","version":"0.11.11","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bluebird_dt-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 299ec22fb33f0815e9f3528dfc110fa68572e9815580ec585ac2de183f56f096
MD5 ae072a977c07bd65abad4afb0bf5d227
BLAKE2b-256 79f380d59a57511eb4cc9e02faec44ef6a8f7725772391209f0c811c03f66aba

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page