alecrabbit/php-cli-snake

Lightweight cli spinner with zero dependencies

Maintainers

👁 alecrabbit

Package info

github.com/alecrabbit/php-cli-snake

pkg:composer/alecrabbit/php-cli-snake

Fund package maintenance!

Patreon

Statistics

Installs: 216 518

Dependents: 5

Suggesters: 0

Stars: 29

Open Issues: 0

0.6.0 2020-12-19 18:42 UTC

Requires

  • php: ^7.3 || ^8.0

Suggests

None

Provides

None

Conflicts

None

Replaces

None

MIT 2312ac6a6e19ae22a05aec9f4ea70d3063dfde46

phpcliconsolecolorcolorfulansispinnersnake8bit256color

This package is auto-updated.

Last update: 2026-06-05 23:55:24 UTC


README

Lightweight cli snake spinner with zero dependencies

👁 PHP Version
👁 Build Status
👁 Appveyor Status
👁 Scrutinizer Code Quality
👁 Code Coverage
👁 Total Downloads

👁 Latest Stable Version
👁 Packagist Pre Release Version
👁 Latest Unstable Version

👁 License

👁 advanced

Zero dependencies

"require": {
 "php": "^7.3 || ^8.0"
}

Installation

$ composer require alecrabbit/php-cli-snake

Quickstart

require_once __DIR__ . '/../vendor/autoload.php';

use AlecRabbit\Snake\Spinner;
use React\EventLoop\Factory;

$s = new Spinner();

$loop = Factory::create();

$loop->addPeriodicTimer($s->interval(), static function () use ($s) {
 $s->spin();
});

$s->begin();

$loop->run();

$s->end();

Usage

See examples

Feature comparision

Feature php-console-spinner php-cli-snake
Lightweight ❌ ️ ✔️
Has zero dependencies ❌ ️ ✔️
Highly configurable ✔️ ️
Contains various spinner classes ✔️ ️
Progress indicator ✔️ ️
Messages indicator ✔️ ️
Color settings for spinner ✔️ ️
Color settings for messages ✔️ ️
Color settings for progress indicator ✔️ ️
Has disable() method ✔️ ️
Has enable() method ✔️ ️
Can show final message ✔️ ️
Cursor hide can be disabled ✔️ ️
Can use optional custom output ✔️ ️
Has erase() method ✔️ ️ ✔️ ️
Hides cursor with $spinner->begin() ✔️ ️ ✔️ ️
Shows cursor with $spinner->end() ✔️ ️ ✔️ ️
Supports piping ✔️ ️ ✔️ ️
Supports redirect ✔️ ️ ✔️ ️
Supports no color mode ✔️ ️ ✔️ ️
Supports 16 color mode ✔️ ️ ✔️ ️
Supports 256 color mode ✔️ ️ ✔️ ️