{ "info": { "author": "Matt Deakyne", "author_email": "m.d@ku.edu", "bugtrack_url": null, "classifiers": [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "# BbRest\nBlackboard REST APIs... for humans? (TM)\n\n## Purpose\nThis Python library was created to make the Blackboard REST API more accessible.\nSpecifically, it helps solve a few problems:\n\n### Token Management\nBlackboard tokens expire in one hour, and cannot be expired manually. \nIt's possible that two uses of one app would be called within an hour of\nstarting the other - in this case, the session expires in less than an hour.\nA call with an expired token returns a 401 error.\n\nThis wrapper has a self healing session that renews the token when needed.\n\n### API availability by version\nAll APIs documented on developer.blackboard.com are not available for all versions of self and managed hosted clients. The terminology is even a bit hard to decipher, as it doesn't match the QX 20XX format most admins are used to. \n\nThis wrapper will create functions that only allows calling available functions, depending on the version of Blackboard it connects to. This has recently been improved by the distinct versions for .json.\n\n### Finding APIs\nIt can be difficult to find the correct API on developers.blackboard.com, and this wrapper allows you to tab complete generated APIs and to get hints about expected inputs. \n\n### Convenience APIs\nThis wrapper also has some convenience APIs that make getting information easier.\nThis is also a work in progress, and probably will be built out separately.\n\n## Installation\nInstall poetry and bbrest\n```bash\n$ poetry init\n$ poetry add bbrest\n\nThis will create a virtual environment with python 3 and the dependencies of this project\n```\n#Install and run JupyterLab\n```bash\n$ poetry add --dev jupyterlab\n$ poetry run jupyter lab\n```\n\n## Usage\n\n### Setup\nThe key and secret are from your registration on developer.blackboard.com.\nThe url is the base url for your campus ie: https://blackboard.school.edu\n```python\nfrom bbrest import BbRest\nbb = BbRest(key, secret, url)\n```\n### Session Management\n```python\nbb.expiration()\n```\n'6 minutes ago'\n```python\nr = bb.GetUser(userId='test_user')\nr.status_code\n```\n200\n\nThe call method checks if the session is expired, and renews the token if so. Other methods around token management:\n\n```python\nr = bb.is_expired() #returns boolean\nr = bb.refresh_token() #manually refreshes the token\n```\n\nNote, refresh_token will receive the same token from Blackboard if the token is not yet expired, even if there's only seconds left.\n\n### REST call discovery / usage with Tab completion\nFind all endpoints available in the current version that have 'GetUs' in the name.\n```python\nr = bb.GetUs\n```\n * bb.GetUser\n * bb.GetUserGrades\n * bb.GetUserMemberships\n * bb.GetUsers\n\nFind the parameters of 'GetColumnGrade'\n```python\nr = bb.GetColumnGrade()\n```\n * columnId=\n * courseId=\n * userId=\n\nAll available endpoints can be accessed this way.\nParams should be entered as `params={'key':'value'}`\nPayload should be entered as `payload={'key1':'value1','key2':'value2', etc}`\n\n### Calling API endpoints\n```python\n#Some convenience tricks for common calls\nr = bb.GetCourse(courseId='2832102')\n\n#same as above\nr = bb.call('GetCourse',courseId='courseId:2832102')\nr.json()\n\nr = bb.UpdateCourseMembership(courseId='2832102',\n userId='test_user',\n payload={'availability':{'available':'No'}})\n\n#same as above\nr = bb.call('UpdateCourseMembership',courseId='courseId:2832102',userId='userName:test_user',payload={'availability':{'available':'No'}})\nr.json()\n```\n### Asynchronous calls!\nOne of the big advantages of javascript over python was the idea of promises and asynchronous information gathering. Python now has await and async capabilities, but using it can be tricky. \n\nI've tried to make using it with BbRest to be as easy as possible.\n\n```python\nuser_info = await bb.GetUser('test_user', asynch=True)\n```\n\nNOTE: Based on how this is setup - you get back a dict object on success or failure. The failure has a status, but the success only has the info. This is slightly different than how it works synchronously, and has the potential to cause logic errors in the code.\n\nHere's an example of multiple calls:\n```python\n#Assume users is a list of userNames\ntasks = []\nfor user in users:\n tasks.append(bb.GetUser(user), asynch=True)\nresps = await asynchio.gather(*tasks)\n```\n\nSince these calls are asynchronous, it's MUCH faster than synchronously going through all users. \n\n### Working on\nMatching up the responses of Async and Sync functions\nBetter exception handling, and a way to view failure history.\nCalls will always be authenticated, if the session is expired, it will renew the session.\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "Matt Deakyne", "maintainer_email": "m.d@ku.edu", "name": "bbrest", "package_url": "https://pypi.org/project/bbrest/", "platform": "", "project_url": "https://pypi.org/project/bbrest/", "project_urls": null, "release_url": "https://pypi.org/project/bbrest/0.3.7/", "requires_dist": [ "maya", "requests", "aiohttp" ], "requires_python": ">=3.6,<4.0", "summary": "Blackboard REST API for Humans", "version": "0.3.7" }, "last_serial": 5857613, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "e853a304ed11ed51c9ae55eaab7afdd5", "sha256": "203afc1dbfe9ec247363f1f9a852b3983006cab6d83b86354dfb57b7192f5484" }, "downloads": -1, "filename": "bbrest-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e853a304ed11ed51c9ae55eaab7afdd5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6328, "upload_time": "2018-09-24T20:44:43", "url": "https://files.pythonhosted.org/packages/06/fb/febb7d4594c86bd9d912056c4320edd4650384d46c159c5ebee657966b09/bbrest-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e39aee52c856b124ec1cb1d9139148d0", "sha256": "f13649e8011b6da07ccfde1dfd3bd0391782b68cf9ddf2fd1642cb24079a9cce" }, "downloads": -1, "filename": "bbrest-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e39aee52c856b124ec1cb1d9139148d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8348, "upload_time": "2018-09-17T18:12:24", "url": "https://files.pythonhosted.org/packages/c3/af/3bc0ffbe2b12cfe2bfd2b606354be85e334c0c6814607f897f84a286f463/bbrest-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "00921f18acbbb9154c05feb29bb8baa8", "sha256": "4d51f31f5796277294277ea8633e7080a6516e4238ce91ad513f13d78661d475" }, "downloads": -1, "filename": "bbrest-0.1.1.tar.gz", "has_sig": false, "md5_digest": "00921f18acbbb9154c05feb29bb8baa8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8237, "upload_time": "2018-09-17T20:54:46", "url": "https://files.pythonhosted.org/packages/38/38/db1d481b640b0f19afb2afda62d66e795adb0cb1d8478d2da881c32bb4ab/bbrest-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "09971ae9f40a57a5a0f2550c80bf4ff7", "sha256": "8457fdb1ffafcbd22dd5cc133b1cb713068a4e53f802d3ad17e50ef187419f95" }, "downloads": -1, "filename": "bbrest-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "09971ae9f40a57a5a0f2550c80bf4ff7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6328, "upload_time": "2018-09-24T20:46:58", "url": "https://files.pythonhosted.org/packages/f1/7f/ad10fc5710a4f1de6ef3ea8577df7c09a3b69c3a3f3df862699714c930a3/bbrest-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2d77a5bdd2271ba7be81f0136f851339", "sha256": "6d88bace337d4b2191f7f18b70d7e4d5deb57f310a98fe9ec212b4ee32fffde1" }, "downloads": -1, "filename": "bbrest-0.1.2.tar.gz", "has_sig": false, "md5_digest": "2d77a5bdd2271ba7be81f0136f851339", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8337, "upload_time": "2018-09-24T20:48:08", "url": "https://files.pythonhosted.org/packages/36/61/b17a95f7c50d6eccabf15c16feca99c1d9a063067980f2e9e3d38815b8d7/bbrest-0.1.2.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "90c1ab30233970dfb437e6f88d385e40", "sha256": "d4b122970dd32c80d7982798ed4727b1b0e6b8ad164ab7954b1df3b07949eec5" }, "downloads": -1, "filename": "bbrest-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "90c1ab30233970dfb437e6f88d385e40", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 17927, "upload_time": "2019-03-13T14:20:59", "url": "https://files.pythonhosted.org/packages/2d/dd/257a39bb355a5e913180ee74f6543342b3bd6dd9a62d91b5984699018879/bbrest-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1eed8848912754813a71923f3553845", "sha256": "0f761d986efca5b5671395aa7a1266b0bf4aaa6c4a8ca9b75eabafeab2abfba4" }, "downloads": -1, "filename": "bbrest-0.2.5.tar.gz", "has_sig": false, "md5_digest": "a1eed8848912754813a71923f3553845", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7478, "upload_time": "2019-03-13T14:21:00", "url": "https://files.pythonhosted.org/packages/ed/e5/9727609e404be5902d93c58b7c7075872fd7f6bd8999fcc097285265c804/bbrest-0.2.5.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "00512c237c8fb71df3f24b18a392c356", "sha256": "ae0b7715cd54b1aa4d73d7cfb67d3d4ce34dd3bb2fa5dc1badc21b2009e2478e" }, "downloads": -1, "filename": "bbrest-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "00512c237c8fb71df3f24b18a392c356", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 18105, "upload_time": "2019-06-11T18:39:47", "url": "https://files.pythonhosted.org/packages/18/4b/b91ba6a08a6a79e655dab5b393f19b85d68268435f17476bca73d53c0dcf/bbrest-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6ef6ebd9e51a2f35d4822e1f5630d8a7", "sha256": "ea7684b94af20514c837524484c5aa5d5a9b4173330e2dc5fc421d787bf1c73d" }, "downloads": -1, "filename": "bbrest-0.2.7.tar.gz", "has_sig": false, "md5_digest": "6ef6ebd9e51a2f35d4822e1f5630d8a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7540, "upload_time": "2019-06-11T18:39:49", "url": "https://files.pythonhosted.org/packages/42/22/8c4af1856a53bc4fa56f2952844a93cf9e9dcbe10cd2f65c1c78f783cedc/bbrest-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "7ea828f54bb7ba016474fdcf8904018e", "sha256": "2ac291157c7895413cb9987f3ba919ae0e6823f99da867e64bf5268c3f218afc" }, "downloads": -1, "filename": "bbrest-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "7ea828f54bb7ba016474fdcf8904018e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 18643, "upload_time": "2019-08-01T18:35:07", "url": "https://files.pythonhosted.org/packages/db/3f/888bf3f60174c2839cd42071f94dca4de8c3f9a06efd11f6ab39c3c95b17/bbrest-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4309e2f573029ead0bf84906bf8e7da", "sha256": "44a605ab891d9754a8bc0832a31e6b17c90a9c0943ef6804900b2b5c538aa21b" }, "downloads": -1, "filename": "bbrest-0.2.8.tar.gz", "has_sig": false, "md5_digest": "a4309e2f573029ead0bf84906bf8e7da", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7662, "upload_time": "2019-08-01T18:35:09", "url": "https://files.pythonhosted.org/packages/9f/af/5f8eabf2385e563fee6ebfdca43eb2b5bd9c1a8d7c3ea5d3ed4efcaf7ea3/bbrest-0.2.8.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "427e50c9d69e2c6d522f20a8d1465e90", "sha256": "fb7b54d2aeafd896dc18058880ac420bdc5a36898953cf15ab46e15bf0d16f81" }, "downloads": -1, "filename": "bbrest-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "427e50c9d69e2c6d522f20a8d1465e90", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 18080, "upload_time": "2019-08-05T13:36:11", "url": "https://files.pythonhosted.org/packages/42/91/514b5188e92a9750226f3c1e4f635dd4b29cdd1f961cbca7dce4a441a407/bbrest-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95af7dbea01e898d40a0182ab9e307ed", "sha256": "d02b993c5a085ca0cbb3f8c2b71c8680f6076ca70b7d5f3ddb49f07695e31fb3" }, "downloads": -1, "filename": "bbrest-0.3.2.tar.gz", "has_sig": false, "md5_digest": "95af7dbea01e898d40a0182ab9e307ed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 7732, "upload_time": "2019-08-05T13:36:12", "url": "https://files.pythonhosted.org/packages/42/64/103281123e5f6eb6247720f3e97d0f6651b92be4f03ce08cf8ae4c49b730/bbrest-0.3.2.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "ead2d514c9610aa8cdcf9e26c287518b", "sha256": "fd9b405376608dc7e9789549b102cbc2c7115a34aa72a41d1ddb6b0d56222b1a" }, "downloads": -1, "filename": "bbrest-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "ead2d514c9610aa8cdcf9e26c287518b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20280, "upload_time": "2019-08-15T15:43:36", "url": "https://files.pythonhosted.org/packages/0a/94/a3e932cb6360ad0c73675e524b018cdd31f7cfddd616a7faca04db8904e9/bbrest-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8a6b78de61687505010ce0e936c86ac", "sha256": "f230a82e2ebd9443c6bfae06a6b8f1d04662669861ba8124d089c0cfb1d563d7" }, "downloads": -1, "filename": "bbrest-0.3.6.tar.gz", "has_sig": false, "md5_digest": "b8a6b78de61687505010ce0e936c86ac", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8255, "upload_time": "2019-08-15T15:43:38", "url": "https://files.pythonhosted.org/packages/fb/f6/8ba1289e22502cc70201a85e016f717ec5dc99aef6c95c928886bb942dd7/bbrest-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "3f8f28c67d5012f63714ea146551438e", "sha256": "cd1606156d4b0592c7d2258936fc5f9a29688fe5c9785cb7ae86a27d68249a22" }, "downloads": -1, "filename": "bbrest-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3f8f28c67d5012f63714ea146551438e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20802, "upload_time": "2019-08-16T18:58:26", "url": "https://files.pythonhosted.org/packages/c9/55/cf07b102f6e87612b3e92d360ca10dfb7652a0c516753bf4a266192bef52/bbrest-0.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae48aaa788a804ed71229f098066c75c", "sha256": "4e19f5d36c829be1a2ceacaeafecee0228e268c4ea9526eef885009034eb86a8" }, "downloads": -1, "filename": "bbrest-0.3.7.tar.gz", "has_sig": false, "md5_digest": "ae48aaa788a804ed71229f098066c75c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8314, "upload_time": "2019-08-16T18:58:27", "url": "https://files.pythonhosted.org/packages/6a/1c/fb20ba2bf36d11aa71d64a3ede1753f2e39e2fbc2be6022aae2fdd0d0160/bbrest-0.3.7.tar.gz" } ], "0.3.7a0": [ { "comment_text": "", "digests": { "md5": "ea42ee47f80c1a9bcf425d5940eb5a2d", "sha256": "540294c2c86ef4059377a307c813bc34d9fad37692dee6ccde0842b8f980c2b7" }, "downloads": -1, "filename": "bbrest-0.3.7a0-py3-none-any.whl", "has_sig": false, "md5_digest": "ea42ee47f80c1a9bcf425d5940eb5a2d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20302, "upload_time": "2019-08-15T16:55:41", "url": "https://files.pythonhosted.org/packages/83/b9/d4bb740dc16eea42a8215ad11b27f63175ca7df5e4161f9fabf4d1122a98/bbrest-0.3.7a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5dade7deca51f42117a44f797ff8d8df", "sha256": "4d10423cd5d2eae5d6f5707ce3892a03531a7e2048348d268e5a7ee535f1e2fd" }, "downloads": -1, "filename": "bbrest-0.3.7a0.tar.gz", "has_sig": false, "md5_digest": "5dade7deca51f42117a44f797ff8d8df", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8275, "upload_time": "2019-08-15T16:55:43", "url": "https://files.pythonhosted.org/packages/c0/89/a98f09395ae4a7a6ebeb89b5839d277b9f2754128e06a4bfbc1741e68d3a/bbrest-0.3.7a0.tar.gz" } ], "0.3.7a1": [ { "comment_text": "", "digests": { "md5": "8dafcffbfd6baab2fdb445f6b4e92558", "sha256": "246ea6d6a295f8bedf6d8fd9c500eb8839a1051f4014c82d22d9444632ec6c5e" }, "downloads": -1, "filename": "bbrest-0.3.7a1-py3-none-any.whl", "has_sig": false, "md5_digest": "8dafcffbfd6baab2fdb445f6b4e92558", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20323, "upload_time": "2019-08-15T17:39:38", "url": "https://files.pythonhosted.org/packages/2d/cf/7d52ddd9b3f5136100ad4d7bad858125c31b71ad0847de2d0fcc3e1b322d/bbrest-0.3.7a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "13b6f61fccd97036eab8f68a6be4e1b9", "sha256": "7a2bdf7d09b16fb1a20884c84e0bab99c09a39dc77f2ac33dd586bead2547752" }, "downloads": -1, "filename": "bbrest-0.3.7a1.tar.gz", "has_sig": false, "md5_digest": "13b6f61fccd97036eab8f68a6be4e1b9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8276, "upload_time": "2019-08-15T17:39:39", "url": "https://files.pythonhosted.org/packages/01/76/49d2db7cd58f4aa60259b9848cb4c2fe2ce1e68a36e8cf6a5b749e95d90f/bbrest-0.3.7a1.tar.gz" } ], "0.3.7a2": [ { "comment_text": "", "digests": { "md5": "abe85abd2163a5cfa1ef6e399b5dad37", "sha256": "f6ddc4e07170c63f27a4911ddd496ddc234f0c10ce6b3c10e0b79eb7c68aac34" }, "downloads": -1, "filename": "bbrest-0.3.7a2-py3-none-any.whl", "has_sig": false, "md5_digest": "abe85abd2163a5cfa1ef6e399b5dad37", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20272, "upload_time": "2019-08-15T17:52:08", "url": "https://files.pythonhosted.org/packages/4f/52/75c9f5b16274d05f6a56091deaa73915a883080919d3c96f62ff1946e8cb/bbrest-0.3.7a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "081d591b8bb2760d2816da15b636315b", "sha256": "98955c4d8ff4df8f722e600a9aab3bd0693b0161e4fd4d4205d397865c429138" }, "downloads": -1, "filename": "bbrest-0.3.7a2.tar.gz", "has_sig": false, "md5_digest": "081d591b8bb2760d2816da15b636315b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8253, "upload_time": "2019-08-15T17:52:10", "url": "https://files.pythonhosted.org/packages/a7/4f/55c1d8d53c5bb3cc1fb123a8371eb5536cacd653a436ef9db9a1536be4f7/bbrest-0.3.7a2.tar.gz" } ], "0.3.7a3": [ { "comment_text": "", "digests": { "md5": "dea39f95377f238275db9b1a3c0ff45e", "sha256": "06bebe498353c662ec3f899db0faee31f7610bc8603320d63fb1089410e1ec0c" }, "downloads": -1, "filename": "bbrest-0.3.7a3-py3-none-any.whl", "has_sig": false, "md5_digest": "dea39f95377f238275db9b1a3c0ff45e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20798, "upload_time": "2019-08-15T18:27:16", "url": "https://files.pythonhosted.org/packages/ee/26/238c38178495ef88089bf3dece422622258daed49a97deb77e253cbb41ed/bbrest-0.3.7a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f199547dbabbf8e87b5e711ac30446f7", "sha256": "63ed4ecf99283fbdc93a9c39adf5c99b214169d1c3d7a2de526a3e860473587e" }, "downloads": -1, "filename": "bbrest-0.3.7a3.tar.gz", "has_sig": false, "md5_digest": "f199547dbabbf8e87b5e711ac30446f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8307, "upload_time": "2019-08-15T18:27:18", "url": "https://files.pythonhosted.org/packages/e2/8a/ab51ef8439a977e7f44832af8f9f2aa99c46e8387bc6b8a72e70841d8bcc/bbrest-0.3.7a3.tar.gz" } ], "0.3.7a4": [ { "comment_text": "", "digests": { "md5": "8e4fe0191a6d2307900997cfff8a79b8", "sha256": "3c919d5acf11f109f175e334578f91a888ee6fb23e8fd4341af06d4560cfc2f4" }, "downloads": -1, "filename": "bbrest-0.3.7a4-py3-none-any.whl", "has_sig": false, "md5_digest": "8e4fe0191a6d2307900997cfff8a79b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20817, "upload_time": "2019-08-15T18:34:15", "url": "https://files.pythonhosted.org/packages/cb/9a/86ac2e57f8df7820dc28777d277dd19e004625134cc55be9694183ba3d8b/bbrest-0.3.7a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5ecf7137af3e271a9638a3713632d058", "sha256": "1f1d566a244ac9700f51534afc6f4b897302c75d16d205888bb91d4705e16328" }, "downloads": -1, "filename": "bbrest-0.3.7a4.tar.gz", "has_sig": false, "md5_digest": "5ecf7137af3e271a9638a3713632d058", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8322, "upload_time": "2019-08-15T18:34:17", "url": "https://files.pythonhosted.org/packages/69/97/ca32f586d85f98bf3e802a3eae0d0e52e86ba7c3aff62518b195644fbd63/bbrest-0.3.7a4.tar.gz" } ], "0.3.7a5": [ { "comment_text": "", "digests": { "md5": "9e6c344d2131971ddfe01c27bf2e73ce", "sha256": "60828f5f386597b152189b86a92c3fd49aa0812f69b5df4ce4e44011d32d7534" }, "downloads": -1, "filename": "bbrest-0.3.7a5-py3-none-any.whl", "has_sig": false, "md5_digest": "9e6c344d2131971ddfe01c27bf2e73ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20890, "upload_time": "2019-08-16T17:47:59", "url": "https://files.pythonhosted.org/packages/95/05/1f1c9e05e3c82afcd416cd1bf9727f1dfd68ac874f930998c3445cef85f1/bbrest-0.3.7a5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef55c008467d63c6f6bd69db44e5d03b", "sha256": "f01fe7be93fec9e578273eaa9c8445356f2b03a85b627f3188c3a0af649b9697" }, "downloads": -1, "filename": "bbrest-0.3.7a5.tar.gz", "has_sig": false, "md5_digest": "ef55c008467d63c6f6bd69db44e5d03b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8320, "upload_time": "2019-08-16T17:48:01", "url": "https://files.pythonhosted.org/packages/74/13/c9814d821a0c9e69d2a3bfd63d268b86a8be0be775cecf46ac80e55155a9/bbrest-0.3.7a5.tar.gz" } ], "0.3.7a6": [ { "comment_text": "", "digests": { "md5": "0db4cf9e6b18b9bbf686d0c4a7108461", "sha256": "1179ee37c5b510d7ff046e2193092a4ed66318596edb672565881e13fdb8470a" }, "downloads": -1, "filename": "bbrest-0.3.7a6-py3-none-any.whl", "has_sig": false, "md5_digest": "0db4cf9e6b18b9bbf686d0c4a7108461", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20823, "upload_time": "2019-08-16T17:52:28", "url": "https://files.pythonhosted.org/packages/08/24/8036a992bdf5f9ef64394efd0455fea3f7c9817fcfd84f27835bc78dfcf2/bbrest-0.3.7a6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "562c4ad6faa8682b5e1cc077bd9a41f7", "sha256": "1e15d7af15fc9a83c10329966840965da5711b04348ca39ae02a0a8660a20a05" }, "downloads": -1, "filename": "bbrest-0.3.7a6.tar.gz", "has_sig": false, "md5_digest": "562c4ad6faa8682b5e1cc077bd9a41f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8327, "upload_time": "2019-08-16T17:52:29", "url": "https://files.pythonhosted.org/packages/3e/5a/885d4924f0d7b573f5c937c1b3e0f60ed154940487baddd31d77930eb66f/bbrest-0.3.7a6.tar.gz" } ], "0.3.8a0": [ { "comment_text": "", "digests": { "md5": "78bf8ef2277619767e56f5d625d0e579", "sha256": "90bc4a085cbe87555f055f9017bccbf75a98ae7fb0bf523d9c4f788bce6f06a0" }, "downloads": -1, "filename": "bbrest-0.3.8a0-py3-none-any.whl", "has_sig": false, "md5_digest": "78bf8ef2277619767e56f5d625d0e579", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 22614, "upload_time": "2019-09-04T19:41:31", "url": "https://files.pythonhosted.org/packages/3d/ab/198fd315cc0ab26485edf6e8261a191d88db060f2206d136f5066af952ea/bbrest-0.3.8a0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d93d692201d2b2d4875d512df52c50f", "sha256": "a914f1409a8ff39f635a36e77625982428820aa9a10f09d0c5f4a61e2db37be6" }, "downloads": -1, "filename": "bbrest-0.3.8a0.tar.gz", "has_sig": false, "md5_digest": "9d93d692201d2b2d4875d512df52c50f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8732, "upload_time": "2019-09-04T19:41:33", "url": "https://files.pythonhosted.org/packages/2b/2d/53f892239ee151a9f7a6632791f4a344ee06f2f7e9c242ef6c51e7abf055/bbrest-0.3.8a0.tar.gz" } ], "0.3.8a1": [ { "comment_text": "", "digests": { "md5": "271cd87b2873264e8dd3e8dd4bc46772", "sha256": "7d1000054b37eb1ab920068892d99646981acb1c200d4a06990d5b4d55e81748" }, "downloads": -1, "filename": "bbrest-0.3.8a1-py3-none-any.whl", "has_sig": false, "md5_digest": "271cd87b2873264e8dd3e8dd4bc46772", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 23905, "upload_time": "2019-09-09T18:41:43", "url": "https://files.pythonhosted.org/packages/eb/39/b3704bba83c9167c1a14c861c7745d9bef8ddf6f511d73a64a242233a27c/bbrest-0.3.8a1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1442b14e8f4474dc5dc1402e0477b908", "sha256": "e55ae1873a48b770a1cdd55a3ce758ce0e37cf51cc7d14e1613e7f0271d8459b" }, "downloads": -1, "filename": "bbrest-0.3.8a1.tar.gz", "has_sig": false, "md5_digest": "1442b14e8f4474dc5dc1402e0477b908", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9274, "upload_time": "2019-09-09T18:41:44", "url": "https://files.pythonhosted.org/packages/ca/06/d70ecf56c0399a9042080a3eaf0e1151765dc22f62b8f58955b2550f40db/bbrest-0.3.8a1.tar.gz" } ], "0.3.8a2": [ { "comment_text": "", "digests": { "md5": "5a38fb620a5fc451a895a374d051fea1", "sha256": "1b50348bd2e29b930648c05b4858e69c341fb9577fabe4c6fcd1c56c6d311687" }, "downloads": -1, "filename": "bbrest-0.3.8a2-py3-none-any.whl", "has_sig": false, "md5_digest": "5a38fb620a5fc451a895a374d051fea1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24053, "upload_time": "2019-09-09T19:49:22", "url": "https://files.pythonhosted.org/packages/4d/6c/271b46ce0cb0938c4c61b2b13d053ee5b8d046a21b859814f6d566654823/bbrest-0.3.8a2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26efb1a728205b658353bb0dc78336d9", "sha256": "1e03ec1cc2c2f7257e57c790caccd83ea74ab8232e4b388aa49f67e100e5ceb5" }, "downloads": -1, "filename": "bbrest-0.3.8a2.tar.gz", "has_sig": false, "md5_digest": "26efb1a728205b658353bb0dc78336d9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9306, "upload_time": "2019-09-09T19:49:23", "url": "https://files.pythonhosted.org/packages/82/03/ada9556c674d06daa584c8fdbfdd3474fa6755101ff0315c49adae41006b/bbrest-0.3.8a2.tar.gz" } ], "0.3.8a3": [ { "comment_text": "", "digests": { "md5": "5e047899713618d4670cb1dbb80a3f34", "sha256": "9b4dc2aa67c52f7f8eb331d25571a41fa56f3629d508c50207b03394db4ac425" }, "downloads": -1, "filename": "bbrest-0.3.8a3-py3-none-any.whl", "has_sig": false, "md5_digest": "5e047899713618d4670cb1dbb80a3f34", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24052, "upload_time": "2019-09-09T19:53:12", "url": "https://files.pythonhosted.org/packages/27/d2/83c045f27eddb713d72864ee2e46d50b69af96b961a338a26eddd5efa717/bbrest-0.3.8a3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "074a7f57d19d0732d2539df479a8da4a", "sha256": "2d36a2536ccce5676f28fb873573a213176ec069666ab289436d8b70acb68298" }, "downloads": -1, "filename": "bbrest-0.3.8a3.tar.gz", "has_sig": false, "md5_digest": "074a7f57d19d0732d2539df479a8da4a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9317, "upload_time": "2019-09-09T19:53:14", "url": "https://files.pythonhosted.org/packages/10/b5/2634a34de4222770d812c9b18b109a2cb31d12a60e0ed796249ce43b4526/bbrest-0.3.8a3.tar.gz" } ], "0.3.8a4": [ { "comment_text": "", "digests": { "md5": "7ec272f4a31be5c9445d53f74cbfb151", "sha256": "e2fc0f5e5cb47e1120ffec905bd7cac3acbcee72d3bca51a1411ed57bf936c63" }, "downloads": -1, "filename": "bbrest-0.3.8a4-py3-none-any.whl", "has_sig": false, "md5_digest": "7ec272f4a31be5c9445d53f74cbfb151", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 24658, "upload_time": "2019-09-19T16:43:14", "url": "https://files.pythonhosted.org/packages/8d/fa/a11e9bb63c6c5208ad733bec9970c3d1172e941ee2f9329001d1a494b458/bbrest-0.3.8a4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a317ba2ca2a47194ce7f0aeae471f0b6", "sha256": "f05ea994122484d992ed5c74900ef59b4e561e89e775b0219ab2f1f3f8375761" }, "downloads": -1, "filename": "bbrest-0.3.8a4.tar.gz", "has_sig": false, "md5_digest": "a317ba2ca2a47194ce7f0aeae471f0b6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 9448, "upload_time": "2019-09-19T16:43:16", "url": "https://files.pythonhosted.org/packages/9a/88/863e57610ea2b6ca3a14c177a5fa61475ac1d42e43143da7a31bb23c149c/bbrest-0.3.8a4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3f8f28c67d5012f63714ea146551438e", "sha256": "cd1606156d4b0592c7d2258936fc5f9a29688fe5c9785cb7ae86a27d68249a22" }, "downloads": -1, "filename": "bbrest-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "3f8f28c67d5012f63714ea146551438e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6,<4.0", "size": 20802, "upload_time": "2019-08-16T18:58:26", "url": "https://files.pythonhosted.org/packages/c9/55/cf07b102f6e87612b3e92d360ca10dfb7652a0c516753bf4a266192bef52/bbrest-0.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ae48aaa788a804ed71229f098066c75c", "sha256": "4e19f5d36c829be1a2ceacaeafecee0228e268c4ea9526eef885009034eb86a8" }, "downloads": -1, "filename": "bbrest-0.3.7.tar.gz", "has_sig": false, "md5_digest": "ae48aaa788a804ed71229f098066c75c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6,<4.0", "size": 8314, "upload_time": "2019-08-16T18:58:27", "url": "https://files.pythonhosted.org/packages/6a/1c/fb20ba2bf36d11aa71d64a3ede1753f2e39e2fbc2be6022aae2fdd0d0160/bbrest-0.3.7.tar.gz" } ] }