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

{
  "context": "Evaluates how well the solution uses pynetworktables to manage the default instance lifecycle, start an in-memory server/client pair, interact with the default table, and cleanly reset state between runs. Checks focus on correct API usage rather than general Python quality.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Default instance",
      "description": "Uses NetworkTablesInstance.getDefault() as the single shared instance for server, client, and table access instead of creating custom instances or manual globals.",
      "max_score": 20
    },
    {
      "name": "Startup mode",
      "description": "Sets network identity via setNetworkIdentity(...) and starts the messaging service on the default instance using the package's server or in-memory test mode APIs (e.g., startTestMode() or startServer(...)) before any table operations.",
      "max_score": 20
    },
    {
      "name": "Table I/O",
      "description": "Publishes and reads keys through the default table using package entry APIs (getTable()/getEntry() with putValue/typed setters and getValue/typed getters) rather than custom dictionaries or caches.",
      "max_score": 20
    },
    {
      "name": "Client connect",
      "description": "Establishes a local client on the default instance that connects to the running server/test mode via startClient/startClientTeam or setServer, confirming connection before reading updates.",
      "max_score": 15
    },
    {
      "name": "Update visibility",
      "description": "Demonstrates that client-side reads reflect server-side updates by using package mechanisms such as getAutoUpdateValue, entry listeners, or entry get*/put* with flush/wait for queues instead of manual copies.",
      "max_score": 15
    },
    {
      "name": "Shutdown/reset",
      "description": "Shuts down and resets the default instance with the appropriate APIs (stopTestMode/stopServer plus stopClient/close) and clears table state (e.g., deleteAllEntries or re-entering test mode) so restarts begin empty.",
      "max_score": 10
    }
  ]
}

Version

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