Lightning-Fast PHP Package Manager - A Composer Drop-in Replacement
β οΈ BETA SOFTWARE: Presto is currently in BETA. While it is functional and fast, it may still have bugs or incomplete features. Use with caution in production environments.
β‘ 10x-20x faster than Composer | π Built-in security audit | π Dependency insights | π― 100% compatible
Presto is a blazing-fast, drop-in replacement for Composer written in Go. It's 100% compatible with composer.json and composer.lock while being 10x-20x faster thanks to parallel downloads and native binary execution.
curl -fsSL https://raw.githubusercontent.com/paramientos/presto/main/scripts/install.sh | bashiwr -useb https://raw.githubusercontent.com/paramientos/presto/main/scripts/install.ps1 | iex| Platform | Architecture | Download |
|---|---|---|
| Windows | x86_64 | presto-windows-amd64.exe |
| macOS | Apple Silicon (M1/M2) | presto-darwin-arm64 |
| macOS | Intel | presto-darwin-amd64 |
| Linux | x86_64 | presto-linux-amd64 |
| Linux | ARM64 | presto-linux-arm64 |
- 10x-20x faster than Composer
- Parallel package downloads (8 concurrent workers)
- Native binary (no PHP JIT overhead)
- Smart caching system
presto audit # Scan for vulnerabilities- Built-in CVE database scanning
- Real-time security alerts
- License compliance checking
presto why package/name # Why is this installed?
presto why-not package/name 2.0 # Why can't I install this?- Visual dependency trees
- Conflict resolution explanations
- Better than Composer!
- Drop-in replacement for Composer
- Reads
composer.jsonandcomposer.lock - Works with Packagist.org
- PSR-4/PSR-0 autoloading
- Strict Validation (v0.1.9+)
- Composer Scripts (Added in v0.1.10)
To build Presto from source:
git clone https://github.com/paramientos/presto.git
cd presto
make build-v, --verbose: Enable verbose output for debugging-h, --help: Show help
Presto uses the same commands as Composer:
# Install dependencies
presto install
# Add a package
presto require symfony/console
# Update packages
presto update
# Remove a package
presto remove vendor/package
# Show installed packages
presto show
# Show dependency tree (map)
presto tree
# Security audit (NEW!)
presto audit
# Dependency insights (NEW!)
presto why symfony/console
presto why-not doctrine/orm 3.0
# Initialize new project
presto init
# Validate composer.json (v0.1.9+)
presto validate
presto validate --strict
# Run custom scripts (v0.1.10+)
presto run post-install-cmd
# Clear cache
presto cache clearReal-world benchmark (Laravel-sized project with 47 packages):
| Tool | Time | Speed |
|---|---|---|
| Composer | 42.3s | 1x |
| Presto | 3.8s | 11x |
Second run (with cache):
| Tool | Time | Speed |
|---|---|---|
| Composer | 8.2s | 1x |
| Presto | 0.4s | 20x |
$ presto install
π΅ Presto Install
ββββββββββββββββββββββββββββββββββββββββ
π¦ Project: myapp/project
π Description: My awesome PHP project
π Resolving dependencies...
β
Resolved 47 packages
β¬οΈ Downloading packages...
[========================================] 47/47
π Generating autoload files...
β¨ Installation complete!$ presto audit
π΅ Security Audit
ββββββββββββββββββββββββββββββββββββββββ
β οΈ Found 2 vulnerabilities:
[HIGH] symfony/[email protected]
CVE: CVE-2023-XXXXX
Description: Security vulnerability in HTTP kernel
Fix: Update to 5.4.31 or later$ presto tree
π¦ laravel/laravel
βββ php ^8.1
βββ laravel/framework ^10.0 (v10.34.2)
β βββ illuminate/support ^10.0 (v10.34.2)
β β βββ doctrine/inflector ^2.0 (v2.0.8)
β β βββ ...
βββ ...Built-in vulnerability scanning - something Composer doesn't have!
presto why and presto why-not commands help you understand your dependency tree
Parallel downloads and native binary make it incredibly fast
Shared cache across projects saves disk space and time
Clear progress indicators, beautiful output, helpful error messages
presto/
βββ cmd/presto/ # CLI entry point
βββ internal/
β βββ parser/ # composer.json parser
β βββ packagist/ # Packagist API client
β βββ resolver/ # Dependency resolver
β βββ downloader/ # Parallel downloader
β βββ autoload/ # Autoload generator
β βββ security/ # Security auditor
βββ go.mod
Contributions are welcome! Please read CONTRIBUTING.md for details.
MIT License - see LICENSE for details
Presto (Italian: "quick, fast") - just like the musical term meaning "very fast", Presto executes your PHP dependency management at lightning speed! π΅β‘
Made with β€οΈ by the Presto team