tessl install tessl/pypi-ldap3@1.4.0A strictly RFC 4510 conforming LDAP V3 pure Python client library
Agent Success
Agent success rate when using this tile
81%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.08x
Baseline
Agent success rate without this tile
75%
{
"context": "Evaluates whether the solution uses ldap3's connection lifecycle APIs to configure the server target, authenticate (including auto-bind), swap credentials, and close sessions safely while tracking bound state. Focuses only on how ldap3 primitives are applied, not general code style or structure.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Server config",
"description": "Builds the LDAP endpoint with ldap3.Server (supplying host/port and enabling Tls when use_tls is requested) instead of manual socket handling.",
"max_score": 15
},
{
"name": "Auto-bind",
"description": "Creates ldap3.Connection with authentication parameters mapped from config and sets auto_bind (e.g., AUTO_BIND_NO_TLS/TLS_BEFORE_BIND) so auto_connect paths bind immediately without an explicit bind call.",
"max_score": 30
},
{
"name": "Manual bind/unbind",
"description": "Invokes connection.bind() when auto_connect is false, checks connection.bound (or bind() return) to reflect state, and calls connection.unbind() to close sessions when requested.",
"max_score": 20
},
{
"name": "Rebind",
"description": "Switches identities with connection.rebind(user=new_user_dn, password=new_password, authentication set appropriately) rather than recreating the client, ensuring bound state updates to the new credentials.",
"max_score": 20
},
{
"name": "Context cleanup",
"description": "Wraps the underlying ldap3.Connection in a context manager (with Connection(...) as conn:) or implements __enter__/__exit__ that delegate to it so that unbind() is invoked automatically after the with-block, even on exceptions.",
"max_score": 15
}
]
}