Using Python with the Kubos SDK

The Kubos SDK Vagrant box comes with a Python interperter and all the modules needed to develop a basic hardware service. Services can be tested locally in the Vagrant box up until the point that they need hardware interaction.


The SDK comes with support for both Python2.7 and Python3.5. However, only Python3.5 is available on OBCs running Kubos Linux.



Python is currently only supported on the BeagleboneBlack and MBM2

There are currently two ways to add Python programs to a system running Kubos Linux:

  • Add a new Python package to a custom Kubos Linux build

    • Fork and clone kubos-linux-build and add additional Python packages to the package/python directory
    • You can see our current system packages and how they are structured here.
    • See the SysAdmin docs for more information on building Kubos Linux.
  • Add individual Python files on the fly by transferring them to an attached hardware target

Python project files can be transferred to the target OBC via a supported file transfer method.

Binaries may be transferred to any location on the target board, however, they should be copied to /home/system/usr/bin if you would like them to be automatically accessible via the system PATH.

Running on Target

The following steps will allow you to run Python3.5 files which have been flashed to a Linux target:

  1. Make sure you can communicate with your obc.
  2. Transfer your python script using a supported file transfer method.
  3. Navigate to the destination folder of the transfer.
  4. Your Python files should be here. You can now run them with python