Metadata-Version: 2.4
Name: rovr
Version: 0.8.2.post2
Summary: A post-modern terminal file explorer
Keywords: filemanager,fs,python,textual,tui
Author: NSPC911
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Desktop Environment :: File Managers
Classifier: Topic :: Utilities
Requires-Dist: backports-zstd>=1.3.0 ; python_full_version < '3.14'
Requires-Dist: fastjsonschema>=2.21.2
Requires-Dist: humanize>=4.15.0
Requires-Dist: pathvalidate>=3.3.1
Requires-Dist: pillow>=12.2.0
Requires-Dist: platformdirs>=4.9.0
Requires-Dist: psutil>=7.2.0 ; sys_platform != 'android'
Requires-Dist: puremagic>=2.2.0
Requires-Dist: rarfile>=4.2
Requires-Dist: resvg-py>=0.3.1
Requires-Dist: rich>=14.3.1
Requires-Dist: send2trash>=2.1.0
Requires-Dist: textual~=8.0
Requires-Dist: textual-autocomplete>=4.0.6
Requires-Dist: textual-image[textual]<0.10.0
Requires-Dist: textual-speedups>=0.2.1
Requires-Dist: tomli>=2.4.0
Requires-Python: ==3.13.*
Project-URL: Issues, https://github.com/NSPC911/rovr/issues
Project-URL: Source, https://github.com/NSPC911/rovr
Project-URL: Documentation, https://nspc911.github.io/rovr
Description-Content-Type: text/markdown

<div align="center">
  <h1>rovr</h1>
  <img alt="Python Version" src="https://img.shields.io/pypi/pyversions/rovr?style=for-the-badge&logo=python&logoColor=white&color=yellow&label=for" height="24px" width="auto">
  <a href="https://nspc911.github.io/discord"><img alt="Discord" src="https://img.shields.io/discord/1110189201313513552?style=for-the-badge&logoColor=white&color=%235865f2&logo=discord" height="24px" width="auto"></a>
  <a href="https://pypi.org/project/rovr"><img alt="PyPI - Downloads" src="https://img.shields.io/pypi/dw/rovr?style=for-the-badge&logoColor=white&color=darkgreen&label=pip&logo=pypi" height="24px" width="auto"></a>
  <br>
  <img alt="GitHub Actions Formatting Status" src="https://img.shields.io/github/actions/workflow/status/NSPC911/rovr/.github%2Fworkflows%2Fformatting.yml?style=for-the-badge&logo=opencontainersinitiative&label=style" height="24px" width="auto">
  <img alt="GitHub Actions Docs Build Status" src="https://img.shields.io/github/actions/workflow/status/NSPC911/rovr/.github%2Fworkflows%2Fdocs-build.yml?style=for-the-badge&logo=opencontainersinitiative&label=Docs" height="24px" width="auto">
  <img alt="GitHub Actions Nuitka Build Status" src="https://img.shields.io/github/actions/workflow/status/NSPC911/rovr/.github%2Fworkflows%2Fnuitka-build.yml?style=for-the-badge&logo=opencontainersinitiative&label=build" height="24px" width="auto">
  <br>
  <a href="https://terminaltrove.com/rovr">
    <img src="https://terminaltrove.com/static/assets/media/terminal_trove_normal.png" alt="terminal trove" height="24px" width="auto">
  </a>
</div>

> [!warning]
> This project is considered beta software. It is functional, but may contain bugs and incomplete features. Use at your own risk.

