RobotPy Documentation


Welcome! RobotPy is a project created by a community of FIRST mentors and students dedicated to developing python-related projects for the FIRST Robotics Competition. This documentation site contains information about various projects that RobotPy supports, including guides and API references.


RobotPy is available for 2020, but some of our documentation is out of date due to significant changes in RobotPy this year. We’ll try to update the docs soon.

See the 2020 Notes for important information about RobotPy in 2020.


RobotPy is a community project and the tools we create are not officially supported by FIRST. Please see the FAQ for more information.


The primary reason RobotPy exists is to support teams that want to write their FRC robot code using Python, and we have several projects related to this:

  • robotpy-wpilib: the python implementation of WPILib for FRC
  • pyfrc: provides unit testing, realtime robot simulation, and easy upload capabilities for your RobotPy code
  • roborio-packages: Various python packages for the RoboRIO platform installable by opkg, including the python interpreter and numpy
  • robotpy-wpilib-utilities: Community focused extensions for WPILib

Additionally, RobotPy is home to several projects that are useful for all teams, even if they aren’t writing their robot code in python:

  • pynetworktables: python bindings for NetworkTables that you can use to communcate with SmartDashboard and/or your robot.
  • pynetworktables2js: Forwards NetworkTables traffic to a web page, allowing you to write custom dashboards for your robot using HTML/Javascript
  • pynetconsole: A simple netconsole implementation in python
  • robotpy-cscore: Python bindings for cscore, a powerful camera/streaming library
  • roborio-vm: Scripts to create a QEMU virtual machine from the RoboRIO image file

There is a lot of good documentation, but there’s still room for improvement. We welcome contributions from all members of the FIRST community!

Indices and tables