A strictly RFC 4510 conforming LDAP V3 pure Python client library
81
{
"context": "Evaluates how well the solution uses ldap3's abstraction layer (ObjectDef/AttrDef, Reader, Writer, and Entry helpers) to build schema-aware searches, handle paging, and commit updates for the directory helper.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Object schema",
"description": "Uses ldap3.ObjectDef with AttrDef entries for name, email, department, manager, and created_at, applying key mappings, default department, and an email validate callable before searches.",
"max_score": 25
},
{
"name": "Reader query",
"description": "Constructs ldap3.Reader with the simplified query string (e.g., 'name: Alice* & department: Engineering'), correct base DN, components_in_and logic, subtree scope, and executes search/search_subtree to populate entries.",
"max_score": 25
},
{
"name": "Dereference & operational",
"description": "Configures AttrDef or Reader for DN dereferencing (using dereference_dn on the manager attribute) and get_operational_attributes=True to pull timestamp data, reading values through Entry accessors instead of manual parsing.",
"max_score": 15
},
{
"name": "Paged results",
"description": "Implements pagination via Reader.search_paged or extend.standard.paged_search with paged_size=1, iterating cookies until exhausted and preserving ordered aggregation of results.",
"max_score": 15
},
{
"name": "Writer updates",
"description": "Performs modifications through ldap3.Writer or Entry commit helpers (entry_commit_changes, entry_rename) to update department and rename DNs, clearing pending changes rather than using raw Connection.modify/modify_dn calls.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-ldap3evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10