# AnimePipeline
auto encode new anime episode, driven by [**FinalRip**](https://github.com/TensoRaws/FinalRip)
[![codecov](https://codecov.io/gh/TensoRaws/AnimePipeline/graph/badge.svg?token=CtgLouRy8u)](https://codecov.io/gh/TensoRaws/AnimePipeline)
[![CI-test](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test.yml)
[![CI-test-cli](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test-cli.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test-cli.yml)
[![Docker Build CI](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-docker.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-docker.yml)
[![Release](https://github.com/TensoRaws/AnimePipeline/actions/workflows/Release.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/Release.yml)
[![PyPI version](https://badge.fury.io/py/animepipeline.svg)](https://badge.fury.io/py/animepipeline)
![GitHub](https://img.shields.io/github/license/TensoRaws/AnimePipeline)
### Architecture
![AnimePipeline](https://raw.githubusercontent.com/TensoRaws/.github/refs/heads/main/animepipeline.png)
### Installation
FinalRip is required, if you don't familiar with it, please play with it first.
Python 3.9 or higher is required, we use poetry to manage dependencies.
btw, `make` is required to run the commands in the `Makefile`.
```bash
poetry install
make run
```
or you can use docker to run the project, see [docker-compose.yml](./deploy/docker-compose.yml) for more details.
### CLI
some useful command line tools are provided, you can use them to rename or generate some info
```
pip install animepipeline
ap-rename -h
ap-btf -h
```
### Configuration
#### Server Config:
- loop interval: the interval of the loop, default is 200s
- _download path_: the path to save the downloaded torrent file, if you use docker, you should mount the volume to the container, then use the path in the container. like `/downloads`
- telegram bot token & channel id: your own bot token and channel id
- telegram bot api: use tg bot local mode, see [telegram-bot-api](https://core.telegram.org/api/obtaining_api_id) for more details.
#### RSS Config:
supports hot reloading, which means you can update your config without needing to restart the service.
you should provide the compatible params and scripts in the [params](./conf/params) and [scripts](./conf/scripts) folder.
**the file name will be used as the key**
- base: the default settings, can be overridden in the rss list
- link: the rss link, make sure it's a valid rss link
- pattern: to match the episode(int), use regex
### Reference
- [**FinalRip**](https://github.com/TensoRaws/FinalRip)
- [FFmpeg](https://github.com/FFmpeg/FFmpeg)
- [VapourSynth](https://github.com/vapoursynth/vapoursynth)
- [asyncio](https://docs.python.org/3/library/asyncio.html)
- [httpx](https://github.com/encode/httpx)
- [qbittorrent](https://github.com/qbittorrent/qBittorrent)
- [qbittorrent-api](https://github.com/rmartin16/qbittorrent-api)
- [telegram-bot-api](https://github.com/tdlib/telegram-bot-api)
- [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot)
### License
This project is licensed under the GPL-3.0 license - see the [LICENSE file](https://github.com/TensoRaws/AnimePipeline/blob/main/LICENSE) for details.
Raw data
{
"_id": null,
"home_page": "https://github.com/TensoRaws/AnimePipeline",
"name": "animepipeline",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.9",
"maintainer_email": null,
"keywords": null,
"author": "Tohrusky",
"author_email": null,
"download_url": null,
"platform": null,
"description": "# AnimePipeline\n\nauto encode new anime episode, driven by [**FinalRip**](https://github.com/TensoRaws/FinalRip)\n\n[![codecov](https://codecov.io/gh/TensoRaws/AnimePipeline/graph/badge.svg?token=CtgLouRy8u)](https://codecov.io/gh/TensoRaws/AnimePipeline)\n[![CI-test](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test.yml)\n[![CI-test-cli](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test-cli.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-test-cli.yml)\n[![Docker Build CI](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-docker.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/CI-docker.yml)\n[![Release](https://github.com/TensoRaws/AnimePipeline/actions/workflows/Release.yml/badge.svg)](https://github.com/TensoRaws/AnimePipeline/actions/workflows/Release.yml)\n[![PyPI version](https://badge.fury.io/py/animepipeline.svg)](https://badge.fury.io/py/animepipeline)\n![GitHub](https://img.shields.io/github/license/TensoRaws/AnimePipeline)\n\n### Architecture\n\n![AnimePipeline](https://raw.githubusercontent.com/TensoRaws/.github/refs/heads/main/animepipeline.png)\n\n### Installation\n\nFinalRip is required, if you don't familiar with it, please play with it first.\n\nPython 3.9 or higher is required, we use poetry to manage dependencies.\n\nbtw, `make` is required to run the commands in the `Makefile`.\n\n```bash\npoetry install\nmake run\n```\n\nor you can use docker to run the project, see [docker-compose.yml](./deploy/docker-compose.yml) for more details.\n\n### CLI\n\nsome useful command line tools are provided, you can use them to rename or generate some info\n\n```\npip install animepipeline\nap-rename -h\nap-btf -h\n```\n\n### Configuration\n\n#### Server Config:\n\n- loop interval: the interval of the loop, default is 200s\n- _download path_: the path to save the downloaded torrent file, if you use docker, you should mount the volume to the container, then use the path in the container. like `/downloads`\n- telegram bot token & channel id: your own bot token and channel id\n- telegram bot api: use tg bot local mode, see [telegram-bot-api](https://core.telegram.org/api/obtaining_api_id) for more details.\n\n#### RSS Config:\n\nsupports hot reloading, which means you can update your config without needing to restart the service.\n\nyou should provide the compatible params and scripts in the [params](./conf/params) and [scripts](./conf/scripts) folder.\n\n**the file name will be used as the key**\n\n- base: the default settings, can be overridden in the rss list\n- link: the rss link, make sure it's a valid rss link\n- pattern: to match the episode(int), use regex\n\n### Reference\n\n- [**FinalRip**](https://github.com/TensoRaws/FinalRip)\n- [FFmpeg](https://github.com/FFmpeg/FFmpeg)\n- [VapourSynth](https://github.com/vapoursynth/vapoursynth)\n- [asyncio](https://docs.python.org/3/library/asyncio.html)\n- [httpx](https://github.com/encode/httpx)\n- [qbittorrent](https://github.com/qbittorrent/qBittorrent)\n- [qbittorrent-api](https://github.com/rmartin16/qbittorrent-api)\n- [telegram-bot-api](https://github.com/tdlib/telegram-bot-api)\n- [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot)\n\n### License\n\nThis project is licensed under the GPL-3.0 license - see the [LICENSE file](https://github.com/TensoRaws/AnimePipeline/blob/main/LICENSE) for details.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "auto encode new anime episode",
"version": "0.0.4",
"project_urls": {
"Homepage": "https://github.com/TensoRaws/AnimePipeline",
"Repository": "https://github.com/TensoRaws/AnimePipeline"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "21f816155be2cdb4f84f3e1a960d8aad562e9a8b14885a3de4835c9e336128e5",
"md5": "275954187cf43f3e002153cee8b30a1f",
"sha256": "45f751ef895aaa3f9d9a37ad65efe523cc056183bfb3ca11a9636bc823fd08b8"
},
"downloads": -1,
"filename": "animepipeline-0.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "275954187cf43f3e002153cee8b30a1f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.9",
"size": 42290,
"upload_time": "2024-12-22T15:19:33",
"upload_time_iso_8601": "2024-12-22T15:19:33.112569Z",
"url": "https://files.pythonhosted.org/packages/21/f8/16155be2cdb4f84f3e1a960d8aad562e9a8b14885a3de4835c9e336128e5/animepipeline-0.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-22 15:19:33",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "TensoRaws",
"github_project": "AnimePipeline",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "animepipeline"
}