YogiLiu / podmaker

Convert online media into podcast feeds.

Home Page:https://pypi.org/project/podmaker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Podmaker

Read this document in other languages: English, 简体中文

Convert online media into podcast feeds.

PyPI - Version PyPI - Status PyPI - Python Version PyPI - Implementation PyPI - License

Features

  • Extract audio from online videos.
  • No need to deploy web services.
  • Generate podcast feeds.
  • Deploy with watch mode to keep feeds up-to-date.

Dependencies

This tool uses ffmpeg to extract audio from videos. Ensure it's installed within $PATH before using this tool.

Additionally, you should install extra dependencies according to your requirements:

  • podmaker[all]: Install all extra dependencies.
  • podmaker[s3]: Install dependencies for S3 storage.
  • podmaker[youtube]: Install dependencies for YouTube.

Install multiple extra dependencies simultaneously using podmaker[extra1,extra2,...].

Configuration

Before diving into this tool, craft a configuration file, a TOML file to be precise. By default, the file resides at ${WORK_DIR}/config.toml. Customize the path using the -c or --config option. An example configuration file can be found at config.example.toml.

Usage

Systemd

Deploy this tool in the background with systemd (requires root privileges):

# create virtual environment
apt install python3 python3-venv
mkdir -p /opt/podmaker && cd /opt/podmaker
python3 -m venv venv

# install podmaker
./venv/bin/pip install "podmaker[all]"

# create and edit config file
curl -o config.toml https://raw.githubusercontent.com/YogiLiu/podmaker/main/config.example.toml
vim config.toml

# create systemd service
curl -o /etc/systemd/system/podmaker.service https://raw.githubusercontent.com/YogiLiu/podmaker/main/systemd/podmaker.service
systemctl daemon-reload

# enable and start service
systemctl enable podmaker
systemctl start podmaker

Manual

Using pip

For the optimal experience, we recommend installing this tool within a virtual environment.

pip install "podmaker[all]"

Using pipx

pipx install "podmaker[all]"

Run

podmaker -c path/to/config.toml

or

python -m podmaker -c path/to/config.toml

Roadmap

Platforms

  • YouTube
    • Playlist
    • Channel
  • BiliBili

Resource Hosting

  • S3
  • Local

Contributing

Your contributions are invaluable. Feel free to submit pull requests. Before committing, ensure your changes pass unit tests and autohooks.

To activate autohooks, use the following command:

poetry run autohooks activate --mode poetry

This process will automatically lint, format, and sort code imports.

When introducing new features, remember to provide corresponding tests.

License

For licensing details, refer to LICENSE.

About

Convert online media into podcast feeds.

https://pypi.org/project/podmaker

License:The Unlicense


Languages

Language:Python 100.0%