This project has been archived by its maintainers, and is no longer receiving any updates.
AirTrafficSim
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.Exprwith plugin
- partial support for
- 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 dependenciespolars: support for polars DataFrame (used in simulation and postprocessing third party data)networking: support for downloading data from external third party sourcesera5: support for parsing NetCDF for Google ARCO ERA5.jax: support for automatic differentiationplot: 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
- Follow Black style.
- Prefer pure functions over deep inheritance hierarchies.
- Use typed code whenever possible.
We use the following tools to check the style on each push:
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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| airtrafficsim-0.2.0a4.tar.gz | 672.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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