awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعحولكيفية ترتيب النتائجالصحافةخادم MCP
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
gevent avatar

gevent/gevent

0
View on GitHub↗
6,440 نجوم·966 تفرعات·Python·8 مشاهداتgevent.org↗

Gevent

Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications.

The project is distinguished by its standard library monkey-patching tool, which replaces blocking synchronous functions with cooperative versions to enable asynchronous behavior in third-party code. This allows for a cooperative multitasking workflow where the system yields execution during I/O waits to maximize resource utilization.

The library covers a broad range of capabilities, including asynchronous task dispatch and lifecycle control, concurrent resource access management through locks and semaphores, and non-blocking OS integration for file I/O and subprocess execution. It also includes monitoring and observability tools for detecting blocking code and inspecting coroutine hierarchies.

Features

  • Coroutine-Based Asynchronous I/O - Implements an asynchronous I/O system using coroutines to manage high concurrency without the overhead of OS threads.
  • Module Monkey Patching - Replaces blocking standard library functions with cooperative versions to enable asynchronous behavior in third-party code.
  • Standard Library Monkey Patching - Replaces blocking standard library functions with cooperative versions to enable asynchronous behavior across third-party modules.
  • Cooperative Yielding - Pauses the current coroutine for a specified duration or yields control to other tasks to prevent blocking.
  • Asynchronous Network Frameworks - Provides a foundational library for building event-driven protocol servers and clients that yield execution during I/O.
  • IO Multiplexing - Implements kernel-level IO event notification to monitor multiple file descriptors on a single thread.
  • High-Concurrency Networking - Provides a foundation for building TCP, UDP, and HTTP servers that handle thousands of simultaneous connections.
  • Network Server Implementations - Provides infrastructure to run asynchronous TCP, UDP, and HTTP servers that handle client requests without blocking.
  • Asynchronous UDP Servers - Creates a datagram server to handle connectionless network traffic asynchronously.
  • TCP Server Management - Accepts incoming TCP connections and spawns a handler function for each client connection asynchronously.
  • Non-Blocking Socket I/O - Interfaces with the event loop to provide non-blocking reading and writing of network sockets.
  • I/O Polling - Monitors multiple file descriptors for I/O readiness to pause only the current execution context.
  • User-Space Stack Switching - Performs low-level stack switching in user space to yield execution between concurrent coroutines.
  • Asynchronous Task Managers - Provides a system to run functions in the background and manage their execution via task handles and callbacks.
  • Cooperative Function Replacements - Replaces blocking standard library functions with cooperative versions to enable asynchronous behavior in third-party code.
  • Cooperative Multitasking - Implements an execution model where tasks manually yield control during I/O waits to maximize resource utilization.
  • Coroutine Lifecycle Management - Spawns, joins, and terminates lightweight threads to retrieve return values or handle execution exceptions.
  • Coroutine Local Storages - Stores data unique to the current coroutine to prevent state leakage between concurrent execution paths.
  • Execution Yielding & Pausing - Suspends the current execution unit for a specified duration or until the event loop becomes idle.
  • Event Loop Backends - Provides a consistent API to wrap various platform-specific polling mechanisms for the event loop.
  • Event Loops - Schedules and executes asynchronous tasks while managing the lifecycle and execution order of coroutines.
  • Threading API Emulation - Implements a compatible version of the standard threading API using lightweight coroutines to maintain compatibility.
  • Asynchronous Task Managers - Coordinates the spawning, synchronization, and termination of lightweight execution units within a single-threaded event loop.
  • Coroutine Spawning - Starts new execution units that run specified functions with given arguments and exit upon completion.
  • Fiber-Based Concurrent Execution - Uses lightweight pseudo-threads (greenlets) to manage thousands of simultaneous tasks without OS thread overhead.
  • Asynchronous Event Loops - Uses single-threaded event loops and coroutines for non-blocking network and disk I/O management.
  • HTTP Request Handling - Handles multiple incoming HTTP connections concurrently using lightweight coroutines to prevent request blocking.
  • Concurrent Server Base Classes - Provides base classes for TCP, SSL, and WSGI servers that manage multiple concurrent connections.
  • WSGI-Based Request Handling - Implements standardized web request processing for Python applications following the WSGI specification.
  • Blocking Completion Waits - Blocks execution until one or more lightweight execution units finish their tasks.
  • Thread Pool Offloading - Runs blocking or CPU-intensive work in subprocesses and thread pools to keep the main event loop responsive.
  • Execution Time Limits - Sets maximum time durations for specific operations to interrupt code that runs longer than expected.
  • Graceful Shutdowns - Closes listening sockets upon termination while allowing active connections to complete before exiting.
  • DNS Resolution - Provides non-blocking domain name resolution using a thread pool to prevent application stalls.
  • Asynchronous UDP Operations - Sends and receives datagrams using non-blocking sockets to prevent I/O operations from halting other tasks.
  • Traffic Proxying - Provides tools for routing and forwarding network traffic between clients and servers.
  • Unix Domain Socket Support - Exchanges data between processes on the same host using local Unix domain socket files.
  • Concurrent Queues - Synchronizes data exchange between concurrent coroutines using multi-producer, multi-consumer queues.
  • Subprocess Management Libraries - Provides programmatic control over the execution and lifecycle of external system processes without blocking.
  • Blocking I/O Offloading - Integrates with external polling mechanisms to offload blocking I/O and yield control back to the event loop.
  • Concurrent Thread Execution - Runs tasks in a dedicated thread pool that bypasses monkey-patching to maintain native OS thread compatibility.
  • Coroutine Termination - Stops executing coroutines by raising exceptions within them with optional blocking until termination.
  • Inter-Coroutine Communication - Provides low-level mechanisms for passing values, signals, or exceptions between individual coroutines.
  • Mutual Exclusion Locks - Prevents multiple concurrent tasks from accessing a shared resource using reentrant locks and binary semaphores.
  • Blocking Task Delegation - Offloads synchronous or CPU-bound functions to a native thread pool to prevent event loop stalls.
  • Monkey-Patching State Inspection - Verifies if modules have been replaced by cooperative versions and retrieves original standard library implementations.
  • Shared Data Synchronization - Synchronizes access to shared data using lock mechanisms with blocking and timeout options.
  • SSL/TLS Connection Security - Implements secure transport layers using SSL contexts to encrypt communication between clients and servers.
  • Subprocess Command Execution - Runs system commands asynchronously and manages their output to keep the main event loop responsive.
  • Concurrency Semaphores - Limits access to shared resources using semaphores to throttle concurrent requests.
  • Concurrency Synchronization Primitives - Coordinates access to shared resources using locks and event notifications to prevent data races.
  • Concurrent State Coordination - Coordinates execution between concurrent units using events and queues to manage shared state.
  • Concurrent Task Runners - Maintains a collection of active coroutines to monitor progress, count running tasks, and verify status.
  • Concurrent Task Limiters - Constrains the number of active execution units running at once using a pool to prevent resource exhaustion.
  • Concurrent Workload Coordination - Manages the distribution and execution of large volumes of asynchronous tasks and streaming workloads.
  • Blocking Detection Tools - Provides tools to detect and alert when a task blocks the event loop for more than a specified threshold.
  • Asynchronous File I/O - Provides non-blocking interfaces for binary and text file operations to avoid stalling the execution thread.
  • Task Completion Tracking - Monitors the progress of a batch of asynchronous tasks and blocks until all are processed.
  • Thread-Local Context Management - Implements thread-local storage to maintain data unique to each concurrent task and avoid explicit parameter passing.
  • Concurrent Request Limits - Implements restrictions on the absolute number of simultaneous active requests to prevent resource exhaustion.
  • Coroutine State Inspection - Provides capabilities to inspect the execution stacks, spawn hierarchy, and local storage of active coroutines.
  • WSGI Application Servers - Implements a WSGI-compliant application server to handle multiple simultaneous HTTP requests asynchronously.
  • WSGI Servers - Provides a web server gateway that interfaces between web servers and WSGI-compliant Python applications asynchronously.
  • Web Server Hosting - Hosts WSGI-compliant web servers with integrated SSL/TLS encryption for secure client-server communication.
  • Asynchronous Programming - Uses coroutines for high-concurrency networking.

