{ "info": { "author": "Andrew Michaud", "author_email": "bots@mail.andrewmichaud.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX :: BSD :: FreeBSD", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries", "Typing :: Typed" ], "description": "botskeleton\n=============\n\n| |BSD3 License|\n\n| |Build Status|\n\n| |Coverage Status|\n\n| |Issue Count|\n\n.. image:: https://badge.fury.io/py/botskeleton.svg\n :target: https://badge.fury.io/py/botskeleton\n\n.. image:: https://badge.waffle.io/alixnovosi/botskeleton.png?label=ready&title=Ready\n :target: https://waffle.io/alixnovosi/botskeleton\n :alt: 'Stories in Ready'\n\n\n.. |BSD3 License| image:: http://img.shields.io/badge/license-BSD3-brightgreen.svg\n :target: https://tldrlegal.com/license/bsd-3-clause-license-%28revised%29\n.. |Build Status| image:: https://travis-ci.org/alixnovosi/botskeleton.svg?branch=master\n :target: https://travis-ci.org/alixnovosi/botskeleton\n.. |Coverage Status| image:: https://coveralls.io/repos/alixnovosi/botskeleton/badge.svg?branch=master&service=github\n :target: https://coveralls.io/github/alixnovosi/botskeleton?branch=master\n.. |Issue Count| image:: https://codeclimate.com/github/alixnovosi/botskeleton/badges/issue_count.svg\n :target: https://codeclimate.com/github/alixnovosi/botskeleton\n\n=====\nshort\n=====\nskeleton for bot children written in Python.\n\nCreated by Andrew Michaud ahead of #NaBoMaMo 2017\n\n====\nlong\n====\nbotskeleton is a framework for content bots,\nlike `Twitter bots`_\nand `Mastodon bots`_\n\n.. _Twitter bots: https://twitter.com/nonogram_bot/status/1042453809945993216\n.. _Mastodon bots: https://botsin.space/@tree_bot\n\n==========\nPublic API\n==========\nThe public API is contained entirely in botskeleton.py.\n\n===================\n:code:`Botskeleton`\n===================\nThe :code:`BotSkeleton` class is the main object for a bot,\nholding all the send methods and credentials.\nIt MUST be constructed with a `secrets_dir`\n- this is the directory where it will expect credentials,\nand where it will write its history file and log file by default.\nYou may also provide a log_filename (defaults to :code:`SECRETS_DIR/log`),\na bot_name (defaults to \"A bot\"),\na history_filename (defaults to :code:`SECRETS_DIR/bot_name-history.json`),\nand a delay,\nwhich is the time the bot will sleep after posting.\n\nWith a botskeleton,\nyou can send to the outputs in various ways (outputs described later).\nAll methods will generate :code:`IterationRecords`,\nupdate the history,\nand save the history.\n\n===========\nBot Methods\n===========\nThese are methods intended to be used to send bot methods.\n\n-----------------------------------\n:code:`send(self, text, text=TEXT)`\n-----------------------------------\n:code:`send` is a plain text send method.\nIt will send the text to all configured outputs and save the result.\n`text` can be provided either as a positional argument or a keyword one.\n\n---------------------------------------------------------------------------------------------------------\n:code:`send_with_one_media(self, text, filename, caption, text=TEXT, filename=FILENAME, caption=CAPTION)`\n---------------------------------------------------------------------------------------------------------\n:code:`send_with_one_media` will call each output and have them upload the file\n(as dictated by the output),\nand send a message with the provided text and that image.\nIf a caption is provided,\nit will be uploaded alongside the image as appropriate.\nA default caption will be used if none is provided.\n`text`, `filename`, and `caption` can be provided either as positional arguments,\nin which case they MUST be in this order,\nor as keyword ones.\n\n-----------------------------------------------------------------------------------------------------\n:code:`send_with_many_media(self, text, *filenames, text=TEXT, filenames=FILENAMES, caption=CAPTION)`\n-----------------------------------------------------------------------------------------------------\n:code:`send_with_many_media` will call each output and have them upload several files\n(as dictated by the output),\nand send a message with the provided text and those image.\nA current known bug is that the built-in outputs limits how many images they can post at once,\nbut there is no limiting in this method.\nIf you post more than four images with this method,\nyou may see strange results in the outputs.\nIf captions are provided,\nthey will be uploaded alongside the images as appropriate.\nA default caption will be used for all images ifnone is provided,\nand for images with no caption if insufficient captions are provided.\n`text` and `filenames` can be provided either as positional arguments,\nin which case they MUST be in this order,\nor as keyword ones.\n`caption` must be provided as a keyword argument.\n\n-----------------\n:code:`nap(self)`\n-----------------\nSleep for the configured amount of seconds.\n\n------------------------------------------\n:code:`store_extra_info(self, key, value)`\n------------------------------------------\n:code:`store_extra_info` will take the provided key and value and store them.\nWhen history is updated,\nextra_info is also stored in the history file.\nThe intended use case is to store something related to each post,\nlike a random seed used to generate the text,\nor some related values that might be nice to see alongside it in the history storage.\nFeel free to store whatever you like.\n\n------------------------------------\n:code:`store_extra_keys(self, dict)`\n------------------------------------\n:code:`store_extra_keys` will take an entire dictionary,\nand merge it with the :code:`extra_keys` storage.\nAs before,\nthis will be stored in thie history logs.\n\n----------------------------\n:code:`update_history(self)`\n----------------------------\nSave the in-object history to disk,\nin the history file.\nHistory is saved as pretty-printed JSON.\nThis is called automatically by every send method.\n\n--------------------------\n:code:`load_history(self)`\n--------------------------\nLoad the history from disk. Done automatically when the :code:`BotSkeleton` object is initialized.\n\n===============\nUtility Methods\n===============\nSome utility methods,\nexposed from :code:`drewtilities`\n\n-----------------------------------------\n:code:`rate_limited(max_per_hour, *args)`\n-----------------------------------------\nAnnotation to rate-limit a function.\nIt will sleep such that it is called no more than :code:`max_per_hour` times per hour.\n\n------------------------------------\n:code:`set_up_logging(log_filename)`\n------------------------------------\nSet up a logger with the provided filename.\nThis is called by the constructor automatically.\n\n------------------------------\n:code:`random_line(file_path)`\n------------------------------\nReturn a random line from the provided file.\nUseful for bots.\n\n----------------------\n:code:`repair(record)`\n----------------------\nNOT INTENDED FOR MANUAL USE.\nThis is a method to repair a particular form of history corruption.\nAutomatically called by :code:`load_history`.\n\n=======================\n:code:`IterationRecord`\n=======================\nRecord of one iteration -\none generation of text and a send to all outputs.\nStores extra keys,\na timestamp,\nand records for all outputs (see output section).\n\n=================\nOther Information\n=================\n\n=======\nOutputs\n=======\n:code:`botskeleton` is designed to output to an arbitrary number of outputs.\nOutputs need to be in the :code:`outputs` property in :code:`BotSkeleton`.\nThey need to have an \"active\" key,\nused to decide whether to output,\nand an \"obj\" key that should be a call to the constructor of the object.\n:code:`output/output_utils.py` defines the :code:`OutputSkeleton` new outputs must subclass,\nand some useful utilities for new outputs.\n\nNOTE Outputs are not considered part of the public API.\n:code:`output/output_utils.py` may change without warning,\nas may the arguments they take.\n\n----------\nActivation\n----------\nOutputs are activated if there is a credential directory available for them.\nThe credential directory is expected to be under \"secret_dir\",\nand to have a name of the form :code:`credentials_{output_name}`.\n\n-------\nMethods\n-------\nThese mirror the methods in :code:`botskeleton.py`,\nbut aren't guaranteed to be identical,\nand,\nagain,\nmay change without warning.\nOutputs must implement these themselves.\n\n---------------------------\n:code:`send(self, message)`\n---------------------------\nSend message with text.\n\n----------------------------------------------------\n:code:`send_with_one_media(self, message, filename)`\n----------------------------------------------------\nSend message with text and filename.\nOutput will process file as necessary.\n\n-------------------------------------------------------\n:code:`send_with_many_media(self, message, *filenames)`\n-------------------------------------------------------\nSend message with text and filenames.\nOutput will process files as necessary.\n\n------------------------------------------\n:code:`linfo/ldebug/lerror(self, message)`\n------------------------------------------\nLog with bot name and message at the given level.\n\n------------------------------------------------------\n:code:`set_duplicate_handler(self, duplicate_handler)`\n------------------------------------------------------\nSet duplicate handler.\nThis is based off of birdsite's error code and likely will be removed,\nin favor of just having it in the birdsite output.\nError handlers are stored in :code:`self.handled_errors`,\na dictionary.\n\n---------------------------\n:code:`OutputRecord` object\n---------------------------\nOutputs maintain an :code:`OutputRecord` object,\nrepresenting a single send to the output.\nThey maintain at least a :code:`_type` and timestamp.\nIndividual outputs can add whatever else they like.\nMethods are provided here to convert to a pretty string,\nand to convert back from a dictionary to an object.\n\n---------------------------------------\n:code:`default_duplicate_handler(self)`\n---------------------------------------\nDefault duplicate error handler.\nDoes nothing.\n\n================\nBuilt-in Outputs\n================\nThere are two built-in outputs:\nbirdsite (twitter.com)\nmastodon (mastodon.social)\n\nThese are subject to change as necessary by the underlying API wrappers they use.\nSome notes:\n\n----------------------------------\n:code:`outputs/output_birdsite.py`\n----------------------------------\nCredentials directory is :code:`SECRETS_DIR/output_birdsite`.\nThis output expects the following files to be present,\nwith proper contents.\nCreating birdsite accounts and getting keys is beyond the scope of this document.\n\n* :code:`CONSUMER_KEY`\n* :code:`CONSUMER_SECRET`\n* :code:`ACCESS_TOKEN`\n* :code:`ACCESS_SECRET`\n\nOptionally,\nthis file can be provided.\nThis is used to send DMs when errors are encountered.\n\n* :code:`OWNER_HANDLE`\n\n----------------------------------\n:code:`outputs/output_mastodon.py`\n----------------------------------\nCredentials directory is :code:`SECRETS_DIR/output_mastodon`.\nThis output expects the following files to be present,\nwith proper contents.\nCreating mastodon bot accounts and getting keys is beyond the scope of this document.\n\n* :code:`ACCESS_TOKEN`\n\nOptionally,\nthis file can be provided.\nBy default,\nthe output will try to send to https://mastodon.social.\nIt is recommended to change this,\nperhaps to https://botsin.space,\nand make sure you make an account there.\n\n* :code:`INSTANCE_BASE_URL`\n\n========\nExamples\n========\nI operate several bots using this API,\nand can attest to its general stability.\n\n* https://github.com/alixnovosi/dirtyunix_bot\n* https://github.com/alixnovosi/weatherbotskeleton\n* https://github.com/alixnovosi/isthisska_bot\n* https://github.com/alixnovosi/goties_bot\n* https://github.com/alixnovosi/nonogram_bot\n* https://github.com/alixnovosi/tree_bot\n* https://github.com/alixnovosi/knowsska_bot\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/alixnovosi/bot_skeleton", "keywords": "", "license": "BSD3", "maintainer": "", "maintainer_email": "", "name": "botskeleton", "package_url": "https://pypi.org/project/botskeleton/", "platform": "", "project_url": "https://pypi.org/project/botskeleton/", "project_urls": { "Homepage": "https://github.com/alixnovosi/bot_skeleton" }, "release_url": "https://pypi.org/project/botskeleton/3.3.6/", "requires_dist": [ "Mastodon.py (<2.0,>=1.4.2)", "clint (<0.6.0,>=0.5.1)", "drewtilities (<2.0.0,>=1.3.2)", "tweepy (<4.0,>=3.7)" ], "requires_python": ">=3.6", "summary": "A skeleton for content bots.", "version": "3.3.6" }, "last_serial": 5479506, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "1aaa9e5c4e4ea86f7a65a059c51deb7b", "sha256": "c69859cd5930349ba23606e74978fb574b0d2600a7aabda5e8caea05ae967d99" }, "downloads": -1, "filename": "botskeleton-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "1aaa9e5c4e4ea86f7a65a059c51deb7b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6439, "upload_time": "2017-10-25T04:27:32", "url": "https://files.pythonhosted.org/packages/c4/95/c285a3bfcb6b75d9bd02c4ba03b1e3bd38c8fb3f39c040e9a9e16bb657bf/botskeleton-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "98e9f3e169acd26c2e2d41c0eef0dfa7", "sha256": "a2184dee043ded182c986f3ccdda1f5d4777db0322d2ed606f1c97f4bfa7ac8b" }, "downloads": -1, "filename": "botskeleton-1.0.1.tar.gz", "has_sig": false, "md5_digest": "98e9f3e169acd26c2e2d41c0eef0dfa7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2986, "upload_time": "2017-10-25T04:27:31", "url": "https://files.pythonhosted.org/packages/c7/27/0ed72bb7d46251e24e389f428a5efcb7fe5a97f2162119dd2c5c58dc0df2/botskeleton-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "ca6745790b9cb12697b9f77e58cc584e", "sha256": "f13f5b60efe862fbe3bacf003b9ba3fc6f88b8633a21a5669b297836691caff1" }, "downloads": -1, "filename": "botskeleton-1.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ca6745790b9cb12697b9f77e58cc584e", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6439, "upload_time": "2017-10-25T04:36:58", "url": "https://files.pythonhosted.org/packages/47/0a/f8d16c38ba71b67a3e4c11a3d866a710781b92ddbcc96bb9b1f474508687/botskeleton-1.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fa1d9bf6c3f1e447458dbe5fc32a90ba", "sha256": "0f92f1ba229d3a283c4658207d03d46488f3c9b06f210c1d8a32cf7089361f95" }, "downloads": -1, "filename": "botskeleton-1.0.2.tar.gz", "has_sig": false, "md5_digest": "fa1d9bf6c3f1e447458dbe5fc32a90ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2999, "upload_time": "2017-10-25T04:36:56", "url": "https://files.pythonhosted.org/packages/1d/6b/41f2f39d243adf1aa5af17a06fbc8e71de2021c9ff46a0a2a2ab9484e1ea/botskeleton-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "21055003b2324d892db104d354fd7629", "sha256": "776fc0ae6179344b34e47b927bae4cddf1dfca77a6562e16c0670914388567d4" }, "downloads": -1, "filename": "botskeleton-1.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "21055003b2324d892db104d354fd7629", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6452, "upload_time": "2017-10-25T04:49:19", "url": "https://files.pythonhosted.org/packages/ca/05/a408a9e9e09e4510ae7cec33ff6ad3cf51fdda83855ea222b3ae94d75e71/botskeleton-1.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df08576e9a4d094257d66a8702a63a03", "sha256": "c8421f1a526990e78b60d90e71068f9cd9a4350e497492bdd58acee5e77f8939" }, "downloads": -1, "filename": "botskeleton-1.0.3.tar.gz", "has_sig": false, "md5_digest": "df08576e9a4d094257d66a8702a63a03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3012, "upload_time": "2017-10-25T04:49:17", "url": "https://files.pythonhosted.org/packages/da/32/5e7e0f1511cfa3cde2edd2ea726286b287405f32695cde4e37a39f29846b/botskeleton-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "c6f7026eadd283525f27b7536deee5dc", "sha256": "3800be0a4a05f89ce7dcbd90c9c8fb7ac96fa78eb5d00168bae5e18f9976f25f" }, "downloads": -1, "filename": "botskeleton-1.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c6f7026eadd283525f27b7536deee5dc", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6698, "upload_time": "2017-10-26T09:25:26", "url": "https://files.pythonhosted.org/packages/4b/c1/f1cd05ff62ab89b86350d3765cd3ea1b458e6b6035d4bb4d14bc3f41c3ad/botskeleton-1.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "081c8f5a797cc42dc74d268a36f6fcab", "sha256": "de2f11fcba23d14f73acffd3155907cca499fefe1b78b3bd7b58658e306dfa9c" }, "downloads": -1, "filename": "botskeleton-1.0.4.tar.gz", "has_sig": false, "md5_digest": "081c8f5a797cc42dc74d268a36f6fcab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3274, "upload_time": "2017-10-26T09:25:24", "url": "https://files.pythonhosted.org/packages/4c/e3/3fff9272f56c173cd0d84fbfdd15cd49be684f2e2915ec3be2a24bddabaf/botskeleton-1.0.4.tar.gz" } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "e5f36fd1c303f7f011247ef474f477aa", "sha256": "0631559eafda03a0e78e2e2d7e902bd2286d074b66becac03dbdfe993c2dd957" }, "downloads": -1, "filename": "botskeleton-1.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e5f36fd1c303f7f011247ef474f477aa", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 6730, "upload_time": "2017-10-27T04:08:23", "url": "https://files.pythonhosted.org/packages/77/6e/64d642181513128c52b5b9210138a5e4089c1f3b35bb7e9017540d15a30c/botskeleton-1.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab1ba04b8c0d1c473ca3d9f70dfbec95", "sha256": "94bdc7214c3de69afb26e9ad34695eb8e93c4275aadb392753ed6c70d683db63" }, "downloads": -1, "filename": "botskeleton-1.0.5.tar.gz", "has_sig": false, "md5_digest": "ab1ba04b8c0d1c473ca3d9f70dfbec95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3382, "upload_time": "2017-10-27T04:08:21", "url": "https://files.pythonhosted.org/packages/bb/2e/d30f95bb7b6b5858a9a39023a01933bac0e632d17445cb8e8f8080215ebb/botskeleton-1.0.5.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "97e232600cb30a66ebb89547e581513c", "sha256": "9f1ad2c2484f6dc85cd218eed390e155f8a582296bb026eb3b37ab323295b999" }, "downloads": -1, "filename": "botskeleton-1.1.0.linux-x86_64.tar.gz", "has_sig": false, "md5_digest": "97e232600cb30a66ebb89547e581513c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7866, "upload_time": "2017-11-10T00:21:26", "url": "https://files.pythonhosted.org/packages/da/2c/ee506da89107cf9c0fbddd741634ff2af6fbf6be3271052cbfd1adb2eba6/botskeleton-1.1.0.linux-x86_64.tar.gz" }, { "comment_text": "", "digests": { "md5": "717b388723ada2d5900312d71733e15a", "sha256": "572c35c70d49e6b7e645de1a043f650b7b4ccfe1a0c59587e431aa5c60060cf0" }, "downloads": -1, "filename": "botskeleton-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "717b388723ada2d5900312d71733e15a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5540, "upload_time": "2017-11-10T00:21:24", "url": "https://files.pythonhosted.org/packages/ac/c5/cc3618a5feaaa84cd18cd1fc40caa3bdc63953a0eafad3cc138e01299284/botskeleton-1.1.0-py3-none-any.whl" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "0ebd48597dd3ce59744b87fbb80707b1", "sha256": "9e5e9d956fe3d30c5f3d9aa1058d0a1a3bcecf899746a4566119474e1b264072" }, "downloads": -1, "filename": "botskeleton-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0ebd48597dd3ce59744b87fbb80707b1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5637, "upload_time": "2017-11-17T02:29:49", "url": "https://files.pythonhosted.org/packages/a7/e4/9b1d73148a9d17004fd9eefa4894b827e33a434c14c9c46b1d239f7b1464/botskeleton-1.2.0-py3-none-any.whl" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "4ca6318b2a48ca4acda4570c2ed3cc6c", "sha256": "22ce7418c0693a2f65fe7898baf4b6470f6b7a311826bfc35d819e5f5a0bb16f" }, "downloads": -1, "filename": "botskeleton-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4ca6318b2a48ca4acda4570c2ed3cc6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5645, "upload_time": "2017-11-17T02:48:02", "url": "https://files.pythonhosted.org/packages/ea/75/08f7c5dc6a014c99450c40b56403ffa4878381a470e99ab02398877a9f61/botskeleton-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f8981cacd4ec3c6d99e67f065ba827df", "sha256": "33e801d0129c8ba7b1f80ac6ac59084cd4799ae24901cef14a80e1e8697976b6" }, "downloads": -1, "filename": "botskeleton-1.2.1.tar.gz", "has_sig": false, "md5_digest": "f8981cacd4ec3c6d99e67f065ba827df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4222, "upload_time": "2017-11-17T02:48:04", "url": "https://files.pythonhosted.org/packages/3b/0f/d751973272b9d2da16b0c1b8e91ae69ace3d20a5265eab6e0314f74ed683/botskeleton-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "1bda5583f65e654baa98e91c5024a992", "sha256": "81ca3d548f169a7c6407577e6588320caa2b79861d50ca2eb3f8350206a59800" }, "downloads": -1, "filename": "botskeleton-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1bda5583f65e654baa98e91c5024a992", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5642, "upload_time": "2017-11-17T03:01:54", "url": "https://files.pythonhosted.org/packages/37/18/67a9e6b931c19b6e855055ad149e1c155d0f04446e46363709cb64b200e8/botskeleton-1.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bc65c1cbcb5c42d534b576c5a5e8ea7d", "sha256": "22e6cc0c5633e451d06c2792653f952775f7808f1b42af7ad3a531eadbd88bdf" }, "downloads": -1, "filename": "botskeleton-1.2.2.tar.gz", "has_sig": false, "md5_digest": "bc65c1cbcb5c42d534b576c5a5e8ea7d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 4235, "upload_time": "2017-11-17T03:01:55", "url": "https://files.pythonhosted.org/packages/85/8a/1bf9cb968d5d1506b2b578666de1a470431ebb7fdd19060e496b03721d23/botskeleton-1.2.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "dc2ce622ed81cf647a1b8b283be44e9b", "sha256": "2ecc38527357db7a22844145291bcd32ea2a80814b7f581e302d9cf772bf00b3" }, "downloads": -1, "filename": "botskeleton-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "dc2ce622ed81cf647a1b8b283be44e9b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4900, "upload_time": "2017-12-14T20:34:15", "url": "https://files.pythonhosted.org/packages/2a/b9/daa109b676988e8dd7aaf7241715495b962411f5399f62744e7e37e21b36/botskeleton-2.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f2b4e9bacd3c10e243689a3a669b7122", "sha256": "c6dd7139a7ea8c7c716a0f0b9974b2070897f25e3099f89ee2569e0046c5ec63" }, "downloads": -1, "filename": "botskeleton-2.0.0.tar.gz", "has_sig": false, "md5_digest": "f2b4e9bacd3c10e243689a3a669b7122", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3516, "upload_time": "2017-12-14T20:34:18", "url": "https://files.pythonhosted.org/packages/1a/ae/efac87fb369333d85fd98239ef5506f7abd8f0b7fd9a6b84ca072a0a012e/botskeleton-2.0.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "2cbd85a57c2d021ef26cafa46e200c11", "sha256": "1f524cfcb311bc8d0cb8fb98707fac3e530ebce953b2bd96fe4cf8a98f517ea3" }, "downloads": -1, "filename": "botskeleton-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2cbd85a57c2d021ef26cafa46e200c11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4902, "upload_time": "2018-01-03T04:50:28", "url": "https://files.pythonhosted.org/packages/96/8a/9c8c5295ae2249c8123ceb22f68e9c9d72d7206b8c05cb0d0f176b9a24e6/botskeleton-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cb6d5bb42947519e42018c7aa5519603", "sha256": "5308fa93396833fa5d5c9062d317d51e43f423e715d66a6b8ea209724b7cff5b" }, "downloads": -1, "filename": "botskeleton-2.0.1.tar.gz", "has_sig": false, "md5_digest": "cb6d5bb42947519e42018c7aa5519603", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3521, "upload_time": "2018-01-03T04:50:30", "url": "https://files.pythonhosted.org/packages/9e/65/727f316d3ea7f692656ce974726544433fa03fd2e7d76b96d8036e0614ed/botskeleton-2.0.1.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "08272e6626ff72ef596c0ae4409e73e8", "sha256": "6a33d56feb75c1d96f4fc80c3754c30a8802935f580cf5e6d1da6724f7659835" }, "downloads": -1, "filename": "botskeleton-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "08272e6626ff72ef596c0ae4409e73e8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4901, "upload_time": "2018-04-19T02:29:47", "url": "https://files.pythonhosted.org/packages/d0/ad/d14d2db14273e945093c51d0703b58e2fd2a376b668c3c4e3532818d5289/botskeleton-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7f406814ac27683f5c012dc0b49e1f11", "sha256": "df82cbc9eda23a09338575f4fcfe7367fae5631ff63e1810be2b72397ea7eb57" }, "downloads": -1, "filename": "botskeleton-2.0.2.tar.gz", "has_sig": false, "md5_digest": "7f406814ac27683f5c012dc0b49e1f11", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3519, "upload_time": "2018-04-19T02:29:48", "url": "https://files.pythonhosted.org/packages/27/59/c1b2fe9f870f3c3f5168bb2a40a562306983e91eb1affbc3f2b585f59e43/botskeleton-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "897097e874a8c68b235335b947ed7fe9", "sha256": "fad034505254c3859c9887bee7a9e9662bb9ee7e822baa22e9287199590fe8e0" }, "downloads": -1, "filename": "botskeleton-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "897097e874a8c68b235335b947ed7fe9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4944, "upload_time": "2018-04-27T19:11:33", "url": "https://files.pythonhosted.org/packages/2b/bc/62b702370b968d7bb766cf8c61fb75f4faa2c5bbefb1f78d9a0a22117574/botskeleton-2.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "90c4ac54f921ba8333a32f395a209163", "sha256": "5c5f24b3b43da76094c489768d4b9edcbf16d09a8be60dbc46169cf187d75b49" }, "downloads": -1, "filename": "botskeleton-2.0.3.tar.gz", "has_sig": false, "md5_digest": "90c4ac54f921ba8333a32f395a209163", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3564, "upload_time": "2018-04-27T19:11:35", "url": "https://files.pythonhosted.org/packages/8e/aa/99f9a9796099a15123a918950542ed051be75b58a2e5411348c85b3bbdd1/botskeleton-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "15d08571f9bbd48ed7a80d9c921a6d6c", "sha256": "ce1be3941000551ed2501decac2c1fbcb6b2c833ec7abcab32a74c481f494e77" }, "downloads": -1, "filename": "botskeleton-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "15d08571f9bbd48ed7a80d9c921a6d6c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 4993, "upload_time": "2018-05-02T23:31:12", "url": "https://files.pythonhosted.org/packages/8b/ce/7f4a973c0c692f0edb887b141ae029bc24b0aace6c453ccc89ed705d2456/botskeleton-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "407337a9af315b2d603a47af406e62a1", "sha256": "f874445e0f059dbb5284ea51c66decc2f5e6bc06284037cd834c5537c86c598d" }, "downloads": -1, "filename": "botskeleton-2.0.4.tar.gz", "has_sig": false, "md5_digest": "407337a9af315b2d603a47af406e62a1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3606, "upload_time": "2018-05-02T23:31:13", "url": "https://files.pythonhosted.org/packages/b0/e2/84c4929bc56ad8bc05033219ba27ca2e5f9733fc36fccaba6c150f11d9fe/botskeleton-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "229f2079aeb5942841fe32155d55bb58", "sha256": "e557e7ab6c7570153e2e6df48d70338bf3b838d2891765537c11b33caa9070b4" }, "downloads": -1, "filename": "botskeleton-2.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "229f2079aeb5942841fe32155d55bb58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5043, "upload_time": "2018-05-18T08:37:15", "url": "https://files.pythonhosted.org/packages/43/7e/94856c398cc33f4ae775a9b463e1c4360791a6df4ae86294f6a2168e9b91/botskeleton-2.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ab7d4d16cf42d5160affab03018ddd5a", "sha256": "e76ae539e76639021456c3010fba399af8f10e9f2fd8c068a53cb60764084049" }, "downloads": -1, "filename": "botskeleton-2.0.5.tar.gz", "has_sig": false, "md5_digest": "ab7d4d16cf42d5160affab03018ddd5a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3651, "upload_time": "2018-05-18T08:37:16", "url": "https://files.pythonhosted.org/packages/30/2a/92ab484a33e59eee1cd6f1ce1c7e426e90fa66637132a553bf50a87b6406/botskeleton-2.0.5.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "186332eeb2f5aa8a3bbcc6de2b79bd63", "sha256": "d52d803020f38fc75ad356eeece87aef94574d1a0ec16ef50665e1e6745387e4" }, "downloads": -1, "filename": "botskeleton-2.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "186332eeb2f5aa8a3bbcc6de2b79bd63", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5203, "upload_time": "2018-07-07T19:15:17", "url": "https://files.pythonhosted.org/packages/85/e8/54e22cf00dea0199962e31817408f8d56734ea8a0acb4efcd580bcdc267c/botskeleton-2.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9081c0c43e207500ec9ff9769826d6b0", "sha256": "037edce112ce138bf2056b5c8c35b99b6c077c3945a15c31c2edcae6f956e3f7" }, "downloads": -1, "filename": "botskeleton-2.1.0.tar.gz", "has_sig": false, "md5_digest": "9081c0c43e207500ec9ff9769826d6b0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3822, "upload_time": "2018-07-07T19:15:18", "url": "https://files.pythonhosted.org/packages/c3/91/2c6fb4d5578a6683173a7a5232539c86111855a2a8a5ad5ef56c7c1395bc/botskeleton-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "59c862639af1351f4a295c7990df0517", "sha256": "5050868ccfdcec0e60341b6c090446894807b53d6bb5df8722a53f392757ba90" }, "downloads": -1, "filename": "botskeleton-2.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "59c862639af1351f4a295c7990df0517", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5207, "upload_time": "2018-07-07T19:39:23", "url": "https://files.pythonhosted.org/packages/c9/09/b8a3bbd7801301a3054fe90d015b2bdd565d0fe7e164a148de413f54ab2c/botskeleton-2.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c06b9350137eb863543c61c57fd75bdb", "sha256": "5451e72630f72704c8526d5033bf040ffa805efa08c0915bd205eb2712aaec52" }, "downloads": -1, "filename": "botskeleton-2.1.1.tar.gz", "has_sig": false, "md5_digest": "c06b9350137eb863543c61c57fd75bdb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3824, "upload_time": "2018-07-07T19:39:24", "url": "https://files.pythonhosted.org/packages/8b/57/fa3dacc69f409379dac1da00447532dae35b058137e90792df43dc5c6f60/botskeleton-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "05bcfda007689e168211c8a791178b66", "sha256": "ef3b91e4b5662bea22ae89b7d2eb5472373fe7036c265af47a8953143c3016c4" }, "downloads": -1, "filename": "botskeleton-2.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "05bcfda007689e168211c8a791178b66", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5217, "upload_time": "2018-07-07T19:48:58", "url": "https://files.pythonhosted.org/packages/6b/73/edbf97280ba0b4a6ee70d84052e0acbe7d204d845a460bbe7f9b386dd891/botskeleton-2.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2bc5238a75447c40dd9b5a5039b9313e", "sha256": "215df95da980c575a2ee951b3255d10d63d6fc6796ee0782d39021dfbe820a8d" }, "downloads": -1, "filename": "botskeleton-2.1.2.tar.gz", "has_sig": false, "md5_digest": "2bc5238a75447c40dd9b5a5039b9313e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3832, "upload_time": "2018-07-07T19:49:00", "url": "https://files.pythonhosted.org/packages/c5/10/aca8522099d92dedcc66f1ea1132d01ffeabf3436d646b9da0a35ff97836/botskeleton-2.1.2.tar.gz" } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "b9c15fb7a710c78266727f023a237bca", "sha256": "986373b1efe9bcfb3a2fd24dc137af58becc9265a46ad29b71eb802a0a0c5ba3" }, "downloads": -1, "filename": "botskeleton-2.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b9c15fb7a710c78266727f023a237bca", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 5213, "upload_time": "2018-07-07T20:02:34", "url": "https://files.pythonhosted.org/packages/82/fc/7871dd85f5a1d935370fded2184d5130e20c0071d8c1598b98ed1b6ea859/botskeleton-2.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a29d66dbc9c1c750317f591f44c8ef99", "sha256": "7a41b082fc588c0515e35a5039909a9e4904cce3a0e57f01059fb1dd2b90b806" }, "downloads": -1, "filename": "botskeleton-2.1.3.tar.gz", "has_sig": false, "md5_digest": "a29d66dbc9c1c750317f591f44c8ef99", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3833, "upload_time": "2018-07-07T20:02:35", "url": "https://files.pythonhosted.org/packages/96/46/671af4d164bec4c49927acf12a567d83ee596dfa57e2d3ec57170da53bbf/botskeleton-2.1.3.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "d38f214909b0b1e41f187990117ffb09", "sha256": "f9d12ca83b957d1405d826c2876b0fa0d2c07216920a46560b9e4d841c4598b9" }, "downloads": -1, "filename": "botskeleton-2.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d38f214909b0b1e41f187990117ffb09", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9180, "upload_time": "2018-08-17T09:33:31", "url": "https://files.pythonhosted.org/packages/69/fa/62f2305f600da03fdbdffc7de9cb1e779d70a10fbd388c7076095c9c5481/botskeleton-2.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "510fc29409f66cf56c4fc20d0cbb4988", "sha256": "9d4d02ff46f249ba686f9874c6f9b1a6088824e0b8a331b38a81b2672f88b522" }, "downloads": -1, "filename": "botskeleton-2.2.0.tar.gz", "has_sig": false, "md5_digest": "510fc29409f66cf56c4fc20d0cbb4988", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5596, "upload_time": "2018-08-17T09:33:33", "url": "https://files.pythonhosted.org/packages/4d/8f/9fff3fab555d92864856f34970e23a0b86f23fefc74379daa36e13c46c04/botskeleton-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "368e87d30c6e69336f1dcc20f28ea2ba", "sha256": "2811fa92dfa503790d11392d76da0f3c3b4684691b0f882364cec7af1546bc18" }, "downloads": -1, "filename": "botskeleton-2.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "368e87d30c6e69336f1dcc20f28ea2ba", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9207, "upload_time": "2018-08-21T06:03:42", "url": "https://files.pythonhosted.org/packages/32/1f/614af44c7413c7926f6d38a60ac300455099267ad7506a823af68321327a/botskeleton-2.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a057111a66e29f460a48fcf18039173", "sha256": "271e57e0b5eebcfd39deaace0791ddd0e080abb45197ac4f95a90e2fec85bc15" }, "downloads": -1, "filename": "botskeleton-2.2.1.tar.gz", "has_sig": false, "md5_digest": "7a057111a66e29f460a48fcf18039173", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5619, "upload_time": "2018-08-21T06:03:45", "url": "https://files.pythonhosted.org/packages/44/77/5f35b2a6f39cb1cf67a8f8a7c96bdedba39515f75451e605c46ffa8f2c5c/botskeleton-2.2.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "edcace07d90d37c4b203edad15d5fe6f", "sha256": "dae71d652ade5488b70819bae7550d03f63af052e09df233a20dfa252b3027ec" }, "downloads": -1, "filename": "botskeleton-3.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "edcace07d90d37c4b203edad15d5fe6f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9205, "upload_time": "2018-08-21T06:47:09", "url": "https://files.pythonhosted.org/packages/95/a4/31738ef70eedcfc2b769225a9705a4e3e79dc7e04bb144c6c3edf1279319/botskeleton-3.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c03610d16b866aca3291aa87ed7d3730", "sha256": "6954e9d769b018cd858835a1e8e20225e47f1e9aff7f62d52cbf648d6825d799" }, "downloads": -1, "filename": "botskeleton-3.0.0.tar.gz", "has_sig": false, "md5_digest": "c03610d16b866aca3291aa87ed7d3730", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5637, "upload_time": "2018-08-21T06:47:10", "url": "https://files.pythonhosted.org/packages/7d/32/1bcd4abf974c70722ea1d7d65613bd2f0251757c13575d729c8934c748fd/botskeleton-3.0.0.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "02e0ffd08492b07b950502c59bb284f9", "sha256": "984a20ddbcc79162f2fb2c35776439375cc6316d8e3e5ccfcef09d4af87fc6db" }, "downloads": -1, "filename": "botskeleton-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "02e0ffd08492b07b950502c59bb284f9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9221, "upload_time": "2018-08-21T07:03:07", "url": "https://files.pythonhosted.org/packages/05/6c/ef5304d53f13a7f6e7a4c22ee6c0b4b54ffd4a5e95ca180dabc8ecc9c73a/botskeleton-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26b529d7109e9fe3f82c7db047482522", "sha256": "ed4ff7fbebadff2e70604c0c89c17ff48de14dd5b188dcc110196872bb853977" }, "downloads": -1, "filename": "botskeleton-3.0.1.tar.gz", "has_sig": false, "md5_digest": "26b529d7109e9fe3f82c7db047482522", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5652, "upload_time": "2018-08-21T07:03:09", "url": "https://files.pythonhosted.org/packages/40/1f/dd7a90b21f0f73c5c60df1fa2b2d9ff408bb529539b8f7565f35abe85510/botskeleton-3.0.1.tar.gz" } ], "3.0.2": [ { "comment_text": "", "digests": { "md5": "8ea35ea9f82ddb52f0de2683ff38813d", "sha256": "0b2f8dc24446b549b8aee254a4fa40ac26239686c46e43f9ba339206ec40d7f2" }, "downloads": -1, "filename": "botskeleton-3.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "8ea35ea9f82ddb52f0de2683ff38813d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9218, "upload_time": "2018-08-29T22:13:08", "url": "https://files.pythonhosted.org/packages/8f/48/4cdfb9308ee4e777f3a0ddcfd982cc04ac545bcffc26f3d8ae48577f431b/botskeleton-3.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3242f386174468a06fbcbd24344e59f6", "sha256": "0cf0614e68db0ff903fa3850883096fecbdbca9f1674ed03bd9e9117c2f01bee" }, "downloads": -1, "filename": "botskeleton-3.0.2.tar.gz", "has_sig": false, "md5_digest": "3242f386174468a06fbcbd24344e59f6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5710, "upload_time": "2018-08-29T22:13:10", "url": "https://files.pythonhosted.org/packages/30/a4/3724231ca30f60b1e5816ff0e2ba081eddf778f92f111367ae8039c858ba/botskeleton-3.0.2.tar.gz" } ], "3.0.3": [ { "comment_text": "", "digests": { "md5": "c207b696851305ef5bafc657e26f0c86", "sha256": "a76156cb6c1ae5c714571f1af8c800f5c68e001986ca9ab2355093b18e719829" }, "downloads": -1, "filename": "botskeleton-3.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "c207b696851305ef5bafc657e26f0c86", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 9238, "upload_time": "2018-09-03T03:14:07", "url": "https://files.pythonhosted.org/packages/fd/d3/f07d1a3d2eddd0cf4f0f5c887eb7291580f012634c38189a5b48dfa745f5/botskeleton-3.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d92721de63e3c296cfbe4da260b6c659", "sha256": "34f451ea85a7ce418b5848ed8dff0d3d49d5d9adcbcc5f491fd72459426789eb" }, "downloads": -1, "filename": "botskeleton-3.0.3.tar.gz", "has_sig": false, "md5_digest": "d92721de63e3c296cfbe4da260b6c659", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 5684, "upload_time": "2018-09-03T03:14:08", "url": "https://files.pythonhosted.org/packages/f5/1f/610f559ac258caeebc2d87dc8c5dfeab999eb8492bb5f99b060d53275fdf/botskeleton-3.0.3.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "d162ee9bfc982aeb86e22fd256079bb1", "sha256": "3d4f161c15dc65b214843f695150251fdeed09969556d52a83932f2a903f8629" }, "downloads": -1, "filename": "botskeleton-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "d162ee9bfc982aeb86e22fd256079bb1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21481, "upload_time": "2018-09-24T06:09:57", "url": "https://files.pythonhosted.org/packages/2a/7b/66cea276d1937bc67155c5f740f5525f8c8ca23c67a7dd398a856194aad6/botskeleton-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e12861f6272ed3edb007ec98a51c47a2", "sha256": "cf29111541bdd50d3443b243fabaa6b685004124ed988dfd2661ffcdb01b5171" }, "downloads": -1, "filename": "botskeleton-3.1.0.tar.gz", "has_sig": false, "md5_digest": "e12861f6272ed3edb007ec98a51c47a2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 14473, "upload_time": "2018-09-24T06:09:59", "url": "https://files.pythonhosted.org/packages/a5/53/cd91b41397b7b846e0a766e7c35512546a91e83e00d3b60f2858975e82a9/botskeleton-3.1.0.tar.gz" } ], "3.1.1": [ { "comment_text": "", "digests": { "md5": "d94fed586784b33e7aa4700c8b0fe67d", "sha256": "9fac4effd26f1dd6bdda279181065d1b6e321093b50d064dce4696761392b5a9" }, "downloads": -1, "filename": "botskeleton-3.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "d94fed586784b33e7aa4700c8b0fe67d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18319, "upload_time": "2019-03-06T02:28:03", "url": "https://files.pythonhosted.org/packages/08/0d/b0c8de35de2d59e6277e20ee2b093e578d251a952cca30d86c63f0c47ecf/botskeleton-3.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f6fba52cb560d7ce92cdd6b3ffd00951", "sha256": "2a8da6a83fb07f4a0e8e18a85e815d7a06d6c5feb9b07a8134fae16a24eca092" }, "downloads": -1, "filename": "botskeleton-3.1.1.tar.gz", "has_sig": false, "md5_digest": "f6fba52cb560d7ce92cdd6b3ffd00951", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16711, "upload_time": "2019-03-06T02:28:05", "url": "https://files.pythonhosted.org/packages/d4/3e/e724d6695ba1dd929585e7c3dd9c493254fcf2c99ffc4629fd7cf16f35c4/botskeleton-3.1.1.tar.gz" } ], "3.1.2": [ { "comment_text": "", "digests": { "md5": "a820505c82c538bba6bc7b7318db9cbc", "sha256": "dc05015f7e8442d5bade42ea82603ad14cf74a232d619860f02fd98841c5f6f5" }, "downloads": -1, "filename": "botskeleton-3.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a820505c82c538bba6bc7b7318db9cbc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18317, "upload_time": "2019-03-06T06:25:11", "url": "https://files.pythonhosted.org/packages/2c/72/a56c640fe1513cad4d0f98651d018ba227630a72419b9d4dadc5982b1dec/botskeleton-3.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "afe24a5385a9f5deebf2497760f082d9", "sha256": "42c7ed67f7f071ec38f7196cd9b8dbca45b3fd122df3139c372ac94658c86a24" }, "downloads": -1, "filename": "botskeleton-3.1.2.tar.gz", "has_sig": false, "md5_digest": "afe24a5385a9f5deebf2497760f082d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16701, "upload_time": "2019-03-06T06:25:14", "url": "https://files.pythonhosted.org/packages/c2/ec/671193029782989368cded8090644aecb1487030465795dfc8f993d0c4f3/botskeleton-3.1.2.tar.gz" } ], "3.1.3": [ { "comment_text": "", "digests": { "md5": "5f6e3d76eb660d6ec815f7cca46406d7", "sha256": "42d6499fff462f127c141c0049db14be168fbec0ae6667a6312d05242d837889" }, "downloads": -1, "filename": "botskeleton-3.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5f6e3d76eb660d6ec815f7cca46406d7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18319, "upload_time": "2019-03-06T09:04:34", "url": "https://files.pythonhosted.org/packages/56/ce/f22cc1b779f7b31c4a5c3dd6495bbf3e334bbb2691b796f0fbb71944c5b4/botskeleton-3.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "92eb955dbae951549515fa2e805b0474", "sha256": "d6bc2f1bc7a363e38c88c4ebf44ea1b714e9df87833f4c7eb2400692bc9c01d9" }, "downloads": -1, "filename": "botskeleton-3.1.3.tar.gz", "has_sig": false, "md5_digest": "92eb955dbae951549515fa2e805b0474", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16714, "upload_time": "2019-03-06T09:04:38", "url": "https://files.pythonhosted.org/packages/7c/ba/78a7e2c9ee2457a152a9973d298734e16e7606c920c1a0a60cdeb0747dd8/botskeleton-3.1.3.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "f75abf84d0e9c65382e41f1de0a6e075", "sha256": "e51245957925492ddad12716e893d64bab3e10adcd721fb2978c1ee0107f9fb6" }, "downloads": -1, "filename": "botskeleton-3.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f75abf84d0e9c65382e41f1de0a6e075", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21549, "upload_time": "2019-03-07T20:59:32", "url": "https://files.pythonhosted.org/packages/69/72/7201ee990b6f97c8b3d22a380db4b2fcd1e2d5a5ed42ba67d6efcde63e5c/botskeleton-3.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e937cc53b3269b94b59aa901bd9529fd", "sha256": "db8ba76b845bc52001d527613f60522da044cec088ba874b4ea23d92f18fd001" }, "downloads": -1, "filename": "botskeleton-3.2.0.tar.gz", "has_sig": false, "md5_digest": "e937cc53b3269b94b59aa901bd9529fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19263, "upload_time": "2019-03-07T20:59:33", "url": "https://files.pythonhosted.org/packages/19/ad/c89f0a975f194c4320f491f7ea3556fe747c5a523f3800d93fe29b1d9749/botskeleton-3.2.0.tar.gz" } ], "3.2.1": [ { "comment_text": "", "digests": { "md5": "dd390981749d24fb57d3b7ce09593cd7", "sha256": "54e20c901965aa819ffc5949ec85ca800edbb3386fd215da32fb531b2301b655" }, "downloads": -1, "filename": "botskeleton-3.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "dd390981749d24fb57d3b7ce09593cd7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21513, "upload_time": "2019-03-08T08:02:46", "url": "https://files.pythonhosted.org/packages/29/23/907232bbf447885ce689de16ee426392a41d9c2d88feca279956517ba6fb/botskeleton-3.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8b113037c3e2235e49f247ee65c37217", "sha256": "3f9fdcd818226f2f6f6db5cbe78d671677e5f82697480c34fe07278a1c4df693" }, "downloads": -1, "filename": "botskeleton-3.2.1.tar.gz", "has_sig": false, "md5_digest": "8b113037c3e2235e49f247ee65c37217", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19230, "upload_time": "2019-03-08T08:02:48", "url": "https://files.pythonhosted.org/packages/6f/7e/e830871137e93c4b91ddbf19e6dae1b943d27069b6a5e605ff0923862dfd/botskeleton-3.2.1.tar.gz" } ], "3.2.2": [ { "comment_text": "", "digests": { "md5": "d2d93c260691f7719536c95f212df5a8", "sha256": "5941f41e93ea9fd71770349d92ae1fb68f5dedb073d33a34cdc5e41deba8737b" }, "downloads": -1, "filename": "botskeleton-3.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "d2d93c260691f7719536c95f212df5a8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21873, "upload_time": "2019-03-08T20:12:57", "url": "https://files.pythonhosted.org/packages/13/43/db4ca0ec4be9c28eeae0c6d0c55a4cddc134c0026f0f76a1a3b600c71f74/botskeleton-3.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d413732c7a4cea7c93406f3b6f9e9759", "sha256": "02273b8881e00a4a5e4c71728d446a6ad0fbf11bc8ec2c953b84d7a9040a2c24" }, "downloads": -1, "filename": "botskeleton-3.2.2.tar.gz", "has_sig": false, "md5_digest": "d413732c7a4cea7c93406f3b6f9e9759", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19586, "upload_time": "2019-03-08T20:12:59", "url": "https://files.pythonhosted.org/packages/c7/1c/57cc5090ad0d67eaadbfa68cd37cff5f9779f88c326968ab617fb045d92d/botskeleton-3.2.2.tar.gz" } ], "3.2.3": [ { "comment_text": "", "digests": { "md5": "4674071bc0346ba9d58af5aa08c8128d", "sha256": "b8b5fc2e77266c9fa54bed140dace3da1ee22897f69e157c3056dce11f670e83" }, "downloads": -1, "filename": "botskeleton-3.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "4674071bc0346ba9d58af5aa08c8128d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 21928, "upload_time": "2019-03-08T20:44:16", "url": "https://files.pythonhosted.org/packages/54/46/3146578a17d8375932fb4d8ac35b0a3b5a8541c43df307565d5a5d0f3190/botskeleton-3.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9fabcff311ba403c029808f988f44666", "sha256": "fd2f8361ea771b854f69383e38a93dc53787404cf0020b56d4b51ceec0751547" }, "downloads": -1, "filename": "botskeleton-3.2.3.tar.gz", "has_sig": false, "md5_digest": "9fabcff311ba403c029808f988f44666", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 19611, "upload_time": "2019-03-08T20:44:17", "url": "https://files.pythonhosted.org/packages/c7/d8/790d4d79aa98d587ad01c1858d27bbc68221e3828ade932e1b62d357c270/botskeleton-3.2.3.tar.gz" } ], "3.2.4": [ { "comment_text": "", "digests": { "md5": "911f0e3b558f7f5980f18a64041143ea", "sha256": "3d484637c22fb36d2597bd4a1b7cb953a0169706b933aecc7e324b1fac0d2963" }, "downloads": -1, "filename": "botskeleton-3.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "911f0e3b558f7f5980f18a64041143ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22618, "upload_time": "2019-03-08T23:00:34", "url": "https://files.pythonhosted.org/packages/c5/af/281c2ac70b74483ab92864a0711f80bb457a52d7cf861ffe8a37910e8e84/botskeleton-3.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4d61658ce6e77ff9c40c89bb76b9f2b", "sha256": "dee843ff2da5824c4199131281406903b6a707e2d186cf66ec7222b6b850ec6a" }, "downloads": -1, "filename": "botskeleton-3.2.4.tar.gz", "has_sig": false, "md5_digest": "f4d61658ce6e77ff9c40c89bb76b9f2b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20326, "upload_time": "2019-03-08T23:00:35", "url": "https://files.pythonhosted.org/packages/2c/36/80a6a0c17f9f4177d1aecedb05f478f18607c327a402fb9041679880d587/botskeleton-3.2.4.tar.gz" } ], "3.2.5": [ { "comment_text": "", "digests": { "md5": "323194c38eca7cd8905ed6c9b144b01d", "sha256": "79ef693d9d1915260d39d2d3500daf81fb1217112f6c1f23e8f3479001b3ddd4" }, "downloads": -1, "filename": "botskeleton-3.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "323194c38eca7cd8905ed6c9b144b01d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 22678, "upload_time": "2019-03-12T18:39:20", "url": "https://files.pythonhosted.org/packages/5e/0b/c61ee67d3932462e168ef3634df29f60d41271034bd9d96fe2190ee18303/botskeleton-3.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7c0615879fba80f6f4a06688e9c89152", "sha256": "0e2a226f23fd72a5bb8afbfb146a1ec071995841846bc7646e1ef988d3aa558a" }, "downloads": -1, "filename": "botskeleton-3.2.5.tar.gz", "has_sig": false, "md5_digest": "7c0615879fba80f6f4a06688e9c89152", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 20351, "upload_time": "2019-03-12T18:39:21", "url": "https://files.pythonhosted.org/packages/04/f9/e7230125b84451315ad2b51d901a19b809b0f4016c217b43adf1f809b8ae/botskeleton-3.2.5.tar.gz" } ], "3.2.6": [ { "comment_text": "", "digests": { "md5": "c1ed0b9ec068fecd9399d16ea723e781", "sha256": "8c36b8babb2c7738b941e0ed435751bf095267623b0200a79cc207646173edb8" }, "downloads": -1, "filename": "botskeleton-3.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c1ed0b9ec068fecd9399d16ea723e781", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23279, "upload_time": "2019-03-20T09:43:43", "url": "https://files.pythonhosted.org/packages/29/c5/2a5f1511637808108a8186b6de44f255a95e3807f860408e3a1b535ccc72/botskeleton-3.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3e16901eeb73d1bedaf08be69a49fe7e", "sha256": "f4040cf3eae19b38fbf63712c1e725533fda60f9ae443ea3d7dbcc3b0b575728" }, "downloads": -1, "filename": "botskeleton-3.2.6.tar.gz", "has_sig": false, "md5_digest": "3e16901eeb73d1bedaf08be69a49fe7e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21247, "upload_time": "2019-03-20T09:43:44", "url": "https://files.pythonhosted.org/packages/04/bd/d78ab87a64114bd4c74c444002d8cc47635d3c8ef008730bcf793ce46a99/botskeleton-3.2.6.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "f34dd14f6f200aa512043b05c05905d6", "sha256": "67b0ef45f0f9883dd427d8216b30500cb465d451aa9be33360eb458996c34ee2" }, "downloads": -1, "filename": "botskeleton-3.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "f34dd14f6f200aa512043b05c05905d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23310, "upload_time": "2019-05-30T19:58:58", "url": "https://files.pythonhosted.org/packages/f9/bc/ff6211b0fe51fa3d6c507ee0afca7418a457635dbd255bbf2a5ea4439591/botskeleton-3.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e9fcaed07b73a60dd80ae48b70d03236", "sha256": "0be266831956d0a61e417cef271701dc2afac8156566dc9ef6521ea60a7f1b9e" }, "downloads": -1, "filename": "botskeleton-3.3.0.tar.gz", "has_sig": false, "md5_digest": "e9fcaed07b73a60dd80ae48b70d03236", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21280, "upload_time": "2019-05-30T19:59:00", "url": "https://files.pythonhosted.org/packages/41/4d/0b308bddfe9c3e469c279af989005696e569c22708db0ff76df6b17dafe8/botskeleton-3.3.0.tar.gz" } ], "3.3.1": [ { "comment_text": "", "digests": { "md5": "8faa79cbc4248feb3de1634974284393", "sha256": "608bf2eddc495a9df36923f7a54e3bc6e94f86e4b3c6960e7191db8fdf423cec" }, "downloads": -1, "filename": "botskeleton-3.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8faa79cbc4248feb3de1634974284393", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23398, "upload_time": "2019-05-30T20:59:09", "url": "https://files.pythonhosted.org/packages/fc/94/61e5072ceb83dbbadc1bf3f9a47d846aa471d0bf873f999a482656d06438/botskeleton-3.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c1c36ea002cf5f1b14f508a8e0c339d4", "sha256": "33d2926bc1387c30f62726da533eb16caf391c87631ae49a04c3ea4cc26318cf" }, "downloads": -1, "filename": "botskeleton-3.3.1.tar.gz", "has_sig": false, "md5_digest": "c1c36ea002cf5f1b14f508a8e0c339d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21333, "upload_time": "2019-05-30T20:59:12", "url": "https://files.pythonhosted.org/packages/ad/82/367c8f54cf25263c088c2ce131c54f036523330eec00b6e7db20819fef5a/botskeleton-3.3.1.tar.gz" } ], "3.3.2": [ { "comment_text": "", "digests": { "md5": "5428709c6484a2574a0a363db39f7950", "sha256": "af36b3916344619a1786c9ded59d2ccb7325e28eee749f14482922458622fac7" }, "downloads": -1, "filename": "botskeleton-3.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "5428709c6484a2574a0a363db39f7950", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23401, "upload_time": "2019-05-30T21:25:06", "url": "https://files.pythonhosted.org/packages/ca/46/b7ac5b4657754badf9cf36f8d7f75f9bb2bbc8f13224588345a0d35ca4f7/botskeleton-3.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bd917a049a23169c142cde31fe35f476", "sha256": "38cfdbdb7acd179d40927bb3dae30229cf5d36addb5a59791a7f33b8fdf188d2" }, "downloads": -1, "filename": "botskeleton-3.3.2.tar.gz", "has_sig": false, "md5_digest": "bd917a049a23169c142cde31fe35f476", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21341, "upload_time": "2019-05-30T21:25:08", "url": "https://files.pythonhosted.org/packages/5f/dd/8694f90c85f797c5fb181f9533ae5b10163c37b207b10610c923b88a6e10/botskeleton-3.3.2.tar.gz" } ], "3.3.3": [ { "comment_text": "", "digests": { "md5": "07c67ebfa1f8f404990038a60ddb9539", "sha256": "c7f519d092200a4731230f55ab915c6c163548a1ddfc65d3e2e4345c74547e71" }, "downloads": -1, "filename": "botskeleton-3.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "07c67ebfa1f8f404990038a60ddb9539", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23399, "upload_time": "2019-05-30T22:10:46", "url": "https://files.pythonhosted.org/packages/9a/fd/68c13ab618a505d11a3b52801a58c1a38fb6070a4e89667fcd6ee43fbe43/botskeleton-3.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ae28e8af7fa78540a2278af8ec5bb5d", "sha256": "d2af0bf6c940eddc86c61bbad94b020c3a531dd7a93097592cfc7fe2c98db116" }, "downloads": -1, "filename": "botskeleton-3.3.3.tar.gz", "has_sig": false, "md5_digest": "2ae28e8af7fa78540a2278af8ec5bb5d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21341, "upload_time": "2019-05-30T22:10:48", "url": "https://files.pythonhosted.org/packages/0b/0a/2d111bf57d8a6b343e6de6d9924b099a39bbd117eef68bfce9e41810fc0f/botskeleton-3.3.3.tar.gz" } ], "3.3.4": [ { "comment_text": "", "digests": { "md5": "79b15ededb1a774428ecc93c5f750fcf", "sha256": "da6d8274e10ec0739f995b861c27bc4a53dbbc344432f0367d8129f15c4ca9d6" }, "downloads": -1, "filename": "botskeleton-3.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "79b15ededb1a774428ecc93c5f750fcf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23336, "upload_time": "2019-07-03T04:44:04", "url": "https://files.pythonhosted.org/packages/0b/2f/6c3b1b1e9d6874b8c91d53e636a2640598ade9206ee0bb7efe34b7455bd3/botskeleton-3.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "102e0ef1a3d93d5a83dfeec48967998f", "sha256": "b128eb8a691d992f5bee8d7f7fd5e5abc6b808d71c9a612ecb2c7e1b3c684b48" }, "downloads": -1, "filename": "botskeleton-3.3.4.tar.gz", "has_sig": false, "md5_digest": "102e0ef1a3d93d5a83dfeec48967998f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21309, "upload_time": "2019-07-03T04:44:07", "url": "https://files.pythonhosted.org/packages/48/ab/af2059af9297c14207e40e15e361e452ca7db385ba476e225bea5d833396/botskeleton-3.3.4.tar.gz" } ], "3.3.5": [ { "comment_text": "", "digests": { "md5": "509af76d69241ea76fe5934890575582", "sha256": "cd0ddabbb6de99034a82b2fe3351d3da622ce076a596095f86aea70e066e6afb" }, "downloads": -1, "filename": "botskeleton-3.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "509af76d69241ea76fe5934890575582", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23339, "upload_time": "2019-07-03T04:52:26", "url": "https://files.pythonhosted.org/packages/9a/99/215621eb8fbd97643b25380608b8602e372b717e42833695987de5ba7e34/botskeleton-3.3.5-py3-none-any.whl" } ], "3.3.6": [ { "comment_text": "", "digests": { "md5": "215f4a5452697502044049ba4d623fad", "sha256": "47a9faca3869057df098091a03a2e874aaaa03be4720f08d5c5adf93cad009e9" }, "downloads": -1, "filename": "botskeleton-3.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "215f4a5452697502044049ba4d623fad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23336, "upload_time": "2019-07-03T04:55:42", "url": "https://files.pythonhosted.org/packages/79/24/e61225c407da4f06caabe6d03b1eab25cf79344e2166927c3fee0a943e86/botskeleton-3.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d558cfb952f908ddc97719257fb33f", "sha256": "729e425c99eeb63b22c3fc5e89480172b376448ff263a6d23e42534a265931d6" }, "downloads": -1, "filename": "botskeleton-3.3.6.tar.gz", "has_sig": false, "md5_digest": "80d558cfb952f908ddc97719257fb33f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21306, "upload_time": "2019-07-03T04:55:44", "url": "https://files.pythonhosted.org/packages/ba/41/c5c2e5f4885167cb8912e8d303169abc039d8d4da938d697f52d2232c7cb/botskeleton-3.3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "215f4a5452697502044049ba4d623fad", "sha256": "47a9faca3869057df098091a03a2e874aaaa03be4720f08d5c5adf93cad009e9" }, "downloads": -1, "filename": "botskeleton-3.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "215f4a5452697502044049ba4d623fad", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23336, "upload_time": "2019-07-03T04:55:42", "url": "https://files.pythonhosted.org/packages/79/24/e61225c407da4f06caabe6d03b1eab25cf79344e2166927c3fee0a943e86/botskeleton-3.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "80d558cfb952f908ddc97719257fb33f", "sha256": "729e425c99eeb63b22c3fc5e89480172b376448ff263a6d23e42534a265931d6" }, "downloads": -1, "filename": "botskeleton-3.3.6.tar.gz", "has_sig": false, "md5_digest": "80d558cfb952f908ddc97719257fb33f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 21306, "upload_time": "2019-07-03T04:55:44", "url": "https://files.pythonhosted.org/packages/ba/41/c5c2e5f4885167cb8912e8d303169abc039d8d4da938d697f52d2232c7cb/botskeleton-3.3.6.tar.gz" } ] }