Subscribe, listen and (in the future) download your favorite podcasts, quickly and easily.

Overview

Minimal Podcasts Player

https://github.com/son-link/minimal-podcasts-player

Minimal Podcasts Player screenshoot

Subscribe, listen and (in the future) download your favorite podcasts, quickly and easily.

Available for Linux, Windows and Mac.

Licensed under GNU/GPL3 or higher.

Note: this project is still under development, so some features are not yet available or complete.

Install

From source code:

  • Clone the repo, download the zip under Code -> Download ZIP or download the last release.

  • Open a terminal and go to the project folder.

  • Install the dependencies:

    • From PIP (with administration permissions): pip install -r requirements.txt

    • Debian/Ubuntu/Mint/MX Linux:

      • apt: apt install python3-pyqt5, python3-pyqt5.qtmultimedia, libqt5multimedia5, libqt5multimedia5-plugins
      • Pypi: pip3 install podcastparser
    • Arch Linux/Manjaro:

      • pacman: python-pip python-podcastparser python-pyqt5 qt5-multimedia
      • Pypi pip install
    • Copy bin/minimal-podcasts-player.desktop to /usr/share/applications

    • Copy bin/minimal-podcasts-player.svg to /usr/share/pixmaps

    • Windows:

      • Install Python, or Conda/Miniconda.
      • Open a terminal (cmd or Poweshell) and execute pip install -r requirements.txt

    Note: if you use Conda/Miniconda, DON'T install the package pyqt from conda and conda-forge repositories, install it from Pypi, since the one installed from them does not include the libraries for multimedia playback.

From Pypi:

pip install minimal-podcasts-player

Executables:

You can download a AppImage for GNU/Linux and executable for Windows on releases page

If you use Arch Linux, Manjaro or other Arch based distros a package is avaliable on AUR

Other credits:

Especial mentions:

  • Engels Tercero from the Telegram group SystemInside, for helping me package the Mac OS X application.
  • Thanks to David Linares, member of SystemInside's Telegram group for report the bug and provide several ideas.
