diff --git a/README.md b/README.md index 8c23215..968dc9e 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,21 @@ A curated list of amphp packages +## Anti-virus + +- [amphp-clamav](https://github.com/Pato05/amphp-clamav) - A ClamAV wrapper +- [async-virus-scan](https://github.com/PeeHaa/async-virus-scan) - Async library for querying online virus scanners + ## Arduino - [amphp-arduino](https://github.com/kelunik/amphp-arduino) - Demo for controlling an Arduino with PHP +## Bots + +- [async_tgbot](https://github.com/naftali100/async_tgbot) - async telelgram bots library based on amphp +- [jeeves](https://github.com/Room-11/Jeeves) - Chatbot for Stack Overflow +- [mellon](https://github.com/kelunik/mellon) - Mellon is a bot based on Amp + ## Cache - [amphp/cache](https://github.com/amphp/cache) - A fiber-aware cache API @@ -18,14 +29,21 @@ A curated list of amphp packages ## Database - [amphp/mysql](https://github.com/amphp/mysql) - Async MySQL client +- [amphp/mysql-dbal](https://github.com/amphp/mysql-dbal) - Doctrine MySQL driver - [amphp/postgres](https://github.com/amphp/postgres) - Async Postgres client -- [rdb-php](https://github.com/spacetab-io/rdb-php) - Dead-simple async PHP migrations controlled from code - [amp-sqlite](https://github.com/vajexal/amp-sqlite) - SQLite client +- [rdb-php](https://github.com/spacetab-io/rdb-php) - Dead-simple async PHP migrations controlled from code +- [doctrine-mysql-fiber-driver](https://github.com/dbalabka/doctrine-mysql-fiber-driver) - Doctrine MySQL driver with Fiber support based on Amphp ## Dependency Injection - [amphp/injector](https://github.com/amphp/injector) - A recursive dependency injector used to bootstrap and wire together S.O.L.I.D., object-oriented PHP applications +## Docker + +- [docker-amphp-php](https://github.com/spacetab-io/docker-amphp-php) - Docker image configured for amphp in production use +- [php-alpine-event](https://github.com/caseycs/php-alpine-event) - Minimalistic (60Mb!) docker image based on php:7.1-cli-alpine with event extension + ## DNS - [amphp/dns](https://github.com/amphp/dns) - Async DNS resolution @@ -33,9 +51,10 @@ A curated list of amphp packages ## Event loop +- [async-interop/event-loop](https://github.com/async-interop/event-loop) - An event loop interface for interoperability in PHP. +- [danog/loop](https://github.com/danog/loop) - Loop abstraction for AMPHP - [loop-block](https://github.com/kelunik/loop-block) - Detect blocking ticks in event loops - [revoltphp/event-loop](https://github.com/revoltphp/event-loop) - Revolt is a rock-solid event loop for concurrent PHP applications -- [danog/loop](https://github.com/danog/loop) - Loop abstraction for AMPHP ## Filesystem @@ -44,15 +63,6 @@ A curated list of amphp packages ## HTTP -### Server - -- [amphp/http-server](https://github.com/amphp/http-server) - A non-blocking HTTP application server. -- [amphp/http-server-form-parser](https://github.com/http-server-form-parser) - A form parser -- [amphp/http-server-router](https://github.com/amphp/http-server-router) - A router -- [amphp/http-server-session](https://github.com/amphp/http-server-session) - Session management -- [amphp/http-server-static-content](https://github.com/amphp/http-server-static-content) - A static content responder for amphp/http-server -- [http-cors](https://github.com/labrador-kennel/http-cors) - Middleware for amphp/http-server to handle CORS requests - ### Client - [amphp/http-client](https://github.com/amphp/http-client) - Async HTTP/1.1+2 client @@ -61,15 +71,32 @@ A curated list of amphp packages - [amphp/http-client-psr7](https://github.com/amphp/http-client-psr7) - PSR-7 adapter for amphp/http-client - [HarmonyIO/http-client](https://github.com/HarmonyIO/Http-Client) - Async caching aware http client +### Proxy + +- [http-proxy](https://github.com/xtrime-ru/http-proxy) - Forward http proxy server built with async amphp framework. + +### Routing + +- [amphp/http-server-router](https://github.com/amphp/http-server-router) - A router +- [amp-http-router](https://github.com/mnavarrocarter/amp-http-router) - An asynchronous HTTP routing engine for Amp based applications + +### Server + +- [amphp/http-server](https://github.com/amphp/http-server) - A non-blocking HTTP application server. +- [amphp/http-server-form-parser](https://github.com/http-server-form-parser) - A form parser +- [amphp/http-server-session](https://github.com/amphp/http-server-session) - Session management +- [amphp/http-server-static-content](https://github.com/amphp/http-server-static-content) - A static content responder for amphp/http-server +- [http-cors](https://github.com/labrador-kennel/http-cors) - Middleware for amphp/http-server to handle CORS requests + +### Tunnel + +- [amphp/http-tunnel](https://github.com/amphp/http-tunnel) - Provides an HTTP CONNECT tunnel + ## Jira - [jira-tempo-sdk-php](https://github.com/spacetab-io/jira-tempo-sdk-php) - Asynchronous PHP Jira Tempo SDK - [jira-sdk-php](https://github.com/spacetab-io/jira-sdk-php) - Asynchronous PHP Jira SDK -## JSON - -- [streaming-json](https://github.com/kelunik/streaming-json) - A streaming JSON parser - ## Kafka - [kafka-php](https://github.com/weiboad/kafka-php) - Kafka client @@ -77,6 +104,7 @@ A curated list of amphp packages ## Logging - [amphp/log](https://github.com/amphp/log) - Non-blocking logging for PHP based on Amp and Monolog +- [logger-php](https://github.com/spacetab-io/logger-php) - Simple pre-configured non-blocking logging based on Amp and Monolog ## Multiprocessing @@ -89,6 +117,10 @@ A curated list of amphp packages - [gitamp](https://github.com/ekinhbayar/gitamp) - Listen to music generated by events across github +## OAuth + +- [oauth](https://github.com/kelunik/oauth) - Async OAuth client + ## PDF - [wkhtmltopdf-php](https://github.com/spacetab-io/wkhtmltopdf-php) - Non-blocking PHP wrapper for wkhtmltopdf @@ -103,17 +135,34 @@ A curated list of amphp packages - [amphp/redis](https://github.com/amphp/redis) - Redis Client - [rpq-server](https://github.com/charlesportwoodii/rpq-server) - RPQ: Simple, efficient, prioritized background processing for PHP +## Retrying + +- [kelunik/retry](https://github.com/kelunik/retry) - A tiny library for retrying failed operations +- [scriptfusion/retry](https://github.com/ScriptFUSION/Retry) - Retries failing operations. + ## RPC - [rpc-demo](https://github.com/kelunik/rpc-demo) - Simple RPC demo to handle socket input in worker processes +## Socket + +- [amphp/socket](https://github.com/amphp/socket) - Non-blocking socket and TLS functionality + +## SMTP + +- [HarmonyIO/smtp-client](https://github.com/HarmonyIO/Smtp-Client) - Async SMTP client + ## SSH - [amphp/ssh](https://github.com/amphp/ssh) - Async SSH client -## SMTP +## Streams -- [HarmonyIO/smtp-client](https://github.com/HarmonyIO/Smtp-Client) - Async SMTP client +- [amphp/byte-stream](https://github.com/amphp/byte-stream) - A non-blocking stream abstraction +- [streaming-base64](https://github.com/kelunik/streaming-base64) - On the fly Base64 encoding for Amp's streams. +- [streaming-hash](https://github.com/kelunik/streaming-hash) - On the fly hashing for Amp's streams. +- [streaming-json](https://github.com/kelunik/streaming-json) - A streaming JSON parser +- [styled-byte-stream](https://github.com/labrador-kennel/styled-byte-stream) - Write styled output to a terminal using amphp OutputStream! ## Telegram @@ -124,43 +173,42 @@ A curated list of amphp packages - [amphp/php-unit-util](https://github.com/amphp/phpunit-util) - Helper package to ease testing with PHPUnit - [async-unit](https://github.com/labrador-kennel/async-unit) - A PHP8 unit and integration testing framework with first-class support for the amphp Loop - [asynit](https://github.com/jolicode/asynit) - Asynchronous HTTP Request Testing Library for API or more +- [HarmonyIO/PHPUnit-Extension](https://github.com/HarmonyIO/PHPUnit-Extension) - Extends PHPUnit with async helpers - [mock-server](https://github.com/JBZoo/Mock-Server) - Flexible HTTP mocking application for testing and fast prototyping +## Validation + +- [body-validator-php](https://github.com/spacetab-io/body-validator-php) - Package to simplify validation of request body + ## Websocket - [amphp/websocket-server](https://github.com/amphp/websocket-server) - WebSocket component for amphp/http-server - [amphp/websocket-client](https://github.com/amphp/websocket-client) - Async WebSocket client - [websocket-commands](https://github.com/cspray/websocket-commands) - A micro-framework to facilitate building Websocket powered applications +## Windows + +- [amphp/windows-registry](https://github.com/amphp/windows-registry) - Windows Registry reader + ## Unsorted yet - [amphp/beanstalk](https://github.com/amphp/beanstalk) - Beanstalk client - [Service bus](https://github.com/php-service-bus/service-bus) - Service Bus (publish-subscribe pattern) implementation -- [amphp/byte-stream](https://github.com/amphp/byte-stream) - A non-blocking stream abstraction - [ACME](https://github.com/kelunik/acme) - Async ACME library - [ridge](https://github.com/phpinnacle/ridge) - Pure asynchronous PHP implementation of the AMQP 0-9-1 protocol - [cassis](https://github.com/phpinnacle/cassis) - Pure PHP asynchronous implementation of the Cassandra V4 binary protocol - [Wind framework](https://github.com/wind-framework/wind-framework) - Pure PHP Coroutine Framework based on Workerman and Amphp - [ESB](https://github.com/webgriffe/esb) - Simple, beanstalkd powered, ESB framework -- [kelunik/retry](https://github.com/kelunik/retry) - A tiny library for retrying failed operations -- [scriptfusion/retry](https://github.com/ScriptFUSION/Retry) - Retries failing operations. - [Porter](https://github.com/ScriptFUSION/Porter) - calable and durable all-purpose data import abstraction for publishing testable APIs and SDKs. - [rate-limit](https://github.com/kelunik/rate-limit) - Rate Limiting -- [mellon](https://github.com/kelunik/mellon) - Mellon is a bot based on Amp - [AsyncTwitter](https://github.com/PeeHaa/AsyncTwitter) - Just like regular Twitter, but async - [railway-fbp](https://github.com/darkwood-fr/railway-fbp) - Railway Flow Based Programming - [railway-fbp-symfony](https://github.com/darkwood-fr/railway-fbp-symfony) - Railway Flow Based Programming implementation for Symfony -- [docker-amphp-php](https://github.com/spacetab-io/docker-amphp-php) - Docker image configured for amphp in production use - [dag](https://github.com/dbalabka/dag) - Directed acyclic graph of tasks implementation based on Amphp promises -- [oauth](https://github.com/kelunik/oauth) - Async OAuth client -- [jeeves](https://github.com/Room-11/Jeeves) - Chatbot for Stack Overflow - [paginate-php](https://github.com/spacetab-io/paginate-php) - Simple async paginator -- [amphp-clamav](https://github.com/Pato05/amphp-clamav) - A ClamAV wrapper -- [amphp/windows-registry](https://github.com/amphp/windows-registry) - Windows Registry reader - [ipc](https://github.com/danog/ipc) - Async IPC component - [pact-php](https://github.com/pact-foundation/pact-php) - Enables consumer driven contract testing, following the PACT foundation principles -- [amphp/http-tunnel](https://github.com/amphp/http-tunnel) - Provides an HTTP CONNECT tunnel - [event-store-client](https://github.com/prooph/event-store-client) - Event Store Client - [micro](https://github.com/prooph/micro) - Functional prooph for microservices - [php-service-bus/mutex](https://github.com/php-service-bus/mutex) - PHP Mutex implementation @@ -168,15 +216,18 @@ A curated list of amphp packages - [amp-magento](https://github.com/webgriffe/amp-magento) - Magento REST Api wrapper - [amphp/pipeline](https://packagist.org/packages/amphp/pipeline) - Asynchronous iterators and operators - [DaveRandom/Mutex](https://github.com/DaveRandom/Mutex) - Basic common mutex framework for amp -- [amphp/socket](https://github.com/amphp/socket) - Non-blocking socket and TLS functionality - +- [amphp-priority-emitter](https://github.com/JustBlackBird/amphp-priority-emitter) - AMP Emitter with priority queue inside +- [amphp/serialization](https://github.com/amphp/serialization) - Serialization tools for IPC and data storage in PHP. +- [awsyncronic](https://github.com/noerosell/awsyncronic) - amphp/artax client http handler for Guzzle. +- [async-event](https://github.com/labrador-kennel/async-event) - Triggering semantic application events within Amp's Event Loop ## Projects using amphp -- [stdinho](https://github.com/ostrolucky/stdinho) - Turn any STDIN/STDOUT into HTTP server +- [grumphp](https://github.com/phpro/grumphp) - A composer plugin that enables source code quality checks - [mailgrab](https://github.com/PeeHaa/mailgrab) - Simple and easy to use catch-all SMTP mail server and debugging tool - [psalm](https://github.com/vimeo/psalm) - A static analysis tool for finding errors in PHP applications -- [grumphp](https://github.com/phpro/grumphp) - A composer plugin that enables source code quality checks +- [socket-inspect](https://github.com/PeeHaa/socket-inspect) - Reverse engineering and socket inspection tool +- [stdinho](https://github.com/ostrolucky/stdinho) - Turn any STDIN/STDOUT into HTTP server ## Guides / Tutorials