<!--toc:start-->
- [Screenshot](#screenshot)
- [Installation](#installation)
- [Running from source](#running-from-source)
- [FAQ](#faq)
- [License](#license)
- [Stargazers](#stargazers)
<!--toc:end-->

### Screenshot

![image](https://github.com/NSPC911/rovr/blob/master/docs%2Fpublic%2Fscreenshots%2Fmain.png?raw=true)

### Installation

```pwsh
# Test the main branch
uvx git+https://github.com/NSPC911/rovr.git
# Install
## uv (my fav)
uv tool install rovr
## or pipx
pipx install rovr
## or plain old pip
pip install rovr
```

### Running from source

```pwsh
uv run rovr
```

Running in dev mode to see debug outputs and logs
```pwsh
uv run rovr --dev
# or with poethepoet
poe dev
```
the Textual console must also be active to see debug outputs
```pwsh
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

### FAQ

1. There isn't X theme/Why isn't Y theme available?
    - Textual's currently available themes are limited. However, extra themes can be added via the config file in the format below
    - You can take a look at what each color represents in https://textual.textualize.io/guide/design/#base-colors<br>Inheriting themes will **not** be added.

```toml
[[custom_theme]]
name = "<str>"
primary = "<hex>"
secondary = "<hex>"
success = "<hex>"
warning = "<hex>"
error = "<hex>"
accent = "<hex>"
foreground = "<hex>"
background = "<hex>"
surface = "<hex>"
panel = "<hex>"
is_dark = "<bool>"
variables = {
  "<key>" = "<value>"
}
```

2. Why is it considered post-modern?
    - Parody to my current editor, [helix](https://helix-editor.com)
        - If [NeoVim](https://github.com/neovim/neovim) is considered modern, then [Helix](https://github.com/helix-editor/helix) is post-modern
        - If [SuperFile](https://github.com/yorukot/superfile) is considered modern, then [rovr](https://github.com/NSPC911/rovr) is post-modern
            - This is also the reason why rovr is very oddly similar to superfile

3. What can I contribute?
    - Themes, and features can be contributed.
    - Refactors will be frowned on, and may take a longer time before merging.

4. I want to add a feature/theme/etc! How do I do so?
    - You need [uv](https://docs.astral.sh/uv) at minimum. [prek](https://github.com/j178/prek), [ruff](https://docs.astral.sh/ruff) and [ty](https://docs.astral.sh/ty) are recommended to be installed.
    - Clone the repo, and inside it, run `uv sync` and `prek install`.
    - Make your changes, ensure that your changes are properly formatted (via the pre-commit hook), before pushing to a **custom** branch on your fork.
    - For more info, check the [how to contribute](https://nspc911.github.io/rovr/contributing/how-to-contribute) page.

5. How do I make a feature suggestion?
    - Open an issue using the `feature-request` tag, with an estimated difficulty as an optional difficulty level label

6. Why not ratatui (rust) or bubbletea (go), why python, why??? <sub><i>sad, angry, weird compiled noises</i></sub>
    - I like Python, feel free to leave if you hate it.

7. What's with the name?
    - Kind of a weird thing. [ranger](https://github.com/ranger/ranger) is a terminal file manager written in Python. And there is a car brand named Range Rover. Range~~r~~. Hence, I wanted to use "rover", but there is already an existing file explorer named [rover](https://github.com/lecram/rover), so I just removed the "e" to be a bit more fancy.

8. How should I stylize rovr?
    - Just "rovr", please.

9. 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 don't care.

10. OhMGee why are there so many borders and so many icons and so many xxx and so many yyy??? <sub><i>more angry noises</i></sub>
    - 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.

11. Is this vibe-coded?
    - Depends on the meaning. AI was used in certain parts of the code, especially in [archive handling](https://github.com/NSPC911/rovr/blob/master/src/rovr/classes/archive.py) and [cli functions](https://github.com/NSPC911/rovr/blob/master/src/rovr/functions/cli.py), but aside from that, it is few and far between.

### License
This project is licensed under the MIT License. See the [LICENSE](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!
<a href="https://www.star-history.com/#nspc911/rovr&Date">
 <picture>
   <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=nspc911/rovr&type=Date&theme=dark" />
   <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=nspc911/rovr&type=Date" />
   <img alt="" src="https://api.star-history.com/svg?repos=nspc911/rovr&type=Date" />
 </picture>
</a>

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