User-friendly Terminal User Interfaces (TUI) for venerable but intimidating unix tools (ffmpeg, pdftk
), built with the rich python library for modern terminal interfaces. Interactively stitches together a command (say, ffmpeg -i input.mp3 -ss 00:00:10 -to 00:01:00
) that you can then run, or use as a learning tool.
Remembering the flags and positional arguments for pdftk or ffmpeg commands is challenging and error-prone but they can also basically do most things you might want, so I built this CLI (ably assistant by claude) to make it easier to perform common operations. It also includes a generic CLI builder that can be used to build up any command line call interactively; this functionality is demoed below with pandoc.
- Extract pages
- Merge PDFs
- Compress PDFs
- Rotate pages
- Add page numbers
- Split PDFs
Example of slicing a pdf (potentially to upload into a RAG / LLM's context)
- Convert between media formats
- Resize videos
- Trim media files
- Adjust audio settings
Example of slicing an mp3 with timestamps
- run
richcli magnet <command>
- add positional or keyword arguments
- add flags
- run the command
Example of building up a pandoc command to convert a markdown file to html
git clone https://github.com/apoorvalal/richcli.git
cd richcli
pip install -e .
- Python 3.7+
- Rich library (installed automatically by pip)
- External tools:
- PDF Tools requires:
- pdftk
- ghostscript
- FFmpeg UI requires:
- ffmpeg
- PDF Tools requires:
richcli pdf # Launch PDF Tools
richcli ffmpeg # Launch FFmpeg UI
richcli magnet <command> # Launch arbitrary CLI builder
richcli