PHPackages                             carica/io - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. carica/io

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

carica/io
=========

Non blocking I/O for PHP

2.0.1(6y ago)241.1k24MITPHPPHP &gt;=7.3

Since Mar 2Pushed 6y ago2 watchersCompare

[ Source](https://github.com/ThomasWeinert/carica-io)[ Packagist](https://packagist.org/packages/carica/io)[ Docs](https://github.com/ThomasWeinert/carica-io)[ RSS](/packages/carica-io/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (5)DependenciesVersions (6)Used By (4)

Carica Io
=========

[](#carica-io)

[![Build Status](https://camo.githubusercontent.com/c86d73f76708b3e4bb239dfe6bb425cc32b131d08ce0d63fc92ed63da2b6674c/68747470733a2f2f7472617669732d63692e6f72672f54686f6d61735765696e6572742f6361726963612d696f2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/ThomasWeinert/carica-io)[![License](https://camo.githubusercontent.com/a1dc6233e2b7ee48bd04a9b9a2417e320fd36394a1fbb3cb56b7b10a946bffec/68747470733a2f2f706f7365722e707567782e6f72672f6361726963612f696f2f6c6963656e73652e737667)](https://packagist.org/packages/carica/io)[![Total Downloads](https://camo.githubusercontent.com/5aeecdafcb7ca5bcf0a54473c1fe6fea92b1616e115e05ac9c5176dda2912f97/68747470733a2f2f706f7365722e707567782e6f72672f6361726963612f696f2f646f776e6c6f6164732e737667)](https://packagist.org/packages/carica/io)[![Latest Stable Version](https://camo.githubusercontent.com/1442e4f284e5cabc7a052a150cad01496e0777da66f79fc005cfbaed8df13c1d/68747470733a2f2f706f7365722e707567782e6f72672f6361726963612f696f2f762f737461626c652e737667)](https://packagist.org/packages/carica/io)[![Latest Unstable Version](https://camo.githubusercontent.com/f217533095a1a76e48edc6dd32376654cd62f62e2d446c4857698a7f859488ee/68747470733a2f2f706f7365722e707567782e6f72672f6361726963612f696f2f762f756e737461626c652e737667)](https://packagist.org/packages/carica/io)

License: [The MIT License](http://www.opensource.org/licenses/mit-license.php)

Copyright: 2013-2019 Thomas Weinert

Carica Io is a collection of experimental php classes and scripts for non-blocking I/O. It provides the basic building blocks for hardware control using Firmata (Arduino) and GPIO (Raspberry PI).

Basics
------

[](#basics)

The repository provides the API needed for non-blocking I/O. A simple event loop and event emitter are included. The loop implementation is not performance optimized. However it is possible to use an adapter for ReactPHP or AMPHP.

It includes an (incomplete) HTTP server that should be enough for the first steps. It supports GET requests and WebSocket connections.

Related Projects
----------------

[](#related-projects)

```
           +---------------+
           |  Carica\Chip  |
           +-------+-------+
                   ^
                   |
        +----------+----------+
        |                     |
+-------+-------+    +--------+-------+
|  Carica\GPIO  |    | Carica\Firmata |
+-------+-------+    +--------+-------+
        ^                     ^
        |                     |
        +----------+----------+
                   |
           +-------+-------+
           |   Carica\Io   |
           +---------------+

```

*Carica/Io* provides the classes for event based programming and a simple web server. It defines interfaces for hardware control (Pin, ShiftOut, ...). [Carica/Firmata](https://github.com/ThomasWeinert/carica-firmata) is a client library for the Firmata protocol it allows to control Arduino boards over a serial or a network connection. [Carica/GPIO](https://github.com/ThomasWeinert/carica-gpio) implements GPIO into PHP using the file system or the WiringPI library for the Raspberry PI.

[Carica/Chip](https://github.com/ThomasWeinert/carica-chip) implements classes for hardware objects. Like a LED, a RGB-LED, a Servo,...

Usage
-----

[](#usage)

You will need to get the loop instance from the factory, attach events and run it.

```
$loop = Carica\Io\Event\Loop\Factory::get();
$loop->setInterval(
  static function () {
    static $i = 0;
    echo $i++;
  },
  1000
);
$loop->run();
```

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community20

Small or concentrated contributor base

Maturity62

Established project with proven stability

 Bus Factor1

Top contributor holds 99.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~158 days

Total

5

Last Release

2364d ago

Major Versions

1.1.1 → 2.0.02019-11-16

PHP version history (3 changes)1.0.0PHP &gt;=7.1

1.1.0PHP &gt;=7.2

2.0.0PHP &gt;=7.3

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/236825?v=4)[Thomas Weinert](/maintainers/ThomasWeinert)[@ThomasWeinert](https://github.com/ThomasWeinert)

---

Top Contributors

[![ThomasWeinert](https://avatars.githubusercontent.com/u/236825?v=4)](https://github.com/ThomasWeinert "ThomasWeinert (321 commits)")[![assertchris](https://avatars.githubusercontent.com/u/200609?v=4)](https://github.com/assertchris "assertchris (1 commits)")[![iMartyn](https://avatars.githubusercontent.com/u/962908?v=4)](https://github.com/iMartyn "iMartyn (1 commits)")[![sebastianbergmann](https://avatars.githubusercontent.com/u/25218?v=4)](https://github.com/sebastianbergmann "sebastianbergmann (1 commits)")

---

Tags

non-blocking-ioasynchronous-io

### Embed Badge

![Health badge](/badges/carica-io/health.svg)

```
[![Health](https://phpackages.com/badges/carica-io/health.svg)](https://phpackages.com/packages/carica-io)
```

###  Alternatives

[baldwin/magento2-module-url-data-integrity-checker

Magento 2 module which can find potential url related problems in your catalog data

281773.3k](/packages/baldwin-magento2-module-url-data-integrity-checker)[johnbillion/wp-crontrol

Take control of the cron events on your WordPress website or WooCommerce store

22381.4k1](/packages/johnbillion-wp-crontrol)[ademarre/binary-to-text-php

Collection of binary-to-text encoding utilities for PHP. Includes Base32 support and much more.

40165.8k](/packages/ademarre-binary-to-text-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
