https://github.com/yaaama/megatui
A terminal user interface to manage your files on MEGA
https://github.com/yaaama/megatui
Last synced: about 1 year ago
JSON representation
A terminal user interface to manage your files on MEGA
- Host: GitHub
- URL: https://github.com/yaaama/megatui
- Owner: yaaama
- License: gpl-3.0
- Created: 2025-04-14T14:57:16.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2025-06-04T23:38:39.000Z (about 1 year ago)
- Last Synced: 2025-06-05T04:48:48.427Z (about 1 year ago)
- Language: Python
- Size: 255 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MegaTUI - Terminal User Interface for MEGA
[](https://www.python.org/)
[](https://opensource.org/license/gpl-3-0)
---
**THIS IS A WORK IN PROGRESS!**
Navigate and manage your MEGA cloud storage directly from the comfort of your
terminal! MegaTUI provides an intuitive text-based user interface (TUI)
powered by the excellent [Textual](https://github.com/Textualize/textual)
framework.
It interacts with your MEGA account by leveraging the official
[MEGAcmd](https://github.com/meganz/MEGAcmd) command-line tools in the
background.
The UI and bindings are inspired by [ranger](https://github.com/ranger/ranger) and
[lf](https://github.com/gokcehan/lf).

## Showcase
### Renaming a file

## 🪷 Features
As of writing this (_2025-06-06_), work is still ongoing and active.
- **Browse Files:** Navigate through your MEGA cloud drive folders.
- **Basic Navigation:** Use intuitive keybindings (like `j`/`k`, `h`/`l`, `Enter`/`Backspace`) to move up, down, into, and out of directories.
- **Directory Listing:** View files and directories within the current path.
- **Status Bar:** See information about the currently selected item.
- **Refresh:** Update the current directory view.
- **Rename file/directories:** Rename files via the app.
- **Login Check:** Verifies your MEGAcmd login status on startup.
## ✏️ (Planned / TODO)
- [x] Implement file operations (Get, Put, Rename, Delete, Copy, Move) based on supported `mega-*` commands.
- [ ] Search functionality.
- [ ] Multi-pane views.
- [ ] Caching to improve performance.
- [ ] File Previews (basic info, potentially text content).
- [ ] Display detailed directory/account usage (total storage usage, account details, etc).
- [ ] Robust error handling.
- [ ] Configuration options.
- [ ] Background transfer monitoring.
- [ ] Logging in (with 2FA support), and logging out.
## ⚙️ Installation (Development Only)
**These instructions are for development purposes only. The package is not even in alpha!**
Before you begin, ensure you have the following installed:
1. **Python:** Version 3.13 is what is currently being used (subject to change potentially).
2. **MEGAcmd:** The official MEGA command-line tool.
- Download and install it from the [official MEGAcmd GitHub releases page](https://github.com/meganz/MEGAcmd/releases).
- **Crucially:** You need to **log in** to your MEGA account using MEGAcmd
_before_ running MegaTUI.
- Open your terminal and run `mega-login your-email@example.com` and follow the prompts.
You can verify your login status with `mega-whoami`.
- MegaTUI currently relies on an existing MEGAcmd session.
- Run `mega-cmd-server` as a daemon process in the background (speed of
command execution will be severely reduced otherwise).
3. **(Recommended)** Install `uv` for package and virtual environment management.
4. `git clone https://github.com/yaaama/megatui.git && cd megatui`
5. `uv sync`
6. To run the project: `uv run /path/to/main.py`
## 📄 License
This project is licensed under the GPL 3.0 License - see the [LICENSE](LICENSE) file for details.
## 🙏 Acknowledgements
- [Textual](https://github.com/Textualize/textual) for the awesome TUI framework.
- [MEGA](https://mega.nz/) and the developers for their tools!