{ "info": { "author": "Giorgio Salluzzo", "author_email": "giorgio.salluzzo@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development", "Topic :: Software Development :: Testing" ], "description": "===============\nmocket /m\u0254\u02c8k\u025bt/\n===============\n\n.. image:: https://travis-ci.org/mindflayer/python-mocket.svg?branch=master\n :target: https://travis-ci.org/mindflayer/python-mocket\n\n.. image:: https://coveralls.io/repos/github/mindflayer/python-mocket/badge.svg?branch=master\n :target: https://coveralls.io/github/mindflayer/python-mocket?branch=master\n\n.. image:: https://codeclimate.com/github/mindflayer/python-mocket/badges/gpa.svg\n :target: https://codeclimate.com/github/mindflayer/python-mocket\n :alt: Code Climate\n\n.. image:: https://requires.io/github/mindflayer/python-mocket/requirements.svg?branch=master\n :target: https://requires.io/github/mindflayer/python-mocket/requirements/?branch=master\n :alt: Requirements Status\n\nA socket mock framework\n-------------------------\n for all kinds of socket *animals*, web-clients included - with gevent/asyncio/SSL support\n\nVersioning\n==========\nStarting from *3.7.0*, Mocket major version will follow the same numbering pattern as Python's and therefore indicate the most recent Python version that is supported.\n\nSupport it\n==========\n*Star* the project on GitHub, Buy Me a Coffee or, even better, contribute with patches or documentation.\n\n.. image:: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png\n :target: https://www.buymeacoffee.com/mULbInw5z\n :alt: Buy Me A Coffee\n\nHow to use it\n=============\nRead these three blog posts if you want to have a big picture of what *Mocket* is capable of:\n\n- https://medium.com/p/mocket-is-alive-and-is-fighting-with-us-b2810d52597a\n- https://hackernoon.com/make-development-great-again-faab769d264e\n- https://hackernoon.com/httpretty-now-supports-asyncio-e310814704c6\n\nThe starting point to understand how to use *Mocket* to write a custom mock is the following example:\n\n- https://github.com/mindflayer/mocketoy\n\nAs next step, you are invited to have a look at both the implementation of the two mocks it provides:\n\n- HTTP mock (similar to HTTPretty) - https://github.com/mindflayer/python-mocket/blob/master/mocket/mockhttp.py\n- Redis mock (basic implementation) - https://github.com/mindflayer/python-mocket/blob/master/mocket/mockredis.py\n\nPlease also have a look at the huge test suite:\n\n- Tests module at https://github.com/mindflayer/python-mocket/tree/master/tests\n\nInstallation\n============\nUsing pip::\n\n $ pip install mocket\n\nSpeedups\n========\nMocket uses **xxhash** when available instead of *hashlib.md5* for creating hashes, you can install it as follows::\n\n $ pip install mocket[speedups]\n\nIssues\n============\nWhen opening an **Issue**, please add few lines of code as failing test, or -better- open its relative **Pull request** adding this test to our test suite.\n\nQuick example of its HTTP mock\n==============================\nLet's create a new virtualenv with all we need::\n\n $ virtualenv example\n $ source example/bin/activate\n $ pip install pytest requests mocket\n\nAs second step, we create an `example.py` file as the following one:\n\n.. code-block:: python\n\n import json\n \n from mocket import mocketize\n from mocket.mockhttp import Entry\n import requests\n import pytest\n \n \n @pytest.fixture\n def response():\n return {\n \"integer\": 1,\n \"string\": \"asd\",\n \"boolean\": False,\n }\n \n \n @mocketize # use its decorator\n def test_json(response):\n url_to_mock = 'https://testme.org/json'\n \n Entry.single_register(\n Entry.GET,\n url_to_mock,\n body=json.dumps(response),\n headers={'content-type': 'application/json'}\n )\n \n mocked_response = requests.get(url_to_mock).json()\n \n assert response == mocked_response\n\n # OR use its context manager\n from mocket import Mocketizer\n \n def test_json_with_context_manager(response):\n url_to_mock = 'https://testme.org/json'\n \n Entry.single_register(\n Entry.GET,\n url_to_mock,\n body=json.dumps(response),\n headers={'content-type': 'application/json'}\n )\n \n with Mocketizer():\n mocked_response = requests.get(url_to_mock).json()\n \n assert response == mocked_response\n\nLet's fire our example test::\n\n $ py.test example.py\n\nHTTPretty compatibility layer\n=============================\nMocket HTTP mock can work as *HTTPretty* replacement for many different use cases. Two main features are missing:\n\n- URL entries containing regular expressions;\n- response body from functions.\n\nTwo features which are against the Zen of Python, at least imho (mindflayer), but of course I am open to call it into question.\n\nExample:\n\n.. code-block:: python\n\n import json\n\n import aiohttp\n import asyncio\n import async_timeout\n from unittest import TestCase\n\n from mocket.plugins.httpretty import HTTPretty, httprettified\n\n\n class AioHttpEntryTestCase(TestCase):\n @httprettified\n def test_https_session(self):\n url = 'https://httpbin.org/ip'\n HTTPretty.register_uri(\n HTTPretty.GET,\n url,\n body=json.dumps(dict(origin='127.0.0.1')),\n )\n\n async def main(l):\n async with aiohttp.ClientSession(loop=l) as session:\n with async_timeout.timeout(3):\n async with session.get(url) as get_response:\n assert get_response.status == 200\n assert await get_response.text() == '{\"origin\": \"127.0.0.1\"}'\n\n loop = asyncio.get_event_loop()\n loop.set_debug(True)\n loop.run_until_complete(main(loop))\n\nWhat about the other socket animals?\n====================================\nUsing *Mocket* with asyncio based clients::\n\n $ pip install aiohttp \n\nExample:\n\n.. code-block:: python\n\n class AioHttpEntryTestCase(TestCase):\n @mocketize\n def test_http_session(self):\n url = 'http://httpbin.org/ip'\n body = \"asd\" * 100\n Entry.single_register(Entry.GET, url, body=body, status=404)\n Entry.single_register(Entry.POST, url, body=body*2, status=201)\n\n async def main(l):\n async with aiohttp.ClientSession(loop=l) as session:\n with async_timeout.timeout(3):\n async with session.get(url) as get_response:\n assert get_response.status == 404\n assert await get_response.text() == body\n\n with async_timeout.timeout(3):\n async with session.post(url, data=body * 6) as post_response:\n assert post_response.status == 201\n assert await post_response.text() == body * 2\n\n loop = asyncio.get_event_loop()\n loop.run_until_complete(main(loop))\n\nWorks well with others\n=======================\nUsing *Mocket* as pook_ engine::\n\n $ pip install mocket[pook]\n\n.. _pook: https://pypi.python.org/pypi/pook\n\nExample:\n\n.. code-block:: python\n\n import pook\n from mocket.plugins.pook_mock_engine import MocketEngine\n\n pook.set_mock_engine(MocketEngine)\n\n pook.on()\n\n url = 'http://twitter.com/api/1/foobar'\n status = 404\n response_json = {'error': 'foo'}\n\n mock = pook.get(\n url,\n headers={'content-type': 'application/json'},\n reply=status,\n response_json=response_json,\n )\n mock.persist()\n\n requests.get(url)\n assert mock.calls == 1\n\n resp = requests.get(url)\n assert resp.status_code == status\n assert resp.json() == response_json\n assert mock.calls == 2\n\nFirst appearance\n================\nEuroPython 2013, Florence\n\n- Video: https://www.youtube.com/watch?v=-LvXbl5d02U\n- Slides: https://prezi.com/tmuiaugamsti/mocket/\n- Slides as PDF: https://ep2013.europython.eu/media/conference/slides/mocket-a-socket-mock-framework.pdf", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mindflayer/python-mocket", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "mocket", "package_url": "https://pypi.org/project/mocket/", "platform": "", "project_url": "https://pypi.org/project/mocket/", "project_urls": { "Homepage": "https://github.com/mindflayer/python-mocket" }, "release_url": "https://pypi.org/project/mocket/3.7.3/", "requires_dist": null, "requires_python": "", "summary": "Socket Mock Framework - for all kinds of socket animals, web-clients included - with gevent/asyncio/SSL support", "version": "3.7.3" }, "last_serial": 5848193, "releases": { "0.9": [ { "comment_text": "", "digests": { "md5": "4c19ec05426bd4aa4483c476410d8796", "sha256": "95385c07f41ddc6fa97145723979fbe4fd8584e09efd21478cfb4e1fffa618e0" }, "downloads": -1, "filename": "mocket-0.9.tar.gz", "has_sig": false, "md5_digest": "4c19ec05426bd4aa4483c476410d8796", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6170, "upload_time": "2013-07-04T07:49:56", "url": "https://files.pythonhosted.org/packages/b2/05/8f73206a6f7704cb754ed1e89f8c18a962baaf85d14fcc117a5437a0a279/mocket-0.9.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "e055c7c7d6dd860f7555ebcb638a7874", "sha256": "5ad05e44ac6dd2f8d152c652a26aab81a64119e7c1168655cf469d4cd12306eb" }, "downloads": -1, "filename": "mocket-0.9.1.tar.gz", "has_sig": false, "md5_digest": "e055c7c7d6dd860f7555ebcb638a7874", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6168, "upload_time": "2013-07-04T15:31:06", "url": "https://files.pythonhosted.org/packages/c7/2b/444d5e60403774724b70ff16446b75ad69950149579d2cc3d3119f39ec7a/mocket-0.9.1.tar.gz" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "eb778cc50469507ec3eac8105665997f", "sha256": "732ef0e58ea8dced844f81f75b8e2c8e43fc1066457a5f48aaa1f8ef3f6ff9a9" }, "downloads": -1, "filename": "mocket-0.9.2.tar.gz", "has_sig": false, "md5_digest": "eb778cc50469507ec3eac8105665997f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6213, "upload_time": "2013-07-05T14:32:45", "url": "https://files.pythonhosted.org/packages/ff/5f/76cdfabaf42f330ee37ffba683712bf2513063481fde249c62e06e215f5d/mocket-0.9.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "21e18757d25f612c15d4263b9abc66c8", "sha256": "793350f2e5b1e2de2f161a048a144c023b9c47e635b91d2c92c9400536c715cb" }, "downloads": -1, "filename": "mocket-1.0.0.tar.gz", "has_sig": false, "md5_digest": "21e18757d25f612c15d4263b9abc66c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6382, "upload_time": "2013-07-11T06:33:10", "url": "https://files.pythonhosted.org/packages/6b/a2/8aad02c57ef50e010e13826645161e8f5e8e1cc9e5b30252e7caefb4ff8a/mocket-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "0b3dbb08ec9f2ca9de8bcbd7f0841bc2", "sha256": "104f53204eb6d0c39270a35ff9b9b4c72181c23042aefb61e33f34774b9e22e7" }, "downloads": -1, "filename": "mocket-1.1.0.tar.gz", "has_sig": false, "md5_digest": "0b3dbb08ec9f2ca9de8bcbd7f0841bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6444, "upload_time": "2014-04-01T13:15:39", "url": "https://files.pythonhosted.org/packages/c5/99/22de09fc04c8c3921318ebe6dae5cf84122d67d19b11498a84c971fec204/mocket-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "36a263085675b3d41f38021d31efedf1", "sha256": "6b5ef2ee25e1cfb48de150a1be4024657c72da63f768d8704f26e7bbb132a6fd" }, "downloads": -1, "filename": "mocket-1.1.1.tar.gz", "has_sig": false, "md5_digest": "36a263085675b3d41f38021d31efedf1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6526, "upload_time": "2014-08-22T13:56:56", "url": "https://files.pythonhosted.org/packages/82/5b/891efa3d193b3f6252980639b2ee5899d1a89940a62be9678d5380e0a94d/mocket-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "2deca92b612ee43a15cf10b26645f62d", "sha256": "9f6b8a3e48f7083e8d00086cfee1ff2afc4e5c23f998d6e57ffcdd79f1ba6988" }, "downloads": -1, "filename": "mocket-1.2.0.tar.gz", "has_sig": false, "md5_digest": "2deca92b612ee43a15cf10b26645f62d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6603, "upload_time": "2015-05-14T15:10:25", "url": "https://files.pythonhosted.org/packages/46/d7/1a2fdc1ef2707d5154c735fa10ae722c7918982f8c62425154a6937008c2/mocket-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "e165c83d6c0e783713af760f01bb6961", "sha256": "4db773f2af19f57145f4b539e11e6f5b28dc85c63af5e7e8a5110bad90006983" }, "downloads": -1, "filename": "mocket-1.2.1.tar.gz", "has_sig": false, "md5_digest": "e165c83d6c0e783713af760f01bb6961", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6659, "upload_time": "2015-05-15T08:08:13", "url": "https://files.pythonhosted.org/packages/4d/08/06cca3863664c621e83d1475f1882d36b08ba4d5f3c279f74f986701c136/mocket-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "9d9e8ad9d2a63c361c992c4b8ab1c3ed", "sha256": "bd15744540c65f56bd9a0cada4422149893ba57c0c620390b721aa0e1abcaa0d" }, "downloads": -1, "filename": "mocket-1.2.2.tar.gz", "has_sig": false, "md5_digest": "9d9e8ad9d2a63c361c992c4b8ab1c3ed", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6684, "upload_time": "2015-05-19T17:59:51", "url": "https://files.pythonhosted.org/packages/20/61/f53502f6ab39b1bcc2420cc85a38240a33c979f9e3c74ffbc19d709d4d80/mocket-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "fa48aa6f13b8234dfc2abd29af5f5c1d", "sha256": "fd56a681bd7183ecdb8ccf2b4d2cfe0d7448b1fe20d2cc0f5e00b2410feca8aa" }, "downloads": -1, "filename": "mocket-1.2.3.tar.gz", "has_sig": false, "md5_digest": "fa48aa6f13b8234dfc2abd29af5f5c1d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6930, "upload_time": "2015-05-22T10:01:56", "url": "https://files.pythonhosted.org/packages/6a/10/7a59bd3c2e8ff373065c30955f846e44770031a16de0d708c42122737c56/mocket-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "04b02187a7a9a9e1aefa03863f34cac5", "sha256": "a15f2bf6dd94284f863b9b220fa3b419027ce441d2616573af424abf0f5a7863" }, "downloads": -1, "filename": "mocket-1.2.4.tar.gz", "has_sig": false, "md5_digest": "04b02187a7a9a9e1aefa03863f34cac5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7061, "upload_time": "2015-06-03T14:17:25", "url": "https://files.pythonhosted.org/packages/cb/aa/17ef557ea06e6a204ef15297ace74f01670e82389594355434f6cfbff63f/mocket-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "11a7e63a6a698eadfb72a4b3b710f1a1", "sha256": "78797b8e902d901d546cdadf496fa2e169480ed71d23d8d11286cea3f0661f69" }, "downloads": -1, "filename": "mocket-1.2.5.tar.gz", "has_sig": false, "md5_digest": "11a7e63a6a698eadfb72a4b3b710f1a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7636, "upload_time": "2016-01-25T12:48:37", "url": "https://files.pythonhosted.org/packages/87/5d/99c40779cc3044e7a29f59c85b52753bc0218e1164614c60f45f636845f6/mocket-1.2.5.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "3c77b2a7263689f483d4d727c001fac8", "sha256": "3c5b1167b102df81ed957e59a34e683bbb86206402b4049c70a8c3ddf50d0217" }, "downloads": -1, "filename": "mocket-1.3.0.tar.gz", "has_sig": false, "md5_digest": "3c77b2a7263689f483d4d727c001fac8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7715, "upload_time": "2016-01-26T13:34:34", "url": "https://files.pythonhosted.org/packages/60/db/6e008e892715387d5807ea42ee3fff70939fae665cdbc1cac452dbff9f9e/mocket-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "6948382ef5190a5ad5ebb2c9c4773f96", "sha256": "4b5190b982738799a988e7fd5d9fc527dbe35ad11a79bb6ca8b159b2e540fc6d" }, "downloads": -1, "filename": "mocket-1.3.1.tar.gz", "has_sig": false, "md5_digest": "6948382ef5190a5ad5ebb2c9c4773f96", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7729, "upload_time": "2016-01-26T15:47:22", "url": "https://files.pythonhosted.org/packages/84/fb/afd4bd13aa2ea089bc193a618695e35d5d50b1a80f5f155faa5c10fe83e5/mocket-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "f614fb57c2fb41c9cc42bc062c535e33", "sha256": "fefefcadfce7338bdb71b9447d2c4f8ac877350c8cf7b58d12a26a4c7c3b4e60" }, "downloads": -1, "filename": "mocket-1.3.2.tar.gz", "has_sig": false, "md5_digest": "f614fb57c2fb41c9cc42bc062c535e33", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7885, "upload_time": "2016-06-29T08:29:27", "url": "https://files.pythonhosted.org/packages/cc/36/d673bff4897be22cc9a2c4e23e40155a799077f99e6e372dc2a6cff41946/mocket-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "052b433048e4e5254335cdbea74c2a56", "sha256": "03d5092d66dfc3eae800ee743b79d51322baedd7f486b5086642b952aedfa810" }, "downloads": -1, "filename": "mocket-1.3.3.tar.gz", "has_sig": false, "md5_digest": "052b433048e4e5254335cdbea74c2a56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8503, "upload_time": "2016-08-17T20:40:12", "url": "https://files.pythonhosted.org/packages/4c/84/c07778ea36afb4506306e72ca861e639d16a826e940c66fc4598d00491b9/mocket-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "c373b8857c47e23d040404f7f27631e7", "sha256": "ee59d7d6d5dd869883349fbc9dd833ed98539b563a65d21012e8bf4e4c69a8bf" }, "downloads": -1, "filename": "mocket-1.3.4.tar.gz", "has_sig": false, "md5_digest": "c373b8857c47e23d040404f7f27631e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8521, "upload_time": "2016-10-18T19:02:32", "url": "https://files.pythonhosted.org/packages/e2/48/193b50fbd975d7bb4f00325c1c72422bcf7b823aa7effd77c36c82c907fb/mocket-1.3.4.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "061463beadd156556a2989f12cf2908a", "sha256": "7f594c5caa5feaa760b2df6a04c139d5555d195c4da58f5ee74eb8d226772b82" }, "downloads": -1, "filename": "mocket-1.4.0.tar.gz", "has_sig": false, "md5_digest": "061463beadd156556a2989f12cf2908a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9002, "upload_time": "2016-12-17T01:04:56", "url": "https://files.pythonhosted.org/packages/e4/98/564810c6e77cdbd1da067e46abf36372b1b2ddfc3af192551e317819279f/mocket-1.4.0.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "de649ccacf34ece753c87cd8e461cc56", "sha256": "a39e4f0841ad062e6e8113d9b9039e48a6a80f723cd8d04310e64932b2d852e1" }, "downloads": -1, "filename": "mocket-1.5.0.tar.gz", "has_sig": false, "md5_digest": "de649ccacf34ece753c87cd8e461cc56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10035, "upload_time": "2016-12-29T16:57:38", "url": "https://files.pythonhosted.org/packages/68/36/6f4d60f879d719db88f0b6beee3e4fc7fe148417b07af77cbd6e5716f9b5/mocket-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "b430737eef86542887f15077a6c706db", "sha256": "c78e681300fab42d4b23fba508d6c963be8187e40e3c3e015f43c032e0dd1b32" }, "downloads": -1, "filename": "mocket-1.5.1.tar.gz", "has_sig": false, "md5_digest": "b430737eef86542887f15077a6c706db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10192, "upload_time": "2016-12-30T11:23:30", "url": "https://files.pythonhosted.org/packages/02/64/f344cde71834f8dd678a18f5386a44216b72c2242bf4c5c6f66938d06715/mocket-1.5.1.tar.gz" } ], "1.5.2": [ { "comment_text": "", "digests": { "md5": "874f66dc427e289b78973686f1e2f62b", "sha256": "d8010469e7042625d340b5dc9de340c85e74106fa3c830e9bf1970248b6ee029" }, "downloads": -1, "filename": "mocket-1.5.2.tar.gz", "has_sig": false, "md5_digest": "874f66dc427e289b78973686f1e2f62b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13878, "upload_time": "2017-01-06T14:37:57", "url": "https://files.pythonhosted.org/packages/24/f7/63bbfcffddbe236f58be2fc4e19fb7f09eb9cad727a8a2225d8be4ea95b7/mocket-1.5.2.tar.gz" } ], "1.6.0": [ { "comment_text": "", "digests": { "md5": "54389c63196925b0ddbeda1f45fe1a3d", "sha256": "8be8bfff786c9c465e3fd41c047da33e172b71ef70af3c4b5cc5eb4315e94f8f" }, "downloads": -1, "filename": "mocket-1.6.0.tar.gz", "has_sig": false, "md5_digest": "54389c63196925b0ddbeda1f45fe1a3d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16030, "upload_time": "2017-01-29T15:25:15", "url": "https://files.pythonhosted.org/packages/a7/ab/6189376dd62c982d711d2bcfb5cea9afd5c959e41ae20ab71130f903065e/mocket-1.6.0.tar.gz" } ], "1.7.6": [ { "comment_text": "", "digests": { "md5": "2597bbcc7e501cf6f216ffd1a9bd0432", "sha256": "1ee1e0f5d5b0fd51df5bf448508f51a05a27028aa24839181471298be21d82df" }, "downloads": -1, "filename": "mocket-1.7.6.tar.gz", "has_sig": false, "md5_digest": "2597bbcc7e501cf6f216ffd1a9bd0432", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17862, "upload_time": "2017-02-22T15:24:21", "url": "https://files.pythonhosted.org/packages/c6/de/8b87756002f226b9c1569c512968e5fffb1f16e46843ae5825f32b118266/mocket-1.7.6.tar.gz" } ], "1.8.0": [ { "comment_text": "", "digests": { "md5": "47e1ebf4aab153c29bf97570acbd66b2", "sha256": "896d95aad378d70de7fdf4005d9d6fe06c0dae192bc96bc1c992b0a04c7ca0e8" }, "downloads": -1, "filename": "mocket-1.8.0.tar.gz", "has_sig": false, "md5_digest": "47e1ebf4aab153c29bf97570acbd66b2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18143, "upload_time": "2017-03-26T13:24:10", "url": "https://files.pythonhosted.org/packages/47/6a/5f0ff85228d58be1d300b7a08b1603d38d1a5b9fb8a4f35794ab18f4c3b9/mocket-1.8.0.tar.gz" } ], "1.8.1": [ { "comment_text": "", "digests": { "md5": "80a8df33f15aa982e75947e2beb21f43", "sha256": "c3eda4becc2fecf465c9ed9d287b7dd635a308ab1b685ad151e2cefba0b8861b" }, "downloads": -1, "filename": "mocket-1.8.1.tar.gz", "has_sig": false, "md5_digest": "80a8df33f15aa982e75947e2beb21f43", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18202, "upload_time": "2017-04-05T13:37:05", "url": "https://files.pythonhosted.org/packages/3f/39/1480c16ab32fa31929c638f84b277e7e08b48f1bd947c955823d27bc2cf2/mocket-1.8.1.tar.gz" } ], "1.8.2": [ { "comment_text": "", "digests": { "md5": "074c5991299c276d976f72823284f9bb", "sha256": "58b941c639a14135746b307dc3b2936419b618bed8d78b89e26ca4c3c576d773" }, "downloads": -1, "filename": "mocket-1.8.2.tar.gz", "has_sig": false, "md5_digest": "074c5991299c276d976f72823284f9bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18181, "upload_time": "2017-04-12T14:52:40", "url": "https://files.pythonhosted.org/packages/cf/5f/a136a946aa7e07edcef09240a2d77fb81cf8ea7e8bbd43457037cbd24e9d/mocket-1.8.2.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "70f169ee3634226ef02df01201fcd456", "sha256": "c56ab7ceed19c3ede893969f807d88ec2b4896f2f8dee29174847aea7250ebdb" }, "downloads": -1, "filename": "mocket-2.0.0.tar.gz", "has_sig": false, "md5_digest": "70f169ee3634226ef02df01201fcd456", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18677, "upload_time": "2017-08-27T20:18:01", "url": "https://files.pythonhosted.org/packages/51/51/0800251042a4f28638977b0c228fa07c793ab0593cb039f99738674222a6/mocket-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "1840ad8c826749070aa208ed7ebadc01", "sha256": "23b188c144d785eba7b8c1823cabf724f31f6063ef01b54c4422eeca23add365" }, "downloads": -1, "filename": "mocket-2.1.0.tar.gz", "has_sig": false, "md5_digest": "1840ad8c826749070aa208ed7ebadc01", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23210, "upload_time": "2017-10-15T19:30:27", "url": "https://files.pythonhosted.org/packages/35/54/d035e9f9b532c952100366aab16c02b88ded04cdf3762bb749092da65e7a/mocket-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "056caa730cd8eb768a206ac8b82746d8", "sha256": "b17f6d5a4237153d89cd6b28e1c9979bd7cea317c17c2fd759b7e9ee75dbf185" }, "downloads": -1, "filename": "mocket-2.1.1.tar.gz", "has_sig": false, "md5_digest": "056caa730cd8eb768a206ac8b82746d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23853, "upload_time": "2017-10-29T15:40:02", "url": "https://files.pythonhosted.org/packages/50/cb/86d4cab73e72fb1522e74c62acffac8b59fc501233f4404f591b2c56f87e/mocket-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "26b91e36f90a15fdfddd722a3f5f7482", "sha256": "26e4af97b095055b1fcfd84bc8494920a13bcb66d0e462fbed76ccd0ca91c50f" }, "downloads": -1, "filename": "mocket-2.1.2.tar.gz", "has_sig": false, "md5_digest": "26b91e36f90a15fdfddd722a3f5f7482", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25194, "upload_time": "2018-01-08T20:58:37", "url": "https://files.pythonhosted.org/packages/20/94/d05fd8661b53ece9b483f7661083d72c82d7487e67bd4cb2474159e7167a/mocket-2.1.2.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "e8d9a2192d80062f910213e4c9f176f9", "sha256": "f23b917aa9bad2a4ead118a872174ea91595b7f1fa0dffd4246b82c084544cd9" }, "downloads": -1, "filename": "mocket-2.2.0.tar.gz", "has_sig": false, "md5_digest": "e8d9a2192d80062f910213e4c9f176f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25043, "upload_time": "2018-02-25T16:19:03", "url": "https://files.pythonhosted.org/packages/26/58/ca7f5f76cb9aefc6831a1a309df8e1579dbf2066882da5e01fe9ee7109cc/mocket-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "85af977ae4dedf55a8d6d6d0dfb9d3aa", "sha256": "54c7a965c96f2ea0ce82f1a8bfbc493d592b30b9bae1c86760db40fee0339923" }, "downloads": -1, "filename": "mocket-2.2.1.tar.gz", "has_sig": false, "md5_digest": "85af977ae4dedf55a8d6d6d0dfb9d3aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25076, "upload_time": "2018-03-09T11:39:36", "url": "https://files.pythonhosted.org/packages/ea/2b/6f1c163c876702c8562ad909baa82a3b8adf2af7e7d1beb3532c1f105d4a/mocket-2.2.1.tar.gz" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "6f57c27c03cee051fbf1071fe329a742", "sha256": "a69f2f91d515d3fcc0ef2edd6e65efc6dccbf91f1ad6a4d7e824ddc8e8c18c18" }, "downloads": -1, "filename": "mocket-2.2.2.tar.gz", "has_sig": false, "md5_digest": "6f57c27c03cee051fbf1071fe329a742", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25075, "upload_time": "2018-03-09T12:16:34", "url": "https://files.pythonhosted.org/packages/18/4b/fcab2120edfed795b719fa90fb8fd874e98a619361b0b860c272a8eb8475/mocket-2.2.2.tar.gz" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "1cce0958f3e297473c8352c37d6eab60", "sha256": "914336f077b76b0bd1a7b6be77360684b37e0bddd880b273c2a74e15b89e1512" }, "downloads": -1, "filename": "mocket-2.2.3.tar.gz", "has_sig": false, "md5_digest": "1cce0958f3e297473c8352c37d6eab60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25306, "upload_time": "2018-03-16T17:01:07", "url": "https://files.pythonhosted.org/packages/3d/0e/d3b8a2f0911a8b58309bef1e4f488395ab0a7475a9b77c6ff67d826f5f4d/mocket-2.2.3.tar.gz" } ], "2.2.4": [ { "comment_text": "", "digests": { "md5": "8484cbd18fab7771aa3e7146df9cf2dd", "sha256": "e24db724f3f1331b4db31f1e0684f552977e82729b384e467f372e886236b2b1" }, "downloads": -1, "filename": "mocket-2.2.4.tar.gz", "has_sig": false, "md5_digest": "8484cbd18fab7771aa3e7146df9cf2dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26253, "upload_time": "2018-07-10T18:04:32", "url": "https://files.pythonhosted.org/packages/90/75/3a8ae16a2751a3652b9ac8fb9c1ad8d8e986c0c575d11713da32f2e6880f/mocket-2.2.4.tar.gz" } ], "2.3.0": [ { "comment_text": "", "digests": { "md5": "5646d1ade92c1882d84c6a31989a842a", "sha256": "0d87427add8eacbe09ffd33a6a57a01baf03a0a598624b4c553daf0991849ef5" }, "downloads": -1, "filename": "mocket-2.3.0.tar.gz", "has_sig": false, "md5_digest": "5646d1ade92c1882d84c6a31989a842a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26373, "upload_time": "2018-08-02T15:28:35", "url": "https://files.pythonhosted.org/packages/9e/ef/410d91a987a13d1377b748ca8e7f50be4a0c09aed56bf9bdabdcd3f30ab1/mocket-2.3.0.tar.gz" } ], "2.4.0": [ { "comment_text": "", "digests": { "md5": "7c345afb217777d1789d480a3c427c75", "sha256": "2385e35e29c92e7dcf2ed6123ded1a2b1be3a2f9db5a939168eb4e60bf5ba5cb" }, "downloads": -1, "filename": "mocket-2.4.0.tar.gz", "has_sig": false, "md5_digest": "7c345afb217777d1789d480a3c427c75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26437, "upload_time": "2018-09-07T16:24:59", "url": "https://files.pythonhosted.org/packages/1f/55/2ecb81800055cd41ba553d248f2f586b09a94c0ba77f98d55ebc7933a397/mocket-2.4.0.tar.gz" } ], "2.4.1": [ { "comment_text": "", "digests": { "md5": "88c46e486e5d5a41f7b4decb71da56d1", "sha256": "a292d59ec6f3a818ce5469dcdbe725899358c7b8b68510d3d8f020f35262bab0" }, "downloads": -1, "filename": "mocket-2.4.1.tar.gz", "has_sig": false, "md5_digest": "88c46e486e5d5a41f7b4decb71da56d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26334, "upload_time": "2018-10-26T15:34:02", "url": "https://files.pythonhosted.org/packages/b0/4e/a49c7b18aa29ccaaab6dff40fb968ecc09e681c6a89365d9b970e0e75291/mocket-2.4.1.tar.gz" } ], "2.5.0": [ { "comment_text": "", "digests": { "md5": "9cb65e624f42a73e0f93974e521b6786", "sha256": "aee8b5ac36ad77ac5ebac4d515a8f2f036e9e646a1a5d2facf1da6ec8a52f265" }, "downloads": -1, "filename": "mocket-2.5.0.tar.gz", "has_sig": false, "md5_digest": "9cb65e624f42a73e0f93974e521b6786", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26551, "upload_time": "2018-12-19T18:18:58", "url": "https://files.pythonhosted.org/packages/27/59/89c36f468d64cfecc54e778fa282d07692d3504cc1d78cef93c5efca5768/mocket-2.5.0.tar.gz" } ], "2.6.0": [ { "comment_text": "", "digests": { "md5": "cc78b711377900cf9765f4e8db97d46f", "sha256": "da0e311077091d67864fce6fba9bd7de577a8aaba6bf80c889a9604bdc1e47af" }, "downloads": -1, "filename": "mocket-2.6.0.tar.gz", "has_sig": false, "md5_digest": "cc78b711377900cf9765f4e8db97d46f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26969, "upload_time": "2019-01-01T15:30:37", "url": "https://files.pythonhosted.org/packages/bc/87/927a1cc87fa6f7b376e6840fdc09bb9872e90249186bb5163dfe178b28c8/mocket-2.6.0.tar.gz" } ], "2.7.0": [ { "comment_text": "", "digests": { "md5": "1f5eac5029b85bd217793eb2aa5bb73a", "sha256": "df3d2e0347462689b9813d0c0939acb55929faca3c25fa7e1f9a0c24acbc262f" }, "downloads": -1, "filename": "mocket-2.7.0.tar.gz", "has_sig": false, "md5_digest": "1f5eac5029b85bd217793eb2aa5bb73a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27399, "upload_time": "2019-04-02T21:12:51", "url": "https://files.pythonhosted.org/packages/e1/95/e5ead03b9668abe6363a73093fc4479751430aef01290e38591928ad6a6f/mocket-2.7.0.tar.gz" } ], "2.7.1": [ { "comment_text": "", "digests": { "md5": "fc2a64439362003ddf621e63972ce18f", "sha256": "2d9aca6dfb9dde0041cd44c0a772dad4ec0ef71fe7c67b1f2124641c8268a0f9" }, "downloads": -1, "filename": "mocket-2.7.1.tar.gz", "has_sig": false, "md5_digest": "fc2a64439362003ddf621e63972ce18f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27500, "upload_time": "2019-04-03T20:40:19", "url": "https://files.pythonhosted.org/packages/28/41/7cbb979af396055972d69930e5071a4874f0c1e7717966c126cd62c9fb53/mocket-2.7.1.tar.gz" } ], "2.7.2": [ { "comment_text": "", "digests": { "md5": "ffa310b71d7af4b25ad2a57714e42a58", "sha256": "39bd34f12e968f7d4a75e52edf3fc2754b2d074790f333f02d8a8130724453fe" }, "downloads": -1, "filename": "mocket-2.7.2.tar.gz", "has_sig": false, "md5_digest": "ffa310b71d7af4b25ad2a57714e42a58", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27429, "upload_time": "2019-04-05T18:13:29", "url": "https://files.pythonhosted.org/packages/a5/c9/478da224865ede99a69cee4bcd7593185d8a92e5aa6f044e86445cfe7ab8/mocket-2.7.2.tar.gz" } ], "2.7.3": [ { "comment_text": "", "digests": { "md5": "efa19bab6e3076186ca04f77383c02cd", "sha256": "25f2b3f665ae3fa76ed2504f5c6836fd30249940ebd0f571a3371550828bbc9b" }, "downloads": -1, "filename": "mocket-2.7.3.tar.gz", "has_sig": false, "md5_digest": "efa19bab6e3076186ca04f77383c02cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27745, "upload_time": "2019-04-29T08:24:01", "url": "https://files.pythonhosted.org/packages/70/c3/c507a6c6b9cc96ddda7f4c9a123e9c4292e966617b71875fcd3777a1c553/mocket-2.7.3.tar.gz" } ], "2.7.4": [ { "comment_text": "", "digests": { "md5": "7978f880d96b04fb7318c8eff4254dae", "sha256": "c0a7f8d9df7ea4fb1afa8315f7e6c9317730dfb06e08209330fe58776a2abb0f" }, "downloads": -1, "filename": "mocket-2.7.4.tar.gz", "has_sig": false, "md5_digest": "7978f880d96b04fb7318c8eff4254dae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27812, "upload_time": "2019-06-15T09:33:29", "url": "https://files.pythonhosted.org/packages/c7/cf/abf941113920502dbdd7cab365d0559bf6a5ebe2842e9755a3d399720525/mocket-2.7.4.tar.gz" } ], "3.7.0": [ { "comment_text": "", "digests": { "md5": "81af6dc7122aa55c268cfd5284e0ab23", "sha256": "4178a777a71fd4d9747678cbe3ef97bac2434e491b0bb77c52165ce8a68c9aa8" }, "downloads": -1, "filename": "mocket-3.7.0.tar.gz", "has_sig": false, "md5_digest": "81af6dc7122aa55c268cfd5284e0ab23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28355, "upload_time": "2019-06-23T00:43:18", "url": "https://files.pythonhosted.org/packages/10/45/eee29223ab4b704cf543b07f440408216e1cf87d29c1dcc646167c317cb1/mocket-3.7.0.tar.gz" } ], "3.7.1": [ { "comment_text": "", "digests": { "md5": "2e3f45c13b8f10bafa81e0adb8589546", "sha256": "5096136386719c8961e99e8e02cc4d930368dff9a31862f76d76b8e0cb7b409f" }, "downloads": -1, "filename": "mocket-3.7.1.tar.gz", "has_sig": false, "md5_digest": "2e3f45c13b8f10bafa81e0adb8589546", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28288, "upload_time": "2019-08-08T07:22:46", "url": "https://files.pythonhosted.org/packages/ee/85/8082d03b894f7d979d8885c39da3cc75f23877ff35d6e2259036796ea920/mocket-3.7.1.tar.gz" } ], "3.7.2": [ { "comment_text": "", "digests": { "md5": "9de5ed24f6208b9585630fca200f8963", "sha256": "86f2733e949b1698aacd84901d1181391a156964100089f72aaa5e7d52c1122c" }, "downloads": -1, "filename": "mocket-3.7.2.tar.gz", "has_sig": false, "md5_digest": "9de5ed24f6208b9585630fca200f8963", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28343, "upload_time": "2019-09-03T07:57:21", "url": "https://files.pythonhosted.org/packages/cf/ef/64898b368d843a33401dfe33bf8d41bfe55848c99fe7f0a0b123314e23ef/mocket-3.7.2.tar.gz" } ], "3.7.3": [ { "comment_text": "", "digests": { "md5": "2271897cb5efb4e59d072f115e3b6640", "sha256": "f23f184052cfc6ace5660f8921d858eb0f0d02e3735e7675d04f33dea029bd53" }, "downloads": -1, "filename": "mocket-3.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2271897cb5efb4e59d072f115e3b6640", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31143, "upload_time": "2019-09-18T07:12:53", "url": "https://files.pythonhosted.org/packages/fe/4c/d5f8bccdd776333c287629c4a68059a9132621d815086905db64769c166e/mocket-3.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b16acb44cc15d72b0149663092124164", "sha256": "f904db87c09f7b459476f9e35a5438d3cc49a7fe7d4ac5839bb02454d911b824" }, "downloads": -1, "filename": "mocket-3.7.3.tar.gz", "has_sig": false, "md5_digest": "b16acb44cc15d72b0149663092124164", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28360, "upload_time": "2019-09-18T07:08:59", "url": "https://files.pythonhosted.org/packages/4a/ca/aefdfaf59eb45dd7d95ebb7b064661154b118b8aa9084e681425506cb580/mocket-3.7.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2271897cb5efb4e59d072f115e3b6640", "sha256": "f23f184052cfc6ace5660f8921d858eb0f0d02e3735e7675d04f33dea029bd53" }, "downloads": -1, "filename": "mocket-3.7.3-py3-none-any.whl", "has_sig": false, "md5_digest": "2271897cb5efb4e59d072f115e3b6640", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31143, "upload_time": "2019-09-18T07:12:53", "url": "https://files.pythonhosted.org/packages/fe/4c/d5f8bccdd776333c287629c4a68059a9132621d815086905db64769c166e/mocket-3.7.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b16acb44cc15d72b0149663092124164", "sha256": "f904db87c09f7b459476f9e35a5438d3cc49a7fe7d4ac5839bb02454d911b824" }, "downloads": -1, "filename": "mocket-3.7.3.tar.gz", "has_sig": false, "md5_digest": "b16acb44cc15d72b0149663092124164", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28360, "upload_time": "2019-09-18T07:08:59", "url": "https://files.pythonhosted.org/packages/4a/ca/aefdfaf59eb45dd7d95ebb7b064661154b118b8aa9084e681425506cb580/mocket-3.7.3.tar.gz" } ] }