{ "info": { "author": "Eugene Pokidov", "author_email": "pokidovea@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "immobilus\n=========\n\n|Download from PyPI| |build| |Build status|\n\nA simple time freezing tool for python tests. It mocks:\n\n* ``datetime.date.today()``\n* ``datetime.datetime.now()``\n* ``datetime.datetime.utcnow()``\n* ``datetime.datetime.fromtimestamp()``\n* ``time.time()``\n* ``time.gmtime()``\n* ``time.localtime()``\n* ``time.strftime()``\n* ``time.mktime()``\n\nUsage\n-----\n\nYou must ``import immobilus`` *before* ``datetime`` or ``time``, or any\nother module which imports them in turn, to allow it to intercept those\nmodules.\n\n.. code:: python\n\n >>> from immobilus import immobilus\n >>> from datetime import datetime, timedelta\n\nFor example, if you use\n`pytest `__, you could add\n``import immobilus`` into your root ``conftest.py`` file.\n\nContext manager\n^^^^^^^^^^^^^^^\n\nYou can use ``immobilus`` as a context manager. When the context manager\nis active, time is frozen to the specified value. Outside of the context\nmanager, the original standard library functions are used and time\nbehaves normally.\n\n.. code:: python\n\n >>> # It is unlikely that you are living in the past\n >>> datetime.utcnow() == datetime(2017, 10, 20)\n False\n >>> # But with immobilus, you can pretend that you are\n >>> with immobilus('2017-10-20'):\n ... datetime.utcnow() == datetime(2017, 10, 20)\n ...\n True\n >>> # Once the context manager exits, immobilus deactivates.\n >>> # We are back in the present.\n >>> datetime.utcnow() == datetime(2017, 10, 20)\n False\n\nSpecifying the freeze time\n^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nAs shown above, you can use a string to describe the time to be frozen\n(e.g. ``'2017-10-20'``). Any values understood by the\n`dateutil.parser `__\ncan be used.\n\nYou can also use a ``datetime.datetime`` object for the freeze time:\n\n.. code:: python\n\n >>> naive_freeze_time = datetime(2017, 10, 20)\n >>> with immobilus(naive_freeze_time):\n ... print('now: %s' % datetime.now())\n ... print('utcnow: %s' % datetime.utcnow())\n ...\n now: 2017-10-20 00:00:00\n utcnow: 2017-10-20 00:00:00\n\n``immobilus`` will use the given ``datetime`` object to set the frozen\nUTC time *and* local time to the same value that you provide. If the\n``datetime`` you provide for the freeze time is aware, then it is\nadjusted to UTC like so:\n\n.. code:: python\n\n >>> import pytz\n >>>\n >>> # Freeze to 12:00 noon in Moscow (UTC+3)\n >>> timezone = pytz.timezone('Europe/Moscow')\n >>> aware_freeze_time = timezone.localize(datetime(2017, 10, 20, 12))\n >>> with immobilus(aware_freeze_time):\n ... # 9:00am local time which is same as UTC\n ... print('now: %s' % datetime.now())\n ... print('utcnow: %s' % datetime.utcnow())\n ...\n now: 2017-10-20 09:00:00\n utcnow: 2017-10-20 09:00:00\n\nIf you want local time to differ from UTC, read on.\n\nFreezing a local time that is not UTC time\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nTo have a different timezone in effect when time is frozen, use the\nsecond argument to the ``immobilus`` context manager: ``tz_offset``.\nThis is the number of hours ahead of the frozen UTC time that the frozen\nlocal time should be.\n\n.. code:: python\n\n >>> with immobilus('2017-10-20 09:00', tz_offset=3):\n ... print('now: %s' % datetime.now())\n ... print('utcnow: %s' % datetime.utcnow())\n ...\n now: 2017-10-20 12:00:00\n utcnow: 2017-10-20 09:00:00\n\nOf course, you can be behind UTC if you wish, by using a negative\nnumber:\n\n.. code:: python\n\n >>> with immobilus('2017-10-20 09:00', tz_offset=-7):\n ... print('now: %s' % datetime.now())\n ... print('utcnow: %s' % datetime.utcnow())\n ...\n now: 2017-10-20 02:00:00\n utcnow: 2017-10-20 09:00:00\n\nYou can move the frozen time point by calling the ``tick`` method:\n\n.. code:: python\n\n >>> with immobilus('2019-08-21 12:00:00') as dt:\n ... print(datetime.now())\n ... dt.tick()\n ... print(datetime.now())\n ... dt.tick(timedelta(seconds=10))\n ... print(datetime.now())\n ...\n 2019-08-21 12:00:00\n 2019-08-21 12:00:01\n 2019-08-21 12:00:11\n\nUsing as a decorator\n^^^^^^^^^^^^^^^^^^^^\n\nAs well as being a context manager, ``immobilus`` is also a decorator:\n\n.. code:: python\n\n >>> @immobilus('2017-10-20')\n ... def test():\n ... print(datetime.now())\n ...\n >>> test()\n 2017-10-20 00:00:00\n\nIt works even with classes\n\n.. code:: python\n\n\n >>> @immobilus('2017-10-20')\n ... class Decorated(object):\n ... now = datetime.utcnow()\n ...\n ... def first(self):\n ... return datetime.utcnow()\n ...\n ... def second(self):\n ... return self.now\n ...\n >>> d = Decorated()\n >>> assert d.first().strftime('%Y-%m-%d %H:%M:%S') == '2017-10-20 00:00:00'\n >>> assert d.second().strftime('%Y-%m-%d %H:%M:%S') != '2017-10-20 00:00:00'\n\nand coroutines (since ``python 3.5``)\n\n.. code:: python\n\n >>> import sys\n >>> import six\n >>>\n >>> if sys.version_info[0:2] >= (3, 5):\n ... result = ''\n ... six.exec_(\"\"\"\n ... import asyncio\n ...\n ... @immobilus('2017-10-20')\n ... async def test():\n ... return datetime.now()\n ...\n ... loop = asyncio.new_event_loop()\n ... result = loop.run_until_complete(test())\n ... \"\"\")\n ... assert result.strftime('%Y-%m-%d %H:%M:%S') == '2017-10-20 00:00:00'\n\nUsing directly\n^^^^^^^^^^^^^^\n\nOr you can activate and deactivate ``immobilus`` manually.\n\n.. code:: python\n\n >>> freeze_time = datetime(2017, 10, 20)\n >>> spell = immobilus(freeze_time)\n >>> datetime.utcnow() == freeze_time\n False\n >>> spell.start()\n FakeDatetime(2017, 10, 20, 0, 0)\n >>> datetime.utcnow() == freeze_time\n True\n >>> datetime.utcnow()\n FakeDatetime(2017, 10, 20, 0, 0)\n >>> spell.stop()\n >>> datetime.utcnow() == freeze_time\n False\n\nThis can be quite useful for those using the standard library\n``unittest.TestCase`` e.g.\n\n.. code:: python\n\n import unittest\n\n class SomeTests(unittest.TestCase):\n def setUp(self):\n spell = immobilus('2017-10-20')\n spell.start()\n self.addCleanup(spell.stop)\n\nNesting\n^^^^^^^\n\nYou can also nest context managers (or decorators, or direct\ninvocations, or any combination) if you want to freeze different times.\n\n.. code:: python\n\n >>> with immobilus('2017-10-20 12:00'):\n ... print('outer now: %s' % datetime.now())\n ... print('outer utcnow: %s' % datetime.utcnow())\n ... with immobilus('2017-10-21 12:00', tz_offset=5):\n ... print('inner now: %s' % datetime.now())\n ... print('inner utcnow: %s' % datetime.utcnow())\n ... print('outer now: %s' % datetime.now())\n ... print('outer utcnow: %s' % datetime.utcnow())\n ...\n outer now: 2017-10-20 12:00:00\n outer utcnow: 2017-10-20 12:00:00\n inner now: 2017-10-21 17:00:00\n inner utcnow: 2017-10-21 12:00:00\n outer now: 2017-10-20 12:00:00\n outer utcnow: 2017-10-20 12:00:00\n\nSpecial thanks for contribution:\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n- Eloi Rivard (https://github.com/azmeuk)\n- Day Barr (https://github.com/daybarr)\n\n.. |Download from PyPI| image:: https://img.shields.io/pypi/v/immobilus.svg\n :target: https://pypi.python.org/pypi/immobilus\n.. |build| image:: https://secure.travis-ci.org/pokidovea/immobilus.svg?branch=master\n :target: https://travis-ci.org/pokidovea/immobilus\n.. |Build status| image:: https://ci.appveyor.com/api/projects/status/jpidjtu298ason8h?svg=true\n :target: https://ci.appveyor.com/project/pokidovea/immobilus\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/pokidovea/immobilus", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "immobilus", "package_url": "https://pypi.org/project/immobilus/", "platform": "", "project_url": "https://pypi.org/project/immobilus/", "project_urls": { "Homepage": "https://github.com/pokidovea/immobilus" }, "release_url": "https://pypi.org/project/immobilus/1.4.4/", "requires_dist": [ "python-dateutil" ], "requires_python": "", "summary": "Say `Immobilus!` to freeze your tests", "version": "1.4.4" }, "last_serial": 5732080, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "a6276c7d018bfe9833217b89e7fc6750", "sha256": "b04a0b385928b1022d59df55736f9a12fdb5ed3e75558665beeb301d183a839c" }, "downloads": -1, "filename": "immobilus-0.1.0.tar.gz", "has_sig": false, "md5_digest": "a6276c7d018bfe9833217b89e7fc6750", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5773, "upload_time": "2016-11-23T20:44:42", "url": "https://files.pythonhosted.org/packages/53/e2/7bdd65ef8a361b84e56a78dcab7e4d448543c3623fa9936fc580267c5e84/immobilus-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "942c04776b0daf43f21895babe2e25b5", "sha256": "4ae5888910e777074b55a1b96bcceeab6add08bcc060355f0adb78d04f300432" }, "downloads": -1, "filename": "immobilus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "942c04776b0daf43f21895babe2e25b5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5811, "upload_time": "2016-11-24T17:56:03", "url": "https://files.pythonhosted.org/packages/70/42/a6b3428466a238a8d429198124f671cd600b6a6db43eef60089c9d217d8a/immobilus-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "b33e2137b1bbb45aa1e91fa5dc17fe9a", "sha256": "ddbd2171edad5b516fe93e73250b6dc4d13b11e8443a709621e6d3e19521ce75" }, "downloads": -1, "filename": "immobilus-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b33e2137b1bbb45aa1e91fa5dc17fe9a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6112, "upload_time": "2016-11-26T18:14:29", "url": "https://files.pythonhosted.org/packages/63/ae/35af178e30dc05bfc67b40273c47bce245b55ac937df890f1555da101576/immobilus-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "feaeaa59119840e59d03bac2db43d284", "sha256": "aa79d7667b35a38627fcdaa98b64e22a286727d4e7dbb29bfaa3cae729e2ffc2" }, "downloads": -1, "filename": "immobilus-0.2.1.tar.gz", "has_sig": false, "md5_digest": "feaeaa59119840e59d03bac2db43d284", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6113, "upload_time": "2017-03-06T07:31:19", "url": "https://files.pythonhosted.org/packages/55/55/073791f8bb21bf388164426a7169ce86812817e054e067279738e25d905b/immobilus-0.2.1.tar.gz" } ], "0.2.10": [ { "comment_text": "", "digests": { "md5": "fb94dc7dfe732f47019cdee950b5925c", "sha256": "38abcc53216b0107cee06813264864eee6ecf4253354a0c4db31b93dda56afd1" }, "downloads": -1, "filename": "immobilus-0.2.10.tar.gz", "has_sig": false, "md5_digest": "fb94dc7dfe732f47019cdee950b5925c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7008, "upload_time": "2017-09-12T08:32:32", "url": "https://files.pythonhosted.org/packages/df/3f/4ceb5ef3629154373e9b186ce2bc1a5d049140e813256cdf3da28b778830/immobilus-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "ca985b6b9af2833a1476a94dbcf9e029", "sha256": "142ea2968c572e5c3eef18d7fb07676b3d308daf148d6c64b12ca8cda4bdb28c" }, "downloads": -1, "filename": "immobilus-0.2.11.tar.gz", "has_sig": false, "md5_digest": "ca985b6b9af2833a1476a94dbcf9e029", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7188, "upload_time": "2017-09-13T07:35:31", "url": "https://files.pythonhosted.org/packages/05/f9/b1c68c097fc15be3a71955469d979e8bee787a9da6caf02b5a829b208182/immobilus-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "fbfc74ccbbbbd5ff28895e8197b6da92", "sha256": "4063076071bb26210ac27bc4cfecc5328ab3f13578d93c17a596c0d7a920cd92" }, "downloads": -1, "filename": "immobilus-0.2.12.tar.gz", "has_sig": false, "md5_digest": "fbfc74ccbbbbd5ff28895e8197b6da92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7296, "upload_time": "2017-10-12T18:36:44", "url": "https://files.pythonhosted.org/packages/ee/10/3a2c8acfc856872f16820c07b53e9751af99c7363bea6424cf31b13844ec/immobilus-0.2.12.tar.gz" } ], "0.2.13": [ { "comment_text": "", "digests": { "md5": "ba67247494037e89a645d9f72e828361", "sha256": "1d63ba66c2dda26ed37518cef6ce70e5bae304957458f2463727d035bd5f6bf7" }, "downloads": -1, "filename": "immobilus-0.2.13.tar.gz", "has_sig": false, "md5_digest": "ba67247494037e89a645d9f72e828361", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7352, "upload_time": "2017-10-13T07:39:28", "url": "https://files.pythonhosted.org/packages/42/13/a605d745aece8267ae63963443a0aea3ef0192ac287130944aa8f952e750/immobilus-0.2.13.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "58787558799647d601e13b9c9e7cb7b0", "sha256": "7bf99447f96607960d41f5a158ab3333a42d0ac606eb7be2ccbc9a1a395fb7f5" }, "downloads": -1, "filename": "immobilus-0.2.14.tar.gz", "has_sig": false, "md5_digest": "58787558799647d601e13b9c9e7cb7b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7465, "upload_time": "2017-10-13T16:51:01", "url": "https://files.pythonhosted.org/packages/f8/7c/00fb742dee9224ace125bc0d391fea89f10bee5de107b1a3218391ccb4bb/immobilus-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "1b8707c70239441079412a05fd7538a4", "sha256": "d8bba7798ec071451df252ac508560ba7535c928174429950d389d422b960d5a" }, "downloads": -1, "filename": "immobilus-0.2.15.tar.gz", "has_sig": false, "md5_digest": "1b8707c70239441079412a05fd7538a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7059, "upload_time": "2017-10-15T12:16:53", "url": "https://files.pythonhosted.org/packages/f8/37/653e2b8e431bead9c70bbd96c5f548bc9b7fff71924f3b49dc2a3454f41e/immobilus-0.2.15.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "1cba54a6e46243015128c57ff30e34ac", "sha256": "cfac0e11b60c2a83eb2e227b9f391f2072365a67f115a57fedd43b8c592eff31" }, "downloads": -1, "filename": "immobilus-0.2.2.tar.gz", "has_sig": false, "md5_digest": "1cba54a6e46243015128c57ff30e34ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6159, "upload_time": "2017-03-06T19:53:25", "url": "https://files.pythonhosted.org/packages/d4/3f/8a8b05e92054c9b980411abcdd0c7c23855d08ab640d7a95082e61f2a549/immobilus-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "678f08b1b5723ddd0f48f9abe2b4239c", "sha256": "79635e9d482a84e277f4a5e55f278bab609f1ccc0f122162e7a177c91c0e0fe3" }, "downloads": -1, "filename": "immobilus-0.2.3.tar.gz", "has_sig": false, "md5_digest": "678f08b1b5723ddd0f48f9abe2b4239c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6184, "upload_time": "2017-03-09T19:32:26", "url": "https://files.pythonhosted.org/packages/b4/5c/8ad26aa3fbed72d66b332ab51df142ed4ae0dbe1e3e86116a110195422b1/immobilus-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "b78c8d358e73bec04875cd0ffbab5c86", "sha256": "11657754f87c8518cc42c34ca8ee5b5c750cb9841fa60080da51c1465fd9cea5" }, "downloads": -1, "filename": "immobilus-0.2.4.tar.gz", "has_sig": false, "md5_digest": "b78c8d358e73bec04875cd0ffbab5c86", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6348, "upload_time": "2017-05-22T07:48:34", "url": "https://files.pythonhosted.org/packages/f0/bd/811dc252a050f3bb7d330c1033afa3d26f9aae57035fc89f569ee5bdb1c1/immobilus-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "d6c99216e4757c4a7ee6b0e1fccc21a8", "sha256": "5291f40b6cf392ac644315167285ffe69d688c9cfcc31fc70567112be5b77299" }, "downloads": -1, "filename": "immobilus-0.2.5.tar.gz", "has_sig": false, "md5_digest": "d6c99216e4757c4a7ee6b0e1fccc21a8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6347, "upload_time": "2017-05-22T08:21:43", "url": "https://files.pythonhosted.org/packages/1f/6f/2a40f6a079c8e16372a460bb764f09dae3f749a94ee32f9d6adeba5a3f1a/immobilus-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "43f95f1fbd68543f281131ec3a2b3fc2", "sha256": "ce84d86e3ac46cb5a3fbc7bc386dad7089e23216ccb4e8b5ba33b9967fdab0e0" }, "downloads": -1, "filename": "immobilus-0.2.6.tar.gz", "has_sig": false, "md5_digest": "43f95f1fbd68543f281131ec3a2b3fc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6363, "upload_time": "2017-06-16T10:43:03", "url": "https://files.pythonhosted.org/packages/b4/f7/3f9ba6aa7e61d18a01eb0c76b142af3e9d45ab4a3027b07d0d742e89f149/immobilus-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "1e0e5dd13d7c41ebddef56c6bee2e218", "sha256": "925b9d415607db9298318cd14a9f1b83f1023e98dedfa0752bdf2a20a81530e4" }, "downloads": -1, "filename": "immobilus-0.2.7.tar.gz", "has_sig": false, "md5_digest": "1e0e5dd13d7c41ebddef56c6bee2e218", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6423, "upload_time": "2017-08-28T14:46:55", "url": "https://files.pythonhosted.org/packages/b7/22/2889070716ef67356215d2ade4f72c8b2c4d35dcec8d1fe4730a22c16290/immobilus-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "3408deb0d67ed9d39481838c63976b70", "sha256": "d057fb30aeeb3ac082b8af8e1c0a2203842366377ee895c8dd555003979f3251" }, "downloads": -1, "filename": "immobilus-0.2.8.tar.gz", "has_sig": false, "md5_digest": "3408deb0d67ed9d39481838c63976b70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6444, "upload_time": "2017-08-30T19:11:42", "url": "https://files.pythonhosted.org/packages/dd/32/3b0d1bb7d3dda1394f9f742594a118421c9042f9e379293d4e45621d8cbc/immobilus-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "58a85a04c6a20ee876019eb0301e9941", "sha256": "4132bbf81d904123a67a1a9bef179add3d93d4adc2e567b50c998a53f8965e1f" }, "downloads": -1, "filename": "immobilus-0.2.9.tar.gz", "has_sig": false, "md5_digest": "58a85a04c6a20ee876019eb0301e9941", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6451, "upload_time": "2017-08-30T19:59:53", "url": "https://files.pythonhosted.org/packages/9b/6a/bf1b9d9a2464c15a91d466cddbe38c7764ac7208d8b1ff07eaafed0060b0/immobilus-0.2.9.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "a0054438e0dd49b28c310c83433b0e5a", "sha256": "7ec49f70c7bde7e12e4c87c86ed61d887e7c28f2b10e185a61ed190ff7cefc68" }, "downloads": -1, "filename": "immobilus-1.0.1.tar.gz", "has_sig": false, "md5_digest": "a0054438e0dd49b28c310c83433b0e5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8932, "upload_time": "2017-10-21T19:40:07", "url": "https://files.pythonhosted.org/packages/95/bb/87766b657439b66bc3e4a38f812119babd3428556c83e0e47d54b620a3b5/immobilus-1.0.1.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "ff9aa350f57443d64e4ba7423d9e13e3", "sha256": "974e668e5e85f2e3de2c39410e2ba8daf8820f9b3e5feb782823a2d764cc616c" }, "downloads": -1, "filename": "immobilus-1.2.tar.gz", "has_sig": false, "md5_digest": "ff9aa350f57443d64e4ba7423d9e13e3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10503, "upload_time": "2017-10-21T20:13:16", "url": "https://files.pythonhosted.org/packages/e8/cb/02331ee0fb0a827638dcbdc821da8a7b7b8aac57946e0a96956c278b6ca8/immobilus-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "bf056ddd31d97f8a50f5a9c5409d8d00", "sha256": "977efa93df8ce127d044e1e52491f7fc6f9cae797ab77d3f16203e2423f9894c" }, "downloads": -1, "filename": "immobilus-1.3.tar.gz", "has_sig": false, "md5_digest": "bf056ddd31d97f8a50f5a9c5409d8d00", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10945, "upload_time": "2017-12-19T19:36:51", "url": "https://files.pythonhosted.org/packages/85/ed/267909030c459536a1b7909887de1143d14883c8ee949de7dbf956f85809/immobilus-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "d852c2ac643f8ebcf13386e5296cd9af", "sha256": "c3a39c155d8787d684c60d71208932f02e09c809705e09af4457ab2cb180187d" }, "downloads": -1, "filename": "immobilus-1.4.tar.gz", "has_sig": false, "md5_digest": "d852c2ac643f8ebcf13386e5296cd9af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11997, "upload_time": "2017-12-20T13:44:27", "url": "https://files.pythonhosted.org/packages/b3/fd/2a06929eb35eb46b537356032df06fed6531788bbe679770ca111f1c9761/immobilus-1.4.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "5aa2089f8caa5593e91be601c15f8956", "sha256": "d8d0beec2bf48306bc5841d750d64f82d3f98e338cb3d6a465a2cad57c8ce689" }, "downloads": -1, "filename": "immobilus-1.4.1.tar.gz", "has_sig": false, "md5_digest": "5aa2089f8caa5593e91be601c15f8956", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11309, "upload_time": "2018-02-11T18:05:37", "url": "https://files.pythonhosted.org/packages/73/a3/b4a0cec8cb476ae7cfd9e491d0e04727c4abffa47cdf530ec08bc2ab75ba/immobilus-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "9288994df3a0b718213526beb1f41036", "sha256": "651b5677e107c0450d774f4dede63d3b4ea490c004af64046dad1963218fa275" }, "downloads": -1, "filename": "immobilus-1.4.2.tar.gz", "has_sig": false, "md5_digest": "9288994df3a0b718213526beb1f41036", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11487, "upload_time": "2018-07-02T18:49:33", "url": "https://files.pythonhosted.org/packages/85/18/1c25be4a912f2f005867f493f58910ae86a764e9ef46191e75579f50cf22/immobilus-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "de4377e7445c8cc1b1590d0113ef379f", "sha256": "8ac16c3a24d55beb487b14c69d4a1ea6f9cc59ebd87b435b81e55be4ac3945c5" }, "downloads": -1, "filename": "immobilus-1.4.3.tar.gz", "has_sig": false, "md5_digest": "de4377e7445c8cc1b1590d0113ef379f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12200, "upload_time": "2019-03-27T07:24:22", "url": "https://files.pythonhosted.org/packages/ff/e0/3f3193dc61b446c379ae42da10153349f62b1fc7dc71a5a5735ddc9262a2/immobilus-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "19bddc18c3b539165c425dec3a8434b4", "sha256": "2c48acf99dadf3803452c86154444fea34b46e9fb7eaaa4e2e06cd091b06cbd9" }, "downloads": -1, "filename": "immobilus-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "19bddc18c3b539165c425dec3a8434b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10193, "upload_time": "2019-08-26T17:10:29", "url": "https://files.pythonhosted.org/packages/46/7c/b89207a03a34207b4e5308c43a652132833403eb20ee35b211de9293faa4/immobilus-1.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c085ae5365b667d08b71a4c2e2e2f4c", "sha256": "4ac268d36078e042aed9722c626713d50323fac0140102047bb43d4915365073" }, "downloads": -1, "filename": "immobilus-1.4.4.tar.gz", "has_sig": false, "md5_digest": "4c085ae5365b667d08b71a4c2e2e2f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12620, "upload_time": "2019-08-26T17:10:31", "url": "https://files.pythonhosted.org/packages/23/09/60701add43fd55a3d37c7e9ad1eb776e199188602682a8960584a479fa8c/immobilus-1.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "19bddc18c3b539165c425dec3a8434b4", "sha256": "2c48acf99dadf3803452c86154444fea34b46e9fb7eaaa4e2e06cd091b06cbd9" }, "downloads": -1, "filename": "immobilus-1.4.4-py3-none-any.whl", "has_sig": false, "md5_digest": "19bddc18c3b539165c425dec3a8434b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10193, "upload_time": "2019-08-26T17:10:29", "url": "https://files.pythonhosted.org/packages/46/7c/b89207a03a34207b4e5308c43a652132833403eb20ee35b211de9293faa4/immobilus-1.4.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4c085ae5365b667d08b71a4c2e2e2f4c", "sha256": "4ac268d36078e042aed9722c626713d50323fac0140102047bb43d4915365073" }, "downloads": -1, "filename": "immobilus-1.4.4.tar.gz", "has_sig": false, "md5_digest": "4c085ae5365b667d08b71a4c2e2e2f4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12620, "upload_time": "2019-08-26T17:10:31", "url": "https://files.pythonhosted.org/packages/23/09/60701add43fd55a3d37c7e9ad1eb776e199188602682a8960584a479fa8c/immobilus-1.4.4.tar.gz" } ] }