Skip to main content

castero

GitHub release PyPI GitHub Build Maintainability Test Coverage

castero is a TUI podcast client for the terminal.

example client screenshot

Installation

Install from PyPi with pip:

$ pip3 install castero

Upgrading:

$ pip3 install castero --upgrade

Manual Installation

$ git clone https://github.com/xgi/castero
$ cd castero
$ sudo python setup.py install

Dependencies

Running castero requires the following external dependencies:

  • Python >= 3.5 (check the output of python --version)
  • sqlite3
  • At least one of the following media players:
    • vlc >= 2.2.3
    • (mpv and libmpv) >= 0.14.0

Usage

After installing castero, it can be run with simply:

$ castero

The help menu provides a list of controls and can be accessed by pressing h. Alternatively, see the list below:

Commands
    h           - show this help screen
    q           - exit the client
    a           - add a feed
    d           - delete the selected feed
    r           - reload/refresh feeds
    s           - save episode for offline playback
    UP/DOWN     - navigate up/down in menus
    RIGHT/LEFT  - navigate right/left in menus
    PPAGE/NPAGE - scroll up/down in menus
    ENTER       - play selected feed/episode
    SPACE       - add selected feed/episode to queue
    c           - clear the queue
    n           - go to the next episode in the queue
    i           - invert the order of the menu
    /           - filter the contents of the menu
    m           - mark episode as played/unplayed
    p or k      - pause/play the current episode
    f or l      - seek forward
    b or j      - seek backward
    =/-         - increase/decrease volume
    ]/[         - increase/decrease playback speed
    u           - show episode URL
    1-5         - change between client layouts

Importing/exporting feeds from another client

castero supports importing and exporting an OPML file of your subscriptions in order to easily transfer them between other podcast clients. Please refer to your other client's documentation for details on how/if it supports this format.

Importing and exporting from castero are available with command line flags. Run castero --help for details.

Configuration

The configuration file is located at {HOME}/.config/castero/castero.conf after the client has been run at least once.

Please see the default castero.conf for a list of available settings.

User data, including downloaded episodes and a database with your feed information, is located at {HOME}/.local/share/castero/. These files are not intended to be manually modified. Removing the database will simply cause castero to replace it with an empty one the next time you run the client.

Testing

This project uses pytest for testing. To run tests, run the following command in the project's root directory:

$ python -m pytest tests

You can also run tests for an individual unit, i.e.:

$ python -m pytest tests/test_feed.py

License

MIT License

Release files for castero 0.9.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for castero 0.9.5
File Size Uploaded
castero-0.9.5.tar.gz 48.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for castero 0.9.5
File Interpreter ABI Platform
castero-0.9.5-py3-none-any.whl Python 3 none any Details

Total release size: 114.5 kB

Release files / castero-0.9.5.tar.gz

Download URL castero-0.9.5.tar.gz
Size 48.1 kB
Tags Source
SHA-256 checksum
How to use checksums
be754dd98a5b0e85a129b9e4258dc0b4f22cc976f2da66f15e9ba7d8a509cc09
BLAKE2b-256 checksum
How to use checksums
1f70460a81b7e737d2ab8bd9edbc1c28df6a6061f335db0c29b18151023dc648
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release files / castero-0.9.5-py3-none-any.whl

Download URL castero-0.9.5-py3-none-any.whl
Size 66.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e753d897839f9fe3f99b5759077978ecc9262fc1906a51d1c1c0857350a13eef
BLAKE2b-256 checksum
How to use checksums
9f7572e79d87941f609c8e2856d30d3fac64a562586ed246f17921b4c7c74828
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.4.2 requests/2.24.0 setuptools/45.2.0 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.9.5 This release

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.5

2 release files

0.5.4

3 release files

0.5.3

3 release files

0.5.0

3 release files

0.4.2

3 release files

0.4.1

3 release files

0.4.0

4 release files

0.3.1

3 release files

0.3.0

2 release files

0.2.6

3 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.3

2 release files

0.1.2

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