Skip to main content

Bad Apple!! Terminal Player 🍎

PyPI version Python Version License: MIT

Flicker-free, audio-synced Bad Apple!! player for your terminal.

Features

  • 3 Rendering Modes:
    • ascii (Default): Classic nostalgic ASCII shading ( .:-=+*#%@).
    • braille: Ultra high-resolution rendering using Unicode Braille (2x4 matrix) characters.
    • halfblock: 2x vertical resolution using half-block characters (▀, ▄) for crystal-clear silhouettes.
  • Zero-Setup & Auto-Provisioning: Clones and runs immediately! Automatically installs missing dependencies (opencv-python-headless, colorama, pygame) and downloads video/audio assets with MD5 checksum verification.
  • Cross-Platform Audio Engine: Backed by pygame.mixer for distortion-free pause/resume and zero-latency seeking, with fallback to native OS drivers on Windows (winmm.dll MCI), macOS (afplay), and Linux (ffplay/mpv/aplay).
  • Flicker-Free & Ghost-Free Rendering: Employs Alternate Screen Buffer (\033[?1049h), scrollback buffer purging, and dynamic resizing for a pristine, clean display at 30 FPS.
  • Dynamic Sizing & Visual Scrubber: Automatically senses terminal dimensions, preserves the 4:3 aspect ratio, centers output, and displays an interactive progress bar.

Controls

Key Action
Space Pause / Resume
M Cycle render modes (ascii → braille → halfblock)
Right Arrow (→) Seek forward 5 seconds
Left Arrow (←) Seek backward 5 seconds
R Restart playback
Q / Esc Quit

Installation & Quick Start

pip install bad-apple-in-terminal

Run it directly from anywhere in your terminal:

bad-apple
# or
badapple

Option 2: Run from Source (Zero-Setup)

Just clone and run! Required dependencies and media files are automatically prepared on first launch:

git clone https://github.com/Ohualtex/bad-apple.git
cd bad-apple
python main.py

Options & Flags

# Start with a specific render mode (ascii, braille, halfblock)
bad-apple --mode braille

# Disable audio
bad-apple --no-audio

# Set specific terminal width/height
bad-apple --width 100 --height 35

macOS Tips

  • Gapless Half-Block Display:
    The default macOS Terminal.app adds vertical font leading (line spacing) between lines. To achieve a seamless, OLED-smooth display:
    1. Open Terminal → Settings (Cmd + ,) → Profiles → Text.
    2. Click Change... under Font.
    3. Expand the font window downward if needed, and set the Line Spacing slider to 0.80.
    4. Alternatively, press M to switch to Braille mode (which is naturally immune to line spacing), or use modern terminals like iTerm2, Ghostty, or Kitty.

Metadata

Release files for bad-apple-in-terminal 1.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bad-apple-in-terminal 1.0.1
File Size Uploaded
bad_apple_in_terminal-1.0.1.tar.gz 18.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bad-apple-in-terminal 1.0.1
File Interpreter ABI Platform
bad_apple_in_terminal-1.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 40.8 kB

Release files / bad_apple_in_terminal-1.0.1.tar.gz

Download URL bad_apple_in_terminal-1.0.1.tar.gz
Size 18.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ad8b481befd08bcbd6fc90843b0dd205c584049480e5ba71767743e6dfe16a0c
BLAKE2b-256 checksum
How to use checksums
8582c1378ff018be1e9451994e4a55db727972cf8d1361bd1c6d6edc52716f07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / bad_apple_in_terminal-1.0.1-py3-none-any.whl

Download URL bad_apple_in_terminal-1.0.1-py3-none-any.whl
Size 22.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
03a7b80eb3417805a313272162b691c699633cc75cfc8860cf7c20914e576b3e
BLAKE2b-256 checksum
How to use checksums
84e1b3e1dafdeaea6be78fc64943223c2aa6d0962acb678503c85d6fb69f9665
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

This release

1.0.1 This release

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page