tg-api


Nametg-api JSON
Version 1.4.3 PyPI version JSON
download
home_pagehttps://pypi.org/project/tg-api/
SummaryThin wrapper around Telegram Bot API
upload_time2024-03-19 07:56:50
maintainer
docs_urlNone
authorEvgeny Evseev
requires_python>=3.10,<4.0
licenseGNU GPLv3
keywords telegram bot api wrapper asyncio
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Tg API

![PyPI - Downloads](https://img.shields.io/pypi/dm/tg_api)
![PyPI - License](https://img.shields.io/pypi/l/tg_api)

Библиотека Tg API упрощает работу с веб-API Telegram. Она предоставляет тонкую обёртку над веб API Telegram и библиотекой [HTTPX](https://www.python-httpx.org/). Библиотека Tg API добавляет к обычным возможностям HTTPX свои схемы данных и удобные часто используемые функции, но не мешает, при необходимости, спускаться ниже на уровень HTTP-запросов.

Пример отправки пользователю текстового сообщения:

```py
from tg_api import SyncTgClient, SendMessageRequest


with SyncTgClient.setup(token):
    tg_request = SendMessageRequest(chat_id=tg_chat_id, text='Message proofs high level usage.')
    tg_request.send()
```

## Ключевые возможности библиотеки

Ключевые возможности библиотеки Tg API:

- Поддержка синхронных и асинхронных запросов к API
- Shortcuts для часто используемых запросов
- Лёгкий доступ к боту из любого места в коде
- Наглядные схемы данных для всех типов запросов и ответов API
- Аннотация типов для удобства работы с IDE
- Простое низкоуровневое API для кастомизации запросов к API
- Набор инструментов для удобной работы с исключениями

## Как установить

Библиотека доступна на PyPI:

```shell
$ python -m pip install tg-api
```

## Поддерживаемые версии Python и зависимостей

Поддерживаются:

- [Python](https://www.python.org/downloads/) 3.10 и старше
- [pydantic](https://pypi.org/project/pydantic/#history) 1.10.0 и старше, но только первой версии 1.x
- [httpx](https://pypi.org/project/httpx/#history) 0.24.1 и старше

## Документация

Документация доступна на Read the Docs: [https://tg-api.readthedocs.io/en/latest/](https://tg-api.readthedocs.io/en/latest/).

<a name="contributing"></a>
## Разработчикам библиотеки Tg API

Инструкции и справочная информация для разработчиков библиотеки Tg API собраны в отдельном документе [CONTRIBUTING.md](CONTRIBUTING.md).


            

Raw data

            {
    "_id": null,
    "home_page": "https://pypi.org/project/tg-api/",
    "name": "tg-api",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "telegram,bot,api,wrapper,asyncio",
    "author": "Evgeny Evseev",
    "author_email": "pelid80@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/cc/10/61dceffafc0a8b0884f5ddd4a296e704ef509200af09ed6eda82e5128710/tg_api-1.4.3.tar.gz",
    "platform": null,
    "description": "# Tg API\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/tg_api)\n![PyPI - License](https://img.shields.io/pypi/l/tg_api)\n\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Tg API \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0432\u0435\u0431-API Telegram. \u041e\u043d\u0430 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0442\u043e\u043d\u043a\u0443\u044e \u043e\u0431\u0451\u0440\u0442\u043a\u0443 \u043d\u0430\u0434 \u0432\u0435\u0431 API Telegram \u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u043e\u0439 [HTTPX](https://www.python-httpx.org/). \u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 Tg API \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442 \u043a \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c HTTPX \u0441\u0432\u043e\u0438 \u0441\u0445\u0435\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0435 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u043d\u043e \u043d\u0435 \u043c\u0435\u0448\u0430\u0435\u0442, \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438, \u0441\u043f\u0443\u0441\u043a\u0430\u0442\u044c\u0441\u044f \u043d\u0438\u0436\u0435 \u043d\u0430 \u0443\u0440\u043e\u0432\u0435\u043d\u044c HTTP-\u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432.\n\n\u041f\u0440\u0438\u043c\u0435\u0440 \u043e\u0442\u043f\u0440\u0430\u0432\u043a\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f:\n\n```py\nfrom tg_api import SyncTgClient, SendMessageRequest\n\n\nwith SyncTgClient.setup(token):\n    tg_request = SendMessageRequest(chat_id=tg_chat_id, text='Message proofs high level usage.')\n    tg_request.send()\n```\n\n## \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438\n\n\u041a\u043b\u044e\u0447\u0435\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Tg API:\n\n- \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0438 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a API\n- Shortcuts \u0434\u043b\u044f \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432\n- \u041b\u0451\u0433\u043a\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u043e\u0442\u0443 \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0432 \u043a\u043e\u0434\u0435\n- \u041d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u0442\u0438\u043f\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0438 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 API\n- \u0410\u043d\u043d\u043e\u0442\u0430\u0446\u0438\u044f \u0442\u0438\u043f\u043e\u0432 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 IDE\n- \u041f\u0440\u043e\u0441\u0442\u043e\u0435 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0435 API \u0434\u043b\u044f \u043a\u0430\u0441\u0442\u043e\u043c\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a API\n- \u041d\u0430\u0431\u043e\u0440 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0434\u043b\u044f \u0443\u0434\u043e\u0431\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438\n\n## \u041a\u0430\u043a \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c\n\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043d\u0430 PyPI:\n\n```shell\n$ python -m pip install tg-api\n```\n\n## \u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 Python \u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439\n\n\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044e\u0442\u0441\u044f:\n\n- [Python](https://www.python.org/downloads/) 3.10 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435\n- [pydantic](https://pypi.org/project/pydantic/#history) 1.10.0 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435, \u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u043e\u0439 \u0432\u0435\u0440\u0441\u0438\u0438 1.x\n- [httpx](https://pypi.org/project/httpx/#history) 0.24.1 \u0438 \u0441\u0442\u0430\u0440\u0448\u0435\n\n## \u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f\n\n\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u0430 \u043d\u0430 Read the Docs: [https://tg-api.readthedocs.io/en/latest/](https://tg-api.readthedocs.io/en/latest/).\n\n<a name=\"contributing\"></a>\n## \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Tg API\n\n\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438 \u0438 \u0441\u043f\u0440\u0430\u0432\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Tg API \u0441\u043e\u0431\u0440\u0430\u043d\u044b \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0435 [CONTRIBUTING.md](CONTRIBUTING.md).\n\n",
    "bugtrack_url": null,
    "license": "GNU GPLv3",
    "summary": "Thin wrapper around Telegram Bot API",
    "version": "1.4.3",
    "project_urls": {
        "Documentation": "https://tg-api.readthedocs.io/en/latest/index.html",
        "Homepage": "https://pypi.org/project/tg-api/",
        "Repository": "https://gitlab.dvmn.org/dvmn-open-source-dev-tools/tg_api"
    },
    "split_keywords": [
        "telegram",
        "bot",
        "api",
        "wrapper",
        "asyncio"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c38904750d810bc924cfe353b6121e1fc7efd59a8eb4ed8b612c7e010d71e03c",
                "md5": "07b0ef6edc5c48a0bec0aac9357c0a68",
                "sha256": "2edb30d4476b595862993740f562a26547b2cf033b9419d43fefbc4b87b0bfd7"
            },
            "downloads": -1,
            "filename": "tg_api-1.4.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "07b0ef6edc5c48a0bec0aac9357c0a68",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 25912,
            "upload_time": "2024-03-19T07:56:49",
            "upload_time_iso_8601": "2024-03-19T07:56:49.072085Z",
            "url": "https://files.pythonhosted.org/packages/c3/89/04750d810bc924cfe353b6121e1fc7efd59a8eb4ed8b612c7e010d71e03c/tg_api-1.4.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "cc1061dceffafc0a8b0884f5ddd4a296e704ef509200af09ed6eda82e5128710",
                "md5": "909570498d14533ac4c87fea80edd3a0",
                "sha256": "3b9e12ad5e8ba193a0d3d7df68b61b63e0c28547c1134229e41a069daebb87ee"
            },
            "downloads": -1,
            "filename": "tg_api-1.4.3.tar.gz",
            "has_sig": false,
            "md5_digest": "909570498d14533ac4c87fea80edd3a0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 25805,
            "upload_time": "2024-03-19T07:56:50",
            "upload_time_iso_8601": "2024-03-19T07:56:50.351639Z",
            "url": "https://files.pythonhosted.org/packages/cc/10/61dceffafc0a8b0884f5ddd4a296e704ef509200af09ed6eda82e5128710/tg_api-1.4.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-19 07:56:50",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "tg-api"
}
        
Elapsed time: 0.31677s