Skip to main content

Anime extractor api implementation

Project description

# anicli-api
[![CI](https://github.com/vypivshiy/anicli-api/actions/workflows/ci.yml/badge.svg)](https://github.com/vypivshiy/anicli-api/actions/workflows/ci.yml)
[![Documentation Status](https://readthedocs.org/projects/anicli-api/badge/?version=latest)](https://anicli-api.readthedocs.io/en/latest/?badge=latest)

Программный интерфейс парсера аниме с различных источников.

Присутствует поддержка sync и async методов с помощью `httpx` библиотеки, для получения информации и прямых ссылок
на видео.

# install
`pip install anicli-api`

# Overview
Модуль экстрактора имеют следующую структуру пошагового получения объекта:
```shell
# Extractor works schema:
[Extractor]
| search(<query>)/ongoing() -> List[SearchResult | Ongoing]
V
[SearchResult | Ongoing]
| get_anime() -> AnimeInfo
V
[AnimeInfo]
| get_episodes() -> List[Episode]
V
[Episode]
| get_videos() -> List[Video]
V
[Video]
| get_source() -> MetaVideo or Str
V
MetaVideo(type, quality, url, extra_headers) or url
```

# Quickstart example
Смотрите примеры [examples](examples) и [документации](https://anicli-api.readthedocs.io/en/latest/index.html)!

# Примечания

Проект разработан преимущественно на личное, некоммерческое использование на стороне клиента.
Автор проекта не несет ответственности за поломки, убытки в высоко нагруженных проектах и решение
предоставляется "Как есть" в соответствии с [MIT](LIENSE) лицензией.

Если вы всё же решили этот проект использовать в **production** условиях,
то выстаивайте архитектуру своих проектов **на предварительный сбор информации**
(например, полученные данные сохранять в базу данных и оттуда позже получать),
так как большинство парсеров работает в обход официальных методов и применяются такие библиотеки как re, bs4.

Следовательно, могут быть проблемы от производительности, до получения ошибок по типу 403 (срабатывание ddos защиты) или
502 (доступа к сайту запрещён).

**Этот проект не включает инструменты кеширования и сохранения всех полученных данных, только эндпоинты
с готовой реализацией архитектуры парсеров**

# DEV
[DEV](DEV.MD)

# Contributing
[CONTRIBUTING](CONTRIBUTING.MD)

# TODO
* ~~CI CD автотестов~~
~~* Поправить sphinx документацию~~
* Получение видео по ссылке (like yt-dlp)
* расширенный поиск (по жанрам, годам, etc)
* улучшение документации
* Продумать стандартизацию атрибутов в экстракторах (если такое реально?)
* ~~asyncio tests~~
* ~~coverage~~
* ~~добавить примеры~~
* ~~Написать документацию для high level применения пока на уровне example примеров~~
* ~~Написать документацию для low level разработки экстракторов~~
* ~~Дописать asyncio методы для animego~~
* ~~Портировать anilibria, animevost, animania экстракторы из старого проекта~~

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

anicli_api-0.3.1.tar.gz (29.4 kB view hashes)

Uploaded Source

Built Distribution

anicli_api-0.3.1-py3-none-any.whl (38.6 kB view hashes)

Uploaded Python 3

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