requests
Requests is a simple, yet elegant, HTTP library. Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your PUT & POST data, but nowadays, just use the JSON method! Requests is one of the most downloaded Python packages today, pulling in around 30M downloads/week, according to GitHub, Requests is currently depended upon by 1,000,000+ repositories. You may certainly put your trust in this code. Requests is available on PyPI. Requests is ready for the demands of building robust and reliable HTTP–speaking applications, for the needs of today. Automatic content decompression and decoding. International domains and URLs. Sessions with cookie persistence. Browser-style TLS/SSL verification. Basic & digest authentication, and familiar dict–like cookies. Multi-part file uploads. SOCKS proxy support. Connection timeouts and streaming downloads.
Learn more
urllib3
urllib3 is a powerful, user-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries. Thread safety, connection pooling, client-side TLS/SSL verification. File uploads with multipart encoding. Helpers for retrying requests and dealing with HTTP redirects. Support for gzip, deflate, and brotli encoding. Proxy support for HTTP and SOCKS. 100% test coverage. urllib3 is one of the most downloaded packages on PyPI and is a dependency of many popular Python packages like Requests, Pip, and more! urllib3 is made available under the MIT License. The API Reference documentation provides API-level documentation. The User Guide is the place to go to learn how to use the library and accomplish common tasks. The more in-depth Advanced Usage guide is the place to go for lower-level tweaking.
Learn more
PyPI
PyPI is the official repository for Python software packages, hosting hundreds of thousands of projects that developers can publish and users can discover and install. It supports both source distributions (“sdists”) and pre-built binary “wheels”, allowing packages to include native extensions for different platforms. Projects on PyPI consist of multiple releases, each of which can include various files for different operating systems or Python versions. Metadata for each package includes things like version number, dependencies, licensing, classifiers, description (including rendering Markdown or reStructuredText), and other information that tools like pip use to resolve, download, and install the correct package. PyPI provides search and filtering based on package metadata, letting users find what they need via keywords, compatibility, or other package attributes.
Learn more
websockets
An implementation of the WebSocket Protocol (RFC 6455 & 7692). websockets is a library for building WebSocket servers and clients in Python with a focus on correctness, simplicity, robustness, and performance. Built on top of asyncio, Python’s standard asynchronous I/O framework, it provides an elegant coroutine-based API. websockets is heavily tested for compliance with RFC 6455. Continuous integration fails under 100% branch coverage. websockets is built for production. For example, it was the only library to handle backpressure correctly before the issue became widely known in the Python community. Memory usage is optimized and configurable. A C extension accelerates expensive operations. It’s pre-compiled for Linux, macOS, and Windows and packaged in the wheel format for each system and Python version. websockets takes care of everything under the hood so you can focus on your application!
Learn more