Currently, passing timeout=None to Client.request() / AsyncClient.request() falls back to the client-level default (30s) because the Rust side skips client_request.timeout() when the value is None:
// impit.rs:443-444
if let Some(timeout) = timeout {
client_request = client_request.timeout(timeout);
}
HTTPX treats timeout=None as "no timeout" (wait indefinitely). Since impit's Python API aims to follow HTTPX conventions, it would be good to match this behavior.
Proposed: When timeout=None is passed per-request, actively disable the timeout instead of falling back to the client default.
Currently, passing
timeout=NonetoClient.request()/AsyncClient.request()falls back to the client-level default (30s) because the Rust side skipsclient_request.timeout()when the value isNone:HTTPX treats
timeout=Noneas "no timeout" (wait indefinitely). Since impit's Python API aims to follow HTTPX conventions, it would be good to match this behavior.Proposed: When
timeout=Noneis passed per-request, actively disable the timeout instead of falling back to the client default.