awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
urllib3 avatar

urllib3/urllib3

0
View on GitHub↗
4,026 stars·1,392 forks·Python·MIT·9 viewsurllib3.readthedocs.io↗

Urllib3

urllib3 is a Python HTTP client library used for sending network requests and receiving responses. It functions as an HTTP connection pool manager and a TLS certificate validator to ensure secure communication between endpoints.

The library provides a system for maintaining reusable network connections to reduce the overhead of repeated handshakes. It also serves as an HTTP proxy client capable of routing requests through proxy servers to manage origin identity or bypass firewalls.

The tool covers programmatic file uploads via multipart encoding and automated network resilience through the use of retries and redirect following. It also manages the decompression of response payloads and the verification of server certificates.

Features

  • HTTP Connection Pools - Implements a system for maintaining reusable HTTP connections to reduce the overhead of repeated TCP and TLS handshakes.
  • HTTP Client Requests - Acts as a comprehensive HTTP client for sending requests and receiving responses from remote servers.
  • Thread-Safe HTTP Clients - Provides a thread-safe HTTP client implementation with shared connection pools for concurrent access.
  • HTTP Client Libraries - Provides a comprehensive library for performing synchronous and asynchronous HTTP requests and managing connection pools in Python.
  • TCP Connection Pooling - Implements TCP connection pooling to eliminate repeated handshake overhead for HTTP requests.
  • HTTP Client Implementations - Enables sending and receiving data over the internet using Python to interact with remote servers and APIs.
  • Secure API Communications - Handles encrypted HTTPS connections by verifying server certificates to ensure data privacy and server identity.
  • Connection Certificate Verifiers - Validates SSL/TLS certificates during the handshake to ensure secure communication.
  • TLS Certificate Validations - Verifies server identity during the TLS handshake to prevent man-in-the-middle attacks.
  • Transport Layer Handshaking - Manages secure TLS negotiation and certificate verification directly at the transport layer.
  • Request Retries - Automatically re-attempts failed network requests to improve communication reliability.
  • Chunked Response Processing - Processes incoming HTTP responses in chunks to handle large payloads without memory exhaustion.
  • Response Decompression - Automatically decompresses HTTP response bodies using standard encoding formats.
  • Proxy-Compatible Clients - Functions as a client-side implementation capable of routing traffic through HTTP proxies.
  • Multipart Form Uploads - Transmits files and binary data using the HTTP multipart/form-data encoding standard.
  • Traffic Routing Proxies - Directs network requests through intermediary proxy servers to bypass regional restrictions.
  • Proxy Server Routing - Allows routing of network traffic through configurable proxy servers to bypass firewalls.
  • Resilient Networking Patterns - Implements resilient networking patterns through automated retries and redirect following.
  • HTTP Retry Engines - Provides a configurable HTTP retry engine that triggers based on specific network errors or status codes.
  • HTTP Redirects - Automatically follows HTTP redirect responses to reach the final resource destination.
  • HTTP Clients - Thread-safe HTTP library with connection pooling.

Star history

Star history chart for urllib3/urllib3Star history chart for urllib3/urllib3

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does urllib3/urllib3 do?

urllib3 is a Python HTTP client library used for sending network requests and receiving responses. It functions as an HTTP connection pool manager and a TLS certificate validator to ensure secure communication between endpoints.

What are the main features of urllib3/urllib3?

The main features of urllib3/urllib3 are: HTTP Connection Pools, HTTP Client Requests, Thread-Safe HTTP Clients, HTTP Client Libraries, TCP Connection Pooling, HTTP Client Implementations, Secure API Communications, Connection Certificate Verifiers.

What are some open-source alternatives to urllib3/urllib3?

Open-source alternatives to urllib3/urllib3 include: shazow/urllib3 — urllib3 is a Python HTTP client library used to send network requests and receive responses. It provides core… go-resty/resty — Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined… requests/requests — Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network… rest-client/rest-client — This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication.… sindresorhus/ky — 🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API. jnunemaker/httparty — HTTParty is a Ruby HTTP client library designed for building standardized API clients. It abstracts low-level network…

Open-source alternatives to Urllib3

Similar open-source projects, ranked by how many features they share with Urllib3.
  • shazow/urllib3shazow avatar

    shazow/urllib3

    4,026View on GitHub↗

    urllib3 is a Python HTTP client library used to send network requests and receive responses. It provides core components for managing HTTP connection pools, routing traffic through proxies, validating TLS certificates, and executing automatic request retries. The library focuses on network reliability and efficiency by maintaining a system that reuses established connections to multiple hosts to reduce latency. It ensures secure communication through client-side certificate verification and handles transient network errors using policy-based retry logic. The project covers broad networking c

    Python
    View on GitHub↗4,026
  • go-resty/restygo-resty avatar

    go-resty/resty

    11,704View on GitHub↗

    Resty is a high-level HTTP client library for Go designed for consuming REST services. It provides a streamlined interface for executing network requests, managing server-sent event streams, and automatically mapping JSON and XML responses into data structures. The library includes built-in mechanisms for service resilience and traffic management, such as circuit breakers to prevent cascading failures, token-bucket rate limiting, and automated request retries with exponential backoff. It also features client-side load balancing to distribute outgoing traffic across multiple base URLs and requ

    Gobackoffcircuit-breakercurl-command
    View on GitHub↗11,704
  • requests/requestsrequests avatar

    requests/requests

    54,070View on GitHub↗

    Requests is a Python HTTP client library used for sending HTTP requests and handling responses. It serves as a network client providing fundamental components for session management, proxy routing, multi-part uploading, and SSL/TLS certificate verification. The project distinguishes itself through a session manager that maintains cookies and reuses TCP connections to improve network performance. It also includes a dedicated multi-part form uploader for transmitting binary data and an integrated SSL/TLS certificate verifier to ensure encrypted and trusted communication. The library covers a b

    Python
    View on GitHub↗54,070
  • rest-client/rest-clientrest-client avatar

    rest-client/rest-client

    5,215View on GitHub↗

    This is a Ruby HTTP client designed for REST API integration, resource modeling, and automated network communication. It provides a set of tools for managing headers, cookies, and SSL configurations, along with a dedicated command-line interface for executing one-off HTTP commands and managing interactive API testing sessions. The project differentiates itself through its resource modeling capabilities, which allow for the definition of persistent base URLs and credentials to construct nested subresource endpoints. It also features a multipart request handler that detects MIME types to upload

    Ruby
    View on GitHub↗5,215
  • See all 30 alternatives to Urllib3→