Skip to main content

Bad Apple!! Terminal Player 🍎

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

Features

  • 3 Rendering Modes:
    • halfblock (Default): 2x vertical resolution using half-block characters (▀, ▄) for crystal-clear silhouettes.
    • braille: Ultra high-resolution rendering using Unicode Braille (2x4 matrix) characters.
    • ascii: Classic nostalgic ASCII shading ( .:-=+*#%@).
  • 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 (halfblock → ascii → braille)
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 (halfblock, ascii, braille)
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.0

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.0
File Size Uploaded
bad_apple_in_terminal-1.0.0.tar.gz 17.9 kB Details

Built distribution (wheel)

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

Total release size: 38.8 kB

Release files / bad_apple_in_terminal-1.0.0.tar.gz

Download URL bad_apple_in_terminal-1.0.0.tar.gz
Size 17.9 kB
Tags Source
SHA-256 checksum
How to use checksums
840418c14a0245e0742d178ab07b347d0af00c50135a7b12dbefd440c5fe40c5
BLAKE2b-256 checksum
How to use checksums
3b9cc4d1c90316bfc20bf823c0bcf15b2595cf7f8afeb6a69166f3de479605da
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.0-py3-none-any.whl

Download URL bad_apple_in_terminal-1.0.0-py3-none-any.whl
Size 21.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c5e1a2d4333b56132a17c8d5b163e5d54b15cba1fee111c065f44b8e9258d710
BLAKE2b-256 checksum
How to use checksums
36d99ef8cc6ff212abf080b5c13a44d6114ff45061316ee76c6e9c00d52bcd3c
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

1.0.1

2 release files

This release

1.0.0 This release

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