anicli-ru


Nameanicli-ru JSON
Version 5.0.12 PyPI version JSON
download
home_pageNone
Summarycli tool for watching anime
upload_time2024-06-06 16:39:04
maintainerNone
docs_urlNone
authorvypivshiy
requires_python>=3.8
licenseNone
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # anicli-ru

___
 Скрипт для поиска и просмотра аниме из терминала с русской озвучкой или субтитрами.
Поддерживает unix, linux, windows 10/11 (windows terminal)

https://github.com/vypivshiy/ani-cli-ru/assets/59173419/bf7e78bd-cdd1-4871-a5b3-f48e6ed7ec28


# Установка

## API

[anicli-api](https://github.com/vypivshiy/anicli-api) Если вам нужен только программный API интерфейс и информация об используемых парсерах

## Клиент

### Плеер

Для работы этого клиента требуется внешний видеоплеер. 
Рекомендуется ставить через менеджер пакетов:

- mpv (рекомендуется)
- vlc (мало тестов, корректная работоспособность не гарантируется)

### CLI

Рекомендуется устанавливать через [pipx](https://pipx.pypa.io/stable/installation/)

#### pipx (рекомендуется)

```shell
pipx install anicli-ru 
```

Обновление:

```shell
pipx upgrade anicli-ru
```

#### pip (не рекомендуется)

```shell
pip install anicli-ru
```

# Usage:

```shell
anicli-ru
```

## Примеры:

Сменить источник:

```shell
anicli-ru -s anilibria
```

Запуск поиска/онгоингов при старте:

```shell
# запуск и поиск тайтлов по фразе `lain`
anicli-ru --search "lain"
# запуск и вывод онгоингов
anicli-ru --ongoing
```

Передача дополнительных аргументов в плеер. 
Например, если у вас специально настроенный профиль в mpv плеере:

```shell
anicli-ru -pa="--profile=my_profile" 
```

## Ключи запуска

```
-s --source - выбор источника. По умолчанию "animego"
-q --quality - минимально выбранное разрешение видео. Доступны: 0, 144, 240, 360, 480, 720, 1080. По умолчанию 1080
  Например, если вы установили 1080 и такое видео отсутстует - выведет максимально допустимое 
--ffmpeg - использовать ffmpeg для перенаправления видеопотока в видеоплеер
-p --player - какой видеоплеер использовать. доступны "vlc", "mpv". По умолчанию "mpv"
--m3u - для SLICE-режима просмотра создавать плейлист (ЭКСПЕРИМЕНТАЛЬНЫЙ РЕЖИМ, СОБИРАЕТ ВИДЕО МЕДЛЕННО)
--m3u-size - максимальный размер m3u плейлиста. По умолчанию 12
-pa --playlist-args - дополнительные аргументы для плеера. Например, -pa="--profile=foo" -pa="--no-video". 
  подробнее о них смотрите в документации по плееру
--search - запустить и найти тайтл по строке
--ongoing - запустить и найти онгоинги
```

## Прочее

~~Если вы будете использовать плеер без поддержки настройки http заголовков - рекомендуется 
дополнительно установить `ffmpeg` для перенаправления видео потока.~~

---

Отличия от старой версии:

- Клиент основан на prompt-toolkit, реализована надстройка [eggella](https://github.com/vypivshiy/eggella)
- [Api интерфейс парсера](https://github.com/vypivshiy/anicli-api/tree/dev) и Cli клиента 
разделены в отдельные репозитории. Также, API интерфейс поддерживает asyncio!
- http клиент заменен с `requests` на `httpx` со следующими модификациями:
    - **http2** протокол по умолчанию
    - минимальные надстройки headers для работы
    - retry-connect подключения
    - обнаружение ddos защиты источника
    - парсеры работают в связке  `parsel`, `chompjs`, `jmespath` и `regex` библиотек


## Roadmap
- [x] минимальная реализация
- [x] выбор источника
- [x] ffmpeg адаптер
- [x] конфигурация http клиента (прокси, таймаут)
- [ ] кеширование
- [ ] синхронизация с shikimori
- [ ] поиск и переключение по нескольким источникам в одной сессии (без перезапуска)
- [ ] конфигурация приложения
- [ ] система плагинов, кастомизация (?)
- [ ] простой http сервер-прослойка для передачи видео в плееры

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "anicli-ru",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "vypivshiy",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/e2/b8/5b12ed2b4d61a708c3a63a7e30a8101869bdb7600966cfedb3ade2baf964/anicli_ru-5.0.12.tar.gz",
    "platform": null,
    "description": "# anicli-ru\n\n___\n \u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u043e\u0438\u0441\u043a\u0430 \u0438 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0430\u043d\u0438\u043c\u0435 \u0438\u0437 \u0442\u0435\u0440\u043c\u0438\u043d\u0430\u043b\u0430 \u0441 \u0440\u0443\u0441\u0441\u043a\u043e\u0439 \u043e\u0437\u0432\u0443\u0447\u043a\u043e\u0439 \u0438\u043b\u0438 \u0441\u0443\u0431\u0442\u0438\u0442\u0440\u0430\u043c\u0438.\n\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 unix, linux, windows 10/11 (windows terminal)\n\nhttps://github.com/vypivshiy/ani-cli-ru/assets/59173419/bf7e78bd-cdd1-4871-a5b3-f48e6ed7ec28\n\n\n# \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n## API\n\n[anicli-api](https://github.com/vypivshiy/anicli-api) \u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0443\u0436\u0435\u043d \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u044b\u0439 API \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e\u0431 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043f\u0430\u0440\u0441\u0435\u0440\u0430\u0445\n\n## \u041a\u043b\u0438\u0435\u043d\u0442\n\n### \u041f\u043b\u0435\u0435\u0440\n\n\u0414\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434\u0435\u043e\u043f\u043b\u0435\u0435\u0440. \n\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043c\u0435\u043d\u0435\u0434\u0436\u0435\u0440 \u043f\u0430\u043a\u0435\u0442\u043e\u0432:\n\n- mpv (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)\n- vlc (\u043c\u0430\u043b\u043e \u0442\u0435\u0441\u0442\u043e\u0432, \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0433\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f)\n\n### CLI\n\n\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 [pipx](https://pipx.pypa.io/stable/installation/)\n\n#### pipx (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)\n\n```shell\npipx install anicli-ru \n```\n\n\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435:\n\n```shell\npipx upgrade anicli-ru\n```\n\n#### pip (\u043d\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f)\n\n```shell\npip install anicli-ru\n```\n\n# Usage:\n\n```shell\nanicli-ru\n```\n\n## \u041f\u0440\u0438\u043c\u0435\u0440\u044b:\n\n\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a:\n\n```shell\nanicli-ru -s anilibria\n```\n\n\u0417\u0430\u043f\u0443\u0441\u043a \u043f\u043e\u0438\u0441\u043a\u0430/\u043e\u043d\u0433\u043e\u0438\u043d\u0433\u043e\u0432 \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435:\n\n```shell\n# \u0437\u0430\u043f\u0443\u0441\u043a \u0438 \u043f\u043e\u0438\u0441\u043a \u0442\u0430\u0439\u0442\u043b\u043e\u0432 \u043f\u043e \u0444\u0440\u0430\u0437\u0435 `lain`\nanicli-ru --search \"lain\"\n# \u0437\u0430\u043f\u0443\u0441\u043a \u0438 \u0432\u044b\u0432\u043e\u0434 \u043e\u043d\u0433\u043e\u0438\u043d\u0433\u043e\u0432\nanicli-ru --ongoing\n```\n\n\u041f\u0435\u0440\u0435\u0434\u0430\u0447\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0432 \u043f\u043b\u0435\u0435\u0440. \n\u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0444\u0438\u043b\u044c \u0432 mpv \u043f\u043b\u0435\u0435\u0440\u0435:\n\n```shell\nanicli-ru -pa=\"--profile=my_profile\" \n```\n\n## \u041a\u043b\u044e\u0447\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\n\n```\n-s --source - \u0432\u044b\u0431\u043e\u0440 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"animego\"\n-q --quality - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u043e\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0432\u0438\u0434\u0435\u043e. \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b: 0, 144, 240, 360, 480, 720, 1080. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1080\n  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u043b\u0438 \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 1080 \u0438 \u0442\u0430\u043a\u043e\u0435 \u0432\u0438\u0434\u0435\u043e \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0443\u0435\u0442 - \u0432\u044b\u0432\u0435\u0434\u0435\u0442 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \n--ffmpeg - \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ffmpeg \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e\u043f\u043e\u0442\u043e\u043a\u0430 \u0432 \u0432\u0438\u0434\u0435\u043e\u043f\u043b\u0435\u0435\u0440\n-p --player - \u043a\u0430\u043a\u043e\u0439 \u0432\u0438\u0434\u0435\u043e\u043f\u043b\u0435\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c. \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \"vlc\", \"mpv\". \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \"mpv\"\n--m3u - \u0434\u043b\u044f SLICE-\u0440\u0435\u0436\u0438\u043c\u0430 \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442 (\u042d\u041a\u0421\u041f\u0415\u0420\u0418\u041c\u0415\u041d\u0422\u0410\u041b\u042c\u041d\u042b\u0419 \u0420\u0415\u0416\u0418\u041c, \u0421\u041e\u0411\u0418\u0420\u0410\u0415\u0422 \u0412\u0418\u0414\u0415\u041e \u041c\u0415\u0414\u041b\u0415\u041d\u041d\u041e)\n--m3u-size - \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 m3u \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442\u0430. \u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 12\n-pa --playlist-args - \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043f\u043b\u0435\u0435\u0440\u0430. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, -pa=\"--profile=foo\" -pa=\"--no-video\". \n  \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u043e \u043d\u0438\u0445 \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e \u043f\u043b\u0435\u0435\u0440\u0443\n--search - \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0430\u0439\u0442\u0438 \u0442\u0430\u0439\u0442\u043b \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0435\n--ongoing - \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0438 \u043d\u0430\u0439\u0442\u0438 \u043e\u043d\u0433\u043e\u0438\u043d\u0433\u0438\n```\n\n## \u041f\u0440\u043e\u0447\u0435\u0435\n\n~~\u0415\u0441\u043b\u0438 \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043b\u0435\u0435\u0440 \u0431\u0435\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 http \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 - \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f \n\u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c `ffmpeg` \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0432\u0438\u0434\u0435\u043e \u043f\u043e\u0442\u043e\u043a\u0430.~~\n\n---\n\n\u041e\u0442\u043b\u0438\u0447\u0438\u044f \u043e\u0442 \u0441\u0442\u0430\u0440\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438:\n\n- \u041a\u043b\u0438\u0435\u043d\u0442 \u043e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 prompt-toolkit, \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0430 [eggella](https://github.com/vypivshiy/eggella)\n- [Api \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0430\u0440\u0441\u0435\u0440\u0430](https://github.com/vypivshiy/anicli-api/tree/dev) \u0438 Cli \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \n\u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438. \u0422\u0430\u043a\u0436\u0435, API \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 asyncio!\n- http \u043a\u043b\u0438\u0435\u043d\u0442 \u0437\u0430\u043c\u0435\u043d\u0435\u043d \u0441 `requests` \u043d\u0430 `httpx` \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u043c\u0438:\n    - **http2** \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e\n    - \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0434\u0441\u0442\u0440\u043e\u0439\u043a\u0438 headers \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b\n    - retry-connect \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\n    - \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0435\u043d\u0438\u0435 ddos \u0437\u0430\u0449\u0438\u0442\u044b \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\n    - \u043f\u0430\u0440\u0441\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0432 \u0441\u0432\u044f\u0437\u043a\u0435  `parsel`, `chompjs`, `jmespath` \u0438 `regex` \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\n\n\n## Roadmap\n- [x] \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f\n- [x] \u0432\u044b\u0431\u043e\u0440 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\n- [x] ffmpeg \u0430\u0434\u0430\u043f\u0442\u0435\u0440\n- [x] \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f http \u043a\u043b\u0438\u0435\u043d\u0442\u0430 (\u043f\u0440\u043e\u043a\u0441\u0438, \u0442\u0430\u0439\u043c\u0430\u0443\u0442)\n- [ ] \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\n- [ ] \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441 shikimori\n- [ ] \u043f\u043e\u0438\u0441\u043a \u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0430\u043c \u0432 \u043e\u0434\u043d\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438 (\u0431\u0435\u0437 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430)\n- [ ] \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\n- [ ] \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432, \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u044f (?)\n- [ ] \u043f\u0440\u043e\u0441\u0442\u043e\u0439 http \u0441\u0435\u0440\u0432\u0435\u0440-\u043f\u0440\u043e\u0441\u043b\u043e\u0439\u043a\u0430 \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0432\u0438\u0434\u0435\u043e \u0432 \u043f\u043b\u0435\u0435\u0440\u044b\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "cli tool for watching anime",
    "version": "5.0.12",
    "project_urls": {
        "Documentation": "https://github.com/vypivshiy/ani-cli-ru#readme",
        "Issues": "https://github.com/vypivshiy/ani-cli-ru/issues",
        "Source": "https://github.com/vypivshiy/ani-cli-ru"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f58b8d40019d8dd576b22f515d243648a312bfca76febc14462e51924fa7ad99",
                "md5": "21466ecd5bef765867cee9224e687818",
                "sha256": "2a39ea8e0eacd0e0a1a1417b9d5024f32b3ba40f8d70b6410ccb1015382de484"
            },
            "downloads": -1,
            "filename": "anicli_ru-5.0.12-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "21466ecd5bef765867cee9224e687818",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 970330,
            "upload_time": "2024-06-06T16:39:07",
            "upload_time_iso_8601": "2024-06-06T16:39:07.231741Z",
            "url": "https://files.pythonhosted.org/packages/f5/8b/8d40019d8dd576b22f515d243648a312bfca76febc14462e51924fa7ad99/anicli_ru-5.0.12-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e2b85b12ed2b4d61a708c3a63a7e30a8101869bdb7600966cfedb3ade2baf964",
                "md5": "676eaafd6eb532b990909b3294545332",
                "sha256": "b3cb88d1c87e48faad847cbe7748dc07aa39fd9ab1f3d24733af10d349f00850"
            },
            "downloads": -1,
            "filename": "anicli_ru-5.0.12.tar.gz",
            "has_sig": false,
            "md5_digest": "676eaafd6eb532b990909b3294545332",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 964517,
            "upload_time": "2024-06-06T16:39:04",
            "upload_time_iso_8601": "2024-06-06T16:39:04.398276Z",
            "url": "https://files.pythonhosted.org/packages/e2/b8/5b12ed2b4d61a708c3a63a7e30a8101869bdb7600966cfedb3ade2baf964/anicli_ru-5.0.12.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-06 16:39:04",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "vypivshiy",
    "github_project": "ani-cli-ru#readme",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "anicli-ru"
}
        
Elapsed time: 0.72150s