A pure Python implementation of NetworkTables, used for robot communications in the FIRST Robotics Competition.
75
{
"context": "Evaluates how well the solution uses pynetworktables type utilities, forced entry retyping, and flag toggling to satisfy the EntryTypeController spec. Rewards solutions that lean on the library's setters/force-setters and persistence APIs instead of reinventing type handling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Type validation",
"description": "Validates inputs with pynetworktables data typing helpers (e.g., Value.isValidDataType or Value.make* factories) before writing and rejects unsupported values instead of relying on generic Python checks.",
"max_score": 20
},
{
"name": "Typed writes",
"description": "Uses entry-specific setters (setBoolean/setDouble/setString/setRaw/setBooleanArray/setDoubleArray/setStringArray or setValue) when allow_retype is false to keep the existing entry type intact.",
"max_score": 20
},
{
"name": "Force retype",
"description": "When allow_retype is true, uses force-set APIs (forceSetValue or forceSetBoolean/forceSetDouble/forceSetString/forceSetRaw/forceSetBooleanArray/forceSetDoubleArray/forceSetStringArray) to replace the stored value and type.",
"max_score": 25
},
{
"name": "Preserve on mismatch",
"description": "On disallowed retype, reads the current entry via pynetworktables getters/properties (value, getValue, or typed getters) and leaves the remote entry untouched instead of overwriting.",
"max_score": 15
},
{
"name": "Flag control",
"description": "Toggles persistence with entry/table flag APIs (setFlags/clearFlags or setPersistent/clearPersistent using EntryFlags/NT_PERSISTENT) and verifies status with getFlags or isPersistent.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-pynetworktablesdocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10