Comments
  • Cannot subscribe to rss feed, cannot launch anymore

    Cannot subscribe to rss feed, cannot launch anymore

    Hello @son-link, I am looking for a small Podcast player for use with helloSystem.

    When trying to subscribe to https://feeds.fireside.fm/bsdnow/rss, I get a crash:

    % /var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/minimal-podcasts-player      
    error: XDG_RUNTIME_DIR not set in the environment.
    error: XDG_RUNTIME_DIR not set in the environment.
    error: XDG_RUNTIME_DIR not set in the environment.
    error: XDG_RUNTIME_DIR not set in the environment.
    QKqueueFileSystemWatcherEngine::addPaths: open: No such file or directory
    Traceback (most recent call last):
      File "/var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/mpp/db.py", line 38, in run
        data = parseFeed(self.url)
      File "/var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/mpp/utils.py", line 12, in parseFeed
        with urlopen(url) as response:
      File "/usr/local/lib/python3.7/urllib/request.py", line 222, in urlopen
        return opener.open(url, data, timeout)
      File "/usr/local/lib/python3.7/urllib/request.py", line 531, in open
        response = meth(req, response)
      File "/usr/local/lib/python3.7/urllib/request.py", line 641, in http_response
        'http', request, response, code, msg, hdrs)
      File "/usr/local/lib/python3.7/urllib/request.py", line 569, in error
        return self._call_chain(*args)
      File "/usr/local/lib/python3.7/urllib/request.py", line 503, in _call_chain
        result = func(*args)
      File "/usr/local/lib/python3.7/urllib/request.py", line 649, in http_error_default
        raise HTTPError(req.full_url, code, msg, hdrs, fp)
    urllib.error.HTTPError: HTTP Error 403: Forbidden
    zsh: abort   
    

    When I then try to run the application again, it does not even start anymore:

    % /var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/minimal-podcasts-player
    Traceback (most recent call last):
      File "/var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/minimal-podcasts-player", line 3, in <module>
        mpp.init()
      File "/var/run/user/1001/_home_user_Desktop_minimal-podcasts-player-master.zip/minimal-podcasts-player-master/mpp/__init__.py", line 324, in init
        if config['theme'] != 'system':
    KeyError: 'theme'
    

    At this point, I have to delete ~/.local/share/mpp/ to be able to launch the application again.

    bug 
    opened by probonopd 12
  • Default to system theme

    Default to system theme

    Please default to system theme theme = system and make the "System" selectable in the configuration window.

    Most users want applications to look "native", and to follow the look and feel of the rest of the system (buttons, fonts, colors, etc.). In my example:

    enhancement Testing 
    opened by probonopd 9
  • Search podcasts

    Search podcasts

    Please add a way to search podcasts, e.g., on iTunes.

    Perhaps these are useful?

    • https://github.com/nalgeon/podsearch-py
    • https://github.com/tkem/mopidy-podcast
    Working on it Testing 
    opened by probonopd 5
  • appimage on kubuntu 21.04

    appimage on kubuntu 21.04

    It worked to start it the first time then it crashed and now it gives me this output.... Just get that search function going and make a new release ... then this software is right there ... beautiful little thing this is

    ./Minimal_Podcasts_Player-0.2.0-x86_64.AppImage Traceback (most recent call last): File "/tmp/.mount_Minima4JgQk6/usr/bin/minimal-podcasts-player", line 3, in mpp.init() File "/tmp/.mount_Minima4JgQk6/usr/conda/lib/python3.8/site-packages/mpp/init.py", line 333, in init if config['theme'] != 'system': KeyError: 'theme'

    duplicate 
    opened by datamaskinen 2
  • sqlite3.OperationalError: near

    sqlite3.OperationalError: near "t": syntax error

    Nice project!

    I managed to add one of my podcasts but could not add all of them. For example, when adding podcast https://www.spreaker.com/show/5634537/episodes/feed this exception occurred:

    Traceback (most recent call last):
      File "minimal-podcasts-player/mpp/db.py", line 52, in run
        lastid, episodes = insertPodcast(self.url, data)
      File "minimal-podcasts-player/mpp/db.py", line 564, in insertPodcast
        )
    sqlite3.OperationalError: near "t": syntax error
    
    opened by joergmlpts 1
  • Remove stylesheets

    Remove stylesheets

    Fixes https://github.com/son-link/minimal-podcasts-player/issues/3#issuecomment-802148841 and makes the application look native like all other Qt based applications in the system

    opened by probonopd 1
  • fix for UI issues, issue #17

    fix for UI issues, issue #17

    These changes fix the two UI issues:

    • sysExit() is called when Disable confirm close dialogue is on.
    • While the podcasts are updated, the Update menu entry is disabled. This prevents multiple concurrent updates.
    opened by joergmlpts 0
  • two UI issues

    two UI issues

    • When Disable confirm close dialogue is on, the tool does not quit anymore. It closes the main window but continues running; it does not exit.
    • When I updated my podcasts the same new podcast was added twice to the database and to the UI. The happend when I clicked Update while an update was still in progress.
    opened by joergmlpts 0
  • Appimage crash when I change download's folder

    Appimage crash when I change download's folder

    I tried Appimage in linux. In the setting I try to change the default download folder to /home/XXX/Música/Podcast/ and I click OK, then app crash.

    Note that the "Música" folder has an accent character.

    Crash message:

    Traceback (most recent call last):
      File "/tmp/.mount_MinimaogaD0R/usr/conda/lib/python3.9/site-packages/mpp/conf.py", line 87, in saveConf
        parser.set('mpp', 'rename_download', rename_download)
    UnboundLocalError: local variable 'rename_download' referenced before assignment
    /tmp/.mount_MinimaogaD0R/AppRun: línea 7:  9551 Abortado                "$this_dir"/usr/bin/python "$this_dir"/usr/bin/minimal-podcasts-player "$@"
    

    My system: Operating System: KDE neon 5.22 KDE Plasma Version: 5.22.4 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.3 Kernel Version: 5.8.0-63-generic (64-bit) Graphics Platform: X11

    Working on it 
    opened by franciscot 0
Releases(continuous)
Owner
Alfonso Saavedra "Son Link"
Alfonso Saavedra
Modify version of impacket wmiexec.py, get output(data,response) from registry, don't need SMB connection, also bypassing antivirus-software in lateral movement like WMIHACKER.

wmiexec-RegOut Modify version of impacket wmiexec.py,wmipersist.py. Got output(data,response) from registry, don't need SMB connection, but I'm in the

小离 228 Jan 04, 2023
A Microsoft reward automator, designed to work headless on a raspberry pi

MsReward A Microsoft reward automator, designed to work headless on a raspberry pi. Tested with a pi 3b+ and a pi 4 2Gb . Using a discord bot to log e

10 Dec 21, 2022
Python Script to add OpenGapps, Magisk, libhoudini translation library and libndk translation library to waydroid !

Waydroid Extras Script Script to add gapps and other stuff to waydroid ! Installation/Usage "lzip" is required for this script to work, install it usi

Casu Al Snek 331 Jan 02, 2023
Hera is a Python framework for constructing and submitting Argo Workflows.

Hera is an Argo Workflows Python SDK. Hera aims to make workflow construction and submission easy and accessible to everyone! Hera abstracts away workflow setup details while still maintaining a cons

argoproj-labs 241 Jan 02, 2023
Stori QA Automation Challenge

Stori-QA-Automation-Challenge This is the repository is created for the Stori QA Intern Automation Engineer Challenge! In this you can find the Requir

Daniel Castañeda 0 Feb 20, 2022
Terrible sudoku solver with spaghetti code and performance issues

SudokuSolver Terrible sudoku solver with spaghetti code and performance issues - if it's unable to figure out next step it will stop working, it never

Kamil Bizoń 1 Dec 05, 2021
My solutions to Advent of Code 2021 (written in Python)

Advent of Code 2021 This repository contains my solutions for the 2021 edition of Advent of Code. Please do not expect perfectly polished solutions, m

Nils 2 May 29, 2022
NFT-Image-Generator - Utility to generate a large collection of unique images

NFT-Image-Generator Utility for creating a generative art collection from suppli

Sem Moolenschot 60 Dec 15, 2022
A basic python project which replicates the functionalities on an 8 Ball.

Magic-8-Ball To the people who wish to make decisions using a Magic 8 Ball but can't get one? I gotchu. This is a basic python project which replicate

3 Jun 24, 2021
SuperMario - Python programming class ending assignment SuperMario, using pygame

SuperMario - Python programming class ending assignment SuperMario, using pygame

mars 2 Jan 04, 2022
Apache Superset out of box version(Windows 64-bit)

superset_app Apache Superset out of box version (Windows 64bit) prepare job download 3 files python-3.8.10-embed-amd64.zip get-pip.py python_geohash‑0

Steven Lee 9 Oct 02, 2022
This library is an ongoing effort towards bringing the data exchanging ability between Java/Scala and Python

PyJava This library is an ongoing effort towards bringing the data exchanging ability between Java/Scala and Python

Byzer 6 Oct 17, 2022
Functional collections extension functions for Python

pyfuncol pyfuncol Installation Usage API Documentation Compatibility Contributing License A Python functional collections library. It extends collecti

Andrea Veneziano 32 Nov 16, 2022
This is a spamming selfbot that has custom spammed message and @everyone spam.

This is a spamming selfbot that has custom spammed message and @everyone spam.

astro1212 1 Jul 31, 2022
Qt-creator-boost-debugging-helper - Qt Creator Debugging Helper for Boost Library

Go to Tools Options Debugger Locals & Expressions. Paste the script path t

Dmitry Bravikov 2 Apr 22, 2022
This is a Python script to detect rapid upwards price changes (pumps) in a cryptocurrency pairing

A python script to detect a rapid upwards price brekout (pump) in a cryptocurrency pairing, through pandas and Binance API.

3 May 25, 2022
Homed - Light-weight, easily configurable, dockerized homepage

homed GitHub Repo Docker Hub homed is a light-weight customizable portal primari

Matt Walters 12 Dec 15, 2022
Простенький ботик для троллинга с интерфейсом #Yakima_Visus

Bot-Trolling-Vk Простенький ботик для троллинга с интерфейсом #Yakima_Visus Установка pip install vk_api pip install requests если там еще чото будет

Yakima Visus 4 Oct 11, 2022
HatAsm - a HatSploit native powerful assembler and disassembler that provides support for all common architectures

HatAsm - a HatSploit native powerful assembler and disassembler that provides support for all common architectures.

EntySec 8 Nov 09, 2022
A fluid medium for storing, relating, and surfacing thoughts.

Conceptarium A fluid medium for storing, relating, and surfacing thoughts. Read more... Instructions The conceptarium takes up about 1GB RAM when runn

115 Dec 19, 2022