awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
spyoungtech avatar

spyoungtech/grequests

0
View on GitHub↗
4,576 Stars·328 Forks·Python·BSD-2-Clause·4 Aufrufepypi.python.org/pypi/grequests↗

Grequests

Grequests ist ein asynchroner HTTP-Client und Wrapper für die Requests-Bibliothek, der Gevent-Coroutinen verwendet, um mehrere Netzwerkanfragen gleichzeitig auszuführen. Er nutzt einen nicht-blockierenden Connection-Pool, um gleichzeitige ausgehende Anfragen zu verwalten und den Durchsatz im Vergleich zur sequenziellen Ausführung zu verbessern.

Die Bibliothek bietet einen asynchronen Response-Generator, der HTTP-Antworten zurückgibt, sobald sie abgeschlossen sind, anstatt auf das Ende eines gesamten Batches zu warten. Sie bietet einen Mechanismus zur Begrenzung der Anzahl aktiver Verbindungen, um den Ressourcenverbrauch zu steuern und eine Überlastung der Zielserver zu verhindern.

Das Projekt deckt Funktionen für das Batch-Request-Management, hochvolumiges Data Scraping und gleichzeitiges API-Polling ab. Es unterstützt das Streaming großer Antwort-Bodies, um den Speicherverbrauch gering zu halten, und verwaltet Netzwerk-Timeouts sowie Verbindungsfehler durch das Injizieren von Fehlerzuständen in die Antwortliste.

Features

  • Parallel Request Executions - Sends multiple HTTP requests concurrently using Gevent to reduce total wait time.
  • Asynchronous HTTP Clients - Uses Gevent coroutines as an asynchronous HTTP client to execute concurrent network requests.
  • Asynchronous Request Execution - Executes multiple network requests concurrently using non-blocking patterns to improve throughput.
  • Concurrent Request Pools - Wraps the Requests library to manage pools of asynchronous connections for batch network operations.
  • Request Batching - Manages groups of network requests and processes results using a generator as tasks complete.
  • Concurrent Request Limits - Limits the number of simultaneous outgoing requests to manage resource consumption and prevent server overloading.
  • Completion-Based Batch Generators - Provides a streaming interface that yields HTTP responses as they complete instead of waiting for the entire batch.
  • Response Body Streaming - Handles massive HTTP response bodies through streaming to keep memory usage low.
  • Response Streaming - Processes large HTTP response bodies as continuous data streams to minimize memory usage.
  • Completion-Based Batch Generators - Yields responses as a generator as they complete, allowing processing without waiting for the entire batch.
  • High Performance Scraping - Gathers information from many web pages quickly using a managed pool of non-blocking requests.
  • API Polling - Fetches data from multiple API endpoints simultaneously with connection limits to avoid rate limits.

Star-Verlauf

Star-Verlauf für spyoungtech/grequestsStar-Verlauf für spyoungtech/grequests

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht spyoungtech/grequests?

Grequests ist ein asynchroner HTTP-Client und Wrapper für die Requests-Bibliothek, der Gevent-Coroutinen verwendet, um mehrere Netzwerkanfragen gleichzeitig auszuführen. Er nutzt einen nicht-blockierenden Connection-Pool, um gleichzeitige ausgehende Anfragen zu verwalten und den Durchsatz im Vergleich zur sequenziellen Ausführung zu verbessern.

Was sind die Hauptfunktionen von spyoungtech/grequests?

Die Hauptfunktionen von spyoungtech/grequests sind: Parallel Request Executions, Asynchronous HTTP Clients, Asynchronous Request Execution, Concurrent Request Pools, Request Batching, Concurrent Request Limits, Completion-Based Batch Generators, Response Body Streaming.

Welche Open-Source-Alternativen gibt es zu spyoungtech/grequests?

Open-Source-Alternativen zu spyoungtech/grequests sind unter anderem: kennethreitz/grequests — Grequests is an asynchronous HTTP batcher and Gevent-based client library used to execute large sets of network… facebook/haxl — Haxl is a Haskell library and remote service request orchestrator designed for coordinating concurrent data fetching,… guzzle/guzzle — Guzzle is a PHP HTTP client used for sending synchronous and asynchronous requests to web services. It serves as a… aws/aws-sdk-php — The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web… typhoeus/typhoeus — Typhoeus is a Ruby wrapper for libcurl that functions as a session-based HTTP client. It provides an interface for… libcpr/cpr — C++ is a high-level HTTP client library and wrapper for libcurl. It provides a C++ interface for making network…

Open-Source-Alternativen zu Grequests

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Grequests.
  • kennethreitz/grequestsAvatar von kennethreitz

    kennethreitz/grequests

    4,575Auf GitHub ansehen↗

    Grequests is an asynchronous HTTP batcher and Gevent-based client library used to execute large sets of network requests simultaneously. It functions as a concurrent request wrapper for the Requests library, enabling non-blocking operations to reduce the total time spent waiting for server responses. The project provides a task-pool execution model to handle batch network operations, such as high-throughput web scraping and API polling. It can stream responses as they arrive via a generator, allowing for immediate data processing without waiting for the entire batch to complete. The library

    Python
    Auf GitHub ansehen↗4,575
  • facebook/haxlAvatar von facebook

    facebook/Haxl

    4,381Auf GitHub ansehen↗

    Haxl is a Haskell library and remote service request orchestrator designed for coordinating concurrent data fetching, request batching, and caching across multiple remote service providers. It functions as a framework for retrieving data from external databases and web services while minimizing network round trips. The project distinguishes itself through an applicative-based request batching system that groups multiple individual data requests into single calls to reduce network overhead. It employs an asynchronous parallel request scheduler to execute independent requests concurrently and u

    Haskell
    Auf GitHub ansehen↗4,381
  • guzzle/guzzleAvatar von guzzle

    guzzle/guzzle

    23,453Auf GitHub ansehen↗

    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,

    PHP
    Auf GitHub ansehen↗23,453
  • aws/aws-sdk-phpAvatar von aws

    aws/aws-sdk-php

    6,191Auf GitHub ansehen↗

    The AWS SDK for PHP is a software development kit that provides HTTP client classes for every supported Amazon Web Service, enabling PHP applications to send authenticated requests and receive structured, typed response objects. It includes a credential resolution chain that automatically locates credentials from environment variables, instance profiles, or configuration files, and supports promise-based asynchronous execution for running multiple API calls concurrently to improve throughput. The SDK distinguishes itself through a middleware pipeline architecture that allows interception and

    PHP
    Auf GitHub ansehen↗6,191
Alle 30 Alternativen zu Grequests anzeigen→