Another podcast app?! Yeah, I sometimes just want a podcast app that's barebones in both its feature-set and in storage use (that means streaming only, no downloading of MP3 files... for now).
Podzol is written in Python and uses JSON as a 'medium of storage' rather than a database (e.g. SQLite). The CLI client uses pygame for audio playback functionality, and uses a class written by sloth (sic) to handle audio streaming.
To build and run Podzol locally, follow these steps:
- Clone the repository and run
pip install -r requirements.txtto install all dependencies. - Run
python src/PodzolShell.pyorsh podzol.shor./podzol.
Podzol is navigable through a rudimentary CLI interface. This requires you to use the commands listed below. The selection of a podcast or episode requires you to use flags (-f [number] for the podcast; -e [number] for the episode). You can refer to the numbers needed to select a podcast or episode using the list.
help: Shows a list of commandssearch [keywords]: Search for podcasts or episodes (doesn't do much at the moment... to be fixed)list -f: List all podcastslist -f [key1]: List all episodes of a podcastlist -f [key1] -e [key2]: Display info about a specific episodeplay -f [key1] -e [key2]: Play a podcast episodedelete -f [key1]: Remove a podcast from your libraryreload: Reload the data from the JSON indexesexit: Exit Podzol
- Playback doesn't start until after the entire MP3 is cached.
- Sometimes the audio plays at a deafening loud high-speed.
- Sometimes the audio plays in extreme slow motion.
- Podzol will store its JSON files in ~/.local/share/ in Linux and macOS.
- Explore Ncurses to replace the shell-like interface (akin to Castero).
- Use backend for more sophisticated frontend clients like GNOME/GTK or even a SwiftUI Mac app.