KubOS 1.1 Rust, Python, and GraphQL in Space
We’re excited to finally bring to our community what we’ve been working on the last few months. With KubOS 1.1, we’re bringing some exciting new changes to our system.
KubOS is ready for mission development.
We’ve finalized the architecture for our middleware (read about it here!), and have brought in several tools into our system. The path to developing mission applications, integrating payloads, and supporting new subsystems is easier than ever, and ready for you to jump in. Some of the major changes include:
- Rust support in the SDK
- Python support in the SDK and Kubos Linux
- Rust and Python example services for integrating hardware
- GraphQL as our primary command and querying language for on board systems
- On board communication over IP
What do we use Rust and Python for in KubOS?
Rust is what Kubos primarily uses to integrate subsystems and to provide our core services, while Python serves as an easier entry point for payload integration and mission applications.
Kubos RT and Kubos Linux are diverging.
They’ve had their problems, and they just can’t work it out. The papers have been processed, and the divorce is final. The new architecture we have adopted in Linux is not longer portable to RT, and as a result, has been split off into its own repository. This means that we can leverage the Linux kernel’s powerful features directly while allowing our RT offering to develop independently.
With the major changes in this release, you’ll definitely want to update your SDK and Kubos Linux. Check out all of our documentation, as it has not only been updated, but also restructured to help better introduce the new key components of KubOS. Make sure to also join us on #kubos on our community Slack!