Deploying a C++ Software with (or without) Python Embedding and Extension
DOI:
https://doi.org/10.14279/eceasst.v83.2596Keywords:
deployment, installer, packaging, DevOps, CI/CD, continuous delivery, cross-platform, cross-language, C++, Python, CMake, SwigAbstract
We discuss the manifold difficulties in cross-platform software deployment. We first consider a pure C++ project. Then we discuss the additional problems that arise when a C++ core has an embedded Python interpreter and is exposed to Python with bindings automatically generated by Swig. We explain how such a software can be deployed to Windows, Linux, and macOS, in form of source archives, binary installers, packages for package managers, or Python wheels. Our solutions are based on proven experience with the physics software BornAgain.
Downloads
Published
How to Cite
Issue
Section
License
Copyright (c) 2025 Ammar Nejati, Joachim Wuttke, Mikhail Svechnikov

This work is licensed under a Creative Commons Attribution 4.0 International License.