A lightweight collection of tools for air traffic management research.
Project description
AirTrafficSim
AirTrafficSim is a lightweight collection of tools for air traffic management research.
This branch (v0.2
) contains the rewrite of the older v0.1
[^1] 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
- 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
[^1]: The latest commit can be viewed here. It is considered deprecated and will not receieve futher updates.
License
Unlike v0.1
(GPLv3), this branch is licensed under the more permissive MIT License.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file airtrafficsim-0.2.0a4.tar.gz
.
File metadata
- Download URL: airtrafficsim-0.2.0a4.tar.gz
- Upload date:
- Size: 672.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce1c06d0f88788e42c13c523917b22dcb8acb90e164714e928e0525b57eea6e |
|
MD5 | 3f37c474e285a8a6170026da0020bdc1 |
|
BLAKE2b-256 | dd10a65c095e34a51cd5de34f5d5cb9511504fab8cd9cd4b964f87beaf74dc1c |
Provenance
The following attestation bundles were made for airtrafficsim-0.2.0a4.tar.gz
:
Publisher:
publish-pypi.yml
on HKUST-OCTAD-LAB/AirTrafficSim
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
airtrafficsim-0.2.0a4.tar.gz
- Subject digest:
bce1c06d0f88788e42c13c523917b22dcb8acb90e164714e928e0525b57eea6e
- Sigstore transparency entry: 168844546
- Sigstore integration time:
- Permalink:
HKUST-OCTAD-LAB/AirTrafficSim@69fc5966e1ab13ac128b11d991ad2c58108c223b
- Branch / Tag:
refs/tags/v0.2.0-alpha.4
- Owner: https://github.com/HKUST-OCTAD-LAB
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish-pypi.yml@69fc5966e1ab13ac128b11d991ad2c58108c223b
- Trigger Event:
push
- Statement type:
File details
Details for the file airtrafficsim-0.2.0a4-py3-none-any.whl
.
File metadata
- Download URL: airtrafficsim-0.2.0a4-py3-none-any.whl
- Upload date:
- Size: 31.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a53275f72cbec1c359db2aa66ff3d9fdc056878928b6736df360a2837e6b99e1 |
|
MD5 | 85eca501ef455cd314a0659b9c79504a |
|
BLAKE2b-256 | 09ec440208c8d448f92c505a3acaba44436d8d5cb53b5bc1e106b8d9154d685a |
Provenance
The following attestation bundles were made for airtrafficsim-0.2.0a4-py3-none-any.whl
:
Publisher:
publish-pypi.yml
on HKUST-OCTAD-LAB/AirTrafficSim
-
Statement:
- Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
airtrafficsim-0.2.0a4-py3-none-any.whl
- Subject digest:
a53275f72cbec1c359db2aa66ff3d9fdc056878928b6736df360a2837e6b99e1
- Sigstore transparency entry: 168844548
- Sigstore integration time:
- Permalink:
HKUST-OCTAD-LAB/AirTrafficSim@69fc5966e1ab13ac128b11d991ad2c58108c223b
- Branch / Tag:
refs/tags/v0.2.0-alpha.4
- Owner: https://github.com/HKUST-OCTAD-LAB
- Access:
public
- Token Issuer:
https://token.actions.githubusercontent.com
- Runner Environment:
github-hosted
- Publication workflow:
publish-pypi.yml@69fc5966e1ab13ac128b11d991ad2c58108c223b
- Trigger Event:
push
- Statement type: