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
dabeaz avatar

dabeaz/curioArchived

0
View on GitHub↗
4,126 stars·248 forks·Python·16 views

Curio

Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework for handling thousands of simultaneous TCP connections using non-blocking sockets and high-throughput I/O.

The library organizes asynchronous operations into a hierarchy of parent and child coroutines to ensure reliable termination and cleanup of dependent tasks. It provides a toolkit for coordinating these concurrent operations through the use of task groups and timeouts.

The framework covers a broad range of concurrency management capabilities, including inter-task communication via queues and shared resource synchronization using locks and semaphores. It also includes support for executing external processes and offloading blocking work to separate threads to maintain event loop responsiveness.

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.

Star history

Star history chart for dabeaz/curioStar history chart for dabeaz/curio

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

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 dabeaz/curio do?

Curio is a Python library for structured concurrency and asynchronous network programming. It serves as a framework for handling thousands of simultaneous TCP connections using non-blocking sockets and high-throughput I/O.

What are the main features of dabeaz/curio?

The main features of dabeaz/curio are: Asynchronous Network Frameworks, Structured Concurrency Hierarchies, Task Coordination Strategies, Asynchronous Network Clients, Network I/O Multiplexing, Python Coroutine Implementations, Structured Concurrency, Structured Concurrency Managers.

Which projects share features with dabeaz/curio?

Projects with overlapping indexed features include: socketry/async — This project is a framework for building concurrent, event-driven applications in Ruby. It provides a core engine that… php-standard-library/php-standard-library — The php-standard-library is a comprehensive toolkit for functional programming and asynchronous networking in PHP,… 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…

Projects sharing features with Curio

These projects share indexed features with Curio. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • socketry/asyncsocketry avatar

    socketry/async

    2,447View on 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
    View on GitHub↗2,447
  • luvit/luvitluvit avatar

    luvit/luvit

    3,953View on 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
    View on GitHub↗3,953
  • php-standard-library/php-standard-libraryphp-standard-library avatar

    php-standard-library/php-standard-library

    1,552View on GitHub↗

    The php-standard-library is a comprehensive toolkit for functional programming and asynchronous networking in PHP, featuring typed data structures, structured concurrency, and composable validation mechanisms. It provides explicit result types and pure collection transformers that separate lists from dictionaries, eliminating traditional array key confusion and error-throwing patterns. The library supports concurrent execution through lightweight user-space fibers, message-passing channels, and non-blocking event loops, driving asynchronous TCP, TLS, UDP, and Unix socket servers without relyi

    PHPansiasynccollection
    View on GitHub↗1,552
  • apple/swift-nioapple avatar

    apple/swift-nio

    8,477View on 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
    View on GitHub↗8,477
  • Compare all 30 related projects→