CtrlK
CommunityDocumentationLog inGet started
Tessl Logo

tessl/pypi-pynetworktables

tessl install tessl/pypi-pynetworktables@2021.0.0

A pure Python implementation of NetworkTables, used for robot communications in the FIRST Robotics Competition.

Agent Success

Agent success rate when using this tile

75%

Improvement

Agent success rate improvement when using this tile compared to baseline

1.01x

Baseline

Agent success rate without this tile

74%

rubric.jsonevals/scenario-9/

{
  "context": "Evaluates how well the solution uses pynetworktables listener APIs to capture entry updates, new subtables, and connection state, and how thoroughly it manages listener lifecycles. Scoring focuses solely on the correct use of pynetworktables functions, flags, and callback data to satisfy the spec requirements.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Connection listener",
      "description": "Registers connection monitoring with NetworkTables.addConnectionListener (or the instance equivalent) to emit connected/disconnected events with the provided info payload, and unregisters via removeConnectionListener during shutdown.",
      "max_score": 20
    },
    {
      "name": "Entry listeners",
      "description": "Uses NetworkTable.addEntryListener/addEntryListenerEx or NetworkTableEntry.addListener with NotifyFlags.NEW and NotifyFlags.UPDATE (optionally IMMEDIATE/LOCAL) so callbacks receive full paths, values, and an accurate isNew flag for both creation and update events.",
      "max_score": 25
    },
    {
      "name": "Subtable discovery",
      "description": "Detects creation of subtables on watched roots via addSubTableListener and records each new subtable once, removing the listener handle when monitoring stops.",
      "max_score": 15
    },
    {
      "name": "Listener cleanup",
      "description": "Tracks listener handles from addEntryListener/addEntryListenerEx, addConnectionListener, and NetworkTableEntry.addListener (and any subtable listeners) and removes them with removeEntryListener, removeConnectionListener, or entry.removeListener so callbacks cease after stop().",
      "max_score": 20
    },
    {
      "name": "Callback-driven data",
      "description": "Builds event payloads from the parameters provided by pynetworktables callbacks (key/full path, value, isNew, connection info) rather than polling tables, ensuring recorded data comes directly from listener invocations.",
      "max_score": 20
    }
  ]
}

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/pynetworktables@2021.0.x
tile.json