Skip to main content

rovr - a stylish, batteries-included terminal file manager.

image

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?

    • Themes and features can be contributed.
    • Refactors will be frowned on, and may take a longer time before merging.
  • How do I contribute?

    • You need uv at minimum. prek, ruff and ty are automatically installed.
    • Clone the repo, and inside it, run 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?

    • Open an issue using the feature-request tag. Make sure to add details and context to your suggestion.

FAQ

  1. There isn't X theme/Why isn't Y theme available?

  2. Why not ratatui (rust) or bubbletea (go), why python, why??? sad, angry, weird compiled noises

    • I like Python, feel free to leave if you hate it.
  3. What's with the name?

    • ranger is a terminal file manager written in Python. And there is a car brand named Range Rover. Add the 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.
  4. How should I stylize rovr?

    • Just "rovr", please. You can add backticks to it if you want, so rovr, but please don't capitalise any letters.
  5. Why should I use rovr?

    • I don't want to sell it to you. I made it for myself. If you don't like it, sure go ahead, use yazi (rust) or superfile (go), or heck even use the cli, I'm not bothered.
  6. OhMGee why are there so many borders and so many icons and so many xxx and so many yyy??? more angry noises

    • Keep in mind, you can disable them. The screenshot is my setup, and the default setup. Textual CSS lets you hide things, disable borders, etc etc, so you can make it look however you want.
  7. Is this vibe-coded?

    • Depends on the meaning. AI was used in certain parts of the code, especially in cli functions, but aside from that, it is few and far between. However, AI was used to ensure I don't make mistakes while making changes.

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!

Star History Chart
 _ ___  ___ __   _ˍ_ ___
/\`'__\/ __`\ \ /\ \`'__\
\ \ \_/\ \_\ \ V_/ /\ \_/
 \ \_\\ \____/\___/\ \_\
  \/_/ \/___/\/__/  \/_/ by NSPC911

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rovr-0.10.1.post1.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rovr-0.10.1.post1-py3-none-any.whl (1.7 MB view details)

Uploaded Python 3

File details

Details for the file rovr-0.10.1.post1.tar.gz.

File metadata

  • Download URL: rovr-0.10.1.post1.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rovr-0.10.1.post1.tar.gz
Algorithm Hash digest
SHA256 8f114a20b0979fabb24a800cee8f21b62c99e6d07f55b6b10347f5607e8b66cf
MD5 86ae2f6257043c6e722dee88da1f7f13
BLAKE2b-256 bada767b09b25a4803e61232ac2ac6f3197e746879cccf3e01f1aa3e643c7b8c

See more details on using hashes here.

File details

Details for the file rovr-0.10.1.post1-py3-none-any.whl.

File metadata

  • Download URL: rovr-0.10.1.post1-py3-none-any.whl
  • Upload date:
  • Size: 1.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for rovr-0.10.1.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 7ebdaebfc7fd81a0ac9aeba6bea916bc7c3c8268df6851434f008c449091b0b9
MD5 bb7f0866f96a3be712b93b7d3eaa6ff7
BLAKE2b-256 fe59d773570b59ad6b27fa9b14cfe3f08077d92500d533eeab2be74aa438c5c4

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.10.1.post1 This release

2 files

0.10.1

2 files

0.10.0

2 files

0.9.2

2 files

0.9.1.post2

2 files

0.9.1.post1

2 files

0.9.1

2 files

0.9.0

2 files

0.8.2.post2

2 files

0.8.2.post1

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.3.post2

2 files

0.4.3

2 files

0.4.2

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

0.2.1.post2

2 files

0.2.1.post1

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0.post1

2 files

0.1.0

2 files

0.0.4.post2

2 files

0.0.4.post1

2 files

0.0.4

2 files

0.0.3.post3

2 files

0.0.3.post2

2 files

0.0.3.post1

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page