Skip to content

Introduction

The purpose of this doc is to serve as a point of reference regarding the Python programming language.
If you have no prior programming experience, learn basic Python by writing simple programs and running them either by using the resources in this doc or any good resource, then how to use common functions in the numpy library and learn how & why it is different from regular Python. After this, you are set to start contributing to the codebase and pick up new things as necessary. Google search & Stack Overflow will be helpful. LLMs like Chat GPT & Claude are great for Python programming but use documentation as a source of truth.

Basic Python

Introduction to Programming with Python (No prior programming knowledge required)

Modules & Packages

Testing

Plotting

Matplotlib

Seaborn

Numpy

Robotics Operating System 2 (ROS2) Python Library

See the Python-related tutorials in the link below:

https://docs.ros.org/en/galactic/Tutorials.html

It is important to note that the tutorials are for ROS 2 Galactic, which our stack is currently (17th August 2024) based upon.

Extras

Virtual Environments & Package Management

Venv

Poetry

Managing multiple Python versions

Pyenv

SciPy

Type Checking

Decorators

Calling C code from Python

Numba

Jax

https://jax.readthedocs.io/en/latest/quickstart.html

List of libraries & tools for working with Python

{% figure src="/python resources.png" height="400px" /%}

Backup image in case the link does not work.