# Installation Guide for moma moma is a terminal-based media file renamer and metadata viewer built with Python and Textual. ## Prerequisites - Python 3.11 or higher - UV package manager (recommended) or pip ## Installation Methods ### Method 1: UV Tool Install (Recommended) This is the easiest way to install and use moma globally on your system. #### Install UV (if not already installed) ```bash # On Linux/macOS curl -LsSf https://astral.sh/uv/install.sh | sh # On Windows powershell -c "irm https://astral.sh/uv/install.sh | iex" ``` #### Install moma ```bash # Always-latest stable URL (recommended) uv tool install https://github.com/shadoll/moma/releases/latest/download/moma-latest.whl # Specific version uv tool install https://github.com/shadoll/moma/releases/download/v0.8.11/moma-0.8.11.whl # From a locally downloaded wheel uv tool install moma-latest.whl # From PyPI (when published) uv tool install moma ``` #### Usage ```bash moma # Scan current directory moma /path/to/directory # Scan specific directory ``` ### Method 2: pip Install from Wheel ```bash # Always-latest stable URL pip install https://github.com/shadoll/moma/releases/latest/download/moma-latest.whl # From a locally downloaded wheel pip install moma-latest.whl ``` ### Method 3: Development Installation For development or if you want to run from source: #### Clone and Setup ```bash git clone git@github.com:shadoll/moma.git cd moma # Install dependencies uv sync # Run directly uv run python src/main.py uv run python src/main.py /path/to/directory ``` #### Install in Development Mode ```bash uv sync uv tool install --editable . ``` ### Method 4: Direct Python Execution If you prefer not to install globally: ```bash # Ensure you have Python 3.11+ python3 --version # Install dependencies pip install textual mutagen pymediainfo python-magic langcodes # Run the application python3 src/main.py python3 src/main.py /path/to/directory ``` ## System Requirements ### Linux - Python 3.11+ - MediaInfo library (for detailed media analysis) ```bash # Ubuntu/Debian sudo apt install libmediainfo-dev # Fedora/CentOS sudo dnf install libmediainfo-devel # Arch Linux sudo pacman -S libmediainfo ``` ### macOS - Python 3.11+ (via Homebrew or official installer) - MediaInfo (automatically handled by pymediainfo) ### Windows - Python 3.11+ (official installer) - MediaInfo (automatically handled by pymediainfo) ## Downloading Releases All release packages (`.whl` and `.tar.gz`) are attached to each [GitHub Release](https://github.com/shadoll/moma/releases). Releases are built automatically by CI when a version tag (`v*.*.*`) is pushed. --- ## Verification After installation, verify it works: ```bash moma --help ``` You should see the help text for the moma application. ## Troubleshooting ### Common Issues 1. **"Command not found"** - Ensure UV bin directory is in your PATH - Try `uv tool install` again 2. **Import errors** - Ensure all dependencies are installed - Try `uv sync` or `pip install -r requirements.txt` 3. **Permission errors** - Use `sudo` for system-wide pip installs - Or use UV tool install which handles permissions 4. **MediaInfo not found** - Install system MediaInfo library - Or use basic mode (limited functionality) ### Getting Help If you encounter issues: 1. Check the [README.md](README.md) for usage instructions 2. Verify your Python version: `python3 --version` 3. Check UV installation: `uv --version` ## Uninstallation ### UV Tool Uninstall ```bash uv tool uninstall moma ``` ### pip Uninstall ```bash pip uninstall moma ``` ### Development Uninstall ```bash uv tool uninstall moma # Remove the cloned directory if desired ``` /Users/sha/Developer/sha.dev/moma/INSTALL.md