{ "info": { "author": "Automatic Labs", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: Apache Software License", "Natural Language :: English", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Hedwig Library for Python\n=========================\n\n.. image:: https://travis-ci.org/Automatic/hedwig-python.svg?branch=master\n :target: https://travis-ci.org/Automatic/hedwig-python\n\n.. image:: https://coveralls.io/repos/github/Automatic/hedwig-python/badge.svg?branch=master\n :target: https://coveralls.io/github/Automatic/hedwig-python?branch=master\n\n.. image:: https://img.shields.io/pypi/v/authedwig.svg?style=flat-square\n :target: https://pypi.python.org/pypi/authedwig\n\n.. image:: https://img.shields.io/pypi/pyversions/authedwig.svg?style=flat-square\n :target: https://pypi.python.org/pypi/authedwig\n\n.. image:: https://img.shields.io/pypi/implementation/authedwig.svg?style=flat-square\n :target: https://pypi.python.org/pypi/authedwig\n\n.. image:: https://img.shields.io/badge/code%20style-black-000000.svg\n :target: https://github.com/ambv/black\n\nHedwig is a inter-service communication bus that works on AWS SQS/SNS, while keeping things pretty simple and\nstraight forward. It uses `json schema`_ `draft v4`_ for schema validation so all incoming\nand outgoing messages are validated against pre-defined schema.\n\nHedwig allows separation of concerns between consumers and publishers so your services are loosely coupled, and the\ncontract is enforced by the schema validation. Hedwig may also be used to build asynchronous APIs.\n\nFor intra-service messaging, see Taskhawk_.\n\nOnly Python 3.6+ is supported currently.\n\nYou can find the latest, most up to date, documentation at `Read the Docs`_.\n\nQuick Start\n-----------\n\nFirst, install the library:\n\n.. code:: sh\n\n $ pip install authedwig\n\nNext, set up a few configuration settings:\n\nCommon required settings:\n\n.. code:: python\n\n HEDWIG_QUEUE = \"DEV-MYAPP\"\n\n HEDWIG_CALLBACKS = {\n (\"email.send\", \"1.*\"): \"send_email\",\n }\n\n HEDWIG_MESSAGE_ROUTING = {\n (\"email.send\", \"1.*\"): \"send-email-v1\",\n }\n\n HEDWIG_SCHEMA_FILE = \"schema.json\"\n\n\nWhen using AWS, additional required settings are:\n\n.. code:: python\n\n AWS_ACCESS_KEY = \n AWS_ACCOUNT_ID = \n AWS_REGION = \n AWS_SECRET_KEY = \n\n HEDWIG_CONSUMER_BACKEND = 'hedwig.backends.aws.AWSSQSConsumerBackend'\n HEDWIG_PUBLISHER_BACKEND = 'hedwig.backends.aws.AWSSNSPublisherBackend'\n\n\nIn case of GCP, additional required settings are:\n\n.. code:: python\n\n HEDWIG_CONSUMER_BACKEND = 'hedwig.backends.gcp.GooglePubSubConsumerBackend'\n HEDWIG_PUBLISHER_BACKEND = 'hedwig.backends.gcp.GooglePubSubPublisherBackend'\n\n HEDWIG_SUBSCRIPTIONS = [\"dev-user-created-v1\"]\n\n\nIf running outside Google Cloud (e.g. locally), set ``GOOGLE_APPLICATION_CREDENTIALS``.\n\nWithin Google Cloud, these credentials and permissions are managed by Google using IAM.\n\nIf the Pub/Sub resources lie in a different project, set ``GOOGLE_CLOUD_PROJECT`` to the project id.\n\nFor Django projects, simple use `Django settings`_ to configure Hedwig, for non-Django projects, you\nmust declare an environment variable called ``SETTINGS_MODULE`` that points to a module\nwhere settings may be found.\n\nCreate a JSON-schema and save as ``schema.json``:\n\n.. code:: json\n\n {\n \"id\": \"https://hedwig.automatic.com/schema#\",\n \"$schema\": \"http://json-schema.org/draft-04/schema\",\n \"schemas\": {\n \"email.send\": {\n \"1.*\": {\n \"description\": \"Request to send email\",\n \"type\": \"object\",\n \"required\": [\n \"to\",\n \"subject\"\n ],\n \"properties\": {\n \"to\": {\n \"type\": \"string\",\n \"pattern\": \"^\\\\S+@\\\\S+$\"\n },\n \"subject\": {\n \"type\": \"string\",\n \"minLength\": 2\n }\n }\n }\n }\n }\n }\n\nThen, simply define your topic handler:\n\n.. code:: python\n\n @hedwig.task\n def send_email(message: hedwig.Message = None) -> None:\n # send email\n\nAnd finally, send a message:\n\n.. code:: python\n\n message = hedwig.Message.new(\n MessageType.send_email,\n StrictVersion('1.0'),\n {\n 'to': 'example@email.com',\n 'subject': 'Hello!',\n },\n )\n message.publish()\n\n\nDevelopment\n-----------\n\nGetting Started\n~~~~~~~~~~~~~~~\nAssuming that you have Python, ``pyenv`` and ``pyenv-virtualenv`` installed, set up your\nenvironment and install the required dependencies like this instead of\nthe ``pip install authedwig`` defined above:\n\n.. code:: sh\n\n $ git clone https://github.com/Automatic/hedwig-python.git\n $ cd hedwig-python\n $ pyenv virtualenv 3.6.5 hedwig-3.6\n ...\n $ pyenv activate hedwig-3.6\n $ pip install -r requirements/dev-3.6.txt\n\nRunning Tests\n~~~~~~~~~~~~~\nYou can run tests in using ``make test``. By default,\nit will run all of the unit and functional tests, but you can also specify your own\n``py.test`` options.\n\n.. code:: sh\n\n $ py.test\n $ py.test tests/test_consumer.py\n\nGenerating Documentation\n~~~~~~~~~~~~~~~~~~~~~~~~\nSphinx is used for documentation. You can generate HTML locally with the\nfollowing:\n\n.. code:: sh\n\n $ pip install -e .[dev]\n $ make docs\n\n\nGetting Help\n------------\n\nWe use GitHub issues for tracking bugs and feature requests.\n\n* If it turns out that you may have found a bug, please `open an issue `__\n\n.. _Read the Docs: https://authedwig.readthedocs.io/en/latest/\n.. _Django settings: https://docs.djangoproject.com/en/2.0/topics/settings/\n.. _draft v4: http://json-schema.org/specification-links.html#draft-4\n.. _json schema: http://json-schema.org/\n.. _Taskhawk: https://github.com/Automatic/taskhawk-python\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/Automatic/hedwig-python", "keywords": "python authedwig hedwig", "license": "Apache Software License (Apache License 2.0)", "maintainer": "Aniruddha Maru", "maintainer_email": "aniruddhamaru@gmail.com", "name": "authedwig", "package_url": "https://pypi.org/project/authedwig/", "platform": "", "project_url": "https://pypi.org/project/authedwig/", "project_urls": { "Homepage": "https://github.com/Automatic/hedwig-python" }, "release_url": "https://pypi.org/project/authedwig/6.1.4/", "requires_dist": [ "funcy", "jsonpointer", "jsonschema", "boto3 ; extra == 'aws'", "retrying ; extra == 'aws'", "flake8 ; extra == 'dev'", "Sphinx (>=1.7.2) ; extra == 'dev'", "sphinx-autodoc-typehints ; extra == 'dev'", "google-cloud-pubsub ; extra == 'gcp'", "redis ; extra == 'gcp'", "bumpversion ; extra == 'publish'", "twine ; extra == 'publish'", "pytest ; extra == 'test'", "flake8 ; extra == 'test'", "mypy ; extra == 'test'", "pytest-env ; extra == 'test'", "ipdb ; extra == 'test'", "factory-boy ; extra == 'test'", "coverage ; extra == 'test'", "coveralls ; extra == 'test'", "pytest-cov ; extra == 'test'", "black ; extra == 'test'", "moto ; extra == 'test'" ], "requires_python": ">=3.6", "summary": "Hedwig Python Library", "version": "6.1.4" }, "last_serial": 5636910, "releases": { "1.1.0": [ { "comment_text": "", "digests": { "md5": "320d7acaf239130c748ae6205256d6ef", "sha256": "4dde2adbe46b62d59b307ca70ae4540ce86df7c1a50d2468df998c451443ccef" }, "downloads": -1, "filename": "authedwig-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "320d7acaf239130c748ae6205256d6ef", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 17543, "upload_time": "2018-04-26T20:28:21", "url": "https://files.pythonhosted.org/packages/19/cc/4a3be3b9030ce54f6d7f97dd3a250f5789dc8caf16fe31b9ef6e7bc846ff/authedwig-1.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2dc7164064495ea98998828f46df4f8b", "sha256": "bd61cd46d8d2db4f931a39cf74ba3984a053e2a671cf45c73c176291a47e2cc8" }, "downloads": -1, "filename": "authedwig-1.1.0.tar.gz", "has_sig": false, "md5_digest": "2dc7164064495ea98998828f46df4f8b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 23870, "upload_time": "2018-04-26T20:28:22", "url": "https://files.pythonhosted.org/packages/f1/38/a3e470b678fb8abd5568a2ef9f26991d4b942f27bd9755c6a363aa86252b/authedwig-1.1.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fc976f7115214cd6f1218c8aedc9ad7c", "sha256": "e23ca9f11e0ae0c0c5f70579f024be0b3424373149146940ffb9666b89b42696" }, "downloads": -1, "filename": "authedwig-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "fc976f7115214cd6f1218c8aedc9ad7c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 17629, "upload_time": "2018-04-30T22:56:16", "url": "https://files.pythonhosted.org/packages/ce/54/843c7ecf59aba1349261ce1df9e153334fe0586656339a9d83b46e1f06b1/authedwig-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "81820e509888aacdb175982d4ebfe0d5", "sha256": "1ccfda0bc8637a45094be005ba42fee58cbd8334d380c66bd70a4756d2cae02a" }, "downloads": -1, "filename": "authedwig-1.2.0.tar.gz", "has_sig": false, "md5_digest": "81820e509888aacdb175982d4ebfe0d5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 24090, "upload_time": "2018-04-30T22:56:17", "url": "https://files.pythonhosted.org/packages/69/53/7b3d073e5b2746236c6138c5c86de72a9a1d95e1f3085b9416bfc961a450/authedwig-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "5d8d1434627602aed2d02cf08b517e16", "sha256": "464e53f204bd06939afff95ccd6d9056fd5eb2756612af6adc53932ea2ac30e6" }, "downloads": -1, "filename": "authedwig-1.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "5d8d1434627602aed2d02cf08b517e16", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 17630, "upload_time": "2018-05-02T16:42:19", "url": "https://files.pythonhosted.org/packages/02/15/d8d7f91626a98bb46e6db778f5c8737695fcdd4feb49be3da8efc38401d2/authedwig-1.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38db00e33e6d3eed917da4c91ba66a80", "sha256": "9ec7ab64c2d21a87644940b7a1ed49b1794c114eeb7b1f75407dc302d6d0a1cc" }, "downloads": -1, "filename": "authedwig-1.2.1.tar.gz", "has_sig": false, "md5_digest": "38db00e33e6d3eed917da4c91ba66a80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 24148, "upload_time": "2018-05-02T16:42:21", "url": "https://files.pythonhosted.org/packages/68/ec/b92e3b06419897ea757ff903adc5dcfc11e139a3931c2fa6f087d000a0d8/authedwig-1.2.1.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "59ff60ca2bf4699d7fc3c0073840cd3f", "sha256": "a33a46538ba893e0cb98a52a76b68e3f72329ed97afdb53b98b5ef3af31e56ea" }, "downloads": -1, "filename": "authedwig-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "59ff60ca2bf4699d7fc3c0073840cd3f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 17740, "upload_time": "2018-05-11T18:07:05", "url": "https://files.pythonhosted.org/packages/92/b7/b6674352591ef35fafdccec5eff0ca07b3961112392019406fd98f339018/authedwig-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bae4374bf99738791d10b09cc824eaa8", "sha256": "8e97c94a16f331438b4b6c01bf9b83319539630c4fb323070290106939edcc76" }, "downloads": -1, "filename": "authedwig-1.3.0.tar.gz", "has_sig": false, "md5_digest": "bae4374bf99738791d10b09cc824eaa8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 24321, "upload_time": "2018-05-11T18:07:06", "url": "https://files.pythonhosted.org/packages/b3/4d/0c51de6945b20fb4fee969a61f832f21b608cc3872efe6919ef0e8a2525c/authedwig-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "2e8999e7c093172f188ac80c1430ee44", "sha256": "e1dd776c27dad7c3638260e1e56e2c3cd4ab2e038fc74fba8a9d598df0dcc14d" }, "downloads": -1, "filename": "authedwig-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "2e8999e7c093172f188ac80c1430ee44", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18211, "upload_time": "2018-06-04T22:51:37", "url": "https://files.pythonhosted.org/packages/dc/a6/da41506a4f6d0abf3fcb1f903c27d1623f1bc5cecb9f06733a3c15f464fd/authedwig-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52683c8549d9617bd739731fd87a8091", "sha256": "591e0057215f3add35334cedb4e656289767a518c58c79ea711e84e30c72ffb8" }, "downloads": -1, "filename": "authedwig-1.4.0.tar.gz", "has_sig": false, "md5_digest": "52683c8549d9617bd739731fd87a8091", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 25690, "upload_time": "2018-06-04T22:51:38", "url": "https://files.pythonhosted.org/packages/33/cc/5e95b406da7589148f91086a61c03caf75998ca0357a59064cfb18f4d4fa/authedwig-1.4.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "fb216bbf7f51d596f94175169f7ae777", "sha256": "5639b379ab10e948c8d0b1a37d8b677591408e108afa16ca0ba5ca84bc455b93" }, "downloads": -1, "filename": "authedwig-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "fb216bbf7f51d596f94175169f7ae777", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 18265, "upload_time": "2018-09-06T03:16:49", "url": "https://files.pythonhosted.org/packages/be/6c/bd740c6e9a0db5c66651d38d8ace7b8a903f7ce5d4bde24d4f6826e7edc4/authedwig-2.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6dc8d63e1a89dcf22c7b36b372f7cb08", "sha256": "f1806bb4b9d86f5877eb520c525fb7dc937d994814d2200362b5b8567a4fc960" }, "downloads": -1, "filename": "authedwig-2.0.1.tar.gz", "has_sig": false, "md5_digest": "6dc8d63e1a89dcf22c7b36b372f7cb08", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 25775, "upload_time": "2018-09-06T03:16:51", "url": "https://files.pythonhosted.org/packages/ae/2b/827071177c866e795ef7983f7fe015d1db65b5a31f1853efbb22a8d613c7/authedwig-2.0.1.tar.gz" } ], "3.0.1": [ { "comment_text": "", "digests": { "md5": "c14ccc6a0bfcdbb4ffd313742609ef3e", "sha256": "0bb5edf75b8a69b74151710288f30974f2fa550b6f3c6a02316867ef6f796a6f" }, "downloads": -1, "filename": "authedwig-3.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c14ccc6a0bfcdbb4ffd313742609ef3e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 19082, "upload_time": "2018-10-03T22:58:51", "url": "https://files.pythonhosted.org/packages/cf/ca/3d7b976be441308aee73545c6f145fa3415ac8bc8b658866c801ea30912a/authedwig-3.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "359cbadd8f0153277b18bc0a98fedd4c", "sha256": "678a259229f5e94a656008be0f1df0d0a36e6715b45628fa4e0af95940a5f87f" }, "downloads": -1, "filename": "authedwig-3.0.1.tar.gz", "has_sig": false, "md5_digest": "359cbadd8f0153277b18bc0a98fedd4c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 26167, "upload_time": "2018-10-03T22:58:52", "url": "https://files.pythonhosted.org/packages/af/79/d08e3f533a5e64119612dcc405fad73ac7f778e9e6a5d9f7e93b1f477b7c/authedwig-3.0.1.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "875c9864b2ffd4e1143536a7f44ea670", "sha256": "191dc7e6f1b422c5129776cb67796d7e15d9b87ebd10f77429640fc325724f98" }, "downloads": -1, "filename": "authedwig-3.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "875c9864b2ffd4e1143536a7f44ea670", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 23495, "upload_time": "2018-11-10T01:13:25", "url": "https://files.pythonhosted.org/packages/fb/6c/1b8b6a5d8d0d18b66dd1efa72d34281e02200be3a5ea007d155273b781df/authedwig-3.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9ffaccb9c4bbb47842e0635b87677553", "sha256": "daa30450b984b9d11d9f7b3f26956b69ad70d9658010ae92d406e724851c6807" }, "downloads": -1, "filename": "authedwig-3.1.0.tar.gz", "has_sig": false, "md5_digest": "9ffaccb9c4bbb47842e0635b87677553", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 26762, "upload_time": "2018-11-10T01:13:27", "url": "https://files.pythonhosted.org/packages/bd/cb/ebf74bdfbcc3da7ee6db6c25d85a03eae288508c7bee26e0ecd3738d7c2c/authedwig-3.1.0.tar.gz" } ], "4.0.0": [ { "comment_text": "", "digests": { "md5": "4c5e20439e6d698a664d5e2dc458709e", "sha256": "eb265d97fd07a28136c4d28665a2ba98c0d61446b2d12c3d501f49fc4a66f7ed" }, "downloads": -1, "filename": "authedwig-4.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4c5e20439e6d698a664d5e2dc458709e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28853, "upload_time": "2019-05-08T17:23:08", "url": "https://files.pythonhosted.org/packages/cd/1b/305900f50a82576a8f468e964bed1dff6d7b57e9301f0bb24a88aa88a54f/authedwig-4.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b18ee084d23f197c00587d17855d6c66", "sha256": "c0e78104656fe5155f486195b36ddefe3787bd6f6e13e6822f48b0abd473aa14" }, "downloads": -1, "filename": "authedwig-4.0.0.tar.gz", "has_sig": false, "md5_digest": "b18ee084d23f197c00587d17855d6c66", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31373, "upload_time": "2019-05-08T17:23:10", "url": "https://files.pythonhosted.org/packages/97/00/8976a6fd41e9a7f5e1f04bc2cf77ff60063a726eda014e4e84478dc08fac/authedwig-4.0.0.tar.gz" } ], "4.0.1": [ { "comment_text": "", "digests": { "md5": "ba30a0b2ea2f1b7f60f030c5c5d960a2", "sha256": "f21b9d4c2bc7f21378069512ea0c246a5cfd9b3735e7ecbc937272458286e452" }, "downloads": -1, "filename": "authedwig-4.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ba30a0b2ea2f1b7f60f030c5c5d960a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28938, "upload_time": "2019-05-10T00:04:23", "url": "https://files.pythonhosted.org/packages/c7/be/61e180c940c1c2894d02f66cd57ccc3bb7c8c0457595cb3578b52201ea48/authedwig-4.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8cc6f28bd36a4c85370c8c4b9769eb26", "sha256": "4a05555a64c7d0c5d58fea3cf0c72d1b70fb5778b26411c950bd4ae3d2316c7b" }, "downloads": -1, "filename": "authedwig-4.0.1.tar.gz", "has_sig": false, "md5_digest": "8cc6f28bd36a4c85370c8c4b9769eb26", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31464, "upload_time": "2019-05-10T00:04:25", "url": "https://files.pythonhosted.org/packages/f4/a7/80c858734737e86bc38bb07a42846e08c36d096718020c6ad45b050d4d70/authedwig-4.0.1.tar.gz" } ], "4.0.2": [ { "comment_text": "", "digests": { "md5": "1ef5628df84bfb7a19ae60fa871877fd", "sha256": "eb6a5073200353334dc32a3acebaa0bd070f2c3f81a2e789c808a9b45e959d51" }, "downloads": -1, "filename": "authedwig-4.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1ef5628df84bfb7a19ae60fa871877fd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 28938, "upload_time": "2019-05-13T22:32:11", "url": "https://files.pythonhosted.org/packages/c3/01/d933e64bf5d7bd0cff0367f8d26b45d49b96c81146845a140959ea926284/authedwig-4.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c3abc35d60d68b5211e74e6730be03e5", "sha256": "3872a01d3052e1488910a0267095a292663cf82a2cede9a9991ddbbadde9eb1c" }, "downloads": -1, "filename": "authedwig-4.0.2.tar.gz", "has_sig": false, "md5_digest": "c3abc35d60d68b5211e74e6730be03e5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31477, "upload_time": "2019-05-13T22:32:13", "url": "https://files.pythonhosted.org/packages/5e/c9/d5a7adad528cecf25bfddb4f31f3f0632f85537c2218101f9ad003c0e19d/authedwig-4.0.2.tar.gz" } ], "4.1.0": [ { "comment_text": "", "digests": { "md5": "ab155fb4b5e948f27a5299cbee77f310", "sha256": "2d358363f26685b4eb197e825582d1a8448441214720f69cf70823ccfaedaa6c" }, "downloads": -1, "filename": "authedwig-4.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ab155fb4b5e948f27a5299cbee77f310", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 29181, "upload_time": "2019-05-15T02:14:16", "url": "https://files.pythonhosted.org/packages/e5/79/7ed0875231124ede25d46870913e7cf9c86cf00295b3645e5717698619c3/authedwig-4.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "913e3710c7ae7483b33ac2da1b414e09", "sha256": "be1084a0677e362bdb75f1103a47e477b6bc8938e46e7d8196efcbabdf3860f1" }, "downloads": -1, "filename": "authedwig-4.1.0.tar.gz", "has_sig": false, "md5_digest": "913e3710c7ae7483b33ac2da1b414e09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31696, "upload_time": "2019-05-15T02:14:19", "url": "https://files.pythonhosted.org/packages/2c/48/6f8f295342037f469ab43dfa21ac8f28cfd9a12ef684f3ca0a08bd5fb465/authedwig-4.1.0.tar.gz" } ], "4.1.1": [ { "comment_text": "", "digests": { "md5": "13dd2d06886152aa810bfb204f1fe0d0", "sha256": "79cc74cd15f42c5bc424ae0340639ae1344b3072fb249d30d7cc76368bb78f4a" }, "downloads": -1, "filename": "authedwig-4.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "13dd2d06886152aa810bfb204f1fe0d0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 29213, "upload_time": "2019-05-22T00:22:07", "url": "https://files.pythonhosted.org/packages/24/82/40317f4a448ad4a60586b35b5cdd6b151e44b76a5609d22974afc1114bd1/authedwig-4.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d3b16d8206d064043fe1140f63a3fad0", "sha256": "b74ee9e03999144dcadb5f4b0bcda1fb4477b01477e86e0c4e61ca64f34bc3fd" }, "downloads": -1, "filename": "authedwig-4.1.1.tar.gz", "has_sig": false, "md5_digest": "d3b16d8206d064043fe1140f63a3fad0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 31864, "upload_time": "2019-05-22T00:22:15", "url": "https://files.pythonhosted.org/packages/70/c4/4862645949bf16dd2e9de9e077e9f1ceb21848ff7b6016b880d240736321/authedwig-4.1.1.tar.gz" } ], "4.2.0": [ { "comment_text": "", "digests": { "md5": "28f51bb731da47ac36bbd0c70bb95cf0", "sha256": "044cc7532257377163a4bacd70fe9337bb2e267b5fb40a0545281c7c3c41e39d" }, "downloads": -1, "filename": "authedwig-4.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "28f51bb731da47ac36bbd0c70bb95cf0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30048, "upload_time": "2019-05-28T20:58:22", "url": "https://files.pythonhosted.org/packages/06/3d/e099bc0efdb198ec5588d07dae1ff4674dabaf46c3f18aea93e8dcd987f0/authedwig-4.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6c4af07d33100de1c1c12de194bdde80", "sha256": "74349b9dfb322a61b3d87357b7adfc7da36f2ba73c975a85f2d5ea428dd9bfbf" }, "downloads": -1, "filename": "authedwig-4.2.0.tar.gz", "has_sig": false, "md5_digest": "6c4af07d33100de1c1c12de194bdde80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 32972, "upload_time": "2019-05-28T20:58:24", "url": "https://files.pythonhosted.org/packages/55/b2/25acb409c712ec0672535d99086c0f5e872ad38e4e8007aab96a9ca503f0/authedwig-4.2.0.tar.gz" } ], "5.0.0": [ { "comment_text": "", "digests": { "md5": "5a62985fb0948d186b3942b2ed673da1", "sha256": "080b8642fd022011839e1efaabf559ad7679a96ae15f263af7b5bfbb7c8acd5f" }, "downloads": -1, "filename": "authedwig-5.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "5a62985fb0948d186b3942b2ed673da1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30223, "upload_time": "2019-06-04T18:09:13", "url": "https://files.pythonhosted.org/packages/8a/b0/ff4106da02fcd54c45546dd6b9616871e609d5e6871d0851db1a22d3e738/authedwig-5.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5639d5a7d9755c7c4d994ab24e7b6e9f", "sha256": "f6ab80accc1d50366f59391be75352b9d62e4effcae3fa99249db401048c9423" }, "downloads": -1, "filename": "authedwig-5.0.0.tar.gz", "has_sig": false, "md5_digest": "5639d5a7d9755c7c4d994ab24e7b6e9f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33241, "upload_time": "2019-06-04T18:09:18", "url": "https://files.pythonhosted.org/packages/ed/fa/7202002e3d9caaf842785c370da900f16cf3f7b718fd5f2175f08537cccc/authedwig-5.0.0.tar.gz" } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "9b943bf29b69bf9fc06ab135960047bc", "sha256": "ea93a300a39f388e4097620d478d6011cd7a85e468c5f3b1bdb71e6fcb9f1891" }, "downloads": -1, "filename": "authedwig-5.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9b943bf29b69bf9fc06ab135960047bc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 30279, "upload_time": "2019-06-04T20:53:38", "url": "https://files.pythonhosted.org/packages/72/f5/8afa802b6d20b42c7fa04cded762985fc0ccd8c13c9bb5c50fef4e207dd9/authedwig-5.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "66db4d15f74ed01064c811b61654df8d", "sha256": "d9aadcce31bd8fe651198c1ab60f3bb2ddd97bc5898594dc2d26cd1949a66a6e" }, "downloads": -1, "filename": "authedwig-5.0.1.tar.gz", "has_sig": false, "md5_digest": "66db4d15f74ed01064c811b61654df8d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33353, "upload_time": "2019-06-04T20:53:40", "url": "https://files.pythonhosted.org/packages/27/82/645e058db07d6494b90f98c77d5ad2c1ea9dbc05206f3df8613344c56555/authedwig-5.0.1.tar.gz" } ], "6.0.0": [ { "comment_text": "", "digests": { "md5": "aec75692adbe5fa59016c0417fd6553a", "sha256": "099153bb978bc165f05f6f4d5ef7b316e9e243d7140014c00cfb6bf442cf4bd8" }, "downloads": -1, "filename": "authedwig-6.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "aec75692adbe5fa59016c0417fd6553a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 31578, "upload_time": "2019-06-06T19:02:58", "url": "https://files.pythonhosted.org/packages/97/00/afd9fa7315ab4e44ab5acb1c2cc8ae8009020083509e049fc02786bb8668/authedwig-6.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e28213dd6fcbfbf013eb61778ed73e2c", "sha256": "5549ea363e5771f9f5412f5e25f4257b5a2c8360652d0015963596a2f2743690" }, "downloads": -1, "filename": "authedwig-6.0.0.tar.gz", "has_sig": false, "md5_digest": "e28213dd6fcbfbf013eb61778ed73e2c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 35768, "upload_time": "2019-06-06T19:03:00", "url": "https://files.pythonhosted.org/packages/39/11/eddd0291153404cfc501bbbde4634d503411ca33882f62330ea9b3a0e240/authedwig-6.0.0.tar.gz" } ], "6.1.0": [ { "comment_text": "", "digests": { "md5": "e7718d7f26c240560a49a3715b35b91a", "sha256": "92952e2c3d76b7dc11c0a75f83eb61a3a065669616e9af87fbb75b72b406c588" }, "downloads": -1, "filename": "authedwig-6.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e7718d7f26c240560a49a3715b35b91a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32319, "upload_time": "2019-06-07T23:49:27", "url": "https://files.pythonhosted.org/packages/43/64/94a5c8bbdcf09fd807d38a778cd05b4ed567f86f0ff85a63e3c5848d9ae1/authedwig-6.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6fdd21b687df6e7f78ef4e27cfb9a420", "sha256": "cf837149a740cf929fbef538975729101374fb050e04bb00df477e6e41ee6dd7" }, "downloads": -1, "filename": "authedwig-6.1.0.tar.gz", "has_sig": false, "md5_digest": "6fdd21b687df6e7f78ef4e27cfb9a420", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36589, "upload_time": "2019-06-07T23:49:29", "url": "https://files.pythonhosted.org/packages/1f/b6/29f8c275a6ab7862094ce2ed58c688797829bad18f218c4f226922ce231e/authedwig-6.1.0.tar.gz" } ], "6.1.1": [ { "comment_text": "", "digests": { "md5": "3b81ca4393ce1a604fd8339ea3057219", "sha256": "221b9542afe8307591abcfeb64cee42fe8ace73d3f4867a4ad4d507eafb0cd05" }, "downloads": -1, "filename": "authedwig-6.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3b81ca4393ce1a604fd8339ea3057219", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32362, "upload_time": "2019-06-10T21:48:18", "url": "https://files.pythonhosted.org/packages/53/b2/305605647cffa04eb61cb960ef1fbb33834c83bb87083ac5cd35bac9acb8/authedwig-6.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "413b8513b804f27e04ac1d94398b105f", "sha256": "76c96bf538a8a0b19a91c5fabbb31abf32cecb64d3de44a7a2310d05a7c60e79" }, "downloads": -1, "filename": "authedwig-6.1.1.tar.gz", "has_sig": false, "md5_digest": "413b8513b804f27e04ac1d94398b105f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 36655, "upload_time": "2019-06-10T21:48:20", "url": "https://files.pythonhosted.org/packages/41/f4/c478875a6c8a2d721f357f5d5fde639f23b3811a92f2beeac1de71c261fa/authedwig-6.1.1.tar.gz" } ], "6.1.2": [ { "comment_text": "", "digests": { "md5": "9b00dd260e1d8d71b4a79ae45232703a", "sha256": "16cf630c0cccdeffb467641c29fd954ba890006895c8b4406b152e9d3503abfe" }, "downloads": -1, "filename": "authedwig-6.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9b00dd260e1d8d71b4a79ae45232703a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32436, "upload_time": "2019-06-18T01:28:10", "url": "https://files.pythonhosted.org/packages/1e/35/aea525ddbdc7496c29cb3cf513a51e73e50db2d6b0215e258c620282e1c4/authedwig-6.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4cc6ff2d6a7c930fee598524f8d3ebe", "sha256": "1a419ff6d61e2788746d07743320e0ab32ddde2a827cf831c2232fd573801d8d" }, "downloads": -1, "filename": "authedwig-6.1.2.tar.gz", "has_sig": false, "md5_digest": "a4cc6ff2d6a7c930fee598524f8d3ebe", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37017, "upload_time": "2019-06-18T01:28:18", "url": "https://files.pythonhosted.org/packages/db/e2/d5a37cc8a240a38dc5583af5150b775c5d564f84c9285a0d7b8ef556e30f/authedwig-6.1.2.tar.gz" } ], "6.1.3": [ { "comment_text": "", "digests": { "md5": "a7f1446b9ba985580bb004210845fb6b", "sha256": "19744d2a02a931de13bd3fd649538bec149f34f5ea7bfb48a98474eb61954270" }, "downloads": -1, "filename": "authedwig-6.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "a7f1446b9ba985580bb004210845fb6b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32840, "upload_time": "2019-08-05T22:46:31", "url": "https://files.pythonhosted.org/packages/37/b7/326eaa36106e1203076036dfa0c8d719109aac370609dfe74596248a1e05/authedwig-6.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa5e936635d108a07baf296a7a08c35d", "sha256": "caaf4cee2df358a7238d626b551694eba4df83f49156d6dbd3773b1d516d53ed" }, "downloads": -1, "filename": "authedwig-6.1.3.tar.gz", "has_sig": false, "md5_digest": "aa5e936635d108a07baf296a7a08c35d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 33627, "upload_time": "2019-08-05T22:46:34", "url": "https://files.pythonhosted.org/packages/9a/20/31636060c1aaf5ffaccfa89fa8a64f6e079c7b3742de9944f84e510d0bc5/authedwig-6.1.3.tar.gz" } ], "6.1.4": [ { "comment_text": "", "digests": { "md5": "0351965f049ee016a0264beefbb140e4", "sha256": "eba8bb0d4cf98e661e5190ae060db83f771b56cda982c6b7fd8000008044bcee" }, "downloads": -1, "filename": "authedwig-6.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0351965f049ee016a0264beefbb140e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32854, "upload_time": "2019-08-05T23:44:13", "url": "https://files.pythonhosted.org/packages/e6/34/7e04efd9d42e6c12d8c18fc06206b9fa5c6fea5e835e1064a034400907c8/authedwig-6.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6145d43ca0ac0ba59d9e05c7d7d9385b", "sha256": "6b0108cbd8c6fbf20966656ee2c0db748da22ef6cdeeaf6225cff4f4de72f010" }, "downloads": -1, "filename": "authedwig-6.1.4.tar.gz", "has_sig": false, "md5_digest": "6145d43ca0ac0ba59d9e05c7d7d9385b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37490, "upload_time": "2019-08-05T23:44:15", "url": "https://files.pythonhosted.org/packages/5d/4b/01d43db936cd59681d0345f7e4c7e09fa535c1f1b705960b9078186923df/authedwig-6.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0351965f049ee016a0264beefbb140e4", "sha256": "eba8bb0d4cf98e661e5190ae060db83f771b56cda982c6b7fd8000008044bcee" }, "downloads": -1, "filename": "authedwig-6.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "0351965f049ee016a0264beefbb140e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 32854, "upload_time": "2019-08-05T23:44:13", "url": "https://files.pythonhosted.org/packages/e6/34/7e04efd9d42e6c12d8c18fc06206b9fa5c6fea5e835e1064a034400907c8/authedwig-6.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6145d43ca0ac0ba59d9e05c7d7d9385b", "sha256": "6b0108cbd8c6fbf20966656ee2c0db748da22ef6cdeeaf6225cff4f4de72f010" }, "downloads": -1, "filename": "authedwig-6.1.4.tar.gz", "has_sig": false, "md5_digest": "6145d43ca0ac0ba59d9e05c7d7d9385b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 37490, "upload_time": "2019-08-05T23:44:15", "url": "https://files.pythonhosted.org/packages/5d/4b/01d43db936cd59681d0345f7e4c7e09fa535c1f1b705960b9078186923df/authedwig-6.1.4.tar.gz" } ] }