Skip to main content

Yit (No Tabs. Just Tunes.) Player 🎵

PyPI version License: GPL v3 Python 3.7+

The Fire-and-Forget Music Player for Developers.

Yit is a lightweight, headless, terminal-based audio player designed for flow states. It allows you to search, queue, and control music directly from your CLI without ever touching a browser or a heavy GUI.

It runs in the background (daemonized), meaning you can close your terminal, switch tabs, or keep coding while the music plays.


🚀 Features

  • Daemon Architecture: The player runs as a detached background process. Your terminal is never blocked.
  • Instant Search: Uses yt-dlp to fetch metadata in milliseconds.
  • Smart Queue: Manage your playlist (add, next, back, Loop) with simple commands.
  • Cross-Platform: Works natively on Windows, macOS, and Linux.
  • Agent-Native: Built from the ground up to be controlled by AI Agents (Vibe Coding).

📦 Installation

pip install yit-player

Requirements

  • None! Yit automatically manages the mpv audio engine internally.
  • Windows: Auto-downloads a portable mpv.exe if missing.
  • Mac/Linux: Uses system MPV (install via brew or apt if needed).

Troubleshooting: "Command/Path not found"

If you run yit and get an error, your Python scripts folder is not in your system PATH. Solution: Run it like this instead (works 100% of the time):

python -m yit search "slava funk" -p

⚡ Quick Start

1. Search & Play

# Search for a song
yit search "funk sigilo"

# Auto-play the first result immediately
yit search "funk infernal" -p

2. Control Playback

yit pause    # (or 'p')
yit resume   # (or 'r')
yit toggle   # Toggle play/pause
yit stop     # Kill the player

3. Queue Management

yit add 1    # Add result #1 from your last search to the queue (use 1 - 5 to choose from search results)
yit queue    # Show the current queue
yit next     # Skip track (or 'n')
yit back     # Previous track (or 'b')
yit clear    # Wipe the queue

4. Looping

yit loop     # Loop the current track indefinitely
yit unloop   # Return to normal playback

5. Status

yit status   # Check if currently Playing/Paused and Looped

6. Favorites (❤️)

Save your best tracks for later.

# list all favorites
yit fav

# Add to favorites
yit fav add        # Add the CURRENTLY playing song
yit fav add 1      # Add result #1 from your last search

# Play favorites
yit fav play       # Play ALL favorites (starting from #1)
yit fav play 3     # Play favorite #3

# Remove
yit fav remove 2   # Remove favorite #2

🤖 For AI Agents & Vibe Coding

Yit is designed to be self-documenting for AI context. If you are building an AI agent or using an LLM in your IDE:

  1. Read context: Point your agent to AI_INSTRUCTIONS.md (included in the repo).
  2. Discovery: Run yit commands to get a JSON list of all capabilities.
  3. State: Run yit agent to get the full player state (Track, Time, Queue) in pure JSON.

Example Agent Output (yit agent):

{
  "status": "playing",
  "track": {
    "title": "Never Gonna Give You Up",
    "url": "https://..."
  },
  "position": 45.2,
  "duration": 212.0,
  "queue_length": 5
}

Installation for Claude Desktop & AI IDEs (MCP)

Yit includes a built-in Model Context Protocol (MCP) server (yit-mcp). You can easily connect Yit to any supported AI IDE or desktop agent.

Add the following JSON configuration block to your client's MCP config file (e.g., claude_desktop_config.json):

{
  "mcpServers": {
    "yit-player": {
      "command": "uvx",
      "args": ["yit-mcp"]
    }
  }
}

Note: This uses uvx to automatically run the latest version of the server.


🛠️ Architecture

  • Client: Python CLI (yit) handles argument parsing and user signals.
  • Daemon: A detached mpv process handles audio decoding and network streaming.
  • Communication: IPC (Inter-Process Communication) via Named Pipes (Windows) or Unix Sockets (Linux/Mac).
  • Persistence: ~/.yit/history.json stores your playback history and queue metadata.

⚠️ Disclaimer and Legal Notice

1. Educational Purpose Only This software (Yit) is a proof-of-concept project designed strictly for educational and research purposes. Its primary goal is to demonstrate:

  • Advanced Python subprocess management and Daemon architecture.
  • Inter-Process Communication (IPC) using sockets and named pipes.
  • Memory-efficient resource management in CLI environments.

2. Third-Party Content This tool acts as a command-line interface (CLI) wrapper for open-source media engines (mpv) and network libraries (yt-dlp).

  • No Content Hosting: This application does not host, store, distribute, or decrypt any copyrighted media content.
  • Streaming Only: It is designed for transient streaming of publicly available content. It does not include features to permanently download or "rip" media to the disk.

3. Terms of Service Users are responsible for ensuring their use of this tool complies with the Terms of Service of any third-party platforms they interact with. The developer of this tool assumes no liability for misuse, account suspensions, or legal consequences arising from the use of this software.

4. No Monetization This project is free and open-source. It is not monetized in any way, nor does it generate revenue from the content it accesses.

License

This project is licensed under the GNU General Public License v3.0 (GPLv3). This ensures the software remains free and open-source. Commercial distribution of this software as a closed-source product is strictly prohibited.

Contact

For any questions, please contact vijayaraj.devworks@gmail.com.

Release files for yit-player 3.0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for yit-player 3.0.4
File Size Uploaded
yit_player-3.0.4.tar.gz 27.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for yit-player 3.0.4
File Interpreter ABI Platform
yit_player-3.0.4-py3-none-any.whl Python 3 none any Details

Total release size: 55.8 kB

Release files / yit_player-3.0.4.tar.gz

Download URL yit_player-3.0.4.tar.gz
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
6a0650207eff3883cd2fadc287deaaa0c91c1c53d8e86151bafcc2b6ef7ba4ff
BLAKE2b-256 checksum
How to use checksums
32239b17691f8cd6b02e374b56416dd6ab07e702d58f2a0cc3d3ccc7a85c609b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 27, 2026.

Transparency log

Release files / yit_player-3.0.4-py3-none-any.whl

Download URL yit_player-3.0.4-py3-none-any.whl
Size 28.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
11dc1b6b599aa47366134437afd0beb18d5b83484159fce9d5d728bed0d43a3f
BLAKE2b-256 checksum
How to use checksums
6768e307a29f0abe1b5b118178526d16c8418df647876647eb180e5f1d805171
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 27, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

3.0.4 This release

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

2.0.5

2 release files

2.0.4

2 release files

2.0.3

2 release files

2.0.2

2 release files

2.0.1

2 release files

0.1.10

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.4

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release 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