A pure python implementation of NetworkTables, used for Robot communications in the FIRST Robotics Competition.
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: email@example.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:
- Fork this git repository to your github account
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Add some feature')
- Push to the branch (
git push -u origin my-new-feature)
- Create new Pull Request on github