v2.1.0 — Rich TUI + watch history + episode ranges + player controls
What's new
Brings back the best features from v1.x, merged with v2.0's clean backend (AniList search + minimal mpv + proxy fallback).
1. Watch history
- Tracks what you've watched (
~/.config/sni/history.json) - Resume prompt: "Resume from episode X?" when re-watching
sni historycommand shows continue-watching list
2. Episode ranges
sni play "one piece" -e 1-12 # play episodes 1 through 12
sni play "one piece" -e 5 # start from episode 53. MPV IPC controls (restored)
- Player overlay with n=next, p=prev, r=replay, q=quit
- Uses
--input-ipc-serverfor mpv communication
4. Rich Textual TUI (full rewrite)
- SearchScreen: search bar + results list with scores/episode counts
- EpisodeScreen: episode list + input for ranges
- PlayerOverlay: modal with playback controls
- Header + Footer with keybindings
- CSS styling (borders, colors, padding)
- Falls back to interactive CLI if Textual not installed
5. Config wizard
sni config --interactive # interactive setup6. Better CLI display
- Rich tables for search results and history
- Episode count + score in search results
- fzf integration with fallback to numbered selection
Backend (unchanged from v2.0 — all the fixes that work)
- AniList for search (no captcha, 100% reliable)
- AllAnime for streams (with proxy.cors.sh + CF Worker fallback)
- Minimal mpv (no demuxer flags that caused fatal errors)
- Clean error messages (no raw tracebacks)
Install
pip install --upgrade sni-cli
sni "one piece" # search and play
sni tui # rich terminal UI
sni play "X" -e 1-12 # play episode range
sni history # show watch historyVerified
ruff check sni/→ All checks passedpytest -q→ 6 passed (0.82s)python -m build→ sdist + wheel both passtwine check
Full changelog: v2.0.0...v2.1.0