Overview
simple_pkg is a modern, GitHub-based package manager for the Simple Eiffel ecosystem. It dynamically discovers packages from the simple-eiffel organization, handles dependency resolution from ECF files, and manages environment variable setup automatically.
Part of the Simple Eiffel ecosystem.
Quick Start
# Install the package manager
simple-setup-1.0.0.exe
# Install packages
simple install json web sql
# See what's available
simple universe
# Check your environment
simple doctor
Installation
Windows Installer (Recommended)
Download and run simple-setup-1.0.0.exe from the releases page. The installer:
- Installs
simple.exeto Program Files - Adds the install directory to your PATH
- Configures automatic environment variable management
Manual Installation
# Clone and build
git clone https://github.com/simple-eiffel/simple_pkg.git
cd simple_pkg
ec -config simple_pkg.ecf -target simple_pkg_exe -finalize -c_compile
# Add to PATH (PowerShell)
$env:PATH += ";D:\path\to\simple_pkg\EIFGENs\simple_pkg_exe\F_code"
Commands
| Command | Alias | Description |
|---|---|---|
install <pkg>... |
i |
Install packages with dependencies |
update [<pkg>...] |
up |
Update packages (all if none specified) |
uninstall <pkg> |
rm |
Remove a package |
move <pkg> |
mv |
Move package to current directory |
search <query> |
s |
Search for packages |
universe |
-u |
Show all packages with install status |
inventory |
-i |
List installed packages |
info <pkg> |
- | Show package details |
tree [<pkg>] |
deps |
Show dependency tree |
doctor |
check |
Diagnose environment issues |
init <name> [<pkg>...] |
- | Create new project with dependencies |
Features
Dynamic Discovery
Fetches available packages from GitHub API - no static registry needed
Dependency Resolution
Parses ECF files to find $SIMPLE_* dependencies automatically
Environment Setup
Sets persistent Windows environment variables for each package
Diagnostics
Doctor command checks git, EiffelStudio, and environment health
Visualization
Tree command shows package dependency graph
Project Init
Scaffolds new projects with ECF and dependencies
Usage Examples
# Install multiple packages at once
simple install json web sql http
# See everything available vs installed
simple -u
# Check what you have installed
simple -i
# Get detailed info about a package
simple info json
# Show dependency tree
simple tree web
# Create a new project with dependencies
simple init my_api json http web
# Update all packages
simple update
# Check for issues
simple doctor