aerocore
aerocore is a lightweight toolbox for air traffic management research. It only has two dependencies: numpy and isqx (a units library). Additional features are available when optional dependencies are installed.
It supports multiple numerical backends through the Array API, including JAX arrays and PyTorch tensors.
Installation
aerocore is currently under heavy development and not considered stable. For the latest version:
# with pip
pip install aerocore
# with uv
uv add aerocore
Depending on your use case, you can pick the optional dependencies you need:
all: install all optional dependenciespolars: support for polars and its Array API shim (postprocessing third party data)httpx: support for httpx (downloading data from external sources)xarray: support for xarray (ARCO-ERA5 weather grids, working with NetCDF)jax: support for JAX (automatic differentiation support)matplotlib: plotting
For example:
pip install "aerocore[httpx,polars]"
Development
git clone https://github.com/abc8747/aerocore --depth=1
cd aerocore
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/aerocore/.
Contributing
PRs or issues are very welcome!
We use Ruff for linting and MyPy for type checking. Locally, run the following before committing:
just fmt
just check
License: MIT