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-5/

{
  "context": "Evaluates how well the solution uses pynetworktables timing controls to move staged telemetry with deterministic pacing. Focus is on configuring the update interval, forcing immediate sends, and draining listener queues during flushes and shutdown. Scoring ignores general code quality and looks only at correct API usage for this capability.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Update rate",
      "description": "Uses NetworkTablesInstance.setUpdateRate with the default 0.1 second interval on initialization and reapplies it whenever configure_interval is called so staged values flow on the requested cadence.",
      "max_score": 25
    },
    {
      "name": "Interval guard",
      "description": "Rejects non-positive intervals before invoking setUpdateRate, surfacing an error instead of calling the API with invalid timing values.",
      "max_score": 10
    },
    {
      "name": "Entry staging",
      "description": "Stages values through pynetworktables entries (e.g., via getEntry/putValue or NetworkTableEntry setters) tied to the active NetworkTablesInstance, rather than bypassing the library.",
      "max_score": 15
    },
    {
      "name": "Manual flush",
      "description": "Invokes NetworkTablesInstance.flush (or the module-level flush wrapper) when flush_now is requested so pending staged updates are sent immediately without waiting for the periodic update.",
      "max_score": 20
    },
    {
      "name": "Listener drain",
      "description": "Uses waitForEntryListenerQueue and waitForConnectionListenerQueue with the provided timeout to block until both queues empty, and combines their results to report completion.",
      "max_score": 15
    },
    {
      "name": "Shutdown sequence",
      "description": "During shutdown, performs a final flush then calls both waitForEntryListenerQueue and waitForConnectionListenerQueue with the supplied timeout before returning a success indicator.",
      "max_score": 15
    }
  ]
}

Version

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