{"id":23152,"library":"pyreqwest","title":"pyreqwest","description":"Powerful and fast Rust-based HTTP client for Python, wrapping the popular reqwest crate. Current version 0.11.8, requires Python >=3.11. Release cadence is irregular with frequent bugfix releases.","status":"active","version":"0.11.8","language":"python","source_language":"en","source_url":"https://github.com/MarkusSintonen/pyreqwest","tags":["http-client","rust","synchronous","reqwest"],"install":[{"cmd":"pip install pyreqwest","lang":"bash","label":"Install from PyPI"}],"dependencies":[],"imports":[{"note":null,"wrong":null,"symbol":"Client","correct":"from pyreqwest import Client"},{"note":null,"wrong":null,"symbol":"ClientBuilder","correct":"from pyreqwest import ClientBuilder"},{"note":null,"wrong":null,"symbol":"Response","correct":"from pyreqwest import Response"}],"quickstart":{"code":"from pyreqwest import Client\n\nclient = Client()\nresponse = client.get(\"https://httpbin.org/get\")\nprint(response.status_code)\nprint(response.text())","lang":"python","description":"Basic synchronous HTTP GET request."},"warnings":[{"fix":"Do not try `await client.get(...)`. Use synchronous calls only.","message":"pyreqwest methods (e.g., `get`, `post`) are **blocking** by default. There is no async support. If you need async, use a different library.","severity":"gotcha","affected_versions":"all"},{"fix":"Change to `header(key=\"X-Custom\", value=\"val\")`.","message":"In v0.11.4, the `header` method on `RequestBuilder` renamed the `name` keyword argument to `key`. Code using `header(name=\"X-Custom\", value=\"val\")` will break.","severity":"breaking","affected_versions":">=0.11.4"},{"fix":"Always call `response.text()` with parentheses.","message":"`Response.text()` is a method, not a property. Calling `response.text` (without parentheses) returns the bound method, not the string.","severity":"gotcha","affected_versions":"all"},{"fix":"Use `client_builder.http2(True)` (boolean) as intended.","message":"The `http2()` method on `ClientBuilder` is deprecated in favor of `http2_prior_knowledge()`? Actually, keep this generic: The `http2` method typing has been corrected; ensure you pass a boolean.","severity":"deprecated","affected_versions":">=0.11.7"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Use `response.text()` to get the response body as string.","cause":"Using `response.text` without parentheses.","error":"AttributeError: 'Response' object has no attribute 'text'"},{"fix":"Instantiate a Client: `client = pyreqwest.Client()` then use `client.get(...)`.","cause":"Attempting to call `pyreqwest()` directly instead of using a client.","error":"TypeError: 'module' object is not callable"},{"fix":"Provide an absolute URL (e.g., \"https://example.com/path\").","cause":"Passing a relative URL (e.g., \"/path\") without a base client URL.","error":"pyreqwest.errors.RequestError: URL parse error: relative URL without a base"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}