Pure python implementation of the FRC NetworkTables protocol
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docs Update doc sidebar to include NavX + https Jun 8, 2018
networktables Fix whitespace Feb 28, 2018
ntcore Merge pull request #53 from auscompgeek/dsclient Jun 2, 2018
samples Add an example robot program to log the data Apr 9, 2018
tests Add testcase Apr 8, 2018
tools Fix whitespace Feb 28, 2018
.gitignore Move version to ntcore package Oct 20, 2017
.gittrack Fix client synchronization bugs Feb 28, 2018
.travis.yml Build universal wheels Jul 21, 2018
MANIFEST.in Fix whitespace Feb 28, 2018
README.rst Fix whitespace Feb 28, 2018
license.txt Add license Apr 25, 2018
setup.cfg Build universal wheels Jul 21, 2018
setup.py Build universal wheels Jul 21, 2018
testing-requirements.txt Update testing-requirements.txt Sep 27, 2017


RobotPy NetworkTables Project

This is a pure python implementation of the NetworkTables protocol, derived from the wpilib ntcore C++ implementation. In FRC, the NetworkTables protocol is used to pass non-Driver Station data to and from the robot across the network.

This implementation is intended to be compatible with python 2.7 and python 3.3+. All commits to the repository are automatically tested on all supported python versions using Travis-CI.


NetworkTables is a protocol used for robot communication in the FIRST Robotics Competition, and can be used to talk to SmartDashboard/SFX. It does not have any security, and should never be used on untrusted networks.


For usage, detailed installation information, and other notes, please see our documentation at http://pynetworktables.readthedocs.io

Don't understand this NetworkTables thing? Check out our basic overview of NetworkTables.


On the RoboRIO, you don't install this directly, but use the RobotPy installer to install it on your RoboRIO, or it is installed by pip as part of the pyfrc setup process.

On something like a coprocessor, driver station, or laptop, make sure pip is installed, connect to the internet, and install like so:

pip install pynetworktables

Implementation differences as of 2015

  • Implementation is pure python, no SIP compilation required!
  • API is now based on the Java implementation, methods are now camelCase, instead of CapsCase
  • NetworkTables objects are found in the networktables package, and not in the pynetworktables package


The RobotPy project has a mailing list that you can send emails to for support: robotpy@googlegroups.com. Keep in mind that the maintainers of RobotPy projects are also members of FRC Teams and do this in their free time.

If you find a bug, please file a bug report using github https://github.com/robotpy/pynetworktables/issues/new

Contributing new changes

RobotPy is an open project that all members of the FIRST community can easily and quickly contribute to. If you find a bug, or have an idea that you think others can use:

  1. Fork this git repository to your github account
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push -u origin my-new-feature)
  5. Create new Pull Request on github

Authors & Contributors

  • Dustin Spicuzza, FRC Team 1418/2423
  • Peter Johnson, FRC Team 294