CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-pynetworktables

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

75

1.01x
Overview
Eval results
Files

rubric.jsonevals/scenario-9/

{
  "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
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-pynetworktables

tile.json