Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

AirTrafficSim

image image image image

AirTrafficSim is a lightweight collection of tools for air traffic management research.

This branch (v0.2) contains the rewrite of the older v0.11 version.

It aims to be significantly more accessible, with absolutely minimal dependencies by default. Extra features (e.g. full web-based simulation environment) must be enabled manually with feature flags.

Features

  • support for modern automatic differentiation (via JAX)
  • support for the Array API: Numpy, JAX, PyTorch, CuPy arrays can be passed into functions
    • partial support for polars.Expr with plugin
  • BADA3 ISA atmosphere model
  • thermodynamic calculations

Installation

v0.2 is currently under heavy development and not considered stable. For the latest alpha version:

pip install airtrafficsim

For the latest bleeding-edge version:

pip install "https://github.com/HKUST-OCTAD-LAB/AirTrafficSim/archive/dev.zip"

Feature Flags

Using the command above will install a version with very minimal footprint. Depending on your use case, you can select one or more optional dependencies:

  • all: install all optional dependencies
  • polars: support for polars DataFrame (used in simulation and postprocessing third party data)
  • networking: support for downloading data from external third party sources
  • era5: support for parsing NetCDF for Google ARCO ERA5.
  • jax: support for automatic differentiation
  • plot: utils for nicer plotting

For example:

pip install "airtrafficsim[networking,polars]"

Development

git clone https://github.com/HKUST-OCTAD-LAB/AirTrafficSim -b dev --depth=1
cd AirTrafficSim
uv venv
uv sync --all-extras --all-groups

To run scripts:

uv run examples/autodiff.py

Alternatively, activate your virtualenv:

source .venv/bin/activate
python3 examples/autodiff.py

Documentation

uv run mkdocs serve

Then, navigate to http://127.0.0.1:8000/AirTrafficSim/.

Contributing

  1. Follow Black style.
  2. Prefer pure functions over deep inheritance hierarchies.
  3. Use typed code whenever possible.

We use the following tools to check the style on each push:

  • Ruff for linting,
  • MyPy for type checking

Locally, run the following before committing:

chmod +x ./scripts/style-check.sh
./scripts/style-check.sh

Recommended VSCode extensions: charliermarsh.ruff, matangover.mypy, usernamehw.errorlens, ms-toolsai.jupyter

License

Unlike v0.1 (GPLv3), this branch is licensed under the more permissive MIT License.

  1. The latest commit can be viewed here. It is considered deprecated and will not receieve futher updates. ↩

Release files for AirTrafficSim 0.2.0a4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for AirTrafficSim 0.2.0a4
File Size Uploaded
airtrafficsim-0.2.0a4.tar.gz 672.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for AirTrafficSim 0.2.0a4
File Interpreter ABI Platform
airtrafficsim-0.2.0a4-py3-none-any.whl Python 3 none any Details

Total release size: 704.1 kB

Release files / airtrafficsim-0.2.0a4.tar.gz

Download URL airtrafficsim-0.2.0a4.tar.gz
Size 672.8 kB
Tags Source
SHA-256 checksum
How to use checksums
bce1c06d0f88788e42c13c523917b22dcb8acb90e164714e928e0525b57eea6e
BLAKE2b-256 checksum
How to use checksums
dd10a65c095e34a51cd5de34f5d5cb9511504fab8cd9cd4b964f87beaf74dc1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2025.

Transparency log

Release files / airtrafficsim-0.2.0a4-py3-none-any.whl

Download URL airtrafficsim-0.2.0a4-py3-none-any.whl
Size 31.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a53275f72cbec1c359db2aa66ff3d9fdc056878928b6736df360a2837e6b99e1
BLAKE2b-256 checksum
How to use checksums
09ec440208c8d448f92c505a3acaba44436d8d5cb53b5bc1e106b8d9154d685a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 5, 2025.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page