37 Repos
Libraries for performing synchronous and asynchronous HTTP requests, managing connection pools, and handling complex network interactions.
Distinct from Python Web Frameworks: Distinct from Python Web Frameworks: this is a client-side library for making requests, not a server-side framework for building web applications.
Explore 37 awesome GitHub repositories matching networking & communication · HTTP Client Libraries. Refine with filters or upvote what's useful.
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
Provides a human-readable Python library for performing synchronous HTTP requests and managing connection pools.
This is an HTTP client library used for sending and receiving network requests. It functions as an HTTP traffic replicator, a multipart form uploader, and an OAuth request signer, while also serving as an HTTP client capable of routing traffic through Unix domain sockets for local inter-process communication. The project distinguishes itself with the ability to import and parse HTTP Archive JSON files to reproduce recorded network traffic. It also provides cryptographic OAuth signing to secure API access using hashing algorithms and supports routing requests through Unix domain sockets using
Provides a comprehensive library for sending and receiving HTTP requests with support for various methods and authentication.
Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a concurrent HTTP request manager, an HTTP stream handler, and a middleware-based HTTP pipeline. The project is a PSR-7 compliant client, utilizing standardized PHP interfaces for requests, responses, and streams. The library differentiates itself through a customizable functional handler stack that allows for the interception and modification of the request and response lifecycle. It features an adapter-based transport system that enables swapping between network implementations,
Acts as a full-featured PHP HTTP client library for synchronous and asynchronous network interactions.
🌳 Tiny & elegant JavaScript HTTP client based on the Fetch API
An HTTP client library built on the Fetch API for making requests with retries, timeouts, and error handling.
This project is an asynchronous library for the Python programming language designed to facilitate the development of automated agents and interactive applications on the Discord platform. It provides a comprehensive framework for building event-driven software that manages real-time communication, server resources, and user interactions through a structured interface. The library utilizes a non-blocking event loop to handle concurrent network operations, allowing developers to maintain persistent bidirectional connections via WebSockets. It features a declarative system for routing text-base
A collection of tools for managing HTTP requests and WebSocket connections to interact with external service APIs programmatically.
This project is a comprehensive Python network request framework designed for both synchronous and asynchronous HTTP communication. It provides a high-performance client capable of executing non-blocking requests within event-driven applications, while also supporting standard blocking calls for simpler scripts. The library is built to operate natively across diverse asynchronous runtimes, automatically detecting and utilizing the underlying event loop for concurrency. What distinguishes this library is its modular architecture, which decouples request construction from network execution thro
A comprehensive toolkit for interacting with web services, handling complex authentication, and managing low-level transport configurations in Python.
🕷 Super-agent driven library for testing node.js HTTP servers using a fluent API. Maintained for @forwardemail, @ladjs, @spamscanner, @breejs, @cabinjs, and @lassjs.
Wraps the SuperAgent HTTP library to provide a unified interface for requests and responses.
Pinpoint is a distributed application performance management tool designed to trace requests and monitor metrics across large-scale distributed architectures. It functions as a request tracer, topology mapper, and JVM application monitor, providing a backend capable of collecting and visualizing trace data from OpenTelemetry compatible sources. The system distinguishes itself through a combination of bytecode-based instrumentation via a Java agent and topology-based visualization that renders live maps of service interconnections. It captures execution flow across asynchronous boundaries, suc
Tracks the performance and execution of network calls made via the Google HTTP Client library.
Dio is a cross-platform HTTP client for Dart designed to manage network requests and data communication across mobile and desktop applications. It provides a comprehensive framework for executing standard web operations while handling complex tasks such as request lifecycles, connection security, and global configuration. The library distinguishes itself through an extensible architecture that allows developers to hook into the request and response pipeline. By utilizing interceptors and custom network adapters, users can modify traffic, perform authentication, and swap underlying networking
Supports advanced HTTP operations including multipart file uploads, automatic data transformation, and request lifecycle management.
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
Provides a high-level, streamlined interface for executing network requests to remote servers and processing responses.
This library is a high-level networking tool for the Rust programming language, designed to execute HTTP requests and interact with remote services and REST APIs. It provides both asynchronous and blocking interfaces, allowing developers to send data using formats such as JSON or multipart forms while maintaining type-safe communication with external web services. The library distinguishes itself through a comprehensive architecture that manages network sessions and data flow. It utilizes connection pooling to maintain persistent sockets, which reduces latency during consecutive requests to t
Provides an asynchronous and blocking library for executing HTTP requests with connection pooling and TLS support.
httpx is a suite of tools and libraries for HTTP reconnaissance, infrastructure discovery, and DNS resolution. It functions as a command line toolkit for extracting metadata and status codes from HTTP targets and CIDR ranges, as well as a Go library for integrating these probing capabilities into custom programs. The project distinguishes itself through specialized infrastructure profiling, using TLS fingerprinting to extract JARM hashes and certificate details. It identifies underlying components such as CDN usage, Autonomous System Numbers, and CNAMEs to map web server software and infrastr
Ships as a Go package for integrating multi-purpose HTTP probing and metadata extraction into custom programs.
Feign is a declarative Java HTTP client that automates the generation of web service clients. It allows developers to define REST API endpoints using interfaces and annotations, removing the need to write manual request and response boilerplate code. The project uses dynamic proxies to map method calls to HTTP request templates. It features a pluggable pipeline of encoders and decoders to transform Java objects into request bodies and convert response bodies back into type-safe objects. The library covers a broad range of integration capabilities, including request interception for header ma
Serves as a comprehensive Java library for performing synchronous and asynchronous HTTP requests.
node-fetch ist eine leichtgewichtige HTTP-Client-Bibliothek, die die browser-standardisierte Fetch API für Node.js implementiert. Sie bietet eine auf Promises basierende Schnittstelle für asynchrone Netzwerkanfragen, um Daten aus serverseitigen Umgebungen abzurufen oder zu senden. Das Projekt ist auf speichereffiziente Datenverarbeitung durch die Nutzung von Request- und Response-Streaming spezialisiert. Dies ermöglicht die inkrementelle Verarbeitung großer Netzwerk-Payloads über native System-Streams, um Speichererschöpfung zu vermeiden. Die Bibliothek deckt ein breites Spektrum an Netzwerkfunktionen ab, einschließlich der Verwendung benutzerdefinierter HTTP-Agenten für DNS- und SSL-Konfiguration, Request-Abbruch mittels Abort-Signalen sowie die Handhabung verschiedener Inhaltskodierungen und Formular-Datenübermittlungen.
A lightweight HTTP client library for sending requests and handling responses with streaming support.
node-fetch is a promise-based HTTP client library that provides a lightweight implementation of the Fetch API for the Node.js runtime. It serves as a network interface for performing asynchronous HTTP requests, handling server communication, and managing headers. The library utilizes a promise-based request lifecycle to wrap network calls, ensuring asynchronous behavior. It incorporates stream-based handling for both requests and responses to process large payloads efficiently without overloading system memory. Its capabilities cover a broad range of network communication tasks, including th
Serves as a comprehensive library for performing asynchronous HTTP requests and managing network headers.
BAML is a prompt engineering framework and LLM client generator that defines AI prompts as type-safe functions. It serves as a structured data extraction tool and workflow orchestrator, transforming unstructured model responses into strongly typed objects using a custom schema language and alignment algorithms. The project distinguishes itself by using a compiler to generate language-specific boilerplate code for API communication and output parsing. It features a dedicated environment for designing complex prompt templates with conditional logic and reusable snippets, and employs genetic alg
Rotates outgoing calls across multiple providers in sequence, including automatic switching during retries.
C++ ist eine High-Level-HTTP-Client-Bibliothek und ein Wrapper für libcurl. Sie bietet ein C++-Interface für das Durchführen von Netzwerkanfragen, das Verwalten von Netzwerksitzungen und das Implementieren von Datentransfers. Die Bibliothek zeichnet sich durch einen asynchronen HTTP-Client aus, der in der Lage ist, nicht-blockierende Anfragen über Callback-Interfaces auszuführen. Sie fungiert zudem als Multipart-Form-Uploader für die Übertragung von Dateien und strukturierten Daten sowie als SSE-Stream-Handler für die Verarbeitung von Server-Sent-Events in Echtzeit über persistente Verbindungen. Ihre breiteren Funktionen decken sichere Webkommunikation durch SSL-Verschlüsselung und Request-Authentifizierung ab. Sie enthält Tools für das Sitzungsmanagement mittels Cookie-Persistenz, Proxy-Routing und Request-Timeout-Kontrolle. Die Implementierung nutzt RAII-Ressourcenmanagement, um den Lebenszyklus von Netzwerk-Handles und Sitzungsobjekten zu handhaben.
Implements a modern C++ interface for performing synchronous and asynchronous HTTP requests and managing sessions.
cpr is a C++ networking library that provides a high-level HTTP request client. It functions as a wrapper around libcurl to simplify the process of sending and receiving data from web servers, specifically managing GET and POST calls and multipart form uploads. The library provides both synchronous and asynchronous execution models, allowing network requests to run on background threads to prevent application freezing. It integrates with the C++ Standard Library to map low-level pointers to standard strings and containers, utilizing RAII for automatic resource management. The project covers
Provides a high-level C++ library for performing synchronous and asynchronous HTTP requests as a wrapper around libcurl.
Osmedeus is a security workflow orchestration engine that coordinates AI agents, shell commands, and scanning tools through declarative YAML pipelines. It functions as a distributed security scanner, a declarative workflow automator, and an AI agent framework for security, enabling automated multi-step security analysis with conditional branching, parallel execution, and distributed workers. The engine distinguishes itself through a hybrid runner model that executes workflow steps on the local host, inside Docker containers, or over SSH to remote machines, selected per step or module. It supp
Configures a list of LLM providers and automatically falls back to the next one if the primary is unavailable.
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
An asynchronous HTTP client for Android that supports request cancellation, JSON parsing, image loading, and file downloads with progress tracking.