سجل النجوم

مخطط تاريخ النجوم لـ gevent/geventمخطط تاريخ النجوم لـ gevent/gevent

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Gevent

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Gevent.
  • ithewei/libhvالصورة الرمزية لـ ithewei

    ithewei/libhv

    7,521عرض على GitHub↗

    libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP, WebSocket, and MQTT clients and servers. It provides a non-blocking event loop for managing network sockets, timers, and system signals across multiple threads. The project is distinguished by its integrated support for specialized network roles, including a full HTTP web server with RESTful routing and middleware, an MQTT messaging client for IoT communication, and the ability to implement SOCKS5 and HTTP proxies. It also features a reliable UDP implementation to ensure ordered

    Ccurlepollhttp-client
    عرض على GitHub↗7,521
  • brianway/java-learningالصورة الرمزية لـ brianway

    brianway/java-learning

    4,293عرض على GitHub↗

    This project is an instructional repository and learning resource providing a comprehensive collection of study notes, programming guides, and runnable source code examples. It serves as a guide for Java SE and Java web development, featuring a library of code samples that demonstrate common algorithms and technical implementations. The repository focuses on language core and runtime analysis, with detailed tutorials on multithreading and concurrency. It provides practical implementations of software architecture and design patterns, such as the singleton and strategy patterns, as well as exp

    Javajava
    عرض على GitHub↗4,293
  • angrave/systemprogrammingالصورة الرمزية لـ angrave

    angrave/SystemProgramming

    5,734عرض على GitHub↗

    This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation

    عرض على GitHub↗5,734
  • hnes/libacoالصورة الرمزية لـ hnes

    hnes/libaco

    3,688عرض على GitHub↗

    libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric coroutines. It functions as an execution context manager and stack memory allocator, allowing a single process to initialize independent execution units with private stacks and perform manual context switching via yield operations. The library distinguishes itself through its memory management and stability features, utilizing read-only guard pages at stack boundaries to trigger hardware faults upon stack overflow. It supports both private stack allocation and shared stack pooling to r

    Cccoroutinecoroutine-library
    عرض على GitHub↗3,688
