playback-tui


Nameplayback-tui JSON
Version 1.2.6 PyPI version JSON
download
home_pageNone
SummaryA terminal-based music player with playlist management and downloading capabilities
upload_time2025-08-23 08:16:02
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseMIT
keywords music player terminal tui spotify soundcloud playlist downloader
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Playback TUI

A fully local terminal-based music player to play and download spotify/soundcloud playlists

## Features

- 🎵 Modern TUI interface with rich text and interactive elements
- 🎧 Browse and play local music playlists
- 📥 **Download playlists from Spotify and SoundCloud**
- ⏯️ Advanced playback controls (play/pause/skip/previous)
- 🔀 Shuffle and queue management
- 🎛️ Volume control and progress tracking
- ⌨️ Comprehensive keyboard shortcuts
- 🔍 Search functionality with command prompt
- 📊 Metadata display (artist, duration, album art)
- 🌍 **Cross-platform support** - works on Windows, macOS, and Linux
- 🎨 Modern terminal interface with visual selection highlighting

## Prerequisites

### Required Software
- **Python 3.10+** - Required for running the application
- **FFmpeg** - Required for downloading and processing audio from Spotify/SoundCloud

### Platform-Specific Prerequisites

#### macOS
Install via Homebrew:
```bash
brew install python@3.10 ffmpeg
```

#### Linux (Ubuntu/Debian)
```bash
sudo apt update
sudo apt install python3.10 python3-pip ffmpeg
```

#### Linux (Fedora/CentOS)
```bash
sudo dnf install python3.10 python3-pip ffmpeg
```

