rovr - a stylish, batteries-included terminal file manager.
rovr is a terminal file manager built with Python's Textual framework. It was born out of a frustration that TUI apps do not support the mouse properly, and I wanted to make a change.
Features
- Modern UI: Built with Textual for a beautiful and functional terminal interface.
- Highly Customizable: Tweak themes, borders, icons, and UI elements to match your exact preference. Configs for nearly everything.
- Batteries Included: Handles file preview, image preview, archive handling and more without reaching to external software (but still has integrations for popular tools out-of-box)
- Cross-Platform: Powered by Python, running smoothly anywhere Python 3.13 is supported. Binaries are also provided.
- Real Mouse Support: Full mouse support for navigation, selection, and actions, making it more intuitive to use.
Project Status
Currently in public beta similar to yazi. rovr follows the major version 0 scheme, meaning whenever the minor version (like 0.7.0 -> 0.8.0) is done, there are a lot of breaking changes.
I try to minimise them, and guide the user to what had gone wrong and more info on how to fix them, as well as attempt to fix it.
Installation
Quick Test:
## uv
uvx rovr
pipx
pipx run rovr
# Install
uv (my fav)
uv tool install rovr
or pipx
pipx install rovr
or plain old pip
pip install rovr
Other package managers
With AUR:
# binary
yay -S rovr-bin
pip version
yay -S rovr
With scoop (windows):
scoop bucket add le-bucket https://github.com/NSPC911/le-bucket
scoop install rovr
With Conda/Pixi:
pixi global install rovr
Running from source
uv run rovr
Running in dev mode to see debug outputs and logs
uv run rovr --dev
or with poethepoet
poe dev
the Textual console must also be active to see debug outputs
uv run textual console
or uvx if not running from source
uvx --from textual-dev textual console
or just capture print statements
poe log
For more info on Textual's console, refer to https://textual.textualize.io/guide/devtools/#console
Contributing
- What can I contribute?
- How do I contribute?
uv sync.
- Make your changes, ensure that your changes are properly formatted, before pushing to a custom branch on your fork.
- For more info, check the how to contribute page.
- How do I make a feature suggestion?
feature-request tag. Make sure to add details and context to your suggestion.
FAQ
- There isn't X theme/Why isn't Y theme available?
- Why not ratatui (rust) or bubbletea (go), why python, why??? sad, angry, weird compiled noises
- What's with the name?
r, you get ranger. Hence, I wanted to use "rover", but there is already an existing file explorer named rover, so I just removed the "e" to be a bit more fancy.
- How should I stylize rovr?
rovr, but please don't capitalise any letters.
- Why should I use rovr?
- OhMGee why are there so many borders and so many icons and so many xxx and so many yyy??? more angry noises
- Is this vibe-coded?
License
This project is licensed under the MIT License. See the LICENSE file for details.
Stargazers
Thank you so much for starring this repo! Each star pushes me more to make even more amazing features for you!
_ ___ ___ __ _ˍ_ ___
/\'__\/ __\ \ /\ \`'__\
\ \ \_/\ \_\ \ V_/ /\ \_/
\ \_\\ \____/\___/\ \_\
\/_/ \/___/\/__/ \/_/ by NSPC911