Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

phuker_music-1.3.0.tar.gz (95.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

phuker_music-1.3.0-py3-none-any.whl (94.6 kB view details)

Uploaded Python 3

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

Hashes for phuker_music-1.3.0.tar.gz
Algorithm Hash digest
SHA256 7e16872cd3f83b9984dce7fcd8565ead9905f854b9266d5f6169e625f31db4c3
MD5 9d3449ddf9ab6b16efb531c7aca52a80
BLAKE2b-256 ef0050730dbc237f597a17f18da6b0f9ff2fd6d523ac45eef205cece1b6968b8

See more details on using hashes here.

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

Hashes for phuker_music-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a0a47fc3735f53000fff5aedf15427d3ef1787fa72c73cd5da8fa914380e1a0
MD5 e6cbfa7fa1ab4fb719ff0825c2bcbde3
BLAKE2b-256 6dabdb7954635135a4fc0c945186676fe947a0c3c49e716c337e23e4aadd79ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page