#### Windows
1. Install Python 3.10+ from [python.org](https://python.org)
2. Install FFmpeg from [ffmpeg.org](https://ffmpeg.org/download.html) or via chocolatey:
   ```cmd
   choco install ffmpeg
   ```

## Installation

1. Clone or download this repository
2. Install the package and dependencies:
   ```bash
   pip install -e .
   ```
   
   Or install dependencies manually:
   ```bash
   pip install -r requirements.txt
   ```

## Usage

Run the application:
```bash
playback-tui
```

Or if installed in development mode:
```bash
python player.py
```

## Keyboard Shortcuts

### Main Navigation
- `Space` - Toggle play/pause
- `Enter` - Play selected song and generate new queue
- `Shift+Enter` - Add selected song to top of queue
- `Ctrl+C` - Exit application

### Playback Controls
- `Ctrl+Shift+Right` - Skip to next song
- `Ctrl+Shift+Left` - Previous song or restart current song
- `Ctrl+Shift+Up` - Page up in playlist
- `Ctrl+Shift+Down` - Page down in playlist
- `Cmd+Ctrl+Up` - Move to top of playlist (macOS)
- `Cmd+Ctrl+Down` - Move to bottom of playlist (macOS)

### Features
- `/` - Open command prompt/search
- `Ctrl+Shift+S` - Shuffle playlist
- `Ctrl+Shift+Q` - Open queue screen
- `Ctrl+Shift+T` - Open settings
- `Ctrl+Shift+D` - Open download status screen
- `Ctrl+Shift+U` - Download current playlist

### Modal Navigation
- `Escape` - Close current modal/screen
- `Up/Down` - Navigate lists
- `Enter` - Select item
- `Delete/Backspace` - Remove item (where applicable)

## Configuration

### Music Directory Structure
By default, the application looks for music in:
```
~/Playback-TUI/Playlists/
├── playlist1/
│   ├── song1.mp3
│   ├── song2.mp3
│   └── ...
├── playlist2/
│   ├── song3.mp3
│   └── ...
└── ...
```

You can customize playlist locations in the settings.

### Spotify Integration
For downloading playlists from Spotify, you'll need to:

1. Create a Spotify app at [developer.spotify.com](https://developer.spotify.com/dashboard)
2. Get your Client ID and Client Secret
3. Configure them in the application settings (`Ctrl+Shift+T`)

## Dependencies

### Python Packages
- `textual>=5.3.0` - Modern TUI framework
- `pygame>=2.6.0` - Audio playback
- `mutagen>=1.47.0` - Audio metadata
- `spotipy>=2.25.0` - Spotify API integration
- `yt-dlp>=2025.8.0` - YouTube/SoundCloud downloading
- `requests>=2.32.0` - HTTP requests

All dependencies are automatically installed when using `pip install -e .`

### System Requirements
- **FFmpeg** - Required for audio downloading and processing
- **Python 3.10+** - Required runtime environment

## Troubleshooting

### Audio Issues
- Ensure pygame can access your system's audio drivers
- On Linux, you may need to install additional audio libraries:
  ```bash
  sudo apt install libasound2-dev libpulse-dev
  ```

### Download Issues
- Verify FFmpeg is properly installed and in your PATH
- Check Spotify credentials are correctly configured
- Ensure internet connectivity for downloading

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "playback-tui",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": "music, player, terminal, tui, spotify, soundcloud, playlist, downloader",
    "author": null,
    "author_email": "Ashank Behara <ashank.behara@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/b2/54/f2e72c526be7fb7c895dc0189a6444db2918ce7a925d9f7657d2e617cc22/playback_tui-1.2.6.tar.gz",
    "platform": null,
    "description": "# Playback TUI\n\nA fully local terminal-based music player to play and download spotify/soundcloud playlists\n\n## Features\n\n- \ud83c\udfb5 Modern TUI interface with rich text and interactive elements\n- \ud83c\udfa7 Browse and play local music playlists\n- \ud83d\udce5 **Download playlists from Spotify and SoundCloud**\n- \u23ef\ufe0f Advanced playback controls (play/pause/skip/previous)\n- \ud83d\udd00 Shuffle and queue management\n- \ud83c\udf9b\ufe0f Volume control and progress tracking\n- \u2328\ufe0f Comprehensive keyboard shortcuts\n- \ud83d\udd0d Search functionality with command prompt\n- \ud83d\udcca Metadata display (artist, duration, album art)\n- \ud83c\udf0d **Cross-platform support** - works on Windows, macOS, and Linux\n- \ud83c\udfa8 Modern terminal interface with visual selection highlighting\n\n## Prerequisites\n\n### Required Software\n- **Python 3.10+** - Required for running the application\n- **FFmpeg** - Required for downloading and processing audio from Spotify/SoundCloud\n\n### Platform-Specific Prerequisites\n\n#### macOS\nInstall via Homebrew:\n```bash\nbrew install python@3.10 ffmpeg\n```\n\n#### Linux (Ubuntu/Debian)\n```bash\nsudo apt update\nsudo apt install python3.10 python3-pip ffmpeg\n```\n\n#### Linux (Fedora/CentOS)\n```bash\nsudo dnf install python3.10 python3-pip ffmpeg\n```\n\n#### Windows\n1. Install Python 3.10+ from [python.org](https://python.org)\n2. Install FFmpeg from [ffmpeg.org](https://ffmpeg.org/download.html) or via chocolatey:\n   ```cmd\n   choco install ffmpeg\n   ```\n\n## Installation\n\n1. Clone or download this repository\n2. Install the package and dependencies:\n   ```bash\n   pip install -e .\n   ```\n   \n   Or install dependencies manually:\n   ```bash\n   pip install -r requirements.txt\n   ```\n\n## Usage\n\nRun the application:\n```bash\nplayback-tui\n```\n\nOr if installed in development mode:\n```bash\npython player.py\n```\n\n## Keyboard Shortcuts\n\n### Main Navigation\n- `Space` - Toggle play/pause\n- `Enter` - Play selected song and generate new queue\n- `Shift+Enter` - Add selected song to top of queue\n- `Ctrl+C` - Exit application\n\n### Playback Controls\n- `Ctrl+Shift+Right` - Skip to next song\n- `Ctrl+Shift+Left` - Previous song or restart current song\n- `Ctrl+Shift+Up` - Page up in playlist\n- `Ctrl+Shift+Down` - Page down in playlist\n- `Cmd+Ctrl+Up` - Move to top of playlist (macOS)\n- `Cmd+Ctrl+Down` - Move to bottom of playlist (macOS)\n\n### Features\n- `/` - Open command prompt/search\n- `Ctrl+Shift+S` - Shuffle playlist\n- `Ctrl+Shift+Q` - Open queue screen\n- `Ctrl+Shift+T` - Open settings\n- `Ctrl+Shift+D` - Open download status screen\n- `Ctrl+Shift+U` - Download current playlist\n\n### Modal Navigation\n- `Escape` - Close current modal/screen\n- `Up/Down` - Navigate lists\n- `Enter` - Select item\n- `Delete/Backspace` - Remove item (where applicable)\n\n## Configuration\n\n### Music Directory Structure\nBy default, the application looks for music in:\n```\n~/Playback-TUI/Playlists/\n\u251c\u2500\u2500 playlist1/\n\u2502   \u251c\u2500\u2500 song1.mp3\n\u2502   \u251c\u2500\u2500 song2.mp3\n\u2502   \u2514\u2500\u2500 ...\n\u251c\u2500\u2500 playlist2/\n\u2502   \u251c\u2500\u2500 song3.mp3\n\u2502   \u2514\u2500\u2500 ...\n\u2514\u2500\u2500 ...\n```\n\nYou can customize playlist locations in the settings.\n\n### Spotify Integration\nFor downloading playlists from Spotify, you'll need to:\n\n1. Create a Spotify app at [developer.spotify.com](https://developer.spotify.com/dashboard)\n2. Get your Client ID and Client Secret\n3. Configure them in the application settings (`Ctrl+Shift+T`)\n\n## Dependencies\n\n### Python Packages\n- `textual>=5.3.0` - Modern TUI framework\n- `pygame>=2.6.0` - Audio playback\n- `mutagen>=1.47.0` - Audio metadata\n- `spotipy>=2.25.0` - Spotify API integration\n- `yt-dlp>=2025.8.0` - YouTube/SoundCloud downloading\n- `requests>=2.32.0` - HTTP requests\n\nAll dependencies are automatically installed when using `pip install -e .`\n\n### System Requirements\n- **FFmpeg** - Required for audio downloading and processing\n- **Python 3.10+** - Required runtime environment\n\n## Troubleshooting\n\n### Audio Issues\n- Ensure pygame can access your system's audio drivers\n- On Linux, you may need to install additional audio libraries:\n  ```bash\n  sudo apt install libasound2-dev libpulse-dev\n  ```\n\n### Download Issues\n- Verify FFmpeg is properly installed and in your PATH\n- Check Spotify credentials are correctly configured\n- Ensure internet connectivity for downloading\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A terminal-based music player with playlist management and downloading capabilities",
    "version": "1.2.6",
    "project_urls": {
        "Bug Reports": "https://playback-tui.ashankbehara.com",
        "Homepage": "https://playback-tui.ashankbehara.com",
        "Source": "https://github.com/abehara2/playlist"
    },
    "split_keywords": [
        "music",
        " player",
        " terminal",
        " tui",
        " spotify",
        " soundcloud",
        " playlist",
        " downloader"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "bfeddd331f1199e39dc8234c2b18060c0a2bba7d935956b27996baa0afe61b23",
                "md5": "642c315bda4d088a9be2e0d89c0d090f",
                "sha256": "aeb67a8d00f863e1d77d835bfc7cf691636b94e557d777aa382264c988f71a8e"
            },
            "downloads": -1,
            "filename": "playback_tui-1.2.6-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "642c315bda4d088a9be2e0d89c0d090f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 31762,
            "upload_time": "2025-08-23T08:16:01",
            "upload_time_iso_8601": "2025-08-23T08:16:01.317387Z",
            "url": "https://files.pythonhosted.org/packages/bf/ed/dd331f1199e39dc8234c2b18060c0a2bba7d935956b27996baa0afe61b23/playback_tui-1.2.6-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "b254f2e72c526be7fb7c895dc0189a6444db2918ce7a925d9f7657d2e617cc22",
                "md5": "862234e3823a2d23a9bf087e7be4af24",
                "sha256": "23161a0a633e2182333e1e05cfe9018186cb0e2c56f7c4e2efd8a00f9f7382f8"
            },
            "downloads": -1,
            "filename": "playback_tui-1.2.6.tar.gz",
            "has_sig": false,
            "md5_digest": "862234e3823a2d23a9bf087e7be4af24",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 33374,
            "upload_time": "2025-08-23T08:16:02",
            "upload_time_iso_8601": "2025-08-23T08:16:02.514284Z",
            "url": "https://files.pythonhosted.org/packages/b2/54/f2e72c526be7fb7c895dc0189a6444db2918ce7a925d9f7657d2e617cc22/playback_tui-1.2.6.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-23 08:16:02",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "abehara2",
    "github_project": "playlist",
    "github_not_found": true,
    "lcname": "playback-tui"
}
        
Elapsed time: 0.54263s