Offline single-file HTML music player generator
Project description
phuker-music
Demo | GitHub | PyPI | Readme (English, 简体中文)
Yet another HTML music player generator. Scan a directory of audio files and generate an offline, all-in-one single HTML player file. Also generates player pages for multiple albums plus an index page via a JSON config.
You can try the demo to see what generated index page and players look like. Grant system notifications permission to display a notification when each track starts playing.
Features
- No loan ads or subscription popups
- No AI
- No tracking, analytics, statistics, or telemetry
- No user data uploads
- No extra assets — No JS/CSS dependencies, no web fonts, no CDN
- Only a fucking single HTML file
Quick Start
First, cd to a directory that contains audio files, then:
Run with uvx
uvx phuker-music player .
Run with pipx
pipx run phuker-music player .
Install with uv and run
uv tool install phuker-music
phuker-music player .
Install with pipx and run
pipx install phuker-music
phuker-music player .
Install with pip and run
pip install phuker-music
phuker-music player .
Usage
$ phuker-music --help
usage: phuker-music [-h] [-v] [-V] command ...
Music player HTML generator
positional arguments:
command
player Generate music player HTML for a single album
albums Generate player and index page for all albums
options:
-h, --help show this help message and exit
-v, --verbose Increase verbosity level
-V, --version Show version and exit
$ phuker-music player --help
usage: phuker-music player [-h] [-t title] [-c file] [-o filename] [-r] [--sort-type type] [-f] [-v] dir_path
Generate music player HTML for a single album
positional arguments:
dir_path Path to the album directory
options:
-h, --help show this help message and exit
-t, --title title Album title, default: directory name
-c, --cover file Album cover file path, relative to dir_path
-o, --output-filename filename Output filename, default: player.html
-r, --recursively Recursively scan subdirectories for audio files
--sort-type type Sort type, default: filename, choices: filename, mtime_desc
-f, --force Overwrite output file if it exists
-v, --verbose Increase verbosity level
$ phuker-music albums --help
usage: phuker-music albums [-h] [-f] [-v] config_file
Generate player and index page for all albums
positional arguments:
config_file Albums config file path
options:
-h, --help show this help message and exit
-f, --force Overwrite output file if it exists
-v, --verbose Increase verbosity level
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file phuker_music-1.3.0.tar.gz.
File metadata
- Download URL: phuker_music-1.3.0.tar.gz
- Upload date:
- Size: 95.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e16872cd3f83b9984dce7fcd8565ead9905f854b9266d5f6169e625f31db4c3
|
|
| MD5 |
9d3449ddf9ab6b16efb531c7aca52a80
|
|
| BLAKE2b-256 |
ef0050730dbc237f597a17f18da6b0f9ff2fd6d523ac45eef205cece1b6968b8
|
File details
Details for the file phuker_music-1.3.0-py3-none-any.whl.
File metadata
- Download URL: phuker_music-1.3.0-py3-none-any.whl
- Upload date:
- Size: 94.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a0a47fc3735f53000fff5aedf15427d3ef1787fa72c73cd5da8fa914380e1a0
|
|
| MD5 |
e6cbfa7fa1ab4fb719ff0825c2bcbde3
|
|
| BLAKE2b-256 |
6dabdb7954635135a4fc0c945186676fe947a0c3c49e716c337e23e4aadd79ee
|