# swingmx/swingmusic

Swing Music is a beautiful, self-hosted music player for your local audio files. Like a cooler Spotify ... but bring your own music.

Repository: https://github.com/swingmx/swingmusic
Canonical: https://ross.abutalabs.com/products/swingmusic
Homepage: https://swingmx.com
Language: Python
License: AGPL-3.0
License Family: copyleft
Topics: music, python, music-server, self-hosted
Last push: 2026-08-16T08:17:56+00:00

## Health v2 (maintenance only)
Score: 95/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 98, release rhythm 88, longevity 100
- inputs: {"age_days": 1753, "days_push": 17, "days_rel": 83, "gap_med": 18.5, "n_releases_24m": 15}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2048, forks 131 (observed 2026-08-28T04:06:09.001900+00:00)

## What it is
Swing Music is a self-hosted music streaming server and web-based player for your local audio files, written in Python. It provides a modern browser UI with features like daily mixes, metadata normalization, folder browsing, listening statistics, Last.fm scrobbling, and multi-user support, plus an Android client.

## Use cases
- stream my local mp3 collection from my own server
- self-hosted spotify alternative for my own music files
- music server with a beautiful web ui
- play my home music library on android and browser
- track my listening stats and scrobble to last.fm
- browse my music library by folders and albums
- docker music streaming server for home media

## When to choose
- you have your own audio files and want a fast, polished self-hosted streaming server
- you want daily mixes, recommendations, and listening statistics from your local library
- you want Docker or one-line install deployment with multi-user support
- you need folder-based browsing and duplicate track handling

## When to avoid
- you want to stream from third-party services like Spotify or Apple Music
- you need a fully native desktop player rather than a browser-based one
- you need transcoding for a wide range of formats or Subsonic API compatibility
- you need macOS support today (listed as coming soon)

## Facets
- artifact type: application
- maturity: active
- function: http-server, search-engine, data-visualization, self-hosted
- domain: media, self-hosted, web-development
- platform: windows, self-hosted, cross-platform
- tags: music-player, music-streaming-server, audio-streaming, lastfm-scrobbling, media-server, spotify-alternative, audio, linux, docker, web-server, android

## Member repositories
- swingmx/swingmusic (main) score 95

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:06:09.001900+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:57:57.604714+00:00, confidence not recorded.
  - readme: https://github.com/swingmx/swingmusic (fetched 2026-08-28T04:06:09.001900+00:00, sha c06f85b7bbfe)
  - homepage: https://swingmx.com (fetched 2026-08-29T10:38:14.373111+00:00, sha 9ce2c8d412d8)
  - site_page: https://swingmx.com/guide/introduction.html (fetched 2026-08-29T10:38:14.384871+00:00, sha 185cefe1584e)
  - site_page: https://swingmx.com/guide/introduction (fetched 2026-08-29T10:38:14.386669+00:00, sha 70970e7cc3a1)
  - registry_pypi: https://pypi.org/pypi/swingmusic/json (fetched 2026-08-29T10:38:14.388282+00:00, sha 2230b1c3d32a)
  - site_page: https://swingmx.com/pricing.html (fetched 2026-08-29T10:38:14.382790+00:00, sha c7f4c2160b91)
- Data as of 2026-08-30T08:39:29.467469+00:00.
