Skip to content
v0.1.0 — Open Source

py-playerWeb Component Media Player

Zero dependencies. Audio + Video. 7 layouts. Full theming.
Drop one <script> tag and you're done.

<script src="https://unpkg.com/py-player/dist/py-player.min.js"></script>
index.html

Everything you need.
Nothing you don't.

Built for developers who want a media player that works out of the box but is fully customizable when needed.

3 Web Components

<py-audio> for music and podcasts, <py-video> for video content, and <py-player> that auto-detects the media type. Drop-in HTML elements that work anywhere.

Zero Dependencies

Pure TypeScript. No frameworks, no build step. Works with a single <script> tag.

Audio Visualization

Real-time frequency analysis with 7 visualization styles: bars, wave, mirror, circle, dots, line, and blob.

7 Layout Presets

Normal, Minimal, Album Art, Compact, Podcast, Visualizer, and Playlist-first. One attribute to switch.

Playlist & Chapters

Single-file chapter markers, multi-file playlists with per-track chapters, and M3U/M3U8 support.

i18n Ready

Override any UI string via HTML attribute or JavaScript API. Full localization control with zero config.

Full Theming

7 built-in color themes (auto, light, dark, midnight, nord, sunset, forest), CSS variable overrides, and CSS Parts for deep customization through Shadow DOM. Match any design system.

Simple by default.
Powerful when needed.

Start with one line of HTML. Customize everything through attributes, CSS variables, and JavaScript API.

<py-audio
  src="https://example.com/podcast.mp3"
  title="My Podcast"
></py-audio>

7 themes.
Infinite possibilities.

Built-in themes that adapt to your design. Override anything with CSS variables and parts.

<py-audio src="song.mp3" theme="auto"></py-audio>

Audio & Video.
One library.

Full video controls with fullscreen, Picture-in-Picture, volume slider, and playback speed (0.5x–2x).

Fullscreen
Picture-in-Picture
Volume Control
Speed 0.5x–2x

Ready to play?

Add a media player to your site in under 30 seconds.

MIT License — Built with TypeScript