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
Singularity Containers on Apple M1 (ARM64)

Singularity Containers on Apple M1 (ARM64) This is a repository containing a ready-to-use environment for singularity in arm64 (M1). It has been prepa

Manuel Parra 4 Nov 14, 2022
This repo holds custom callback plugin, so your Ansible could write everything in the PostgreSQL database.

English What is it? This is callback plugin that dumps most of the Ansible internal state to the external PostgreSQL database. What is this for? If yo

Sergey Pechenko 19 Oct 21, 2022
A python script providing an idea of how a MindSphere application, e.g., a dashboard, can be displayed around the clock without the need of manual re-authentication on enforced session expiration

A python script providing an idea of how a MindSphere application, e.g., a dashboard, can be displayed around the clock without the need of manual re-authentication on enforced session expiration

MindSphere 3 Jun 03, 2022
Comprehensive OpenAPI schema generator for Django based on pydantic

🗡️ Djagger Automated OpenAPI documentation generator for Django. Djagger helps you generate a complete and comprehensive API documentation of your Dj

13 Nov 26, 2022
Скрипт позволяет заводить задачи в Панель мониторинга YouTrack на основе парсинга сайта safe-surf.ru

Скрипт позволяет заводить задачи в Панель мониторинга YouTrack на основе парсинга сайта safe-surf.ru

Bad_karma 3 Feb 12, 2022
Web App for University Project

University Project About I made this web app to finish a project assigned by my teacher. It is written entirely in Python, thanks to streamlit to make

15 Nov 27, 2022
This is an implementation of NeuronJ work with python.

NeuronJ This is an implementation of NeuronJ work with python. NeuronJ is a plug-in for ImageJ that allows you to create and edit neurons masks. Image

Mohammad Mahdi Samei 3 Aug 28, 2022
Code repository for the Pytheas submersible observation platform

Pytheas Main repository for the Pytheas submersible probe system. List of Acronyms/Terms USP - Underwater Sensor Platform - The primary platform in th

UltraChip 2 Nov 19, 2022
Python Freecell Solver

freecell Python Freecell Solver Very early version right now. You can pick a board by changing the file path in freecell.py If you want to play a game

Ben Kaufman 1 Nov 26, 2021
Binary++ is an esoteric programming language based on* binary

Binary++ is an esoteric programming language based on* binary. * It's meant to be based on binary, but you can write Binary++ code using different mea

Supercolbat 3 Feb 18, 2022
RCCで開催する『バックエンド勉強会』の資料

RCC バックエンド勉強会 開発環境 Python 3.9 Pipenv 使い方 1. インストール pipenv install 2. アプリケーションを起動 pipenv run start 本コマンドを実行するとlocalhost:8000へアクセスできるようになります。 3. テストを実行

Averak 7 Nov 14, 2021
Blender addon for executing the operator in response to the received OSC message.

I/F Joiner 受信したOSCメッセージに応じてオペレータ(bpy.ops)を実行するアドオンです. OSC通信に対応したコントローラやアプリをインストールしたスマートフォンを使用してBlenderを操作することが可能になります. 同時開発しているAndroidコントローラ化アプリMocopa

simasimataiyo 6 Oct 02, 2022
Python bindings for the Plex API.

Python-PlexAPI Overview Unofficial Python bindings for the Plex API. Our goal is to match all capabilities of the official Plex Web Client. A few of t

Michael Shepanski 931 Jan 07, 2023
Яндекс тренировки по алгоритмам. Июнь 2021

Young&&Yandex Тренировки по алгоритмам Если вы хотите попасть на летнюю стажировку в Яндекс, но пока не уверены в своих силах, приходите на наши трени

Podlevskiy Viktor 6 Sep 03, 2021
APC Power Usage is an application which shows power consuption overtime for UPS units manufactured by APC.

APC Power Usage Introduction APC Power Usage is an application which shows power consuption overtime for UPS units manufactured by APC. Screenshoots G

Stefan Kondinski 3 Oct 08, 2021
GA SEI Unit 4 project backend for Bloom.

Grow Your OpportunitiesTM Background Watch the Bloom Intro Video At Bloom, we believe every job seeker deserves an opportunity to find meaningful work

Jonathan Herman 3 Sep 20, 2021
A collection of tips for using MISP.

MISP Tip of the Week A collection of tips for using MISP. Published via BelgoMISP (todo) and this repository. Available in MD and JSON. Do you want to

Koen Van Impe 52 Jan 07, 2023
A python tool that creates issues in your repos based on TODO comments in your code

Krypto A neat little sidekick python script to create issues on your repo based on comments left in the code on your behalf Convert todo comments in y

Alex Antoniou 4 Oct 26, 2021
A simple service that allows you to run commands on the server using text

Server Text A simple flask service that allows you to run commands on the server/computer over sms. Think of it as a shell where you run commands over

MT Devs 49 Nov 09, 2021
Some basic sorting algos

Sorting-Algos Some basic sorting algos HacktoberFest 2021 This repository consists of mezzo-level projects that undertake a simple task and perform it

Manthan Ghasadiya 7 Dec 13, 2022