CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-pysnmp

A comprehensive Python SNMP library supporting v1/v2c/v3 with authentication and privacy protocols

84

0.94x
Overview
Eval results
Files

rubric.jsonevals/scenario-4/

{
  "context": "This criteria evaluates how well the engineer uses the pysnmp package to implement SNMPv1 message processing. It focuses on the correct usage of SNMPv1-specific APIs, proper community-based authentication, and appropriate error handling for SNMP operations.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "SNMPv1 Protocol Selection",
      "description": "Uses SNMPv1 message processing by specifying mpModel=0 or using CommunityData with appropriate message processing version. The implementation must explicitly use SNMPv1, not SNMPv2c or SNMPv3.",
      "max_score": 20
    },
    {
      "name": "Community Authentication",
      "description": "Correctly implements community-based authentication using CommunityData class with the provided community string parameter. Must pass the community string to CommunityData constructor.",
      "max_score": 15
    },
    {
      "name": "GET Operation",
      "description": "Uses the appropriate SNMP GET operation (such as getCmd from pysnmp.hlapi) to retrieve the four specified OIDs (sysDescr, sysUpTime, sysContact, sysName). Must use GET, not GETNEXT or other operations.",
      "max_score": 25
    },
    {
      "name": "OID Specification",
      "description": "Correctly specifies all four required OIDs using ObjectType and ObjectIdentity classes or equivalent string notation (1.3.6.1.2.1.1.1.0, 1.3.6.1.2.1.1.3.0, 1.3.6.1.2.1.1.4.0, 1.3.6.1.2.1.1.5.0).",
      "max_score": 15
    },
    {
      "name": "Timeout Configuration",
      "description": "Implements timeout handling by configuring the timeout parameter in the transport target (UdpTransportTarget) using the provided timeout value from function parameters.",
      "max_score": 10
    },
    {
      "name": "Error Detection",
      "description": "Properly checks for and handles errorIndication, errorStatus, and errorIndex returned by the SNMP operation. Must distinguish between different error types (timeout vs authentication).",
      "max_score": 10
    },
    {
      "name": "Result Extraction",
      "description": "Correctly extracts values from varBinds returned by the SNMP operation and maps them to the appropriate dictionary keys (sysDescr, sysUpTime, sysContact, sysName).",
      "max_score": 5
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-pysnmp

tile.json