podmaker


Namepodmaker JSON
Version 0.9.0 PyPI version JSON
download
home_pagehttps://github.com/YogiLiu/podmaker
SummaryConvert online media into podcast feeds.
upload_time2023-09-10 17:09:22
maintainerYogiLiu
docs_urlNone
authorYogiLiu
requires_python>=3.9,<4.0
licenseUnlicense
keywords rss youtube podcast
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Podmaker

Convert online media into podcast feeds.

![PyPI - Version](https://img.shields.io/pypi/v/podmaker)
![PyPI - Status](https://img.shields.io/pypi/status/podmaker)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/podmaker)
![PyPI - Implementation](https://img.shields.io/pypi/implementation/podmaker)
![PyPI - License](https://img.shields.io/pypi/l/podmaker)


## 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](https://github.com/YogiLiu/podmaker/blob/main/config.example.toml).

## Usage

### Systemd

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

```bash
# 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.

```bash
pip install "podmaker[all]"
```

### Using `pipx`

```bash
pipx install "podmaker[all]"
```

### Run

```bash
podmaker -c path/to/config.toml
```

or 
    
```bash
python -m podmaker -c path/to/config.toml
```

## Roadmap

### Platforms

- [x] YouTube
    - [x] Playlist
    - [x] Channel
- [ ] BiliBili

### Resource Hosting

- [x] S3
- [x] 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:

```bash
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](https://github.com/YogiLiu/podmaker/blob/main/LICENSE).
            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/YogiLiu/podmaker",
    "name": "podmaker",
    "maintainer": "YogiLiu",
    "docs_url": null,
    "requires_python": ">=3.9,<4.0",
    "maintainer_email": "YogiLiu@outlook.com",
    "keywords": "rss,youtube,podcast",
    "author": "YogiLiu",
    "author_email": "YogiLiu@outlook.com",
    "download_url": "https://files.pythonhosted.org/packages/6a/eb/b21b978a980857f9beb102ff00d163b449334cda863b5b43a7d71a2ac13b/podmaker-0.9.0.tar.gz",
    "platform": null,
    "description": "# Podmaker\n\nConvert online media into podcast feeds.\n\n![PyPI - Version](https://img.shields.io/pypi/v/podmaker)\n![PyPI - Status](https://img.shields.io/pypi/status/podmaker)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/podmaker)\n![PyPI - Implementation](https://img.shields.io/pypi/implementation/podmaker)\n![PyPI - License](https://img.shields.io/pypi/l/podmaker)\n\n\n## Features\n\n- Extract audio from online videos.\n- No need to deploy web services.\n- Generate podcast feeds.\n- Deploy with watch mode to keep feeds up-to-date.\n\n## Dependencies\n\nThis tool uses **ffmpeg** to extract audio from videos. Ensure it's installed within `$PATH` before using this tool.\n\nAdditionally, you should install extra dependencies according to your requirements:\n\n- `podmaker[all]`: Install all extra dependencies.\n- `podmaker[s3]`: Install dependencies for S3 storage.\n- `podmaker[youtube]`: Install dependencies for YouTube.\n\nInstall multiple extra dependencies simultaneously using `podmaker[extra1,extra2,...]`.\n\n## Configuration\n\nBefore diving into this tool, craft a configuration file, a TOML file to be precise.\nBy default, the file resides at `${WORK_DIR}/config.toml`. Customize the path using the `-c` or `--config` option.\nAn example configuration file can be found at [config.example.toml](https://github.com/YogiLiu/podmaker/blob/main/config.example.toml).\n\n## Usage\n\n### Systemd\n\nDeploy this tool in the background with systemd (requires root privileges):\n\n```bash\n# create virtual environment\napt install python3 python3-venv\nmkdir -p /opt/podmaker && cd /opt/podmaker\npython3 -m venv venv\n# install podmaker\n./venv/bin/pip install \"podmaker[all]\"\n# create and edit config file\ncurl -o config.toml https://raw.githubusercontent.com/YogiLiu/podmaker/main/config.example.toml\nvim config.toml\n# create systemd service\ncurl -o /etc/systemd/system/podmaker.service https://raw.githubusercontent.com/YogiLiu/podmaker/main/systemd/podmaker.service\nsystemctl daemon-reload\n# enable and start service\nsystemctl enable podmaker\nsystemctl start podmaker\n```\n\n### Manual\n\n### Using pip\n\nFor the optimal experience, we recommend installing this tool within a virtual environment.\n\n```bash\npip install \"podmaker[all]\"\n```\n\n### Using `pipx`\n\n```bash\npipx install \"podmaker[all]\"\n```\n\n### Run\n\n```bash\npodmaker -c path/to/config.toml\n```\n\nor \n    \n```bash\npython -m podmaker -c path/to/config.toml\n```\n\n## Roadmap\n\n### Platforms\n\n- [x] YouTube\n    - [x] Playlist\n    - [x] Channel\n- [ ] BiliBili\n\n### Resource Hosting\n\n- [x] S3\n- [x] Local\n\n## Contributing\n\nYour contributions are invaluable. Feel free to submit pull requests.\nBefore committing, ensure your changes pass unit tests and `autohooks`.\n\nTo activate `autohooks`, use the following command:\n\n```bash\npoetry run autohooks activate --mode poetry\n```\n\nThis process will automatically lint, format, and sort code imports.\n\nWhen introducing new features, remember to provide corresponding tests.\n\n## License\n\nFor licensing details, refer to [LICENSE](https://github.com/YogiLiu/podmaker/blob/main/LICENSE).",
    "bugtrack_url": null,
    "license": "Unlicense",
    "summary": "Convert online media into podcast feeds.",
    "version": "0.9.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/YogiLiu/podmaker/issues",
        "Documentation": "https://github.com/YogiLiu/podmaker/blob/main/README.md",
        "Homepage": "https://github.com/YogiLiu/podmaker",
        "Repository": "https://github.com/YogiLiu/podmaker"
    },
    "split_keywords": [
        "rss",
        "youtube",
        "podcast"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ec0ff3fe8b483cd8b9783ea88c05b58e21414aea7bb1893edfa43dda0248b5a7",
                "md5": "f3b002e28c733c150365e1090684b819",
                "sha256": "f4e3fc5f561114871169b7c756f85f311622379f7de6d3125e49db4ee65c913c"
            },
            "downloads": -1,
            "filename": "podmaker-0.9.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "f3b002e28c733c150365e1090684b819",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9,<4.0",
            "size": 26279,
            "upload_time": "2023-09-10T17:09:20",
            "upload_time_iso_8601": "2023-09-10T17:09:20.661675Z",
            "url": "https://files.pythonhosted.org/packages/ec/0f/f3fe8b483cd8b9783ea88c05b58e21414aea7bb1893edfa43dda0248b5a7/podmaker-0.9.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6aebb21b978a980857f9beb102ff00d163b449334cda863b5b43a7d71a2ac13b",
                "md5": "e9788ba666d86560489fea819d2bfbe1",
                "sha256": "1beec85e1f9b4a4d4c179559223cd491f4c1cfecd1714f4730e9c200e8f20cfa"
            },
            "downloads": -1,
            "filename": "podmaker-0.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e9788ba666d86560489fea819d2bfbe1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9,<4.0",
            "size": 19201,
            "upload_time": "2023-09-10T17:09:22",
            "upload_time_iso_8601": "2023-09-10T17:09:22.567773Z",
            "url": "https://files.pythonhosted.org/packages/6a/eb/b21b978a980857f9beb102ff00d163b449334cda863b5b43a7d71a2ac13b/podmaker-0.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-10 17:09:22",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "YogiLiu",
    "github_project": "podmaker",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "podmaker"
}
        
Elapsed time: 0.10909s