Persistent cache implementation for httpx and httpcore following RFC 9111 specification
74
{
"context": "This criteria evaluates how well the engineer uses the hishel library to implement HTTP caching with proper no-cache directive handling. The focus is on correct usage of hishel's caching capabilities, metadata inspection to verify cache behavior, and proper configuration of cache clients.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Hishel client usage",
"description": "Uses hishel's cache-enabled HTTP client (e.g., hishel.CacheClient, hishel.AsyncCacheClient, or hishel.CacheTransport) to make HTTP requests with caching support",
"max_score": 25
},
{
"name": "Storage backend configuration",
"description": "Configures a hishel storage backend (e.g., hishel.SQLiteStorage or hishel.AsyncSQLiteStorage) to persist cached responses",
"max_score": 15
},
{
"name": "No-cache header injection",
"description": "Correctly adds 'Cache-Control: no-cache' to request headers for the third request to force revalidation",
"max_score": 20
},
{
"name": "Cache metadata inspection",
"description": "Uses hishel response metadata (extensions like 'from_cache', 'revalidated', or 'stored') to determine whether responses came from cache or required revalidation",
"max_score": 25
},
{
"name": "Revalidation verification",
"description": "Demonstrates that the no-cache directive forces revalidation by showing the third request does not use the cached response directly (e.g., revalidated=True or from_cache=False for fresh request)",
"max_score": 15
}
]
}Install with Tessl CLI
npx tessl i tessl/pypi-hisheldocs
evals
scenario-1
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
scenario-10