yandexid


Nameyandexid JSON
Version 0.3.1 PyPI version JSON
download
home_pagehttps://github.com/LulzLoL231/yandexid
SummaryYandex ID oauth API wrapper
upload_time2023-01-24 16:58:39
maintainer
docs_urlNone
authorMaxim Mosin
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.10+.
Поддерживает асинхронную работу.

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

## Установка

1. С помощью pip:
    
    ```bash
    pip install yandexid
    ```

2. С помощью pip+git:
    
    ```bash
    pip install https://github.com/LulzLoL231/yandexid.git
    ```

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": "yandexid",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10,<4.0",
    "maintainer_email": "",
    "keywords": "yandex,oauth,api,wrapper,yandexid,yandex-id",
    "author": "Maxim Mosin",
    "author_email": "max@mosin.pw",
    "download_url": "https://files.pythonhosted.org/packages/37/b8/754fc6569065dbdb37d31fe8abc9a492fb77cf739b1eff4aebcdd4288e31/yandexid-0.3.1.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.10+.\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 yandexid\n    ```\n\n2. \u0421 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip+git:\n    \n    ```bash\n    pip install https://github.com/LulzLoL231/yandexid.git\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",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Yandex ID oauth API wrapper",
    "version": "0.3.1",
    "split_keywords": [
        "yandex",
        "oauth",
        "api",
        "wrapper",
        "yandexid",
        "yandex-id"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c2e781170766cd29a2360dffb5a415b83f170a05b2828153384fac0a6350572a",
                "md5": "be4f76501d53009da0e7eb7f5e6f9948",
                "sha256": "72639cc01a1885b8ee99c9534883325b9d09b5e6fdb7dd91362ac75154b6902b"
            },
            "downloads": -1,
            "filename": "yandexid-0.3.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "be4f76501d53009da0e7eb7f5e6f9948",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10,<4.0",
            "size": 15641,
            "upload_time": "2023-01-24T16:58:38",
            "upload_time_iso_8601": "2023-01-24T16:58:38.074227Z",
            "url": "https://files.pythonhosted.org/packages/c2/e7/81170766cd29a2360dffb5a415b83f170a05b2828153384fac0a6350572a/yandexid-0.3.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "37b8754fc6569065dbdb37d31fe8abc9a492fb77cf739b1eff4aebcdd4288e31",
                "md5": "7dee5f1df51083ca7c702994eaf5b318",
                "sha256": "5328f18dc6678c72dabf5045e6763f29d194fcc225a35e448dbe04d308c7998e"
            },
            "downloads": -1,
            "filename": "yandexid-0.3.1.tar.gz",
            "has_sig": false,
            "md5_digest": "7dee5f1df51083ca7c702994eaf5b318",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10,<4.0",
            "size": 10382,
            "upload_time": "2023-01-24T16:58:39",
            "upload_time_iso_8601": "2023-01-24T16:58:39.234291Z",
            "url": "https://files.pythonhosted.org/packages/37/b8/754fc6569065dbdb37d31fe8abc9a492fb77cf739b1eff4aebcdd4288e31/yandexid-0.3.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-01-24 16:58:39",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "LulzLoL231",
    "github_project": "yandexid",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "yandexid"
}
        
Elapsed time: 0.03424s