عرض جميع البدائل الـ 30 لـ Gevent→

الأسئلة الشائعة

ما هي وظيفة gevent/gevent؟

Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O tasks. It provides a cooperative networking framework for building asynchronous TCP, UDP, and HTTP servers, as well as a WSGI web server implementation for hosting web applications.

ما هي الميزات الرئيسية لـ gevent/gevent؟

الميزات الرئيسية لـ gevent/gevent هي: Coroutine-Based Asynchronous I/O, Module Monkey Patching, Standard Library Monkey Patching, Cooperative Yielding, Asynchronous Network Frameworks, IO Multiplexing, High-Concurrency Networking, Network Server Implementations.

ما هي البدائل مفتوحة المصدر لـ gevent/gevent؟

تشمل البدائل مفتوحة المصدر لـ gevent/gevent: ithewei/libhv — libhv is a high-performance C/C++ network library and event-driven I/O framework used to build TCP, UDP, SSL, HTTP,… brianway/java-learning — This project is an instructional repository and learning resource providing a comprehensive collection of study notes,… angrave/systemprogramming — This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core… hnes/libaco — libaco is a low-level C library for cooperative multitasking that provides a runtime for managing asymmetric… idealvin/coost — Coost is a concurrent network framework and coroutine scheduler designed for building high-performance TCP, HTTP, and… qihoo360/evpp — evpp is a C++ network library and framework designed for building high-performance network services using TCP, UDP,…