Skip to main content

pyCASX Logo


pyCASX – A Python implementation of ACAS Xa and ACAS Xu for Flightgear

The latest version of pycasx can be found on PyPI. Information on what versions of Python pycasx supports can be found on PyPI. prek Prek checks Python tests (pytest) Docs status REUSE status DOI

Implementation of ACAS Xa and ACAS Xu with neural networks for FlightGear.

Description

Implementation of Horizontal- and VerticalCAS using neural networks for FlightGear. The HCAS and VCAS implementations are based upon Stanford Intelligent Systems Laboratory's HorizontalCAS and VerticalCAS.

Installation

Please read the following sections carefully. Please also see the documentation at https://pycasx.readthedocs.io.

Requirements

  • Python 3.11 or higher (3.14 is currently not supported)
  • FlightGear 2020.3.18 or higher

Users

If you only want to use pycasx as a command-line tool and not develop it, you can install it via uv or uvx. However, uvx is recommended, as it will install the package in an isolated environment and thus not interfere with other packages.

Installation via uvx

Install pycasx via

uvx install git+https://https://github.com/DLR-KI/pycasx.git

Installation via uv

This is not recommended! Proceed at your own risk! For just using the package, uvx is recommended

First, clone the repository

git clone https://https://github.com/DLR-KI/pycasx.git

Optional: create yourself a virtual environment and activate it.

uv venv
source .venv/bin/activate

Now, install the package via

uv sync

for basic features.

Development

First, clone the repository into a directory of your choice:

git clone https://https://github.com/DLR-KI/pycasx.git

Then, it is recommended to create a virtual environment for the software:

uv venv
source .venv/bin/activate

Afterwards, install the software and its dependencies:

uv sync

VS Code

For VS Code, we provide a set of recommended extensions. Please install them to smooth the development process. You'll find them in your extensions tab under the Workspace Recommendations section.

Usage

This package provides a command-line interface with the pycasx command. General information is available via pycasx [-h|--help] and the current version via pycasx [-v|--version]. All other commands are explained in the following.

Launching ACAS X

You can launch FlightGear via

pycasx launch

Once FlightGear is up and running, just run:

pycasx acasx

This will start the ACAS X with the default settings.

Other options

onnx or make_onnx

pycasx onnx

Convert the provided .nnet files into .onnx files. This is required if one wants to use the ONNX or PyTorch backend. BE WARNED: BOTH THE ONNX AND PYTORCH BACKEND ARE EXPERIMENTAL AND NOT FULLY TESTED. THE RESULTING ADVISORIES ARE NOT VALID!

launch

pycasx launch

Launch FlightGear with options defined in pycasx/cli/launch.py.

acasx

pycasx acasx

Runs the ACAS X with the default settings. This includes the API backend to fetch the advisories via REST calls. Please see the official documentation for more information.

Overwriting parameters

Every launch script has a set of default parameters. Those are handled via Hydra. Accordingly, overwriting parameters can be achieved by following the Hydra documentation.

Nevertheless, overwriting (or adding) new default properties for pycasx launch is not as straight forward as one might try. The correct syntax to overwrite (or add) a default property is

pycasx launch ++prop='{/autopilot/settings/target-speed-kt: 123456789}'

Citation

If you found our work useful, please cite our paper:

@InProceedings{Christensen2024,
  author    = {Christensen, Johann Maximilian and Anilkumar Girija, Akshay and Stefani, Thomas and Durak, Umut and Hoemann, Elena and K{\"{o}}ster, Frank and Kr{\"{u}}ger, Thomas and Hallerbach, Sven},
  booktitle = {36th {IEEE} International Conference on Tools with Artificial Intelligence ({ICTAI})},
  date      = {2024-10},
  title     = {Advancing the AI-Based Realization of ACAS X Towards Real-World Application},
}

Metadata

Release files for pycasx 1.0.1

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

Source distribution (sdist)

Source distribution for pycasx 1.0.1
File Size Uploaded
pycasx-1.0.1.tar.gz 1.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for pycasx 1.0.1
File Interpreter ABI Platform
pycasx-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 2.1 MB

Release files / pycasx-1.0.1.tar.gz

Download URL pycasx-1.0.1.tar.gz
Size 1.0 MB
Tags Source
SHA-256 checksum
How to use checksums
38e7a46d07e07225a03de3e36cba64cb5a16e9247b881269f30e66f9d3f2244f
BLAKE2b-256 checksum
How to use checksums
4c2280bbef3be10b20a81df2212f0e50d8d3b9bbb5fa2d67abe8c5142c3cb2e9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release files / pycasx-1.0.1-py3-none-any.whl

Download URL pycasx-1.0.1-py3-none-any.whl
Size 1.1 MB
Tags Python 3
SHA-256 checksum
How to use checksums
45c3fa51142a3a734becf5e825a14b1d3be45da76bf42af16cf59766afa69475
BLAKE2b-256 checksum
How to use checksums
bea0876ca96549ce7f51ae98f96ae8d7e539eb17c93afa44d5f2bc3f4a7a129d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.1 This release

2 release files

1.0.0

2 release files

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