# Python-клиент для Mirapolis Virtualroom
## Клиент находится в разработке!
### Особенности
Клиент полностью асинхронный с поддержкой валидации Pydantic. Требуется Python 3.12 или выше. Основан на `aiohttp` и `pydantic`.
> Сделан на основе [официальной документации](https://support.mirapolis.ru/mira-support/#&step=1&name=%5B01004%5D%5BИнструкция%5D%5BОписание+API%5D%5BUSER%5D%5BF%5D%5B2_44%5D&doaction=Go&s=IZ8RV4AEFDzTTMKY9PgS&id=69&type=mediapreview).
### Установка
```console
$ pip install mirapolis-virtualroom
```
### Использование
```Python
from mirapolis_virtualroom.virtualroom_api import VirtualRoom
import asyncio
import logging
# Инициализация клиента
mirapolis_api = VirtualRoom(
app_id="test",
secret_key="secret_key",
base_link="https://v1234.vr.mirapolis.ru/mira"
)
async def main():
# Получение списка мероприятий
measures = await mirapolis_api.get_measures(
limit=10, # Количество на одной странице
offset=40, # Сдвиг страницы
)
for measure in measures:
# Полный вывод
print(repr(measure))
# Краткий вывод (строка)
print(measure)
# Получение названия
print(measure.mename)
# Получение общего количества мероприятий
print(f"{measures.count=}")
if __name__ == '__main__':
logging.basicConfig(level="INFO")
asyncio.run(main())
```
Raw data
{
"_id": null,
"home_page": "https://github.com/gulyaeve/mirapolis_virtualroom",
"name": "mirapolis-virtualroom",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.12",
"maintainer_email": null,
"keywords": "mirapolis, virtualroom",
"author": "gulyaeve",
"author_email": "gulyaev.e@icloud.com",
"download_url": "https://files.pythonhosted.org/packages/c1/29/212a8fb2f933752ae71f9a534bf1118323df709431d3f0ceb837b150ae1b/mirapolis_virtualroom-0.2.9.tar.gz",
"platform": null,
"description": "# Python-\u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043b\u044f Mirapolis Virtualroom\n\n## \u041a\u043b\u0438\u0435\u043d\u0442 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435!\n\n### \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438\n\n\u041a\u043b\u0438\u0435\u043d\u0442 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u044b\u0439 \u0441 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u043e\u0439 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438 Pydantic. \u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f Python 3.12 \u0438\u043b\u0438 \u0432\u044b\u0448\u0435. \u041e\u0441\u043d\u043e\u0432\u0430\u043d \u043d\u0430 `aiohttp` \u0438 `pydantic`.\n> \u0421\u0434\u0435\u043b\u0430\u043d \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 [\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438](https://support.mirapolis.ru/mira-support/#&step=1&name=%5B01004%5D%5B\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f%5D%5B\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435+API%5D%5BUSER%5D%5BF%5D%5B2_44%5D&doaction=Go&s=IZ8RV4AEFDzTTMKY9PgS&id=69&type=mediapreview).\n\n### \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\n```console\n$ pip install mirapolis-virtualroom\n```\n\n### \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n```Python\nfrom mirapolis_virtualroom.virtualroom_api import VirtualRoom\nimport asyncio\nimport logging\n\n\n# \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430\nmirapolis_api = VirtualRoom(\n app_id=\"test\",\n secret_key=\"secret_key\",\n base_link=\"https://v1234.vr.mirapolis.ru/mira\"\n)\n\n\nasync def main():\n # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439\n measures = await mirapolis_api.get_measures(\n limit=10, # \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435\n offset=40, # \u0421\u0434\u0432\u0438\u0433 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b\n )\n for measure in measures:\n # \u041f\u043e\u043b\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434\n print(repr(measure))\n # \u041a\u0440\u0430\u0442\u043a\u0438\u0439 \u0432\u044b\u0432\u043e\u0434 (\u0441\u0442\u0440\u043e\u043a\u0430)\n print(measure)\n # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\n print(measure.mename)\n # \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043e\u0431\u0449\u0435\u0433\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u043c\u0435\u0440\u043e\u043f\u0440\u0438\u044f\u0442\u0438\u0439\n print(f\"{measures.count=}\")\n\n\nif __name__ == '__main__':\n logging.basicConfig(level=\"INFO\")\n asyncio.run(main())\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python API Client for Mirapolis VirtualRoom. Based on original documentation. Uses Pydantic and aiohttp.",
"version": "0.2.9",
"project_urls": {
"Homepage": "https://github.com/gulyaeve/mirapolis_virtualroom",
"Repository": "https://github.com/gulyaeve/mirapolis_virtualroom"
},
"split_keywords": [
"mirapolis",
" virtualroom"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "769dab547378e478a0c24f79398c20ec4c16a4ce5e3946e04c719b852db94e0c",
"md5": "437b4b2f6f7f2e57134ba45a7e3de576",
"sha256": "18ba27d882f582f7c27c6cad32d2e45140b7ac088c7bca27503e01b24110a564"
},
"downloads": -1,
"filename": "mirapolis_virtualroom-0.2.9-py3-none-any.whl",
"has_sig": false,
"md5_digest": "437b4b2f6f7f2e57134ba45a7e3de576",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.12",
"size": 7973,
"upload_time": "2024-08-20T19:50:57",
"upload_time_iso_8601": "2024-08-20T19:50:57.086033Z",
"url": "https://files.pythonhosted.org/packages/76/9d/ab547378e478a0c24f79398c20ec4c16a4ce5e3946e04c719b852db94e0c/mirapolis_virtualroom-0.2.9-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c129212a8fb2f933752ae71f9a534bf1118323df709431d3f0ceb837b150ae1b",
"md5": "45d06e045c683493b08f28d411b6eb84",
"sha256": "223480222e1cad8159a142abdb2ec030621cf84aa6023de2897921c344b5a1ac"
},
"downloads": -1,
"filename": "mirapolis_virtualroom-0.2.9.tar.gz",
"has_sig": false,
"md5_digest": "45d06e045c683493b08f28d411b6eb84",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.12",
"size": 7436,
"upload_time": "2024-08-20T19:50:59",
"upload_time_iso_8601": "2024-08-20T19:50:59.128616Z",
"url": "https://files.pythonhosted.org/packages/c1/29/212a8fb2f933752ae71f9a534bf1118323df709431d3f0ceb837b150ae1b/mirapolis_virtualroom-0.2.9.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-20 19:50:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "gulyaeve",
"github_project": "mirapolis_virtualroom",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "mirapolis-virtualroom"
}