Skip to main content

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.

Metadata

Release files for podmaker 0.9.0

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

Source distribution (sdist)

Source distribution for podmaker 0.9.0
File Size Uploaded
podmaker-0.9.0.tar.gz 19.2 kB Details

Built distribution (wheel)

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

Total release size: 45.5 kB

Release files / podmaker-0.9.0.tar.gz

Download URL podmaker-0.9.0.tar.gz
Size 19.2 kB
Tags Source
SHA-256 checksum
How to use checksums
1beec85e1f9b4a4d4c179559223cd491f4c1cfecd1714f4730e9c200e8f20cfa
BLAKE2b-256 checksum
How to use checksums
6aebb21b978a980857f9beb102ff00d163b449334cda863b5b43a7d71a2ac13b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.5 Linux/6.4.12-arch1-1

Release files / podmaker-0.9.0-py3-none-any.whl

Download URL podmaker-0.9.0-py3-none-any.whl
Size 26.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f4e3fc5f561114871169b7c756f85f311622379f7de6d3125e49db4ee65c913c
BLAKE2b-256 checksum
How to use checksums
ec0ff3fe8b483cd8b9783ea88c05b58e21414aea7bb1893edfa43dda0248b5a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.6.1 CPython/3.11.5 Linux/6.4.12-arch1-1

Release history Release notifications | RSS feed

This release

0.9.0 This release

2 release files

0.8.1

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

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