alecrabbit / php-console-spinner
Extremely flexible spinner for [async] php cli applications
Installs: 13 418
Dependents: 4
Suggesters: 0
Security: 0
Stars: 240
Watchers: 4
Forks: 15
Open Issues: 5
Requires
- php: >=8.2
- psr/container: ^2.0
Requires (Dev)
Suggests
- ext-mbstring: For multibyte Unicode string functionality.
- ext-pcntl: For signal handling support.
- react/event-loop: For ReactPHP event-loop support.
- revolt/event-loop: For Revolt event-loop support.
- dev-master
- 1.x-dev
- 1.0.0-ALPHA.7+BUILD.0
- 1.0.0-ALPHA.6+BUILD.0
- 1.0.0-ALPHA.5+BUILD.0
- 0.55.x-dev
- 0.55.0
- dev-di-plugin
- dev-develop
- dev-prepare-next
- dev-dependabot/composer/phpunit/phpunit-10.5.7
- dev-dependabot/composer/fakerphp/faker-1.23.1
- dev-dependabot/composer/symfony/console-6.4.2
- dev-dependabot/composer/symfony/var-dumper-7.0.2
- dev-dependabot/composer/phpunit/php-code-coverage-10.1.11
This package is auto-updated.
Last update: 2025-03-08 14:20:19 UTC
README
Spinner - your task is running
🇺🇦 🏵️ PHP Console Spinner
Old version
0.55.0
is available in branch 0.55.x
New version 1.0.0
- ‼️ ATTENTION ‼️ Documentation is a bit clumsy at the moment and CAN BE MISLEADING
- WIP
- ‼️ API is subject to change until
1.0.0-BETA.0
- is intended to be used with event loop (see limitations)
Installation
composer require alecrabbit/php-console-spinner
Quick start (asynchronous)
use AlecRabbit\Spinner\Facade; // ... $spinner = Facade::createSpinner(); // that's basically it :)
Fully working examples can be found in example directory
For more information see Usage
Why?
Main purpose of this library is to provide a simple way to show spinner in console applications (mainly long-running ones). Spinner could be an indicator of running task. For more information see Features and Examples.
alecrabbit/php-console-spinner-extras library provides additional components to extend functionality:
- show progress of running task
- messages of some sort, like status messages
- additional spinners
Features
See Features and limitations for more details
Feature | |
---|---|
Extremely flexible | 🟢️ ️ |
"Zero" dependencies ️ | 🟢️ * |
Asynchronous | 🟢️ ️ |
Synchronous | 🟢️ ️ |
AutoStart (async) | 🟢️ ️ |
Signal handling (async) | 🟢️ ️ |
Cursor auto hide/show | 🟢️ ️ |
"Zero" dependencies
"Zero" dependencies mode means that the library does not require any additional dependencies to work. The only exception
is psr/container
. That's why zero is in quotes.
"require": { "php": ">=8.2", "psr/container": "^2.0" },
Links
- Inspired by sindresorhus/cli-spinners