A lightweight collection of tools for air traffic management research.
Project description
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:
polars: 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/GPU acceleration support)matplotlib: plottingplatformdirs: reading/writing cache/config filescli: command line scriptsall: install all optional dependencies (not recommended!)
For example:
pip install "aerocore[httpx,polars,cli]"
Usage
For the CLI:
uv run aerocore --help
Development
git clone https://github.com/abc8747/aerocore --depth=1
cd aerocore
uv venv
# standard
uv sync --all-groups --extra all
# if you want to benchmark with GPU support
uv sync --all-groups --all-extras --no-extra 'torch-cpu'
To run scripts:
uv run examples/capabilities_jax.py
For documentation:
uv run zensical serve
It should then host at http://127.0.0.1:8000/aerocore/.
For testing:
# by default, it tests everything
uv run pytest
# skip slow network tests that fetch external data (e.g. adsb.lol, icao.int...)
uv run pytest -m "not network"
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
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aerocore-0.2.2.tar.gz.
File metadata
- Download URL: aerocore-0.2.2.tar.gz
- Upload date:
- Size: 1.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f5f5563fe842ff969943b82160e539ac96fe405c9de448bcce4446fb12f8bd0
|
|
| MD5 |
b76a7c788c01eef1847b6f8e9c3ff62e
|
|
| BLAKE2b-256 |
3fc41bc671f4f76bb0acaabf5ed90d773f4702bd6983c8856d025f1cbeecf27f
|
Provenance
The following attestation bundles were made for aerocore-0.2.2.tar.gz:
Publisher:
publish-pypi.yml on abc8747/aerocore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aerocore-0.2.2.tar.gz -
Subject digest:
9f5f5563fe842ff969943b82160e539ac96fe405c9de448bcce4446fb12f8bd0 - Sigstore transparency entry: 2120969755
- Sigstore integration time:
-
Permalink:
abc8747/aerocore@72ce3384f57cebe88ed6102e351fa53b6cef711c -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/abc8747
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@72ce3384f57cebe88ed6102e351fa53b6cef711c -
Trigger Event:
push
-
Statement type:
File details
Details for the file aerocore-0.2.2-py3-none-any.whl.
File metadata
- Download URL: aerocore-0.2.2-py3-none-any.whl
- Upload date:
- Size: 45.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a813a2933436ee442ce2870cd4e742728b87a7d298f196a9acc34e313b0e06d0
|
|
| MD5 |
30d11670ca63271dfa58967883a6d06d
|
|
| BLAKE2b-256 |
d1a1bd9042bfcb1a865e5aad4cf15c6ffccd0cdcc9273843f3a6147ec5708e7b
|
Provenance
The following attestation bundles were made for aerocore-0.2.2-py3-none-any.whl:
Publisher:
publish-pypi.yml on abc8747/aerocore
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aerocore-0.2.2-py3-none-any.whl -
Subject digest:
a813a2933436ee442ce2870cd4e742728b87a7d298f196a9acc34e313b0e06d0 - Sigstore transparency entry: 2120969968
- Sigstore integration time:
-
Permalink:
abc8747/aerocore@72ce3384f57cebe88ed6102e351fa53b6cef711c -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/abc8747
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@72ce3384f57cebe88ed6102e351fa53b6cef711c -
Trigger Event:
push
-
Statement type: