
CEASIOMpy is an open source conceptual aircraft design environment which can be used to set up complex design and optimisation workflows for both conventional and unconventional aircraft configurations.
CEASIOMpy is mostly written in Python but it also depends on third-party libraries and software (like SU2 for the CFD calculation).
All input geometries are based on the open-standard format CPACS, a Common Parametric Aircraft Configuration Schema. It uses a parametric definition for air transportation systems which is developed by the German Aerospace Center DLR.
:scroll: CEASIOMpy is maintained by CFS Engineering and Airinnova. CEASIOMpy is under the Apache License 2.0.
:book: The Documentation of CEASIOMpy is integrated in this repository and can be read in documents like this one. Follow links to find the information that you are looking for.
Visit: https://ceasiompy.com for an overview of what this repository has to offer.
On Linux/macOS, run the installer to set up the conda environment and optional tools (some scripts are still under development):
git clone https://github.com/cfsengineering/CEASIOMpy
cd CEASIOMpy
./scripts/install.sh
ceasiompy_run --g
For Windows users please use the online version at https://ceasiompy.com
A video which explains how to CEASIOMpy on Docker is now available!

These test cases are there to learn how to use CEASIOMpy. You will probably also learn a few things about the CPACS format. You can also run these tests to verify that everything is installed and working as expected as they cover different possible ways of using CEASIOMpy. Be sure you finish the installation before you try them.
Run CEASIOMpy with a GUI to build the workflow
If you run CEASIOMpy with the following command, you can build the workflow with a graphical user interface.
ceasiompy_run --gui
Run CEASIOMpy with a command line to build the workflow
If you run CEASIOMpy with the following command, you can build the workflow directly by defining the CPACS files and the modules you want to use.
ceasiompy_run -m test_files/CPACSfiles/D150_simple.xml PyAVL
Follow the test cases to discover the different way of using CEASIOMpy.
There are many different modules available in CEASIOMpy that can be combined to create different workflows. The list of available modules is shown below. The modules’ statuses are marked as follows:
:heavy_check_mark: : The module should work as expected. If you find bugs, do not hesitate to report them (more details here).
:warning: : The module does not work as expected. It is not a bug, but some features or data handling are not yet compatible with the new file structure. Check the Kanban Board to see planned and in-progress features.
:x: : The module does not work at all. Some functions have been written, but need a lot of changes to be compatible with the rest of CEASIOMpy.






CEASIOMpy is an open source project and we welcome contributions from everyone. Some CEASIOMpy modules have been developed by students as part of their internship or master thesis.
If you want to contribute to the development of CEASIOMpy, please read the document CONTRIBUTING.md.
Sometimes deleting cache helps.
sudo find . -name "__pycache__" -type d -prune -exec rm -rf {} +
find . -name "*.pyc" -type f -delete
Or upgrading the environment.
conda env update -f environment.yml
This respository may be cited via BibTex as:
@software{CEASIOMpy,
author = {
Benedetti G. and
Deligny L. and
Jungo A.
},
title = {CEASIOMpy: a python Aircraft Design environment},
url = {https://github.com/cfsengineering/CEASIOMpy},
year = {2025},
}