{ "info": { "author": "Damien Krystkiewicz", "author_email": "damian.krystkiewicz@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython" ], "description": "=============================================\nStickybeak - Life changing E2E tests solution\n=============================================\n\n.. image:: https://badge.fury.io/py/stickybeak.svg\n :target: https://pypi.org/project/stickybeak/\n\n.. image:: https://circleci.com/gh/dkrystki/stickybeak.svg?style=svg\n :target: https://circleci.com/gh/dkrystki/stickybeak\n\n.. image:: https://codecov.io/gh/dkrystki/stickybeak/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/dkrystki/stickybeak\n\n.. image:: https://img.shields.io/badge/python-3.6-blue.svg\n :target: https://www.python.org/downloads/release/python-360/\n\n.. image:: https://img.shields.io/badge/python-3.7-blue.svg\n :target: https://www.python.org/downloads/release/python-370/\n\nStickybeak is an end to end test helper library that saves lots of testing endpoints and boilerplate code.\nUsually end to end testing is hard to debug when something goes wrong since modern microservice architecture can be\nquite convoluted. This library can flatten structure of even the most complex application and help developers write\ntests that are easy to debug and reflect real life scenarios.\n\nThis can save Hundreds of unit and integration tests.\n\nHow does it work\n----------------\nStickybeak uses code injection to execute arbitrary python code on remote servers in a local environment or dedicated\ncentralized testing microservice.\nCode injection might sound scary but this solution is completely safe since code injection endpoints are only enabled\nin testing or staging environment.\nResults of executed code including all local variables or raised exceptions are pickled on remote server and sent back\nto the testing script where are unpickled and available for further testing and debugging - just like the code was\nexecuted locally.\n\nPretty amazing huh :) ?\n\n\nAt the moment stickybeak supports Django and Flask frameworks.\n\n\nInstallation\n------------\n.. code-block:: console\n\n pip install stickybeak\n\n\nExample usage\n-------------\n\nDjango app (remote server)\n##########################\n\nTo enable stickybeak in a django application add the following line to your :code:`urls.py` file:\n\n.. code-block:: python\n\n path(\"stickybeak/\", include(\"stickybeak.dj.urls\")),\n\n\nAnd add :code:`stickybeak` to :code:`INSTALLED_APPS` list.\n\nFlask app (remote server)\n#########################\nTo enable stickybeak in a flask application add :code:`setup(app)` as follows:\n\n.. code-block:: python\n\n from flask import Flask\n from stickybeak.flask_view import setup\n\n app = Flask(__name__)\n setup(app)\n\n\nTesting app (local server)\n##########################\n\nFunctions\n+++++++++\nFunction arguments and returns as well as default arguments are allowed.\n\n.. code-block:: python\n\n from stickybeak.injector import DjangoInjector\n\n injector = DjangoInjector(address='http://django-srv:8000',\n django_settings_module='django_srv.settings')\n\n @injector.function\n def fun(a: int, b: int = 2) -> float:\n return a / b\n\n fun(2)\n\n\nExceptions\n++++++++++\nException are forwarded from remote to local server so the following piece of code raises :code:`ZeroDivisionError`:\n\n.. code-block:: python\n\n from stickybeak.injector import DjangoInjector\n\n injector = DjangoInjector(address='http://django-srv:8000',\n django_settings_module='django_srv.settings')\n\n @injector.function\n def fun() -> float:\n a = 1\n b = 0\n return a / b\n\n fun() # raises ZeroDivisionError\n\n\n\nUsing complex objects from a remote server locally\n++++++++++++++++++++++++++++++++++++++++++++++++++\nObjects are pickled on the remote side and send back to the local script and are available for further inspection or use.\n\n.. code-block:: python\n\n @self.injector.function\n def fun():\n from app.models import Currency\n\n currency = Currency()\n currency.name = \"test_currency\"\n currency.endpoint = \"test_endpoint\"\n currency.save()\n return Currency.objects.all()[0] # noqa\n\n ret: object = fun()\n assert ret.name == \"test_currency\"\n assert ret.endpoint == \"test_endpoint\"\n\nClasses\n+++++++\nThe same concepts go to classes. Only classmethods are allowed at the moment.\n\n.. code-block:: python\n\n @injector.klass\n class Interface:\n @classmethod\n def fun(cls, x: int) -> int:\n a = 1\n b = 2\n return a + b + x\n\n @classmethod\n def fun2(cls, x: int) -> int:\n c = 3\n d = 4\n return c + d + x\n\n @classmethod\n def fun3(cls) -> int:\n return cls.fun(5) + cls.fun2(x=5)\n\n Interface.fun(1) # 4\n Interface.fun2(2) # 9\n Interface.fun3() # 20\n\nDevelopment\n-----------\nStickybeak uses pipenv. To install packages run:\n\n.. code-block:: console\n\n pipenv install\n\n\nStarting test servers\n#####################\n.. code-block:: console\n\n honcho start\n\n\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/dkrystki/stickybeak", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "stickybeak", "package_url": "https://pypi.org/project/stickybeak/", "platform": "", "project_url": "https://pypi.org/project/stickybeak/", "project_urls": { "Homepage": "https://github.com/dkrystki/stickybeak" }, "release_url": "https://pypi.org/project/stickybeak/0.4.9/", "requires_dist": [ "requests" ], "requires_python": ">=3.0", "summary": "Package that makes e2e tests easy.", "version": "0.4.9" }, "last_serial": 5962897, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "a82725b5ddee05c4e0c6f102d378d078", "sha256": "89b65a6c8da53dd5235ff9cbc0d4312ce37c19e04e2b47cb839f836eaf454be6" }, "downloads": -1, "filename": "stickybeak-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "a82725b5ddee05c4e0c6f102d378d078", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 11735, "upload_time": "2019-07-01T13:03:01", "url": "https://files.pythonhosted.org/packages/f2/24/906a7b055bf250e24a11041a51307d6efde1e4dcf5e2cba17bfb8fd457fb/stickybeak-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c77cad174378209d7e346a8c940824ca", "sha256": "1a91a0cc6cb3185b1f1f35f49c3b97a7eec8c5b791be2e4db3fa53457c1df263" }, "downloads": -1, "filename": "stickybeak-0.1.2.tar.gz", "has_sig": false, "md5_digest": "c77cad174378209d7e346a8c940824ca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 135716, "upload_time": "2019-07-01T13:03:03", "url": "https://files.pythonhosted.org/packages/e0/8a/743bafe349feb41d5c1e29b6534c951876e5c535d2995fb22abb668f731f/stickybeak-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "5a9ee3aec41e00e85cba74f98ecbdc59", "sha256": "4e8af401d276e5064776f311260be3b0a6500d2bea300c7323c4d5a91a2439ef" }, "downloads": -1, "filename": "stickybeak-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "5a9ee3aec41e00e85cba74f98ecbdc59", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 11829, "upload_time": "2019-07-01T14:24:46", "url": "https://files.pythonhosted.org/packages/61/44/73376b5a1605370fd5a9c2a345764483f7b179fe131b23d5a90770ba92e5/stickybeak-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e85c91756d87d79eaab9f08c70cc8d5c", "sha256": "a0a3d3c07e1ed4b2578243a0a1297417a0af40e360eab1b78fd50dc249249369" }, "downloads": -1, "filename": "stickybeak-0.1.3.tar.gz", "has_sig": false, "md5_digest": "e85c91756d87d79eaab9f08c70cc8d5c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 136524, "upload_time": "2019-07-01T14:24:48", "url": "https://files.pythonhosted.org/packages/e6/5a/5a8caa9ac90f4368eab20ddcdfdc8c86219e2199354859c11f878e4aa565/stickybeak-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "fd192f8810f08b36e57dd2531d6f8ffa", "sha256": "913226269450bb88c94d91b065544b71e10495aabe1715237f8fa3261b29f6dd" }, "downloads": -1, "filename": "stickybeak-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "fd192f8810f08b36e57dd2531d6f8ffa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 11853, "upload_time": "2019-07-01T15:15:06", "url": "https://files.pythonhosted.org/packages/db/b2/c3c52514bc2da0974956f74dfd376d980d708909725b8b15816e56655c6d/stickybeak-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6917d02eb304ad92981a32cc1d00fefe", "sha256": "34faa057c606a66f5f007225d4cabe73d3f9b9848f60a121a215a8ae3c9f50f6" }, "downloads": -1, "filename": "stickybeak-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6917d02eb304ad92981a32cc1d00fefe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 136995, "upload_time": "2019-07-01T15:15:08", "url": "https://files.pythonhosted.org/packages/9e/1b/ccce0e115cc1433495ac3bc13e591490b6bafd21ced7a02c2babdcb30ee5/stickybeak-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "e8f77369d15f4010fecd704e444e11ac", "sha256": "d5756cd0f69b5845ffe55323424a7926c84b18b164ff2245019cd3fbca7f12cc" }, "downloads": -1, "filename": "stickybeak-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "e8f77369d15f4010fecd704e444e11ac", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12059, "upload_time": "2019-07-02T13:31:46", "url": "https://files.pythonhosted.org/packages/37/dc/09290a5b41aa791451185d51eb88f135b530fe70be9fe8074be46a79ad50/stickybeak-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "508bd68be3b0cf1b663ef69d488c85d3", "sha256": "ad519cc254aa158484e444ebee2c6e4c76b7cd893bb08c0e659ef1de1020193a" }, "downloads": -1, "filename": "stickybeak-0.1.5.tar.gz", "has_sig": false, "md5_digest": "508bd68be3b0cf1b663ef69d488c85d3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 139959, "upload_time": "2019-07-02T13:31:48", "url": "https://files.pythonhosted.org/packages/45/7d/0b7440ec4d853c2da6cc69950a62b4e3f4a64a5de40915d0b4f3a93a7a37/stickybeak-0.1.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "e4a3d3372b47f5de06831454ce2aaf52", "sha256": "66a91a311d913d8ddbee719197cdf7c49c16ea68dc7a0c804da7f27b23bbc609" }, "downloads": -1, "filename": "stickybeak-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "e4a3d3372b47f5de06831454ce2aaf52", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12818, "upload_time": "2019-07-21T05:03:27", "url": "https://files.pythonhosted.org/packages/86/b4/350b117688f7db477b5054bf68a6b2816f755c47320e86588f5399b032b8/stickybeak-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6db66ab52d12a6b6e0d4174247a79de0", "sha256": "e94f536e7563115d83806d69b76a16ae8294130e7f82d9d075c556eb13886c18" }, "downloads": -1, "filename": "stickybeak-0.2.6.tar.gz", "has_sig": false, "md5_digest": "6db66ab52d12a6b6e0d4174247a79de0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 140002, "upload_time": "2019-07-21T05:03:29", "url": "https://files.pythonhosted.org/packages/40/a1/a0d73d8142087510d170ef9e6f57fc9843862d9622560b891254f946d561/stickybeak-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "f9b2a6cdff372005a2bebe00e63c53a7", "sha256": "2df62e3469b3a2cecfd821462b97b0aad5dbdea03c81c710ed4c76700e88c6df" }, "downloads": -1, "filename": "stickybeak-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "f9b2a6cdff372005a2bebe00e63c53a7", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 12970, "upload_time": "2019-07-24T09:10:52", "url": "https://files.pythonhosted.org/packages/84/c1/1680219cbd125e8af068bd933570c7a26497317ef8a3e46614d8c1488e81/stickybeak-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e91cbc91bfb68a484c9b93210e19c88f", "sha256": "3c51d8bbb198e890f8cc4a0491e4300e19d26afe45581afc6527caa2157b65f9" }, "downloads": -1, "filename": "stickybeak-0.2.7.tar.gz", "has_sig": false, "md5_digest": "e91cbc91bfb68a484c9b93210e19c88f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 140212, "upload_time": "2019-07-24T09:10:54", "url": "https://files.pythonhosted.org/packages/b0/d3/eb9ee7963c3ff3ad57937c2b3fef11683e1c6893c51943d9df43c3216f36/stickybeak-0.2.7.tar.gz" } ], "0.2.7.dev1": [ { "comment_text": "", "digests": { "md5": "018a2faa3240c4934b6a8ce17489e333", "sha256": "e4f6cf5f9ddaced5715c1005a1b6e13f2a60c465a9b86ab8b16f404e1d49b454" }, "downloads": -1, "filename": "stickybeak-0.2.7.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "018a2faa3240c4934b6a8ce17489e333", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13090, "upload_time": "2019-07-24T09:55:19", "url": "https://files.pythonhosted.org/packages/ce/1b/40ee59b979681fe7728c4a36a655b53bf54acb6625d976b04ee960254670/stickybeak-0.2.7.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad48d39a0cbb18d153a75026386f1cb3", "sha256": "1d742a3aa14e5d3d8a19caef6874375e6897cd0448f6bd53a14d886cb1d2aba3" }, "downloads": -1, "filename": "stickybeak-0.2.7.dev1.tar.gz", "has_sig": false, "md5_digest": "ad48d39a0cbb18d153a75026386f1cb3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 140267, "upload_time": "2019-07-24T09:55:20", "url": "https://files.pythonhosted.org/packages/a0/dc/6ab195c8a95d8ae048c5675c77bedff151c630d69203ce142dc99c64f29b/stickybeak-0.2.7.dev1.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "6982ab7734988ebd4db71fdc9eed5abe", "sha256": "1b921c4c833ceb23e4baa03264e7bae4c18ed49560d79eb6993de4dcce5e4975" }, "downloads": -1, "filename": "stickybeak-0.2.8-py3-none-any.whl", "has_sig": false, "md5_digest": "6982ab7734988ebd4db71fdc9eed5abe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13001, "upload_time": "2019-07-24T10:02:21", "url": "https://files.pythonhosted.org/packages/1c/eb/f77d892a2fa1e12f92a34b149706e480058396594f0416e2e2d182592bcf/stickybeak-0.2.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c6a213f855f49437020086814da56709", "sha256": "c1fe56c108b46d4c6777c343745883d2271e3e5916157dd8eb7770ac450725c6" }, "downloads": -1, "filename": "stickybeak-0.2.8.tar.gz", "has_sig": false, "md5_digest": "c6a213f855f49437020086814da56709", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 140257, "upload_time": "2019-07-24T10:02:23", "url": "https://files.pythonhosted.org/packages/1a/d8/36f71ab22a83858079902260bcdc1433312679ac1086365781ad962af594/stickybeak-0.2.8.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "1b12a91a9c22ea629679440e5fef818a", "sha256": "2d00e33565e1f88242a5966eb3ee49384323fe9035db67bfa6f0a555224a9c61" }, "downloads": -1, "filename": "stickybeak-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "1b12a91a9c22ea629679440e5fef818a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13144, "upload_time": "2019-09-20T06:26:24", "url": "https://files.pythonhosted.org/packages/01/a5/436b708d08034d33ddeba15470f432d171dac0407f3304bc9d7a3584b0cf/stickybeak-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b71cd514ff45fffb8b019574892fac3", "sha256": "0cdd256639092f83048e767f3b24c6bdb86da0df2e633f5754371d8f234826c4" }, "downloads": -1, "filename": "stickybeak-0.3.4.tar.gz", "has_sig": false, "md5_digest": "6b71cd514ff45fffb8b019574892fac3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 32505, "upload_time": "2019-09-20T06:26:26", "url": "https://files.pythonhosted.org/packages/ba/80/c08de8be1e6399cf4cb25504a22104e37340a683a1d1ecb57379bfaafb90/stickybeak-0.3.4.tar.gz" } ], "0.3.4.dev1": [ { "comment_text": "", "digests": { "md5": "8c0e7c0b136f26d27533de957c30b6e2", "sha256": "3a7833d8dc76e544260e27ffd8c528b88312c7dc151c6b03c66b2485b3e8f502" }, "downloads": -1, "filename": "stickybeak-0.3.4.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "8c0e7c0b136f26d27533de957c30b6e2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13374, "upload_time": "2019-09-29T09:17:21", "url": "https://files.pythonhosted.org/packages/74/ca/482c052974ff77d81645e489d3b3b9479b8ed48c98d32e45b90aee4837d3/stickybeak-0.3.4.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "76c393c3d52253f2ec3a6ddf914fbde0", "sha256": "136300e18133546092e88943bef39f5f751dea56d8ea7e341c8e00d432e9935f" }, "downloads": -1, "filename": "stickybeak-0.3.4.dev1.tar.gz", "has_sig": false, "md5_digest": "76c393c3d52253f2ec3a6ddf914fbde0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 35729, "upload_time": "2019-09-29T09:17:22", "url": "https://files.pythonhosted.org/packages/fa/35/3c6cb8214d518be62c9f664ff0bd5b90c7430ee7422f12a1bca508770f96/stickybeak-0.3.4.dev1.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "92fb06de1b3514d9521564242e95938d", "sha256": "f43f06e3010c0c4dba89daabff764f32656a9a3fc7a381cadddec832fcb52bf5" }, "downloads": -1, "filename": "stickybeak-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "92fb06de1b3514d9521564242e95938d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13282, "upload_time": "2019-09-29T09:20:44", "url": "https://files.pythonhosted.org/packages/fe/ed/4ae5545dba61eacd917500110cd76b2b351bf9f0bfd82a29bf714cfd73cc/stickybeak-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "59a1078d937efa456084dbf642d06894", "sha256": "9a4040d773a7f5f8682139e86ab146d5d440293f3413bb90495221bf1a9b5738" }, "downloads": -1, "filename": "stickybeak-0.3.5.tar.gz", "has_sig": false, "md5_digest": "59a1078d937efa456084dbf642d06894", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 35704, "upload_time": "2019-09-29T09:20:46", "url": "https://files.pythonhosted.org/packages/24/1a/8f2c005bdbb6d044be830cbfee12d51900af1247d329ebc6090f37ade371/stickybeak-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "5d24d123a70c99c561c836f3ee50c115", "sha256": "d880774777ca5b77fef95f9dc4de5fbc8a6c2d5df5c6f428fa4a379b88007b4b" }, "downloads": -1, "filename": "stickybeak-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5d24d123a70c99c561c836f3ee50c115", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13126, "upload_time": "2019-09-29T10:50:52", "url": "https://files.pythonhosted.org/packages/f2/1c/21adc79e18280de17e7c4ea707cf410f9e0878b749e43c0714a72e490b4e/stickybeak-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "399f0519a865eafe25895be63a59f1fb", "sha256": "7347c70a1c8add29a2755b34a3eb2d70b817c896da618d13f471fcdc3d6e82ba" }, "downloads": -1, "filename": "stickybeak-0.3.6.tar.gz", "has_sig": false, "md5_digest": "399f0519a865eafe25895be63a59f1fb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 34954, "upload_time": "2019-09-29T10:50:53", "url": "https://files.pythonhosted.org/packages/33/81/0da74ec5534adb6be74695cbf57dcf62e2c8f8fdb801f9d8cf2e8c262e7a/stickybeak-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "108b569ccbbacbef043762a0d281311e", "sha256": "b2cdc5eaaa096daad1c7aefc9f1f12c726e973051685925842e768b006bc5bed" }, "downloads": -1, "filename": "stickybeak-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "108b569ccbbacbef043762a0d281311e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13135, "upload_time": "2019-09-29T11:13:11", "url": "https://files.pythonhosted.org/packages/2b/cc/8236088511f7fe082b24e14e869b96a204f29dd3f1848e21c289723fd904/stickybeak-0.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7b2aeca7335251d9cc0b975cb401cea7", "sha256": "6b2a0aae363c12f8567fba353eb7c34607cbf52b789598e20f091c8e95d40eb0" }, "downloads": -1, "filename": "stickybeak-0.3.7.tar.gz", "has_sig": false, "md5_digest": "7b2aeca7335251d9cc0b975cb401cea7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 35065, "upload_time": "2019-09-29T11:13:17", "url": "https://files.pythonhosted.org/packages/f2/7f/546eedaaf1b1d149a81ad8b695843bd5585630ca5d07d54e96140b51a22f/stickybeak-0.3.7.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "fac2e3b207874f3cd8b6623491eac0fe", "sha256": "81cfda2b9be52bc1a554f00dbaafde6843272764ee90dd58c6f537faaf85fb3a" }, "downloads": -1, "filename": "stickybeak-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "fac2e3b207874f3cd8b6623491eac0fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13674, "upload_time": "2019-10-03T13:08:14", "url": "https://files.pythonhosted.org/packages/50/93/6141eca5da6fe611cbdfb42284a6b07f8e77ef6e0d9c55f7a8466904a548/stickybeak-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54031236b498ee722ba94837566e7bb1", "sha256": "a7c9056f45d40424b89c81f862dca70daf5a57351415fcb69b22bab0c085f40f" }, "downloads": -1, "filename": "stickybeak-0.4.2.tar.gz", "has_sig": false, "md5_digest": "54031236b498ee722ba94837566e7bb1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38222, "upload_time": "2019-10-03T13:08:15", "url": "https://files.pythonhosted.org/packages/04/9f/ffd524e561c98038914bca065360f1597dc8faa8ce5f680f4703d760a143/stickybeak-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "3045a32ad2c40432d0c8d6917478d5fc", "sha256": "35afa52324eb3b367761aa3217419c132a760a878e4248b4dea4c5b0e79fcdd2" }, "downloads": -1, "filename": "stickybeak-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "3045a32ad2c40432d0c8d6917478d5fc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13672, "upload_time": "2019-10-11T03:32:21", "url": "https://files.pythonhosted.org/packages/4c/0d/219fb0a902edeff33c7b365302fda6e42d7a1069ca59819b66cf66afab11/stickybeak-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2ebcdafe480ddacf6ad5b47795229690", "sha256": "51be8e97da5372e74e8f57a8ec81622bfd210edc988572628bc765d3109fd99b" }, "downloads": -1, "filename": "stickybeak-0.4.3.tar.gz", "has_sig": false, "md5_digest": "2ebcdafe480ddacf6ad5b47795229690", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38223, "upload_time": "2019-10-11T03:32:22", "url": "https://files.pythonhosted.org/packages/27/85/bb44b0ceaf9c13515f2f8ee9204835994721bb49d40a7feb28f34934abc4/stickybeak-0.4.3.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "3d5e0ced50c6ad88f6b5385acd325f5b", "sha256": "7f3cf516a19c71be671cd774262ab0cc3ad32da7f6b2d401fc03a63cbf56c9c6" }, "downloads": -1, "filename": "stickybeak-0.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "3d5e0ced50c6ad88f6b5385acd325f5b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13674, "upload_time": "2019-10-11T03:36:33", "url": "https://files.pythonhosted.org/packages/a4/c5/43c89cb83eb87f649d19cf54778f7dc6a21ba3ce4f0f1905a799b96d04f6/stickybeak-0.4.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "62b4fed925167b3a9101fbabaf94f6b4", "sha256": "8395c6c9ae49ec18171cf3e7aa015146e3acf71f672f856ac02289813f51b179" }, "downloads": -1, "filename": "stickybeak-0.4.6.tar.gz", "has_sig": false, "md5_digest": "62b4fed925167b3a9101fbabaf94f6b4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38229, "upload_time": "2019-10-11T03:36:35", "url": "https://files.pythonhosted.org/packages/83/00/0a29faafba715dcdcd1dfafc67b316f33c20b12429ea848c09a1b0410c46/stickybeak-0.4.6.tar.gz" } ], "0.4.7": [ { "comment_text": "", "digests": { "md5": "11b1ca463f90e58aabb2c70bf2d5d771", "sha256": "77c70580de46b273cf8b7d5839a07fc7bd050cfb91dbf553a39fbd9466c29ed2" }, "downloads": -1, "filename": "stickybeak-0.4.7-py3-none-any.whl", "has_sig": false, "md5_digest": "11b1ca463f90e58aabb2c70bf2d5d771", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13654, "upload_time": "2019-10-12T02:10:42", "url": "https://files.pythonhosted.org/packages/6e/e0/3af27ffb43b4012e33f89f222bc402ae17b740c36384e75843a84a370507/stickybeak-0.4.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "414f15b135e510e3d94206e182102429", "sha256": "02d5ab2de9a4c6a999c28ab7d228f5493edc5cf819d11e7eb5037338e212aba4" }, "downloads": -1, "filename": "stickybeak-0.4.7.tar.gz", "has_sig": false, "md5_digest": "414f15b135e510e3d94206e182102429", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38227, "upload_time": "2019-10-12T02:10:43", "url": "https://files.pythonhosted.org/packages/de/45/0112846314ebb59bf578c8f8962b02752d1202aedeece763194b46ec8363/stickybeak-0.4.7.tar.gz" } ], "0.4.8": [ { "comment_text": "", "digests": { "md5": "ad3294cfcb36fbb9cfc7366f6f6a79f8", "sha256": "4b10c47b8668b758a38e98ce1c35ea8b5c0fdcc273331731cbbdc5715a02b234" }, "downloads": -1, "filename": "stickybeak-0.4.8-py3-none-any.whl", "has_sig": false, "md5_digest": "ad3294cfcb36fbb9cfc7366f6f6a79f8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13656, "upload_time": "2019-10-12T02:26:19", "url": "https://files.pythonhosted.org/packages/60/28/7a93caaeb3bc3e5a6e83cfcb4757817e2b7ed2f75920d2bfc963bb871cf5/stickybeak-0.4.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fae8d0d1875eacf1ac18fccb02d20e47", "sha256": "6f15359572d7eca99adac90529f2d24bb101fe1a127ede7085cd088bd9b794d2" }, "downloads": -1, "filename": "stickybeak-0.4.8.tar.gz", "has_sig": false, "md5_digest": "fae8d0d1875eacf1ac18fccb02d20e47", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38246, "upload_time": "2019-10-12T02:26:21", "url": "https://files.pythonhosted.org/packages/b2/29/9590413ef5712281541174f660a52f24a18b41c17f848901e93a80f21b48/stickybeak-0.4.8.tar.gz" } ], "0.4.9": [ { "comment_text": "", "digests": { "md5": "4439eaf49d8673400121a626c8da8af5", "sha256": "74cd315712a34aa992d6e6418150e114fe6957c0ef5d9a12ba30498f9128a710" }, "downloads": -1, "filename": "stickybeak-0.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "4439eaf49d8673400121a626c8da8af5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13615, "upload_time": "2019-10-12T04:32:56", "url": "https://files.pythonhosted.org/packages/0b/c9/b379398122fef48ef8dd0e686ee0582609bdb9ee764886ad5ec2d35db387/stickybeak-0.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d109ec291d25c5f97eff76a4c3f3e32e", "sha256": "8c10c89855c52841522c5dfae35726e2ad1a82e74a556f34679fe83a0c81247a" }, "downloads": -1, "filename": "stickybeak-0.4.9.tar.gz", "has_sig": false, "md5_digest": "d109ec291d25c5f97eff76a4c3f3e32e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38243, "upload_time": "2019-10-12T04:32:58", "url": "https://files.pythonhosted.org/packages/dc/4e/577ad74647f88b1293e29158bd7c6eea831bc01c1d63d46bd49b0807f590/stickybeak-0.4.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4439eaf49d8673400121a626c8da8af5", "sha256": "74cd315712a34aa992d6e6418150e114fe6957c0ef5d9a12ba30498f9128a710" }, "downloads": -1, "filename": "stickybeak-0.4.9-py3-none-any.whl", "has_sig": false, "md5_digest": "4439eaf49d8673400121a626c8da8af5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.0", "size": 13615, "upload_time": "2019-10-12T04:32:56", "url": "https://files.pythonhosted.org/packages/0b/c9/b379398122fef48ef8dd0e686ee0582609bdb9ee764886ad5ec2d35db387/stickybeak-0.4.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d109ec291d25c5f97eff76a4c3f3e32e", "sha256": "8c10c89855c52841522c5dfae35726e2ad1a82e74a556f34679fe83a0c81247a" }, "downloads": -1, "filename": "stickybeak-0.4.9.tar.gz", "has_sig": false, "md5_digest": "d109ec291d25c5f97eff76a4c3f3e32e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.0", "size": 38243, "upload_time": "2019-10-12T04:32:58", "url": "https://files.pythonhosted.org/packages/dc/4e/577ad74647f88b1293e29158bd7c6eea831bc01c1d63d46bd49b0807f590/stickybeak-0.4.9.tar.gz" } ] }