-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace psf/requests
with an unofficial fork
#1531
Conversation
46f030c
to
16ccc1b
Compare
16ccc1b
to
741017e
Compare
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
faf9aef
to
c12f000
Compare
Codecov ReportAll modified and coverable lines are covered by tests ✅
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## master #1531 +/- ##
==========================================
- Coverage 97.28% 0 -97.29%
==========================================
Files 67 0 -67
Lines 4235 0 -4235
==========================================
- Hits 4120 0 -4120
+ Misses 115 0 -115 ☔ View full report in Codecov by Sentry. |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
52653e4
to
247b382
Compare
0b4eebb
to
7dd1152
Compare
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
This comment was marked as spam.
7dd1152
to
7257a74
Compare
This comment was marked as spam.
This comment was marked as spam.
7257a74
to
4c246e4
Compare
This comment was marked as spam.
This comment was marked as spam.
4c246e4
to
f034379
Compare
Damn this looks so tantalizing. I'd love for this to get packaged as a tryout / beta. Something installable via e.g. |
f034379
to
df42bba
Compare
This comment was marked as spam.
This comment was marked as spam.
@jkbrzt Aren't you the maintainer here? Could you give an update on this? |
This comment was marked as spam.
This comment was marked as spam.
@Ousret, like the others in the thread, I also wanted to thank you for your work on this PR. I have been building it with my NixOS flake https://gitea.com/techknowlogick/tklk-flake as I run the PR version daily. |
bb4ce6e
to
bbdb20c
Compare
bbdb20c
to
e375c25
Compare
@Ousret At what point do you go ahead and publish your work as a fork? |
This comment was marked as spam.
This comment was marked as spam.
@Ousret Thank you for all your work on this. As a I arrived at this pull request because I was affected by one of the amount two dozen issues that it closes. If the original maintainer doesn't merge it, I hope it's packaged as a fork. Though, my own open source plate is also full as well, and I'm not volunteering at the moment, either. |
Sorry to see this. I expressed concerns over performance as with Niquests, the most common use case of fetching a JSON response is 50% slower (including over HTTP/1). My last words were that I'll do more testing. For the record, we have been in touch over email (as well as sponsoring Ahmed) for over half a year. I wish all the best to both Ahmed and his project. |
psf/requests
with an unofficial fork
This PR showcases how HTTPie could evolve outside of Requests.
Niquests is supposed to be a (mostly) compatible fork of Requests.
Try this preview:
$ pip install "git+https://github.com/Ousret/HTTPie.git@feature-tryout-niquests" -U
Here are the biggest pros of this:
Obviously, cons:
Complete list of changes in the fork: https://github.com/jawah/niquests/blob/main/HISTORY.md
http
#1527--download
reports an "incomplete download" with Content-Encoding: gzip and content-length. #4234.0.0 (unreleased)
requests
library to the compatibleniquests
. (#1531)--heb
flag (disabled by default). #1599 #1531-6
and-4
. (#94, #1531)--resolver
. DNS over HTTPS, DNS over TLS, DNS over QUIC, and DNS over UDP are accepted. (#99, #1531)--interface
. (#1422, #1531)--local-port
. (#1456, #1531).localhost
to the default loopback address. (#1458, #1527)This fix has the particularity to consider 0 byte long stdin buffer as absent stdin. Empty stdin buffer will be ignored.
-1
to retrieve packets as they arrive. (#1531)Content-Encoding
aka. compressed body. (#1554, #423, #1527)x-hello-world
is displayed asX-Hello-World
.pyopenssl
. (#1531)requests_toolbelt
in favor of directly includingMultipartEncoder
into HTTPie due to its direct dependency to requests. (#1531)multidict
in favor of an internal one due to often missing pre-built wheels. (#1522, #1531)Existing plugins are expected to work without any changes. The only caveat would be that certain plugin explicitly require
requests
.Future contributions may be made in order to relax the constraints where applicable.