Kubos SDK Docs ============== While the majority of KubOS development can be done locally on a host machine, we also provide a standalone SDK which can be used to assist with the development process. The "Kubos SDK" is a term used to describe all of the components used to build KubOS projects: - `Vagrant `__ box - The VM that contains the "ready to run" Kubos development environment - Kubos source modules - The underlying libraries on which KubOS projects are built Internally, we use this SDK in order to build KubOS releases and to host our CI tests. Externally, the SDK is most useful for: - Windows users - Users who do not want to muddle their host systems with all of the dependencies required to build and execute KubOS projects - Users who want to build a :ref:`custom KubOS image ` .. uml:: @startuml left to right direction actor User node "Kubos SDK" as sdk{ () "init" as init folder "kubos-proj" as proj { folder source { } () "build" as build [binary] } folder "Kubos Source" as k_source { } } () "transfer" as flash node "OBC - Kubos Linux" { cloud "kubos-proj" as application cloud "App1" cloud "App2" } User -> sdk : vagrant ssh init -> proj k_source -> build build <- source [binary] <- build [binary] -> flash flash -> application @enduml This documentation section contains the various guides related to using the Kubos SDK: - :doc:`sdk-installing` - How to install the SDK onto your host machine - :doc:`sdk-c` - A guide to using C with the Kubos SDK - :doc:`sdk-rust` - How to develop and run Kubos projects using Rust - :doc:`sdk-python` - How to develop and run Kubos projects using Python - :doc:`sdk-upgrading` - How to upgrade to the latest version of the Kubos SDK - :doc:`sdk-advanced-cross-compiling` - How to cross compile unsupported targets with Rust .. toctree:: :hidden: sdk-installing sdk-rust sdk-python sdk-c Upgrading the Kubos SDK sdk-advanced-cross-compiling