urllib3
Bearer Python
DISCONTINUED
Our great sponsors
urllib3 | Bearer Python | |
---|---|---|
7 | 0 | |
2,985 | 11 | |
1.4% | - | |
8.8 | 0.4 | |
6 days ago | - | |
Python | Python | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
urllib3
-
Python’s “Type Hints” are a bit of a disappointment to me
(I've chopped it down a bit to emphasise the important bits)
But then I looked at upstream and I notice they've added type annotations, which do greatly improve things:
https://github.com/urllib3/urllib3/blob/e16beb210c03c6f5ce4e...
def _new_conn(self) -> socket.socket:
-
I updated all my Python modules using pip and now I keep getting an ImportError from the 'collections' module. Any fixes to this issue?
You have somehow installed an extremely old version of urllib3. It looks like the selectors module was deleted in 2018.
-
httpx worked fine for me... any reason to consider urllib3?
I've found httpx to be very approachable for my API consumption tasks and less wordy than urllib3.
-
Open source package urllib3 raised $15,000 in 2021
Here are the docs if you're interested: https://urllib3.readthedocs.io
Some context on David Lord's entry, he was our first attempt to pay a community member to contribute a PR and get paid for the contribution. Here's the PR we merged and paid him for: https://github.com/urllib3/urllib3/pull/2257
-
HTTP Calls in Python Without requests or Other External Dependencies
urllib3 is the dependency for many other tools, including requests. By itself, urllib3 is quite usable. It may be all you need.
-
Weird architectures weren't supported to begin with
Alright, let's do some digging...
On 2013-03-21, urllib3 added an optional dependency to pyopenssl for SNI support on python2 - https://github.com/urllib3/urllib3/pull/156
On 2013-12-29, pyopenssl switched from opentls to cryptography - https://github.com/pyca/pyopenssl/commit/6037d073
On 2016-07-19, urllib3 started to depend on a new pyopenssl version that requires cryptography - https://github.com/urllib3/urllib3/commit/c5f393ae3
On 2016-11-15, requests started to depend on a new urllib3 version that now indirectly requires cryptography - https://github.com/psf/requests/commit/99fa7bec
On 2018-01-30, portage started to enable the +rsync-verify USE flag by default, which relies on the gemato python library maintained by mgorny himself, and gemato depended on requests. So 5-6 levels of indirection at this point? I lost count.
On 2020-01-01, python2 was sunset. A painful year to remember, and a painful migration to forget. And just when the year was about to end...
On 2020-12-22, cryptography started to integrate rust in the build process, and all hell broke loose - https://github.com/pyca/cryptography/commit/c84d6ee0
Ultimately, I think mgorny only has himself to blame here, by injecting his own library into the critical path of gentoo, without carefully taking care of its direct and indirect dependencies. (But of course it is also fair game to blame it on the 2to3 migration)
In comparison, few months before this, the librsvg package went through a similar change where it started to depend on rust, and it was swift and painless without much drama - https://bugs.gentoo.org/739820 and https://wiki.gentoo.org/wiki/Project:GNOME/3.36-notes
Bearer Python
We haven't tracked posts mentioning Bearer Python yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
requests - A simple, yet elegant, HTTP library.
httplib2 - Small, fast HTTP client library for Python. Features persistent connections, cache, and Google App Engine support. Originally written by Joe Gregorio, now supported by community.
grequests - Requests + Gevent = <3
pycurl - PycURL - Python interface to libcurl
Uplink - A Declarative HTTP Client for Python
requests-futures - Asynchronous Python HTTP Requests for Humans using Futures
Doublify API Toolkit
kiss-headers - 💡Python package for HTTP/1.1 style headers. Parse headers to objects. Most advanced available structure for http headers.
txrequests - Asynchronous Python HTTP Requests for Humans using twisted
jasmin - Jasmin - Open source SMS gateway