Streamfabric, A lightweight python based UI for the youtube API to stream music and videos Localhosted with your OWN API key
Find a file
2026-06-05 00:53:22 +00:00
README.md Update README.md 2026-06-05 00:53:22 +00:00
Streamfabric.py Add Streamfabric.py 2026-06-05 00:50:51 +00:00

streamfabric : unixfabric.com

streamfabric is a lightweight local desktop music queue app built with Python, pywebview, and the YouTube Data API.

It runs locally on your computer, searches YouTube, lets you build a queue, and plays tracks inside the application window using the YouTube IFrame Player.

Features

  • Search YouTube from inside the app
  • Add search results to a local queue
  • Bulk add songs, one query per line
  • Play, pause, next, and restart controls
  • Seekable progress bar
  • Left-side vertical volume control
  • Standalone mute control
  • Expandable video viewer
  • Local queue saving with queue.json
  • Local settings saving with settings.json
  • UnixFabric-inspired dark color scheme
  • Optional favicon branding
  • Source Code Pro / Nerd Font style font stack

Requirements

  • Python 3.10 or newer
  • pip
  • Microsoft Edge WebView2 Runtime
  • YouTube Data API key
  • Python packages:
    • pywebview
    • requests

Optional:

  • assets/favicon.png
  • Source Code Pro or SauceCodePro Nerd Font

Folder Layout

streaming app/
├── stream.py
├── assets/
│   └── favicon.png
├── queue.json
└── settings.json

queue.json and settings.json do not need to exist before first launch. The app creates them when needed.

Installation

Open PowerShell in the project folder:

cd "$env:USERPROFILE\Desktop\streaming app"

Install the required Python packages:

pip install pywebview requests

API Key Setup

Open stream.py and find this line near the top:

API_KEY = "PASTE_YOUR_YOUTUBE_API_KEY_HERE"

Replace the placeholder with your YouTube Data API key:

API_KEY = "YOUR_ACTUAL_API_KEY"

Do not share this key publicly.

Running the App

From the project folder, run:

python .\Streamfabric.py

How to Use

Search for one song using the search bar, then click Add beside a result to add it to the queue.

To bulk add songs, paste multiple song names into the bulk box, one per line:

Nas The World Is Yours
Deftones Sextape
Radiohead Weird Fishes
Kendrick Lamar Count Me Out
Flume Bon Iver

Then click Bulk Add Top Results.

The app will search each line, take the top YouTube result, and add it to the queue.

Controls

  • Play starts the selected/current queue item
  • Pause pauses playback
  • Next moves to the next queued item
  • Start Over restarts the current track
  • Remove Current removes the currently selected track
  • Progress bar can be dragged to seek through the current video
  • Vertical volume bar controls playback volume
  • Mute toggles mute independently from the volume level
  • Expand enlarges the video viewer

Notes

Some YouTube results may show as unavailable. This can happen when a video is private, region restricted, deleted, or blocks embedded playback.

The app uses YouTube search metadata and embedded playback. It does not download or extract audio files.

Troubleshooting

If search does not work, click Check API Key inside the app.

If the app says no API key is loaded, make sure the key is placed in the API_KEY variable near the top of stream.py.

If the app window opens but playback does not work, make sure Microsoft Edge WebView2 Runtime is installed.

If the font does not look like Source Code Pro, install Source Code Pro or SauceCodePro Nerd Font on Windows.

Project Status

This is a local-first desktop app prototype for building and playing a YouTube-based music queue without hosting a public web service.