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.
Please read our Upgrade Notes page for things that have changed this season that you should be aware of.
RobotPy is a community project and the tools we create are not officially supported by FIRST. Please see the FAQ for more information.
We are working with the WPILib team to make Python an officially supported language in 2024. See https://wpilib.org/blog/bringing-python-to-frc for the announcement.
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:
pyntcore: python bindings for NetworkTables that you can use to communcate with a dashboard and/or your robot.
pynetworktables: legacy NetworkTables implementation that you can use to communcate with SmartDashboard and/or your robot.
pynetconsole: A simple netconsole implementation in python
robotpy-cscore: Python bindings for cscore, a powerful camera/streaming library
robotpy-apriltag: Python bindings for the WPILib apriltag 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!
- Getting Started
- Upgrade Notes
- Programmer's Guide
- Hardware & Sensors
- Camera & Vision