Transform your command-line experience with beautiful, informative output
Rich Run is a command-line wrapper that elevates your terminal experience by wrapping commands in elegant, colorful panels with timestamps, clear success/failure indicators, and beautiful formatting. Say goodbye to plain, boring command output!
- β¨ Features
- π¦ Installation
- π Usage
- πΈ Examples
- π― Use Cases
- π οΈ Development
- β FAQ
- π€ Contributing
- π License
- π Acknowledgments
- π¨ Beautiful Output: Commands wrapped in elegant, colored panels
- β° Timestamps: See exactly when your commands started and finished
- β Status Indicators: Clear visual feedback for success/failure with exit codes
- π Rich Formatting: Leverages the powerful
richlibrary for stunning terminal output - π¦ Easy Installation: Install via pip or pipx with zero configuration
- π Drop-in Replacement: Simply prepend
rich-runto any existing command - π§ Universal Compatibility: Works with any command-line tool or script
- π Progress Visualization: See command execution flow at a glance
pipx installs packages in isolated environments, preventing dependency conflicts:
# if pipx is not installed, you can install it first using `pip install pipx`
pipx install rich-runpip install rich-rungit clone https://github.com/tanganke/rich-run.git
cd rich-run
pip install -e .Note
Rich Run depends on rich-cli. It will be automatically installed with the package, but if you encounter issues, you can install it manually:
pipx install rich-cli # or pip install rich-cliRich Run is designed to be a drop-in replacement for running any command. Simply prepend rich-run to your existing commands:
rich-run <your-command-here># Simple commands
rich-run echo "Hello, Rich World!"
rich-run ls -la
rich-run pwd
# Python scripts
rich-run python my_script.py
rich-run python -c "print('Hello from Python!')"
# System commands
rich-run wget https://example.com/file.zip
# Complex commands with pipes and redirections (use quotes)
rich-run "ls -la | grep .py | wc -l"
rich-run "echo 'data' > output.txt && cat output.txt"When you run a command with Rich Run, you get:
- π Command Panel: A blue header showing the exact command and start timestamp
- π Clean Output: Your command's output displayed clearly
- β Status Panel: A colored footer with success/failure status and execution time
Successful Command:
rich-run echo "Success!"Shows a green success panel with exit code 0.
Failed Command:
rich-run ls /nonexistentShows a red error panel with the actual exit code.
Long-running Command:
rich-run sleep 3 && echo "Done!"Shows timestamps to track execution time.
Rich Run is perfect for:
- π Monitoring Scripts: Track execution status of automation scripts
- π Debugging: Clearly see command success/failure in complex workflows
- π Learning: Better understand command execution and exit codes
- π¨ Presentations: Make terminal demos more visually appealing
- π Documentation: Generate clean, formatted command examples
- π§ CI/CD: Enhance build script output readability
- π₯ Team Collaboration: Share more informative command outputs
# Clone the repository
git clone https://github.com/tanganke/rich-run.git
cd rich-run
# Create a virtual environment (optional but recommended)
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Install development dependencies (if you add them)
pip install -e ".[dev]" # If you add dev dependencies to pyproject.tomlrich-run/
βββ rich_run/ # Main package
βββ docs/ # Documentation assets
βββ pyproject.toml # Project configuration
βββ README.md
Q: Does Rich Run work with all commands?
A: Yes! Rich Run works with any command-line tool, script, or binary. It simply wraps execution and formatting.
Q: Can I use Rich Run in scripts and CI/CD?
A: Absolutely! Rich Run preserves exit codes and works well in automated environments.
Q: Does Rich Run affect command performance?
A: The overhead is minimal - just the time to format and display panels.
Q: Can I customize the output format?
A: Currently, Rich Run uses a fixed format, but customization features may be added in future versions.
Q: What if my command requires interactive input?
A: Rich Run passes through stdin, so interactive commands work normally.
We welcome contributions! Here's how you can help:
- π Bug Reports: Found an issue? Open an issue
- π Documentation: Help improve our docs
- π§ Code: Submit pull requests for bug fixes or new features
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Add tests if applicable
- Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
