drekar-launch
is a simple standalone process launcher/orchestrator. It is written in Python and has the following features:
- Lightweight, single file Python program with minimal dependencies.
- Standalone program that does not require ROS and can run any process necessary.
- Various parameters available to control program execution including arguments, working directory, environment, restart, auto quit, etc.
- Windows support using Job Objects and Windows Messages to provide graceful shutdown and avoid hanging programs.
- Linux
cgroupv2
to make certain tasks terminate correctly (on newer Linux distributions). - A simple GUI that can optionally be displayed to the user with a “Stop All” button. This is useful for when a launch is done interactively.
- Jinja2 template support for configuration files with environmental variables, command line arguments, system information, etc.
- Companion
drekar-launch-process
libraries used to catch signals and windows messages, to provide a graceful shutdown signal. The companion libraries are available for Python and C++ with more possible in the future. - Basic logging support.
- Modular design can be embedded in other applications that require process management.
drekar-launch
has similar goals to ros-launch
, but has a different architecture and feature set.
Future work may include:
- Improved log management and rotation.
- Integration with Windows services.
- Additional companion libraries for other programming languages.
- Adoption of “pluggy” package for plugin support.
Contributions are welcome!
drekar-launch
is developed and maintained by Wason Technology, LLC.
The development of drekar-launch
was supported in part by the United States Advanced Robotics in Manufacturing (ARM) Institute. The ARM Institute is the nation’s leading Robotics and AI Manufacturing Innovation Institute. Operating as a non-profit consortium, the ARM Institute and its members accelerate the adoption of robotics and automation to increase U.S. manufacturing competitiveness. Learn more at www.arminstitute.org.