revolt/event-loop
Revolt is a rock-solid event loop for concurrent PHP 8.1+ apps using fibers. It enables non-blocking I/O with synchronous code, serving as a minimal, shared scheduler base for libraries like Amp and ReactPHP.
|
Package
|
Description
|
Stars
|
Likes
|
Forks
|
Downloads
|
Issues
|
Score
|
Opportunity
|
License
|
Last Release
|
|
|---|---|---|---|---|---|---|---|---|---|---|---|
| amphp/amp | AMPHP (AMP) accelerates PHP concurrency with fibers, eliminating callbacks and generators. Built on PHP 8.1’s cooperative coroutines, it lets you run async tasks like sync code—ideal for I/O-bound apps. Use Amp\async() for parallel execution and Future::await() to handle results seamlessly. No event... | 4,410 | 4,422 | 258 | 3M | 15 | 63.4 | 53.0 | MIT | 7 months ago | |
| amphp/byte-stream | Event-driven byte stream abstractions for PHP 8.1+ in the AMPHP ecosystem. Provides ReadableStream/WritableStream interfaces plus implementations like Payload, buffers, resource/iterable streams, stream chaining, base64 encode/decode, and decompression for fiber-friendly I/O. | 392 | 391 | 28 | 3M | 2 | 32.3 | 62.9 | MIT | 1 year ago | |
| amphp/cache | Non-blocking cache library for Amp-based PHP apps. Provides async cache interfaces and adapters (e.g., in-memory, filesystem, Redis) with TTL support, atomic operations, and PSR-style ergonomics for high-concurrency services. | 127 | 127 | 16 | 2M | 0 | 25.7 | 65.0 | MIT | 1 year ago | |
| amphp/dns | Async DNS resolver for PHP built on Amp. Provides non-blocking hostname lookups, record queries, caching and timeouts with an event loop, ideal for high-concurrency applications and CLI tools needing fast, reliable DNS without blocking I/O. | 192 | 191 | 30 | 2M | 6 | 32.5 | 66.8 | MIT | 1 year ago | |
| amphp/file | Non-blocking file I/O for PHP 8.1+ in the AMPHP ecosystem. Read/write files or stream via async file handles while keeping apps responsive. Uses multi-process by default, with optional eio/uv/parallel drivers when available. | 110 | 111 | 27 | 36K | 6 | 32.2 | 43.4 | MIT | 1 year ago | |
| amphp/http-client | Async HTTP client for PHP built on Amp. Send concurrent requests with connection pooling, timeouts, redirects, proxies, TLS support, and streaming request/response bodies. Includes PSR-7/PSR-18 integration and middleware-style interceptors. | 728 | 730 | 66 | 663K | 11 | 38.1 | 53.5 | MIT | 7 months ago | |
| amphp/http-server | Asynchronous, non-blocking HTTP server for PHP built on Amp. Create high-performance web apps and APIs with event-driven I/O, middleware, routing, and streaming request/response bodies. Includes HTTP/1.1 and HTTP/2 support and TLS integration. | 1,327 | 1,327 | 101 | 550K | 17 | 43.7 | 49.7 | MIT | 2 months ago | |
| amphp/http-server-static-content | AMPHP HTTP server component for efficiently serving static files (assets, downloads) with correct MIME types, caching headers, range requests, and directory handling. Designed for non-blocking, event-driven apps built on amphp/http-server. | 21 | 21 | 12 | 2K | 1 | 24.2 | 30.0 | MIT | 2 years ago | |
| amphp/parallel | True parallel processing for PHP with Amp: run blocking tasks in worker processes or threads without blocking the event loop and without extra extensions. Includes non-blocking concurrency tools and a worker pool API for submitting tasks and collecting results. | 847 | 854 | 68 | 2M | 21 | 41.8 | 63.5 | MIT | 4 months ago | |
| amphp/phpunit-util | Small utility for simplifying async testing in PHPUnit with AMPHP’s fiber-based concurrency. Integrates seamlessly with AsyncTestCase to run tests as coroutines, ensuring smooth execution of I/O-bound operations like sockets, streams, and HTTP requests. Works with PHP 8.1+. Ideal for testing concurr... | 22 | 22 | 8 | 33K | 2 | 25.1 | 51.7 | MIT | 1 year ago | |
| amphp/pipeline | Fiber-safe concurrent iterators and collection operators for AMPHP. Build pipelines from iterables or async sources, then consume them safely from multiple fibers via foreach or manual iteration, with backpressure-friendly async iteration on PHP 8.1+. | 74 | 74 | 6 | 2M | 2 | 25.0 | 65.5 | MIT | 1 year ago | |
| amphp/process | Asynchronous process dispatcher for PHP (AMPHP) built for fibers and concurrency. Start and manage child processes cross-platform, stream stdout/stderr without blocking, set working directory and environment variables, powered by the Revolt event loop and Windows wrapper. | 255 | 257 | 29 | 2M | 10 | 34.0 | 67.6 | MIT | 1 year ago | |
| amphp/socket | Non-blocking, event-driven socket library for PHP using Amp. Provides async TCP/UDP sockets, client/server connections, DNS and TLS support, timeouts, cancellation, and backpressure-friendly streams—ideal for high-concurrency network services and daemons. | 264 | 264 | 37 | 2M | 7 | 33.5 | 66.0 | MIT | 1 year ago | |
| amphp/sync | Async synchronization primitives for Amp PHP: mutexes, semaphores, locks, and a synchronized helper. Coordinate concurrent fibers, ensure mutual exclusion, and cap parallel work (e.g., limit HTTP requests) with simple, safe abstractions. | 188 | 188 | 12 | 2M | 0 | 26.7 | 65.0 | MIT | 1 year ago | |
| amphp/websocket | Shared WebSocket components for AMPHP’s event-driven, fiber-based concurrency stack. Provides core abstractions used by amphp/websocket-server and amphp/websocket-client to build fast, non-blocking WebSocket clients and servers (PHP 8.1+). | 45 | 45 | 6 | 515K | 0 | 24.9 | 65.0 | MIT | 1 year ago | |
| amphp/websocket-client | Async WebSocket client for PHP built on Amp. Connect to ws/wss endpoints with fiber-friendly concurrency, consume realtime APIs, test WebSocket servers, and support custom handshakes, headers, heartbeats, and rate limits. | 161 | 163 | 16 | 517K | 6 | 28.0 | 58.7 | MIT | 7 months ago | |
| amphp/websocket-server | Async WebSocket server for PHP built on Amp’s event-driven concurrency. Handles upgrades, connections, message streaming, backpressure and graceful shutdown, making it easy to build real-time apps like chat, dashboards and live notifications. | 124 | 124 | 17 | 5K | 4 | 25.7 | 27.6 | MIT | 2 years ago | |
| azjezz/psl | PSL is a modern, well-typed standard library for PHP 8.4+, inspired by HHVM’s HSL. It offers safer, predictable APIs for async, collections, networking, I/O, crypto, terminal UI, and robust data validation—replacing brittle built-ins with consistent alternatives. | 1,513 | 1,516 | 83 | 523K | 19 | 46.2 | 48.8 | MIT | 2 weeks ago | |
| php-standard-library/async | Fiber-based async primitives for PHP: structured concurrency with cooperative multitasking. Run tasks concurrently, manage lifecycles, cancellations, and scopes predictably. Part of PHP Standard Library; docs and guides at php-standard-library.dev. | 1 | 0 | 0 | 8K | 0 | 20.6 | 58.7 | MIT | 2 weeks ago | |
| php-standard-library/channel | Async channels for PHP: lightweight, standard-library-style primitives to pass values between coroutines or threads. Provides buffered/unbuffered channels, send/receive operations, closing semantics, and helpers for coordinating producers/consumers and building pipelines. | 1 | — | 0 | — | 0 | 20.0 | — | MIT | 2 weeks ago | |
| php-standard-library/io | Handle-based I/O abstractions for PHP: composable, testable streams and readers/writers designed to be async-ready. Part of PHP Standard Library, with docs and contribution links available via php-standard-library.dev. | 1 | 0 | 0 | 8K | 0 | 20.6 | 58.7 | MIT | 2 weeks ago | |
| php-standard-library/php-standard-library | PSL is a modern standard library for PHP 8.4+, inspired by HHVM’s HSL. It offers consistent, well-typed APIs for async, collections, I/O, networking, crypto, terminal UI, and more—safer alternatives to built-ins with predictable errors and async-ready design. | 1,513 | 1,512 | 83 | 63K | 19 | 44.7 | 34.2 | MIT | 2 weeks ago | |
| revolt/event-loop-adapter-react | Run ReactPHP libraries on the Revolt event loop. This adapter lets you pass React\EventLoop\Loop::get() where a LoopInterface is required, automatically bridging ReactPHP components to Revolt for a single, unified loop. | 17 | 17 | 1 | 8K | 0 | 21.0 | 42.6 | MIT | 2 years ago |
How can I help you explore Laravel packages today?