{"slug": "niquests", "name": "niquests", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 5, "warners": 0, "score": 3.266, "rising": 1.67, "first": "2026-03-25", "latest": "2026-08-29", "why": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 1, "compare": 1, "warn": 0}, "spark": [0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/jawah/niquests", "official_url": "https://github.com/jawah/niquests", "pricing": "", "aliases": ["niquests", "Niquests"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 791833841, "item_id": 49489615, "url": "https://news.ycombinator.com/item?id=49489615", "by": "JimDabell", "date": "2026-08-29", "version": null, "stance": "recommend", "quote": "switch to niquests, which is actively developed", "excerpt": "Requests has been dead for over a decade. It doesn\u2019t support HTTP/2, it doesn\u2019t support HTTP/3, it doesn\u2019t support async, and they ignore security vulnerabilities for months. Nobody should use requests. If you are still using it, the quickest way to get off it is to switch to niquests, which is actively developed, supports all the things I mentioned above, and API-compatible with requests - you can just do `import ni", "context": "", "use_case": "HTTP client library", "switched_from": "requests", "story": "Migrating to HTTPX2"}, {"id": 791678304, "item_id": 49479894, "url": "https://news.ycombinator.com/item?id=49479894", "by": "jtbaker", "date": "2026-08-28", "version": null, "stance": "recommend", "quote": "niquests seems to be substantially more performant for traffic that doesn't need to traverse the public web", "excerpt": "Same! Recently ported some code from httpx -> niquests and the experience has been good, although admittedly the governance of the project seems a little unclear. I (ok, Qwen 3.7 27B) wrote some benchmarking code to compare throughput, and niquests seems to be substantially more performant for traffic that doesn't need to traverse the public web, e.g. intra cluster service to service communication: https://gist.githu", "context": "", "use_case": "HTTP client", "switched_from": "httpx", "story": "Migrating to HTTPX2"}, {"id": 760262128, "item_id": 47516383, "url": "https://news.ycombinator.com/item?id=47516383", "by": "samset7", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx", "excerpt": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx :)", "context": "", "use_case": "HTTP client library", "switched_from": "httpx", "story": "I Forked Httpx"}, {"id": 760239457, "item_id": 47514966, "url": "https://news.ycombinator.com/item?id=47514966", "by": "mesahm", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "niquests easily beat aiohttp just using 10 conn and crush httpx", "excerpt": "aiohttp is an excellent library. very stable. I concurs, but! it's too heavily tied to HTTP/1, and well, I am not a fan of opening thousands of TCP conn just to keep up with HTTP/2 onward. niquests easily beat aiohttp just using 10 conn and crush httpx see https://gist.github.com/Ousret/9e99b07e66eec48ccea5811775ec116d fwiw, HTTP/2 is twelve years old, just saying.", "context": "", "use_case": "", "switched_from": "", "story": "I Forked Httpx"}, {"id": 760237505, "item_id": 47514844, "url": "https://news.ycombinator.com/item?id=47514844", "by": "mesahm", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "See Niquests https://github.com/jawah/niquests", "excerpt": "the http landscape is rather scary lately in Python. instead of forking join forces... See Niquests https://github.com/jawah/niquests I am trying to resolve what you've seen. For years of hard work.", "context": "", "use_case": "", "switched_from": "", "story": "I Forked Httpx"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["http client library", "http client"], "compared": [{"slug": "httpx", "name": "httpx", "co": 5, "switched_from": 2, "switched_to": 0}, {"slug": "requests", "name": "Requests", "co": 3, "switched_from": 2, "switched_to": 0}], "makers": [{"id": 761793761, "item_id": 47612110, "url": "https://news.ycombinator.com/item?id=47612110", "by": "mesahm", "date": "2026-04-02", "version": null, "stance": "recommend", "quote": "yes rtls is supported transparently with it", "excerpt": "Hi HN, I am the original author of \"rtls\". For years now, the Python experts are arguing about OpenSSL mandatory aspect in the distribution, and many other went into compiling CPython themselves against LibreSSL, or AWS-LC, (...) I wanted the broader community to be able to just \"run an alternative ssl backend\" without effort. The main goal is for anyone running a mere high level http client to be able to leverage a ", "context": "", "use_case": "Python HTTP client", "switched_from": "", "story": "Show HN: A drop-in replacement and memory-safe TLS back end for Python"}, {"id": 760275104, "item_id": 47517194, "url": "https://news.ycombinator.com/item?id=47517194", "by": "mesahm", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "I spend 3 years developing Niquests, and believe me", "excerpt": "I spend 3 years developing Niquests, and believe me, HTTP is far from easy. Being a client means you have to speak to everyone, and no one have to speak to you (RFC are nice, but in practice never applied as-is). Once you go deep under the implementation, you'll find a thousand edge cases(...). And yes, the myth that as developer http/1 is \"best\" only means that the underlying scheduler is weak. today, via a dead sim", "context": "", "use_case": "", "switched_from": "", "story": "I Forked Httpx"}, {"id": 757799440, "item_id": 47362465, "url": "https://news.ycombinator.com/item?id=47362465", "by": "mesahm", "date": "2026-03-13", "version": null, "stance": "recommend", "quote": "I wanted the beautiful, ergonomic API of requests, but I wanted it to speak the modern web", "excerpt": "Hi HN, I'm the maintainer of Niquests. For years, Python's Requests library was the gold standard, but it has been under feature freeze. As the web moved on, the Python ecosystem fractured: we got aiohttp (async only) and httpx (great, but currently struggles in high throughput scenarii for years with no visible solution merged so far). I wanted the beautiful, ergonomic API of requests, but I wanted it to speak the m", "context": "maintainer of Niquests", "use_case": "Python HTTP client", "switched_from": "Requests", "story": "Show HN: I forked Python's Requests to add HTTP/3, async, and multiplexing"}], "threads": [{"url": "https://news.ycombinator.com/item?id=47514603", "title": "I Forked Httpx", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=49477212", "title": "Migrating to HTTPX2", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49040741", "title": "Opus 5 is currently #1 on Artificial Analysis Intelligence Leaderboard", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47612046", "title": "Show HN: A drop-in replacement and memory-safe TLS back end for Python", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47362442", "title": "Show HN: I forked Python's Requests to add HTTP/3, async, and multiplexing", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"neutral": 1}, "2026-08": {"compare": 1, "recommend": 2}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 791833841, "item_id": 49489615, "url": "https://news.ycombinator.com/item?id=49489615", "by": "JimDabell", "date": "2026-08-29", "version": null, "stance": "recommend", "quote": "switch to niquests, which is actively developed", "excerpt": "Requests has been dead for over a decade. It doesn\u2019t support HTTP/2, it doesn\u2019t support HTTP/3, it doesn\u2019t support async, and they ignore security vulnerabilities for months. Nobody should use requests. If you are still using it, the quickest way to get off it is to switch to niquests, which is actively developed, supports all the things I mentioned above, and API-compatible with requests - you can just do `import ni", "context": "", "use_case": "HTTP client library", "switched_from": "requests", "story": "Migrating to HTTPX2"}, {"id": 791678304, "item_id": 49479894, "url": "https://news.ycombinator.com/item?id=49479894", "by": "jtbaker", "date": "2026-08-28", "version": null, "stance": "recommend", "quote": "niquests seems to be substantially more performant for traffic that doesn't need to traverse the public web", "excerpt": "Same! Recently ported some code from httpx -> niquests and the experience has been good, although admittedly the governance of the project seems a little unclear. I (ok, Qwen 3.7 27B) wrote some benchmarking code to compare throughput, and niquests seems to be substantially more performant for traffic that doesn't need to traverse the public web, e.g. intra cluster service to service communication: https://gist.githu", "context": "", "use_case": "HTTP client", "switched_from": "httpx", "story": "Migrating to HTTPX2"}, {"id": 791666736, "item_id": 49479171, "url": "https://news.ycombinator.com/item?id=49479171", "by": "jklehm", "date": "2026-08-28", "version": null, "stance": "compare", "quote": "Wonder if they evaluated httpx2 vs niquests", "excerpt": "Wonder if they evaluated httpx2 vs niquests: https://github.com/jawah/niquests", "context": "", "use_case": "HTTP client", "switched_from": "", "story": "Migrating to HTTPX2"}, {"id": 785212068, "item_id": 49075754, "url": "https://news.ycombinator.com/item?id=49075754", "by": "nijave", "date": "2026-07-27", "version": null, "stance": "neutral", "quote": "Fetch is basic niquests without Javascript or anything clever", "excerpt": "Forgot about the ol \"but how many tokens did you spend to get _there_\"--wish benchmarks would include the number of input/output tokens to achieve the score. I think the closest is Android Bench https://developer.android.com/bench although best you can do is extrapolate off time/cost (iirc they claim to prefer using provider's native API) In general, smart models work fine with any tools, dumber models need better to", "context": "", "use_case": "", "switched_from": "", "story": "Opus 5 is currently #1 on Artificial Analysis Intelligence Leaderboard"}, {"id": 760262128, "item_id": 47516383, "url": "https://news.ycombinator.com/item?id=47516383", "by": "samset7", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx", "excerpt": "We have switched to niquests in my company and yes I can confirm that it's 10x better than httpx :)", "context": "", "use_case": "HTTP client library", "switched_from": "httpx", "story": "I Forked Httpx"}, {"id": 760239457, "item_id": 47514966, "url": "https://news.ycombinator.com/item?id=47514966", "by": "mesahm", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "niquests easily beat aiohttp just using 10 conn and crush httpx", "excerpt": "aiohttp is an excellent library. very stable. I concurs, but! it's too heavily tied to HTTP/1, and well, I am not a fan of opening thousands of TCP conn just to keep up with HTTP/2 onward. niquests easily beat aiohttp just using 10 conn and crush httpx see https://gist.github.com/Ousret/9e99b07e66eec48ccea5811775ec116d fwiw, HTTP/2 is twelve years old, just saying.", "context": "", "use_case": "", "switched_from": "", "story": "I Forked Httpx"}, {"id": 760237505, "item_id": 47514844, "url": "https://news.ycombinator.com/item?id=47514844", "by": "mesahm", "date": "2026-03-25", "version": null, "stance": "recommend", "quote": "See Niquests https://github.com/jawah/niquests", "excerpt": "the http landscape is rather scary lately in Python. instead of forking join forces... See Niquests https://github.com/jawah/niquests I am trying to resolve what you've seen. For years of hard work.", "context": "", "use_case": "", "switched_from": "", "story": "I Forked Httpx"}]}