yaidng


Nameyaidng JSON
Version 24.1.0 PyPI version JSON
download
home_pagehttps://github.com/LulzLoL231/yandexid
SummaryYandex ID oauth API wrapper
upload_time2024-02-07 13:51:16
maintainer
docs_urlNone
authorRick Sanchez
requires_python>=3.10,<4.0
licenseMIT
keywords yandex oauth api wrapper yandexid yandex-id
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Яндекс ID (OAuth) API
Библиотека для работы с API Яндекс ID (OAuth) для Python 3.12+.
Поддерживает асинхронную работу.

[Документация API](https://yandex.ru/dev/id/doc/dg/index.html)

## Установка

1. С помощью pip:

    ```bash
    pip install yid-ng
    ```

3. Из исходников:

    ```bash
    git clone https://github.com/LulzLoL231/yandexid
    pip install ./yandexid
    ```

## Пример использования

1. Получение OAuth токена:

    ```python
    from yandexid import YandexOAuth

    yandex_oauth = YandexOAuth(
        client_id='<client_id>',
        client_secret='<client_secret>',
        redirect_uri='<redirect_uri>'
    )
    auth_url = yandex_oauth.get_authorization_url()
    # Тут нужно перейти по ссылке auth_url и получить код авторизации
    token = yandex_oauth.get_token_from_code('<code>')
    ```
   Возвращает объект `Token` с информацией о OAuth токене. Формат объекта совпадает с [форматом ответа из API Яндекс ID](https://yandex.ru/dev/id/doc/dg/oauth/reference/console-client.html#console-client__token-body-title).


2. Получение информации о пользователе:

    ```python
    from yandexid import YandexID

    yandex_id = YandexID('<oauth_token>')
    user_info = yandex_id.get_user_info_json()
    ```
   Возвращает объект `User` с информацией о пользователе. Формат объекта совпадает с [форматом ответа из API Яндекс ID](https://yandex.ru/dev/id/doc/dg/api-id/reference/response.html).

## Асинхронная работа
Чтобы использовать асинхронность, используйте классы `AsyncYandexOAuth` и `AsyncYandexID`:

```python
from yandexid import AsyncYandexID

yandex_id = AsyncYandexID('<oauth_token>')
user_info = await yandex_id.get_user_info_json()
```
Название методов полностью совпадает с названием синхронных методов, не забывайте использовать `await` перед вызовом асинхронных методов.

Логотипы Яндекс ID и название сервиса "Яндекс ID" принадлежат Яндексу.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/LulzLoL231/yandexid",
    "name": "yaidng",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "yandex,oauth,api,wrapper,yandexid,yandex-id",
    "author": "Rick Sanchez",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/f2/0c/449b10081ec6f0469852b4bfe147e901e556a230be19d9959ec19f7fb802/yaidng-24.1.0.tar.gz",
    "platform": null,
    "description": "# \u042f\u043d\u0434\u0435\u043a\u0441 ID (OAuth) API\n\u0411\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 API \u042f\u043d\u0434\u0435\u043a\u0441 ID (OAuth) \u0434\u043b\u044f Python 3.12+.\n\u041f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443.\n\n[\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f API](https://yandex.ru/dev/id/doc/dg/index.html)\n\n## \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n1. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip:\n\n    ```bash\n    pip install yid-ng\n    ```\n\n3. \u0418\u0437 \u0438\u0441\u0445\u043e\u0434\u043d\u0438\u043a\u043e\u0432:\n\n    ```bash\n    git clone https://github.com/LulzLoL231/yandexid\n    pip install ./yandexid\n    ```\n\n## \u041f\u0440\u0438\u043c\u0435\u0440 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f\n\n1. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 OAuth \u0442\u043e\u043a\u0435\u043d\u0430:\n\n    ```python\n    from yandexid import YandexOAuth\n\n    yandex_oauth = YandexOAuth(\n        client_id='<client_id>',\n        client_secret='<client_secret>',\n        redirect_uri='<redirect_uri>'\n    )\n    auth_url = yandex_oauth.get_authorization_url()\n    # \u0422\u0443\u0442 \u043d\u0443\u0436\u043d\u043e \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043f\u043e \u0441\u0441\u044b\u043b\u043a\u0435 auth_url \u0438 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043e\u0434 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438\n    token = yandex_oauth.get_token_from_code('<code>')\n    ```\n   \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 `Token` \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e OAuth \u0442\u043e\u043a\u0435\u043d\u0435. \u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 [\u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u0437 API \u042f\u043d\u0434\u0435\u043a\u0441 ID](https://yandex.ru/dev/id/doc/dg/oauth/reference/console-client.html#console-client__token-body-title).\n\n\n2. \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435:\n\n    ```python\n    from yandexid import YandexID\n\n    yandex_id = YandexID('<oauth_token>')\n    user_info = yandex_id.get_user_info_json()\n    ```\n   \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0431\u044a\u0435\u043a\u0442 `User` \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435. \u0424\u043e\u0440\u043c\u0430\u0442 \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 [\u0444\u043e\u0440\u043c\u0430\u0442\u043e\u043c \u043e\u0442\u0432\u0435\u0442\u0430 \u0438\u0437 API \u042f\u043d\u0434\u0435\u043a\u0441 ID](https://yandex.ru/dev/id/doc/dg/api-id/reference/response.html).\n\n## \u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u0430\u044f \u0440\u0430\u0431\u043e\u0442\u0430\n\u0427\u0442\u043e\u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0441\u0442\u044c, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043b\u0430\u0441\u0441\u044b `AsyncYandexOAuth` \u0438 `AsyncYandexID`:\n\n```python\nfrom yandexid import AsyncYandexID\n\nyandex_id = AsyncYandexID('<oauth_token>')\nuser_info = await yandex_id.get_user_info_json()\n```\n\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0441\u043e\u0432\u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c `await` \u043f\u0435\u0440\u0435\u0434 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432.\n\n\u041b\u043e\u0433\u043e\u0442\u0438\u043f\u044b \u042f\u043d\u0434\u0435\u043a\u0441 ID \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u0430 \"\u042f\u043d\u0434\u0435\u043a\u0441 ID\" \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u042f\u043d\u0434\u0435\u043a\u0441\u0443.\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Yandex ID oauth API wrapper",
    "version": "24.1.0",
    "project_urls": {
        "Homepage": "https://github.com/LulzLoL231/yandexid",
        "Repository": "https://github.com/LulzLoL231/yandexid"
    },
    "split_keywords": [
        "yandex",
        "oauth",
        "api",
        "wrapper",
        "yandexid",
        "yandex-id"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "5ea9187a9d7b29fb8ace13d032ec72585604a745fa9c10b094e9b141389af4ea",
                "md5": "1fcb6bd736e12957f8277b8a3aa527c1",
                "sha256": "67dbdf53db0d7a84f3f05ed10696f42ec58179b7e374c11d497bcbcc6eac9de8"
            },
            "downloads": -1,
            "filename": "yaidng-24.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1fcb6bd736e12957f8277b8a3aa527c1",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 15608,
            "upload_time": "2024-02-07T13:51:14",
            "upload_time_iso_8601": "2024-02-07T13:51:14.918199Z",
            "url": "https://files.pythonhosted.org/packages/5e/a9/187a9d7b29fb8ace13d032ec72585604a745fa9c10b094e9b141389af4ea/yaidng-24.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f20c449b10081ec6f0469852b4bfe147e901e556a230be19d9959ec19f7fb802",
                "md5": "1d721f851595e62373217c2a69be796a",
                "sha256": "c3eebee6f73b239c545ae0c4c382b101c2cac6afe3fbd4184c5664acbb67c9bf"
            },
            "downloads": -1,
            "filename": "yaidng-24.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1d721f851595e62373217c2a69be796a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 10094,
            "upload_time": "2024-02-07T13:51:16",
            "upload_time_iso_8601": "2024-02-07T13:51:16.807725Z",
            "url": "https://files.pythonhosted.org/packages/f2/0c/449b10081ec6f0469852b4bfe147e901e556a230be19d9959ec19f7fb802/yaidng-24.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-07 13:51:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "LulzLoL231",
    "github_project": "yandexid",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "yaidng"
}
        
Elapsed time: 2.24870s