awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
dabeaz avatar

dabeaz/curioArchived

0
View on GitHub↗
4,126 stars·248 forks·Python·3 vues

Curio

Curio est une bibliothèque Python dédiée à la concurrence structurée et à la programmation réseau asynchrone. Elle sert de framework pour gérer des milliers de connexions TCP simultanées grâce à des sockets non bloquants et des entrées/sorties à haut débit.

La bibliothèque organise les opérations asynchrones dans une hiérarchie de coroutines parentes et enfants pour garantir une terminaison et un nettoyage fiables des tâches dépendantes. Elle fournit une boîte à outils pour coordonner ces opérations concurrentes via des groupes de tâches et des délais d'attente (timeouts).

Le framework couvre un large éventail de capacités de gestion de la concurrence, incluant la communication inter-tâches via des files d'attente et la synchronisation de ressources partagées à l'aide de verrous (locks) et de sémaphores. Il inclut également la prise en charge de l'exécution de processus externes et le déchargement des tâches bloquantes vers des threads séparés pour maintenir la réactivité de la boucle d'événements.

Features

  • Asynchronous Network Frameworks - Provides a foundational framework for building high-throughput, event-driven network servers and clients using asynchronous sockets.
  • Structured Concurrency Hierarchies - Implements parent-child task relationships to ensure automatic lifecycle management and cancellation propagation.
  • Task Coordination Strategies - Implements coordination strategies such as task groups and timeouts to ensure system stability.
  • Asynchronous Network Clients - Provides non-blocking socket operations for high-concurrency network communication.
  • Network I/O Multiplexing - Implements a central event loop for monitoring and managing thousands of concurrent network sockets.
  • Python Coroutine Implementations - Provides a runtime implementation of coroutines specifically tailored for Python's asynchronous execution model.
  • Structured Concurrency - Ensures child tasks are automatically terminated when their parent task completes or fails.
  • Structured Concurrency Managers - Provides a framework for managing task lifecycles and cancellation through hierarchical scopes.
  • Concurrent Connection Handling - Handles high-volume simultaneous TCP connections with minimal resource usage through asynchronous sockets.
  • Asynchronous Task Orchestrators - Implements an orchestrator for coordinating concurrent operations via non-blocking event loops and task groups.
  • Non-Blocking Event Loops - Uses a non-blocking event loop to manage multiple concurrent operations without blocking the main thread.
  • Hierarchical Task Structures - Organizes asynchronous operations into nested logic structures to ensure reliable task cleanup.
  • Asynchronous Network Programming - Provides a comprehensive framework for building servers and clients that handle concurrent connections via event loops.
  • Blocking Work Offloaders - Offloads blocking I/O and CPU-heavy external process work to a separate thread pool.
  • Thread Pool Offloading - Executes synchronous or CPU-intensive work in separate thread pools to prevent event loop stalling.
  • Inter-Task Message Queues - Provides synchronized asynchronous queues to decouple producer and consumer coroutines.
  • Inter-Coroutine Communication - Provides low-level mechanisms for passing values and signals between individual coroutines.
  • Concurrent Resource Synchronization - Ships a set of locks, semaphores, and queues to synchronize shared state between concurrent coroutines.
  • Coroutine Communication Channels - Facilitates the exchange of signals and information between concurrent coroutines using queues.
  • Shared Resource Synchronization - Prevents race conditions using synchronization primitives like locks and semaphores.
  • Time-Based Event Scheduling - Manages a priority queue of timed events to trigger task resumes at precise timestamps.
  • Alternative Runtimes - Library for coroutine-based concurrency.

Historique des stars

Graphique de l'historique des stars pour dabeaz/curioGraphique de l'historique des stars pour dabeaz/curio

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Questions fréquentes

Que fait dabeaz/curio ?

Curio est une bibliothèque Python dédiée à la concurrence structurée et à la programmation réseau asynchrone. Elle sert de framework pour gérer des milliers de connexions TCP simultanées grâce à des sockets non bloquants et des entrées/sorties à haut débit.

Quelles sont les fonctionnalités principales de dabeaz/curio ?

Les fonctionnalités principales de dabeaz/curio sont : Asynchronous Network Frameworks, Structured Concurrency Hierarchies, Task Coordination Strategies, Asynchronous Network Clients, Network I/O Multiplexing, Python Coroutine Implementations, Structured Concurrency, Structured Concurrency Managers.

Quelles sont les alternatives open-source à dabeaz/curio ?

Les alternatives open-source à dabeaz/curio incluent : socketry/async — This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that… luvit/luvit — Luvit is an event-driven runtime for Lua that integrates libuv to provide non-blocking I/O and asynchronous system… apple/swift-nio — Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network… python-trio/trio — Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing… crazyguitar/pysheeet — pysheeet is a technical reference library providing a curated collection of code snippets and implementation patterns… gevent/gevent — Gevent is a Python coroutine concurrency library and asynchronous task manager designed for high-concurrency I/O…

Alternatives open source à Curio

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Curio.
  • socketry/asyncAvatar de socketry

    socketry/async

    2,447Voir sur GitHub↗

    This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that orchestrates non-blocking input and output operations, allowing developers to handle high-volume network traffic and system tasks without the complexity of traditional callback-based programming. By leveraging lightweight fibers, the library enables cooperative multitasking that maintains responsiveness during heavy data processing workloads. The framework distinguishes itself through a structured concurrency model that organizes tasks into parent-child hierarchies. This appr

    Rubyasyncasynchronousruby
    Voir sur GitHub↗2,447
  • luvit/luvitAvatar de luvit

    luvit/luvit

    3,953Voir sur GitHub↗

    Luvit is an event-driven runtime for Lua that integrates libuv to provide non-blocking I/O and asynchronous system operations. It functions as an asynchronous network framework and execution environment that leverages Just-In-Time compilation for high-performance script processing. The platform enables the distribution of network traffic across multiple CPU cores through a TCP cluster manager that shares socket handles among child processes. It provides specialized capabilities for building HTTP servers by decoding incoming request streams and encoding responses via a stream processor. The r

    Lua
    Voir sur GitHub↗3,953
  • apple/swift-nioAvatar de apple

    apple/swift-nio

    8,477Voir sur GitHub↗

    Swift NIO is a low-level, event-driven network framework for the Swift language. It serves as an asynchronous network protocol stack and I/O library designed to build high-performance network servers and clients that handle thousands of simultaneous connections. The framework functions as a high-concurrency network engine that dispatches events across multiple CPU cores. It enables the implementation of custom network protocols by processing raw bytes through a sequence of reusable data transformation handlers. The system provides capabilities for non-blocking I/O multiplexing, asynchronous

    Swiftasynchronous-ioevent-drivenhigh-performance
    Voir sur GitHub↗8,477
  • python-trio/trioAvatar de python-trio

    python-trio/trio

    7,280Voir sur GitHub↗

    Trio is an asynchronous I/O runtime and concurrency library for Python. It provides a system for executing non-blocking network and disk operations through a centralized event loop and task scheduler. The library is built on a structured concurrency model, which ensures that asynchronous tasks are bound to a specific lifetime and cannot outlive the scope that started them. It utilizes a nursery-based task manager to track task lifecycles in a parent-child tree, preventing orphaned concurrent operations by requiring child tasks to be joined before their parent scope exits. The framework cover

    Pythonasyncasync-awaitio
    Voir sur GitHub↗7,280
  • Voir les 30 alternatives à Curio→