Skip to main content

Convert online media into podcast feeds.

Project description

Podmaker

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

podmaker-0.9.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

podmaker-0.9.0-py3-none-any.whl (26.3 kB view details)

Uploaded Python 3

File details

Details for the file podmaker-0.9.0.tar.gz.

File metadata

  • Download URL: podmaker-0.9.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Linux/6.4.12-arch1-1

File hashes

Hashes for podmaker-0.9.0.tar.gz
Algorithm Hash digest
SHA256 1beec85e1f9b4a4d4c179559223cd491f4c1cfecd1714f4730e9c200e8f20cfa
MD5 e9788ba666d86560489fea819d2bfbe1
BLAKE2b-256 6aebb21b978a980857f9beb102ff00d163b449334cda863b5b43a7d71a2ac13b

See more details on using hashes here.

File details

Details for the file podmaker-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: podmaker-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 26.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.5 Linux/6.4.12-arch1-1

File hashes

Hashes for podmaker-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f4e3fc5f561114871169b7c756f85f311622379f7de6d3125e49db4ee65c913c
MD5 f3b002e28c733c150365e1090684b819
BLAKE2b-256 ec0ff3fe8b483cd8b9783ea88c05b58e21414aea7bb1893edfa43dda0248b5a7

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page