URL manipulation made simple.
65
{
"context": "Evaluates whether the solution leans on the furl library to normalize URLs with correct IDNA handling, encoding, and validation rather than reimplementing these behaviors. It checks for use of furl's built-in host/port validation, encoding helpers, and strict warning mode to match the spec cases.",
"type": "weighted_checklist",
"checklist": [
{
"name": "IDNA host",
"description": "Creates and manipulates URLs via `furl` so that Unicode hosts are converted through `furl`'s `host` property to punycode/IDNA without manual encoding.",
"max_score": 30
},
{
"name": "Encoded path/query",
"description": "Uses furl's path/query components (e.g., `f.path`, `f.query`, `f.tostr()` or `Query.encode`) to percent-encode path segments and query values, including spaces, while preserving ordering instead of hand-built encoders.",
"max_score": 30
},
{
"name": "Port validation",
"description": "Relies on furl's port handling (e.g., `f.port` setter or `f.set(port=...)`) so invalid or out-of-range ports raise the library's ValueError rather than custom parsing.",
"max_score": 20
},
{
"name": "Strict warnings",
"description": "Constructs URLs with `furl(..., strict=True)` (or equivalent strict flag) to emit `UserWarning` on unencoded characters or malformed percent-escapes instead of silently accepting them.",
"max_score": 20
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-furlevals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10