10 stable releases
Uses new Rust 2024
| new 6.19.2 | Apr 8, 2026 |
|---|---|
| 6.19.0 | Mar 19, 2026 |
#1174 in Network programming
355KB
8K
SLoC
fleche
A CLI tool for submitting and managing jobs on remote Slurm clusters via SSH. Eliminates the need for manual SSH, rsync, and sbatch boilerplate by providing a single command interface.
Features
- Submit jobs to remote Slurm clusters via SSH
- Sync project code respecting
.gitignore, plus explicit input files - Stream output in real-time by default
- Track job status and download outputs
- Direct SSH execution for quick tests without Slurm
- Exec mode for configured jobs that bypass Slurm (
exec = true) - Local execution for running jobs on your machine
- Job chaining via shared workspace
- Job dependencies with
--afterfor sequential workflows - Automatic retries with exponential backoff
- Parameterized jobs via environment variable overrides
- Job tagging for organization and filtering
- Job notes for annotating experiments (with search)
- Push notifications via ntfy.sh on job state changes
- Job archiving to hide completed jobs without deletion
- Resource statistics via sacct integration
- SOCKS proxy for routing traffic through the cluster
- Shell completions for bash, zsh, and fish
Installation
cargo install fleche
Quick Start
# Initialize a new project
fleche init
# Edit fleche.toml to configure your remote host and jobs
# Then validate your config
fleche check
# Preview what would be submitted
fleche run <job-name> --dry-run
# Submit a job (streams output by default)
fleche run <job-name>
# Submit without streaming
fleche run <job-name> --bg
# Check status
fleche status
# View logs (defaults to most recent job)
fleche logs
# Download results
fleche download
Documentation
View the built-in skill reference from the CLI, or install it locally for AI coding agents:
fleche skill # Print skill reference to stdout
fleche skill --install project # Install for current project
fleche skill --install global # Install for all projects
Requirements
- SSH access to the remote cluster
- rsync installed locally and on the cluster
- Slurm scheduler on the remote cluster (not required for
exec = truejobs)
License
GPLv3
Dependencies
~57MB
~1M SLoC