{ "info": { "author": "Oleg Yurchik", "author_email": "oleg.yurchik@protonmail.com", "bugtrack_url": null, "classifiers": [], "description": "# botovod\n[![MIT license](https://img.shields.io/badge/license-MIT-blue.svg)](\nhttps://github.com/OlegYurchik/botovod/blob/master/LICENSE)\n[![built with Python3](https://img.shields.io/badge/built%20with-Python3-red.svg)](\nhttps://www.python.org/)\n[![paypal](https://img.shields.io/badge/-PayPal-blue.svg)](\nhttps://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=QEZ85BDKJCM4E)\n## Description\nThis is a simple and easy-to-use library for interacting with the Instagram. The library works\nthrough the web interface of the Instagram and does not depend on the official API\n\n# **NOT UPDATED INFORMATION**\n\nContents\n=================\n* [Release Notes](#release-notes)\n * [0.1.4](#version-0-1-4)\n * [0.1.5](#version-0-1-5)\n * [0.1.6](#version-0-1-6)\n * [0.1.7](#version-0-1-7)\n * [0.1.8](#version-0-1-8)\n* [Getting Started](#getting-started)\n * [Installation from Pip](#installation-from-pip)\n * [Installation from GitHub](#installation-from-github)\n * [Quick Start](#quick-start)\n* [User Guide](#user-guide)\n * [What is Botovod](#what-is-botovod)\n * [What is Agent](#what-is-agent)\n* [Documentation](#documentation)\n * [botovod](#botovod)\n * [botovod.AgentDict](#botovod-agentdict)\n * [botovod.Botovod](#botovod-botovod)\n * [botovod.agents](#botovod-agents)\n * [botovod.agents.Agent](#botovod-agents-agent)\n * [botovod.agents.Entity](#botovod-agents-entity)\n * [botovod.agents.Chat](#botovod-agents-chat)\n * [botovod.agents.Message](#botovod-agents-message)\n * [botovod.agents.Attachment](#botovod-agents-attachment)\n * [botovod.agents.Image](#botovod-agents-image)\n * [botovod.agents.Audio](#botovod-agents-audio)\n * [botovod.agents.Video](#botovod-agents-video)\n * [botovod.agents.Document](#botovod-agents-document)\n * [botovod.agents.Location](#botovod-agents-location)\n * [botovod.agents.Keyboard](#botovod-agents-keyboard)\n * [botovod.agents.KeyboardButton](#botovod-agents-keyboardbutton)\n * [botovod.agents.telegram](#botovod-agents-telegram)\n * [botovod.agents.telegram.TelegramAgent](#botovod-agents-telegram-telegramagent)\n * [botovod.agents.telegram.TelegramAttachment](#botovod-agents-telegram-telegramattachment)\n * [botovod.agents.telegram.TelegramMessage](#botovod-agents-telegram-telegrammessage)\n * [botovod.agents.telegram.TelegramAudio](#botovod-agents-telegram-telegramaudio)\n * [botovod.agents.telegram.TelegramDocument](#botovod-agents-telegram-telegramdocument)\n * [botovod.agents.telegram.TelegramPhotoSize](#botovod-agents-telegram-telegramphotosize)\n * [botovod.agents.telegram.TelegramVideo](#botovod-agents-telegram-telegramvideo)\n * [botovod.agents.telegram.TelegramLocation](#botovod-agents-telegram-telegramlocation)\n * [botovod.agents.vk](#botovod-agents-vk)\n * [botovod.dbdrivers](#botovod-dbdrivers)\n * [botovod.dbdrivers.Follower](#botovod-dbdrivers-follower)\n * [botovod.dbdrivers.DBDriver](#botovod-dbdrivers-dbdriver)\n * [botovod.dbdrivers.django](#botovod-dbdrivers-django)\n * [botovod.dbdrivers.sqlalchemy](#botovod-dbdrivers-sqlalchemy)\n * [botovod.dialogs](#botovod-dialogs)\n * [botovod.dialogs.Dialog](#botovod-dialogs-dialog)\n* [Handlers](#handlers)\n* [Examples](#examples)\n* [Help the author](#help-the-author)\n * [Contribute repo](#contribute-repo)\n * [Donate](#donate)\n## Release Notes\n### Version 0.1.4\n* Add new dbdriver - Gino\n* Fix bugs\n### Version 0.1.5\n* Add new methods for telegram Agent\n* Add emoji\n### Version 0.1.6\n* Fix gino getting follower\n* Adding item assignments for Botovod objects\n### Version 0.1.7\n* Add new features for telegram agent\n* Add start_dialog and start_async_dialog functions\n* Fix gino driver bugs\n### Version 0.1.8\n* Fix utils handlers\n* Add new methods for telegram\n* Optimize interaction with DB\n## Getting Started\n### Installation from Pip\nFor installation botovod library from pip you should have pip with python (prefer python3.6 or\nlater)\n```bash\npip install botovod\n```\n### Installation from GitHub\nTo basic installation from GitHub repository you should have git, python3 (prefer python3.6 or\nlater), pip (optionally) in your system\n```bash\ngit clone https://github.com/OlegYurchik/botovod.git\ncd botovod\npip install .\n```\nor\n```bash\ngit clone https://github.com/OlegYurchik/botovod.git\ncd botovod\npython setup.py install\n```\n### Quick Start\nAfter installation, you can use the library in your code. Below is a sneak example of using the\nlibrary\n```python3\nfrom botovod import Botovod\nfrom botovod.agents.telegram import TelegramAgent\n\n\ndef echo(agent, chat, messsage):\n agent.send_message(chat, text=message.text)\n\n\nbotovod = Botovod()\nbotovod.handlers.append(echo)\n\ntelegram_agent = TelegramAgent(token=\"your-telegram-token\", method=\"polling)\nbotovod.agents[\"telegram\"] = telegram_agent\n\nbotovod.start()\n```\nThis code setup and run Telegram echo-bot by polling\n```python3\nfrom botovod import Botovod\nfrom botovod.agents.telegram import TelegramAgent\nfrom botovod.dbdrivers.sqlalchemy import DBDriver\nfrom botovod.dialogs import Dialog\n\n\nclass RegisterDialog(Dialog):\n def start(self):\n self.reply(text=\"Hello, my friend!\")\n self.reply(text=\"What is your name?\")\n self.set_next_step(self.what_name)\n\n def what_name(self):\n name = self.message.text\n self.follower.set_value(\"name\", name)\n self.reply(text=\"Nice to meet you, %s. What would you want?\" % name)\n self.set_next_step(self.menu)\n\n def menu(self):\n pass\n # your code\n\n\nbotovod = Botovod(DBDriver(engine=\"sqlite\", database=\"file.mdb\"))\nbotovod.handlers.append(RegisterDialog)\n\ntelegram_agent = TelegramAgent(token=\"your-telegram-token\")\nbotovod.agents[\"telegram\"] = telegram_agent\n\nbotovod.start()\n```\nThis code setup and run telegram code which working with database and followers\n## Documentation\n### botovod\n**package botovod**\n### botovod.AgentDict\n**class botovod.AgentDict**\n#### Attributes\n* botovod: botovod.Botovod\n\nBotovod object\n#### Methods\n* \\_\\_init\\_\\_(self, botovod: botovod.Botovod)\n\nConstructor for AgentDict\n* \\_\\_setitem\\_\\_(self, key: str, value: botovod.agents.Agent)\n\nSetting agents like a dict\n\n* \\_\\_delitem\\_\\_(self, key: str)\n\nDeleting agents like a dict\n### botovod.Botovod\n**class botovod.Botovod**\n#### Attributes\n* dbdriver: botovod.dbdrivers.DBDriver or None\n\nDriver for working with database (for save data about followers and dialogs)\n* agents: botovod.AgentDict\n\nDictionary for bots agents\n* handlers: list\n\nList with message and event handlers\n* logger: logging.Logger\nLogger\n#### Methods\n* \\_\\_init\\_\\_(self, dbdriver: (DBDriver, None)=None, logger:\nlogging.Logger=logging.getLogger(__name__))\n\nThis method initial botovod object\n* start(self)\n\nStarting all agents in botovod\n* a_start(self)\n\nCoroutine. Starting all agents in botovod\n* stop(self)\n\nStopping all agents in botovod\n* a_stop(self)\n\nCoroutine. Stopping all agents in botovod\n* listen(selfname: str, headers: dict, body: string) -> (int, dict, str) or None\n\nMethod, providing for webservers for listening requests from messengers servers and handle it.\n* a_listen(self, name: str, headers: dict, body: string) -> (int, dict, str} or None\n\nCoroutine, providing for webservers for listening requests from messengers servers and handle it.\n### botovod.agents\n**package botovod.agents**\n### botovod.agents.Agent\n**class botovod.agent.Agent**\n#### Attributes\n* botovod: botovod.Botovod\n\nBotovod object\n* name: str\n\nAgent name in botovod\n* running: bool\n\nVaribale which True if agent is running else False\n* logger: logging.Logger\n\nLogger\n#### Methods\n* \\_\\_init\\_\\_(self, logger: logging.Logger=logging.getLogger(__name__)):\n\nAgent constructor\n* \\_\\_repr\\_\\_(self) -> str\n\nReturning name of class\n* listen(self, headers: dict, body: string) -> (int, dict, str) or None:\n\nMethod for getting requests from agent messenger and handle it\n* a_listen(self, headers: dict, body: string) -> (int, dict, str) or None:\n\nCoroutine for getting requests from agent messenger and handler it\n* start(self):\n\nAbstract method for run agent\n* a_start(self):\n\nAbstract coroutine for run agent\n* stop(self):\n\nAbstract method for stop agent\n* a_stop(self):\n\nAbstract coroutine for stop agent\n* parser(self, headers: dict, body: str) -> list[tuple(Chat, Message))\n\nAbstract method for parsing request and return list[tuple(Chat, Message))\n* a_parser(self, headers: dict, body: str) -> list[tuple(Chat, Message)]\n\nAbstract coroutine for parsing request and return list[tuple(Chat, Message)]\n* responser(self, headers: dict, body: str) -> (int, dict, str)\n\nAbstract method who return tuple with info for response to messenger\n* a_responser(self, headers: dict, body: str) -> (int, dict, str)\n\nAbstract coroutine who return tuple with info for response to messenger\n* send_message(self, chat: botovod.agents.Chat, text: str or None=None, images: Iterator of\nbotovod.agents.Image=[], audios: Iterator of botovod.agents.Audio]=[], documents: Iterator of\nbotovod.agents.Document=[], videos: Iterator of botovod.agents.Video=[], locations: Iterator of\nbotovod.agents.Location=[], keyboard: botovod.agents.Keyboard or None=None, raw: dict or None=None)\n\nAbstract method for sending message\n* a_send_message(self, chat: botovod.agents.Chat, text: str or None=None, images: Iterator of\nbotovod.agents.Image=[], audios: Iterator of botovod.agents.Audio]=[], documents: Iterator of\nbotovod.agents.Document=[], videos: Iterator of botovod.agents.Video=[], locations: Iterator of\nbotovod.agents.Location=[], keyboard: botovod.agents.Keyboard or None=None, raw: dict or None=None)\n\nAbstract coroutine for sending message\n### botovod.agents.Entity\n**class botovod.agents.Entity**\n#### Attributes\n* raw: dict\n\nDictonary with additional information\n#### Methods\n* \\_\\_init\\_\\_(self)\n\nConstructor for Entity\n### botovod.agents.Chat\n**class botovod.agents.Chat(botovod.agents.Entity)**\n#### Attributes\n* agent: botovod.agents.Agent\n\nAgent for this Chat\n* id: str\n\nChat ID for this messenger\n#### Nethods\n* \\_\\_init\\_\\_(self, agent: botovod.agents.Agent, id: str)\n\nChat constructor\n### botovod.agents.Message\n**class botovod.agents.Message(botovod.agents.Entity)**\n#### Attributes\n* text: str or None\n\nMessage text\n* images: list of botovod.agents.Image\n\nMessage images\n* audios: list of botovod.agents.Audio\n\nMessage audios\n* videos: list of botovod.agents.Video\n\nMessage videos\n* documents: list of botovod.agents.Document\n\nMessage documents\n* locations: list of botovod.agents.Location\n\nMessage locations\n* date: datetime.datetime\n\nDate and time of message recieved\n#### Methods\n* \\_\\_init\\_\\_(self)\n\nMessage constructor\n### botovod.agents.Attachment\n**class botovod.agents.Attachment(botovod.agents.Entity)**\n#### Attributes\n* url: str or None\n\nURL for attachment\n* file: str or None\n\nFile path in hard disk to attachment\n### botovod.agents.Image\n**class botovod.agents.Image(botovod.agents.Attachment)**\n### botovod.agents.Audio\n**class botovod.agents.Audio(botovod.agents.Attachment)**\n### botovod.agents.Video\n**class botovod.agents.Video(botovod.agents.Attachment)**\n### botovod.agents.Document\n**class botovod.agents.Document(botovod.agents.Attachment)**\n### botovod.agents.Location\n**class botovod.agents.Location(botovod.agents.Entity)**\n#### Attributes\n* latitude: float\n\nLocation latitude\n* longitude: float\n\nLocation longitude\n#### Methods\n* \\_\\_init\\_\\_(self, latitude: float, longitude: float)\n\nLocation constructor\n### botovod.agents.Keyboard\n**class botovod.agents.Keyboard(botovod.agents.Entity)**\n#### Attributes\n* buttons: Iterator of botovod.agents.KeyboardButton\n\nbuttons for Keyboard\n#### Methods\n* \\_\\_init\\_\\_(self, *butons: Iterator of botovod.agents.KeyboardButton)\n\nKeyboard constructor\n### botovod.agents.KeyboardButton\n**class botovod.agents.KeyboardButton**\n#### Attributes\n* text: str\n\nButton text\n#### Methods\n* \\_\\_init\\_\\_(self, text: str)\n\nKeyboardButton constructor\n### botovod.dbdrivers\n**package botovod.dbdrivers**\n### botovod.dbdrivers.DBDriver\n**class botovod.dbdrivers.DBDriver**\n### botovod.dbdrivers.Follower\n**class botovod.dbdrivers.Follower**\n### botovod.dialogs\n**module botovod.dialogs**\n### botovod.dialogs.Dialog\n**class botovod.dialogs.Dialog**\n#### Attributes\n* agent: botovod.agents.Agent\n\nAgent which get message\n* chat: botovod.agents.Chat\n\nChat\n* message: botovod.agents.Message\n\nMessage\n* follower: botovod.dbdrivers.Folower\n\nFollower\n#### Methods\n* \\_\\_init\\_\\_(self, agent: botovod.agents.Agent, chat: botovod.agents.Chat, message:\nbotovod.agents.Message)\n\nConstructor for creating dialog object\n* \\_\\_new\\_\\_(self, agent: botovod.agents.Agent, chat: botovod.agents.Chat, message:\nbotovod.agents.Message)\n\nMethod for handling request\n* reply(self, text: str or None=None, images: Iterator of botovod.agents.Image=[],\naudios: Iterator of botovod.agents.Audio=[], documents: Iterator of botovod.agents.Document=[],\nvideos: Iterator of botovod.agents.Video=[], locations: Iterator of botovod.agents.Location=[],\nkeyboard: botovod.agents.Keyboard or None=None, raw=None)\n\nMethod for replying to message\n* a_reply(self, text: str or None=None, images: Iterator of botovod.agents.Image=[],\naudios: Iterator of botovod.agents.Audio=[], documents: Iterator of botovod.agents.Document=[],\nvideos: Iterator of botovod.agents.Video=[], locations: Iterator of botovod.agents.Location=[],\nkeyboard: botovod.agents.Keyboard or None=None, raw=None)\n\nCorotuine for replying to message\n* set_next_step(self, function: Callable)\n\nMethod for setting next function for handling message in dialog\n* a_set_next_step(self, function: Callable)\n\nCoroutine for setting next function for handling message in dialog\n* start(self)\n\nAbstract method or coroutine for handling first message from request\n=================\n## Message\n\nclass botovod.Message\n\n* __init__()\n\nMessage constructor, create fields:\n- text - Message text\n- images - List of images\n- audios - List of audios\n- videos - List of videos\n- documents - List of documents\n- locations - List of locations\n\n## Attachment\n\nclass botovod.Attachment\n\nFields:\n- url - Url for getting file\n- file_path - File in local disk\n\nClasses Image, Audio, Video and Document is a subclass of Attchment and has no extensions\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/OlegYurchik/botovod", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "botovod", "package_url": "https://pypi.org/project/botovod/", "platform": "", "project_url": "https://pypi.org/project/botovod/", "project_urls": { "Homepage": "https://github.com/OlegYurchik/botovod" }, "release_url": "https://pypi.org/project/botovod/0.1.8/", "requires_dist": [ "aiofiles", "aiohttp", "requests" ], "requires_python": "", "summary": "", "version": "0.1.8" }, "last_serial": 5914806, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "14d6701e6aa9db33d8006cc8cd422fa4", "sha256": "59f4a0ad9930384b9aefc751f46be0d6065e03786c4975016a0ccd9e62e45905" }, "downloads": -1, "filename": "botovod-0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "14d6701e6aa9db33d8006cc8cd422fa4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17295, "upload_time": "2019-07-07T19:29:09", "url": "https://files.pythonhosted.org/packages/3b/9e/1407a7eddd22fc3e76d351734e88adf0933928d9875b351777fa1ec65c65/botovod-0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2587cdeea5bc753e2cf4d0cf36a7c7ed", "sha256": "2721ebc0f11a8c84e77696551448ec2733b43749b704a51b3241fa73e508a48b" }, "downloads": -1, "filename": "botovod-0.1.tar.gz", "has_sig": false, "md5_digest": "2587cdeea5bc753e2cf4d0cf36a7c7ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13293, "upload_time": "2019-07-07T19:29:11", "url": "https://files.pythonhosted.org/packages/cf/2c/5b4a2d85cef34738977c8528b30bac581a75093e43ad2dad1bfee5b19fd4/botovod-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "dc5f656e06e037089c003123f9acea66", "sha256": "cb3a56b42579ec8805bff9615fa609e0c6461e29081b4ab7ccac42d1dad85461" }, "downloads": -1, "filename": "botovod-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dc5f656e06e037089c003123f9acea66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19114, "upload_time": "2019-07-10T12:53:42", "url": "https://files.pythonhosted.org/packages/1c/8b/7bc654ff1aa37089c9e5de4cf24043a65479c3c752e631136063a07dccf4/botovod-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "580e2a2ef33322beb19ba527a9a24e66", "sha256": "9e62fd9a7ab769c92b168e031bf93b2a11614f22e19c5f0d5ee08bad09f7f9f3" }, "downloads": -1, "filename": "botovod-0.1.1.tar.gz", "has_sig": false, "md5_digest": "580e2a2ef33322beb19ba527a9a24e66", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15342, "upload_time": "2019-07-10T12:53:44", "url": "https://files.pythonhosted.org/packages/27/a6/ad7171ade3244425b26d02625d59413ace686fc5e4f84af523ac9b80e9fb/botovod-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2357ce9a9430f0655cd28cf570694ac0", "sha256": "140cb81b319dbffda4d3e4c73d7267d9d8099c045e3a49e3af8b21b9fab97a5e" }, "downloads": -1, "filename": "botovod-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2357ce9a9430f0655cd28cf570694ac0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19123, "upload_time": "2019-07-10T15:24:29", "url": "https://files.pythonhosted.org/packages/0d/72/1b3f74facab0da3c228cf3b2a4ce4bc2fd443d0a1b26bacf03114bef6289/botovod-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e36e31aba736d7518b1e5f35ed09784f", "sha256": "6b94f3223222dea69620a4b720d9a2c9f62eaddb88b921b8d7292473cdc1939d" }, "downloads": -1, "filename": "botovod-0.1.2.tar.gz", "has_sig": false, "md5_digest": "e36e31aba736d7518b1e5f35ed09784f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15340, "upload_time": "2019-07-10T15:24:31", "url": "https://files.pythonhosted.org/packages/57/fa/85e03f671b92380dd430149ac475a959329de4d727948f87834e7ab5461c/botovod-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "247cf03195d474329b48cd2bf45c1318", "sha256": "739ee5a0cef7fdc6a613fa76920816ebc3e3a28800400f36bb090e79730091f7" }, "downloads": -1, "filename": "botovod-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "247cf03195d474329b48cd2bf45c1318", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 21219, "upload_time": "2019-07-16T13:14:37", "url": "https://files.pythonhosted.org/packages/ef/38/7d8d0d1ec3ab5372ccdae2b6b6186b7b2f07390a7370bf50afa0502c9a2b/botovod-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "647cd65c7648542def0af0a78b39d336", "sha256": "b30c9374c783401db400fdcc4a958bc47168a9bbf6a4bab66c9036c5e851081d" }, "downloads": -1, "filename": "botovod-0.1.3.tar.gz", "has_sig": false, "md5_digest": "647cd65c7648542def0af0a78b39d336", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19564, "upload_time": "2019-07-16T13:14:39", "url": "https://files.pythonhosted.org/packages/c4/e2/ef8c26e12324d16a8f32ab6f60aa62edc5cbdb88385c2b95d2f250c3ab70/botovod-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "0e634110a1302c0c6909c854a30e3765", "sha256": "75d3b1eff47b880d1ec4d7c1b64b486dac58b488d9ac972bd4d062f959c9abbe" }, "downloads": -1, "filename": "botovod-0.1.4-py2-none-any.whl", "has_sig": false, "md5_digest": "0e634110a1302c0c6909c854a30e3765", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 23371, "upload_time": "2019-07-28T06:27:11", "url": "https://files.pythonhosted.org/packages/64/ef/5960bdc27de930358e448ab43d97fcef3c22b326cd201642352c4d43e96f/botovod-0.1.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "854be516c9b945738f87a802bad7cee8", "sha256": "48738868037e1f77f0642231e3690044faa630a0b949cdaa2431daf8f77e6b39" }, "downloads": -1, "filename": "botovod-0.1.4.tar.gz", "has_sig": false, "md5_digest": "854be516c9b945738f87a802bad7cee8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17379, "upload_time": "2019-07-28T06:27:13", "url": "https://files.pythonhosted.org/packages/d1/f4/549a0f2cc243b5c7fb61fb0695afb74e618a32e5abd77a60b6dbf4f33f41/botovod-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e29cadb95e4c1c0ef2bcae93d5560e59", "sha256": "668f76295088e0a50d96313d8ff23c6ef4d827e43e25fd27bff487e73df39688" }, "downloads": -1, "filename": "botovod-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e29cadb95e4c1c0ef2bcae93d5560e59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41091, "upload_time": "2019-09-05T15:20:00", "url": "https://files.pythonhosted.org/packages/67/28/32b6d6c7ebc985e48e42244f71b82f2b094eab84d86f33d7c1991e648440/botovod-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "523e94991fe9f900e615c4bf8606cb77", "sha256": "e1d5d0d89b9d5a24cf46dbc21e9f0d70bb8073cda4fa0174e918d3468f664e98" }, "downloads": -1, "filename": "botovod-0.1.5.tar.gz", "has_sig": false, "md5_digest": "523e94991fe9f900e615c4bf8606cb77", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40060, "upload_time": "2019-09-05T15:20:03", "url": "https://files.pythonhosted.org/packages/cc/db/cf288de08124e0bafe533772b000d60213c3b3f5566124efd41a68f6f6fd/botovod-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "a7df9a7dd5040a2fb337e37caff60870", "sha256": "1da64dbcc34fee564f05d7cd67d1e933fdaae6e06ce06b879ef467ff2624aa6e" }, "downloads": -1, "filename": "botovod-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "a7df9a7dd5040a2fb337e37caff60870", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41160, "upload_time": "2019-09-05T15:21:05", "url": "https://files.pythonhosted.org/packages/7e/67/9be40ea4706d4a0408aeb67e6dcd8eb8f82eac89b6a3e6c8f1bee5c510d3/botovod-0.1.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3588dffd3666bbe108510ed78264a810", "sha256": "5d2d8b201b71e8aa467210292df03cc9ba85d9d210879d2f773b8d42cb0334d0" }, "downloads": -1, "filename": "botovod-0.1.6.tar.gz", "has_sig": false, "md5_digest": "3588dffd3666bbe108510ed78264a810", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40125, "upload_time": "2019-09-05T15:21:07", "url": "https://files.pythonhosted.org/packages/0b/d0/5927a45175b5b1a1550b4ac84d425d584272e7e77732d448546dd79970d2/botovod-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "a424175e8e828cb9959de6a72d5ee14b", "sha256": "79cd2f4fc15eee81892630d94ce277298e8d466c55714027a94014ce8effa5e1" }, "downloads": -1, "filename": "botovod-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "a424175e8e828cb9959de6a72d5ee14b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 41542, "upload_time": "2019-09-24T10:19:44", "url": "https://files.pythonhosted.org/packages/e7/57/c6638181d5a90ce22c4e65eeb3829674325a6c98d5fb9d62e2d145968e1c/botovod-0.1.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ccdbb30d91ab474c8d8840d88c99d2d3", "sha256": "eeb6c1a155978a83b523af35b1252f6785d761b395e0e2f73e91d98092547256" }, "downloads": -1, "filename": "botovod-0.1.7.tar.gz", "has_sig": false, "md5_digest": "ccdbb30d91ab474c8d8840d88c99d2d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 40591, "upload_time": "2019-09-24T10:19:46", "url": "https://files.pythonhosted.org/packages/cd/8a/e47c7f4ae2dfe2d2076964bf8495cab6f2c11227bb5394170bdc85023c7a/botovod-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "e73e345ed57f750c34c01e0b43073316", "sha256": "d72085eb1af2ca18fa569c915c8e7ee485224bdd1173cca0abfd882978f1f57b" }, "downloads": -1, "filename": "botovod-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e73e345ed57f750c34c01e0b43073316", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42675, "upload_time": "2019-10-01T20:46:52", "url": "https://files.pythonhosted.org/packages/ce/0b/3707328650062af7c7339e504c155359b5e9917804e3fc6cb57b878872b9/botovod-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46763d345001e949876f3ee5297e327b", "sha256": "65abf9bd0dcdf0b37faf7e1fd8decf4a72b68d4e534fc1f307dbbf4a598de148" }, "downloads": -1, "filename": "botovod-0.1.8.tar.gz", "has_sig": false, "md5_digest": "46763d345001e949876f3ee5297e327b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41744, "upload_time": "2019-10-01T20:46:54", "url": "https://files.pythonhosted.org/packages/f4/c1/349d997a07b91ae2ae03a256ebe27ce0d3ae1f4972760a3242a9118192ab/botovod-0.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "e73e345ed57f750c34c01e0b43073316", "sha256": "d72085eb1af2ca18fa569c915c8e7ee485224bdd1173cca0abfd882978f1f57b" }, "downloads": -1, "filename": "botovod-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "e73e345ed57f750c34c01e0b43073316", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 42675, "upload_time": "2019-10-01T20:46:52", "url": "https://files.pythonhosted.org/packages/ce/0b/3707328650062af7c7339e504c155359b5e9917804e3fc6cb57b878872b9/botovod-0.1.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "46763d345001e949876f3ee5297e327b", "sha256": "65abf9bd0dcdf0b37faf7e1fd8decf4a72b68d4e534fc1f307dbbf4a598de148" }, "downloads": -1, "filename": "botovod-0.1.8.tar.gz", "has_sig": false, "md5_digest": "46763d345001e949876f3ee5297e327b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 41744, "upload_time": "2019-10-01T20:46:54", "url": "https://files.pythonhosted.org/packages/f4/c1/349d997a07b91ae2ae03a256ebe27ce0d3ae1f4972760a3242a9118192ab/botovod-0.1.8.tar.gz" } ] }