CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-comtypes

Pure Python COM package for Windows COM automation and interoperability

88

0.98x
Overview
Eval results
Files

rubric.jsonevals/scenario-10/

{
  "context": "This criteria evaluates how well the engineer uses the comtypes package to parse COM type libraries and extract metadata. The focus is specifically on using comtypes.client.GetModule(), ITypeLib/ITypeInfo interfaces, and proper iteration through type library constructs.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Type library loading",
      "description": "Uses comtypes.client.GetModule() or comtypes.typeinfo.LoadTypeLib() to load the type library from the specified path",
      "max_score": 15
    },
    {
      "name": "ITypeLib interface usage",
      "description": "Uses ITypeLib interface to access type library metadata, including GetDocumentation() for name and version, and GetTypeInfoCount()/GetTypeInfo() to iterate through types",
      "max_score": 20
    },
    {
      "name": "Interface extraction",
      "description": "Uses ITypeInfo interface with GetTypeAttr() to identify interfaces (TKIND_INTERFACE or TKIND_DISPATCH), GetFuncDesc() to extract method information, and GetNames() to retrieve method and parameter names",
      "max_score": 20
    },
    {
      "name": "Coclass extraction",
      "description": "Uses ITypeInfo interface with GetTypeAttr() to identify coclasses (TKIND_COCLASS), GetImplTypeFlags() and GetRefTypeInfo() to extract implemented interfaces",
      "max_score": 15
    },
    {
      "name": "Enumeration extraction",
      "description": "Uses ITypeInfo interface with GetTypeAttr() to identify enumerations (TKIND_ENUM), GetVarDesc() to iterate through enum constants, and GetNames() to retrieve constant names and values",
      "max_score": 15
    },
    {
      "name": "Proper resource cleanup",
      "description": "Properly releases type library and type info resources after use, avoiding memory leaks in COM resource management",
      "max_score": 5
    },
    {
      "name": "JSON output generation",
      "description": "Correctly serializes the extracted metadata into JSON format and writes it to the specified output file path",
      "max_score": 10
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-comtypes

tile.json