Skip to main content

The Open Air Traffic Simulator

Project description

Build Status

BlueSky - The Open Air Traffic Simulator

BlueSky is distributed under the GNU General Public License v3.

BlueSky is meant as a tool to perform research on Air Traffic Management and Air Traffic Flows.

The goal of BlueSky is to provide everybody who wants to visualize, analyze or simulate air traffic with a tool to do so without any restrictions, licenses or limitations. It can be copied, modified, cited, etc. without any limitations.

Please send suggestions, proposed changes or contributions through GitHub, preferably after debugging it and optimising it for run-time performance.

BlueSky Releases

If you are not (yet) interested in reading and editing the source of BlueSky, you can also download a release version of BlueSky, that you can install directly, without having to worry about python and library dependencies. You can find the latest release here: https://github.com/ProfHoekstra/bluesky/releases

BlueSky Wiki

Installation and user guides are accessible at: https://github.com/ProfHoekstra/bluesky/wiki

Some features of BlueSky:

  • Written in the freely available, ultra-simple-hence-easy-to-learn, multi-platform language Python (both 2 and 3) (using numpy and either pygame or Qt+OpenGL for visualisation) with source
  • Extensible by means of self-contained plugins
  • Contains open source data on navaids, performance data of aircraft and geography
  • Global coverage navaid and airport data
  • Contains simulations of aircraft performance, flight management system (LNAV, VNAV under construction), autopilot, conflict detection and resolution and airborne separation assurance systems
  • Compatible with BADA 3.x data
  • Compatible wth NLR Traffic Manager TMX as used by NLR and NASA LaRC
  • Traffic is controlled via user inputs in a console window or by playing scenario files (.SCN) containing the same commands with a time stamp before the command ("HH:MM:SS.hh>")
  • Mouse clicks in traffic window are use in console for lat/lon/heading and position inputs

Contributions

BlueSky is still under heavy development. We would like to encourage anyone with a strong interest in ATM and/or Python to join us. Please feel free to comment, criticise, and contribute to this project.

Installation on Linux/Mac

Run the install script to create the required Python virtual environment (optionally with the --headless flag to omit GUI dependencies for a minimal installation):

./install.sh [--headless]

Then follow the instructions at the end of the script.

It may be necessary to first install pip, tkinter and virtualenv, e.g. on Ubuntu do:

sudo apt-get install python3-pip
sudo apt-get install python3-tk
sudo pip3 install virtualenv

then re-run the install script.

Installation using pip

Note that headless is now the default when installing using pip (in contrast to the install.sh method above). To install a full GUI environment please do the following:

# NOTE: 'full' option attempts to pip install pyopengl-acclerate, which may have issues installing
python3 -m pip install bluesky-simulator[full] || \
  python3 -m pip install bluesky-simulator[gui]

The pip install approach above may fail due to permissions if using the system python3. Either append --user to the pip command above or prepend sudo if you are on a Linux/Mac machine.

If installing in development mode from a locally cloned copy of bluesky (instead of via PyPI) change this to:

python3 -m pip install -e .

Note that to install the GUI dependencies in development mode, this becomes:

python3 -m pip install -e .[full] || \
  python3 -m pip install -e .[gui]

Docker support

To run in a Docker container:

docker-compose build
docker-compose up

Connecting to a remote BlueSky Simulation

This will skip discovery and attempt a connection to the specified host (using the default ports):

> python BlueSky.py --client --bluesky_host=1.2.3.4

Development

Installation

To install development packages:

> pip install -r requirements-dev.txt

Testing

To run the unit tests (excluding upstream legacy tests which fail):

pytest --ignore bluesky/test/tcp/ --ignore bluesky/test/traffic -W ignore::DeprecationWarning

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

bluesky-simulator-0.0.1.dev3.tar.gz (50.2 MB view details)

Uploaded Source

Built Distribution

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

bluesky_simulator-0.0.1.dev3-py3-none-any.whl (49.5 MB view details)

Uploaded Python 3

File details

Details for the file bluesky-simulator-0.0.1.dev3.tar.gz.

File metadata

  • Download URL: bluesky-simulator-0.0.1.dev3.tar.gz
  • Upload date:
  • Size: 50.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.4

File hashes

Hashes for bluesky-simulator-0.0.1.dev3.tar.gz
Algorithm Hash digest
SHA256 ec326d0f0e56e28ec6cc19569c1e00a7e2ba33c7755e05c5318e505b793b8a9b
MD5 7f98ebb6d3f988709e448c8a519a00b4
BLAKE2b-256 497d275ad69a2b9cf330886b605e4abad0479b3c8029977567c97845b528aa89

See more details on using hashes here.

File details

Details for the file bluesky_simulator-0.0.1.dev3-py3-none-any.whl.

File metadata

  • Download URL: bluesky_simulator-0.0.1.dev3-py3-none-any.whl
  • Upload date:
  • Size: 49.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.4

File hashes

Hashes for bluesky_simulator-0.0.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 4b40e39d2679b128fb5a360105d157cdc6f4487b3684345e3e0a8c3950eeb554
MD5 ec822fa7d6424f4592797949c57085cb
BLAKE2b-256 2a12643dbfab474d2727eb8d91a415cca99e4ba4a0191b3b43c30712979478fa

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