{ "info": { "author": "Brian Pugh", "author_email": "bnp117@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://raw.githubusercontent.com/BrianPugh/lox/master/assets/lox_200w.png\n\n\n.. image:: https://img.shields.io/pypi/v/lox.svg\n :target: https://pypi.python.org/pypi/lox\n\n.. image:: https://circleci.com/gh/BrianPugh/lox.svg?style=svg\n :target: https://circleci.com/gh/BrianPugh/lox\n\n.. image:: https://readthedocs.org/projects/lox/badge/?version=latest\n :target: https://lox.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n\n.. image:: https://pyup.io/repos/github/BrianPugh/lox/shield.svg\n :target: https://pyup.io/repos/github/BrianPugh/lox/\n :alt: Updates\n\n\nThreading and multiprocessing made easy.\n\n\n* Free software: MIT license\n* Documentation: https://lox.readthedocs.io.\n* Python >=3.5\n\n\n**Lox** provides decorators and synchronization primitives to quickly add \nconcurrency to your projects.\n\nInstallation\n------------\n\n pip3 install --user lox\n\nFeatures\n--------\n\n* **Multithreading**: Powerful, intuitive multithreading in just 2 additional lines of code.\n\n* **Multiprocessing**: Truly parallel function execution with the same interface as **multithreading**.\n\n* **Synchronization**: Advanced thread synchronization, communication, and resource management tools.\n\nTodos\n-----\n\n* All objects except ``lox.process`` are for threads. These will eventually be multiprocess friendly.\n\n* Chaining of scatter calls to multiple worker pools\n\nUsage\n-----\n\nEasy Multithreading\n^^^^^^^^^^^^^^^^^^^\n\n >>> import lox\n >>>\n >>> @lox.thread(4) # Will operate with a maximum of 4 threads\n ... def foo(x,y):\n ... return x*y\n >>> foo(3,4) # normal function calls still work\n 12\n >>> for i in range(5):\n ... foo.scatter(i, i+1)\n -ignore-\n >>> # foo is currently being executed in 4 threads\n >>> results = foo.gather() # block until results are ready\n >>> print(results) # Results are in the same order as scatter() calls\n [0, 2, 6, 12, 20]\n\nEasy Multiprocessing\n^^^^^^^^^^^^^^^^^^^^\n\n >>> import lox\n >>>\n >>> @lox.process(4) # Will operate with a pool of 4 processes\n ... def foo(x,y):\n ... return x*y\n >>> foo(3,4) # normal function calls still work\n 12\n >>> for i in range(5):\n ... foo.scatter(i, i+1)\n -ignore-\n >>> # foo is currently being executed in 4 processes\n >>> results = foo.gather() # block until results are ready\n >>> print(results) # Results are in the same order as scatter() calls\n [0, 2, 6, 12, 20]\n\n\n\n=======\nHistory\n=======\n\n0.6.3 (2019-07-30)\n------------------\n* Alternative fix for 0.6.2.\n\n0.6.2 (2019-07-21)\n------------------\n* Update dependencies\n* Fix garbage-collecting exclusiviity\n\n0.6.1 (2019-07-21)\n------------------\n* Fix memory leak in ``lox.process``.\n\n0.6.0 (2019-07-21)\n------------------\n\n* ``lox.Announcement`` ``subscribe()`` calls now return another ``Announcement``\n object that behaves like a queue instead of an actual queue. Allows for \n many-queue-to-many-queue communications.\n\n* New Object: ``lox.Funnel``. allows for waiting on many queues for a complete\n set of inputs indicated by a job ID.\n\n0.5.0 (2019-07-01)\n------------------\n\n* New Object: ``lox.Announcement``. Allows a one-to-many thread queue with \n backlog support so that late subscribers can still get all (or most recent) \n announcements before they subscribed.\n\n* New Feature: ``lox.thread`` ``scatter`` calls can now be chained together.\n ``scatter`` now returns an ``int`` subclass that contains metadata to allow \n chaining. Each scatter call can have a maximum of 1 previous ``scatter`` result.\n\n* Documentation updates, theming, and logos\n\n0.4.3 (2019-06-24)\n------------------\n* Garbage collect cached decorated object methods\n\n0.4.2 (2019-06-23)\n------------------\n* Fixed multiple instances and successive scatter and gather calls to wrapped methods\n\n0.4.1 (2019-06-23)\n------------------\n* Fixed broken workers and unit tests for workers\n\n0.4.0 (2019-06-22)\n------------------\n* Semi-breaking change: **lox.thread** and **lox.process** now automatically pass\n the object instance when decorating a method.\n\n0.3.4 (2019-06-20)\n------------------\n* Print traceback in red when a thread crashes\n\n0.3.3 (2019-06-19)\n------------------\n* Fix bug where thread in scatter of lox.thread double releases on empty queue\n\n0.3.2 (2019-06-17)\n------------------\n\n* Fix manifest for installation from wheel\n\n0.3.1 (2019-06-17)\n------------------\n\n* Fix package on pypi\n\n0.3.0 (2019-06-01)\n------------------\n\n* Multiprocessing decorator. **lox.pool** renamed to **lox.thread**\n\n* Substantial pytest bug fixes\n\n* Documentation examples\n\n* timeout for RWLock\n\n0.2.1 (2019-05-25)\n------------------\n\n* Fix IndexSemaphore context manager\n\n0.2.0 (2019-05-24)\n------------------\n\n* Added QLock\n\n* Documentation syntax fixes\n\n0.1.1 (2019-05-24)\n------------------\n\n* CICD test\n\n0.1.0 (2019-05-24)\n------------------\n\n* First release on PyPI.\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/BrianPugh/lox", "keywords": "lox", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "lox", "package_url": "https://pypi.org/project/lox/", "platform": "", "project_url": "https://pypi.org/project/lox/", "project_urls": { "Homepage": "https://github.com/BrianPugh/lox" }, "release_url": "https://pypi.org/project/lox/0.6.3/", "requires_dist": [ "pathos (==0.2.4)", "sphinx-rtd-theme (==0.4.3)" ], "requires_python": "", "summary": "Threading and Multiprocessing for every project.", "version": "0.6.3" }, "last_serial": 5908256, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "93142fb927d29a250aac6c64afa31c34", "sha256": "83c80b1e05f40c40d38bce25ed995c0dff3e7212db8b997c6031dfb25366fa06" }, "downloads": -1, "filename": "lox-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "93142fb927d29a250aac6c64afa31c34", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3591, "upload_time": "2019-05-25T01:23:52", "url": "https://files.pythonhosted.org/packages/ac/89/cd05471c93ac34c1c082d6cef899a08f04a56b3384422dc6b4d30cb4f849/lox-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acf280daafe4112c074d7e257e4b47a1", "sha256": "afa54a181a2ea7b888cc114bf1f86ab4112ce5b194805bc22bddc922d8caa313" }, "downloads": -1, "filename": "lox-0.1.1.tar.gz", "has_sig": false, "md5_digest": "acf280daafe4112c074d7e257e4b47a1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12015, "upload_time": "2019-05-25T01:23:55", "url": "https://files.pythonhosted.org/packages/fd/b1/e62ae8d0a8e0f3a56c2da6b41a9dc74b76fa4a5f765758cc249a45d83595/lox-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "6752040731102b82c5f62a09e62e5782", "sha256": "c221625031c1b9bf6d2e5b9970a9f0361e61cc685321ad730f438dcc280c9dcc" }, "downloads": -1, "filename": "lox-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6752040731102b82c5f62a09e62e5782", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3599, "upload_time": "2019-05-25T02:41:51", "url": "https://files.pythonhosted.org/packages/14/d4/b124fe7030fa4af42abd18882a9c77732f0b814f046f7eab3e640301bb00/lox-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "548fdc272ca139f1abaeb846109614f3", "sha256": "08c7b053364c3fd0e156a11b2a72436c5316e276eaf6753dacc88211ea8406d8" }, "downloads": -1, "filename": "lox-0.2.0.tar.gz", "has_sig": false, "md5_digest": "548fdc272ca139f1abaeb846109614f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12131, "upload_time": "2019-05-25T02:41:52", "url": "https://files.pythonhosted.org/packages/e4/7f/62876f466b7e60e582a01aaac42bf445289e70bd27fa84e076b27e4a27c4/lox-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "30154982e5b7085e5892763a9220fd48", "sha256": "09dd6ebbb98a385f4aca37faba3030e144245e647d86dc889ca84b1281afac5a" }, "downloads": -1, "filename": "lox-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "30154982e5b7085e5892763a9220fd48", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3470, "upload_time": "2019-05-25T20:56:42", "url": "https://files.pythonhosted.org/packages/85/e6/7ae8ce3e177064456c266b6a8bb07825161043bae426f97296525b2487c9/lox-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "573e20faf6b6afe703e38a44ddc040dc", "sha256": "fd9b9379b413af6766581e3ed84c284e834a3d2071e456e89800cd58dff4919a" }, "downloads": -1, "filename": "lox-0.2.1.tar.gz", "has_sig": false, "md5_digest": "573e20faf6b6afe703e38a44ddc040dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12239, "upload_time": "2019-05-25T20:56:44", "url": "https://files.pythonhosted.org/packages/7f/60/e24599a2e19a387692ed844c80893ea07ab1a82b883fa13d043ae9d35caa/lox-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "f6d919e4fd89426ff410fae160e6b55c", "sha256": "f6f08e5505ab616515690301b291a84f6f2e2cf633a072e20020de506a2b4a85" }, "downloads": -1, "filename": "lox-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f6d919e4fd89426ff410fae160e6b55c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3646, "upload_time": "2019-06-01T23:03:08", "url": "https://files.pythonhosted.org/packages/84/3b/dc6c4d90454bedbeab1471bf84aaf95584eb23901d14c8b9b70e6a81d019/lox-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e453a39b5da9557285861ce777b66025", "sha256": "aafdfce114db9831d107fa6c79cad9d3d0b5437ecd18a03bffd76350f4d030a5" }, "downloads": -1, "filename": "lox-0.3.0.tar.gz", "has_sig": false, "md5_digest": "e453a39b5da9557285861ce777b66025", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17440, "upload_time": "2019-06-01T23:03:10", "url": "https://files.pythonhosted.org/packages/79/2b/87284a9b518904b81fc58d1c0d621e4be789b66013ec7428b0169e85d689/lox-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "0e090899e1aad8dab81e6b94deba39aa", "sha256": "ddedbde357103f20d6ec154dc3e5753e8feb9724d5eef00dfbdf4cb44f8698eb" }, "downloads": -1, "filename": "lox-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0e090899e1aad8dab81e6b94deba39aa", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3716, "upload_time": "2019-06-18T02:02:15", "url": "https://files.pythonhosted.org/packages/a8/79/89301a45d4a5bc1f9cbad7a797338d8840f34ba018943e89817b73b2e5d8/lox-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f340e7885782db92f95b3716e9d273fa", "sha256": "4a98b957304f326932ecb6d79e1f3a97529cecb3b6efb7d851fbe61e5db84542" }, "downloads": -1, "filename": "lox-0.3.1.tar.gz", "has_sig": false, "md5_digest": "f340e7885782db92f95b3716e9d273fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16384, "upload_time": "2019-06-18T02:02:16", "url": "https://files.pythonhosted.org/packages/93/76/e56169ed6e5b6a5a584225f000134ebb950c2a84a821a358f660102159d8/lox-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "1ff6d45897ca1c88613a83c9a6896ef5", "sha256": "cfc9b024735f3010ea3b330f7d51868737d1e666b7a05a1631a55600ab563a69" }, "downloads": -1, "filename": "lox-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1ff6d45897ca1c88613a83c9a6896ef5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13321, "upload_time": "2019-06-18T03:02:41", "url": "https://files.pythonhosted.org/packages/02/10/8099ba3e8ff6ecaa6c135981c3c4db65e85a1aa889861f497c0596bd6431/lox-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a2e6b435f7c5c0744955d99de0365ca4", "sha256": "85e651173e20262e12b46c3b382a2b9a0ac0956f2e65dd724847e874296e39bb" }, "downloads": -1, "filename": "lox-0.3.2.tar.gz", "has_sig": false, "md5_digest": "a2e6b435f7c5c0744955d99de0365ca4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22796, "upload_time": "2019-06-18T03:02:42", "url": "https://files.pythonhosted.org/packages/b0/3c/e1a822bf10f85befd4582ccead32ba8a7e0387c916aca7d81ea20bbb7a68/lox-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "fffccd5a64052ef15b69bbdfc3650aca", "sha256": "bbb0a121464a0f98adef3bc732a89e497d567b2c4b03fe314d0c249f8ff3c40e" }, "downloads": -1, "filename": "lox-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fffccd5a64052ef15b69bbdfc3650aca", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13372, "upload_time": "2019-06-19T23:51:50", "url": "https://files.pythonhosted.org/packages/a7/5f/89ae13da4e7bab8c42d3e4b65e4fc1226f64ced1d4a2ca81cb79ef075e73/lox-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ce5e34eaed5956cd667ef151ccb757c4", "sha256": "cc0577ce56452f82703670e79060f37221cf0a3df41c2a108856e3b6445486d3" }, "downloads": -1, "filename": "lox-0.3.3.tar.gz", "has_sig": false, "md5_digest": "ce5e34eaed5956cd667ef151ccb757c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 22932, "upload_time": "2019-06-19T23:51:51", "url": "https://files.pythonhosted.org/packages/b1/c0/01e1dd878cd5085df31325a70fd4d7aad3c2b1244438caa536aee62f3702/lox-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "3ae79baa23ad3ab79fd743aca9d6a44e", "sha256": "66b09330e47dc30d513e790b3c2945d221d928e00ff60b0df2ac6159c8416823" }, "downloads": -1, "filename": "lox-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ae79baa23ad3ab79fd743aca9d6a44e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13455, "upload_time": "2019-06-20T17:43:05", "url": "https://files.pythonhosted.org/packages/fd/85/f5d20f7bc274b432393e5494bea5908ca2ced4958f90334f2fd5c4e3a932/lox-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e08eebc1cf24b24d64f96d0e094a3566", "sha256": "321431db95569aaf321e57033de3a0bc639c243d72d509ee1f149b6bfc7b25dc" }, "downloads": -1, "filename": "lox-0.3.4.tar.gz", "has_sig": false, "md5_digest": "e08eebc1cf24b24d64f96d0e094a3566", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23066, "upload_time": "2019-06-20T17:43:06", "url": "https://files.pythonhosted.org/packages/0e/8a/eeab0d0b4ac37b5b51d6aa19623a88c36098df58a63f136e79a0c53bc221/lox-0.3.4.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "7d9389e655038a65944a45883331126b", "sha256": "9b0abbcccaf69da12377e87efc4cce75e2c4e5f06af5af33c0209225207db6d6" }, "downloads": -1, "filename": "lox-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "7d9389e655038a65944a45883331126b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14705, "upload_time": "2019-06-22T17:27:33", "url": "https://files.pythonhosted.org/packages/43/ec/4ad251b160dfebf87867ecbc752bf62f1d6140e82dc6e81eb0781fb986ef/lox-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9e158cd07e88fff2ffe979d4deabbf47", "sha256": "ee67e7e3375960862a1ee3e2a434a5545bc758a7d7e4146348460782fe587394" }, "downloads": -1, "filename": "lox-0.4.0.tar.gz", "has_sig": false, "md5_digest": "9e158cd07e88fff2ffe979d4deabbf47", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24669, "upload_time": "2019-06-22T17:27:35", "url": "https://files.pythonhosted.org/packages/ed/a0/869849ad5a58590043bf1425eafddba977b29271b6c490d4af08074d0a52/lox-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "65b8853d52b6d371436156c2c1222b5b", "sha256": "54ed1f238d5f29067cb48962c8d56692289cded01742b7181898dc19d88e19b2" }, "downloads": -1, "filename": "lox-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "65b8853d52b6d371436156c2c1222b5b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14820, "upload_time": "2019-06-24T02:11:46", "url": "https://files.pythonhosted.org/packages/b1/c2/9b9c4e1a1059edf6d2b6e815ca9280d72fba20e19dd6e8aa094e132d7e22/lox-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c0d6f5923a62dde63b624fc178628e60", "sha256": "68f4047aad5efe53c46fb11fe3ad9dddc498bc112ab78756209978c638710443" }, "downloads": -1, "filename": "lox-0.4.1.tar.gz", "has_sig": false, "md5_digest": "c0d6f5923a62dde63b624fc178628e60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24942, "upload_time": "2019-06-24T02:11:47", "url": "https://files.pythonhosted.org/packages/70/e2/096550efbe86b3bd16cb5b17ae632728b388735878286e16da42eb3af65f/lox-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "14d69b4f1d1fbb424448c3be4091bc03", "sha256": "5cb0f4c786c39cb8006294267a92e71ef9ae1ea99bb13c8a3d111944736228a7" }, "downloads": -1, "filename": "lox-0.4.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14d69b4f1d1fbb424448c3be4091bc03", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14858, "upload_time": "2019-06-24T03:58:36", "url": "https://files.pythonhosted.org/packages/ac/35/964782585aec7465c6009b6ccfd126a6f1bc4a01f35151ebc9ecc1dff00a/lox-0.4.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5071ee74d5e7db1b8b205d50d66d03cf", "sha256": "d6808c914453e92101a496bcfd58be6d13bc50f992d6ceea669e79f0cfc12ea4" }, "downloads": -1, "filename": "lox-0.4.2.tar.gz", "has_sig": false, "md5_digest": "5071ee74d5e7db1b8b205d50d66d03cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25168, "upload_time": "2019-06-24T03:58:37", "url": "https://files.pythonhosted.org/packages/80/cf/cf8d1dd0d82c58b407ee473d7ff1a0526288e6458fc87740003d864ef753/lox-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "eb0552a10c376d9ccb5bbfca15f200fb", "sha256": "239102291a84425effb7df4513f16e9e0ca50d9430fdd5cc457f30edb2b9b14e" }, "downloads": -1, "filename": "lox-0.4.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "eb0552a10c376d9ccb5bbfca15f200fb", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 15067, "upload_time": "2019-06-25T16:24:51", "url": "https://files.pythonhosted.org/packages/ce/de/740419b8cf77a8ef95a43fed687313347e6b0fb8425fd07acc6a4cc7f110/lox-0.4.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4319846d07bd0ba3c92ba2d53527f5a7", "sha256": "242aef7528b96441033475431645b9e797c41c3703d1ac6c35aab4176fc12513" }, "downloads": -1, "filename": "lox-0.4.3.tar.gz", "has_sig": false, "md5_digest": "4319846d07bd0ba3c92ba2d53527f5a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25540, "upload_time": "2019-06-25T16:24:53", "url": "https://files.pythonhosted.org/packages/1f/5e/fb956f61a0866fb5dc8bfdc2b7e3b5deb798ae0d4b3dc724443c916b9e9b/lox-0.4.3.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "4db846c0074ea76850da72b8cc7103de", "sha256": "a5ca6d337fac9a0408f3a6427025e38612e184b4b351d09c1c63e826c414f114" }, "downloads": -1, "filename": "lox-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "4db846c0074ea76850da72b8cc7103de", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 20370, "upload_time": "2019-07-02T01:58:17", "url": "https://files.pythonhosted.org/packages/36/3c/42e45424092afb4dd7d9a0d06de4b4cf16a34f9b602c2b7ae2285f808adc/lox-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1f9caa37ae736bd08f02b8d1ba76c3d0", "sha256": "5d788293721e1811e2404657057d9528aa5c3c22f5ec60f6577bf091f26fa212" }, "downloads": -1, "filename": "lox-0.5.0.tar.gz", "has_sig": false, "md5_digest": "1f9caa37ae736bd08f02b8d1ba76c3d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32325, "upload_time": "2019-07-02T01:58:19", "url": "https://files.pythonhosted.org/packages/f3/cb/4cd04093911be062673e967f61708aed42c7aa46183b78485d9c8b4d708a/lox-0.5.0.tar.gz" } ], "0.6.1": [ { "comment_text": "", "digests": { "md5": "a3f3a7d2175a44144d393a6ffc2f088a", "sha256": "5b35c9cd2e5247a3d9390971a66f0294a8bf685ae475270b5dc00a346ec51f3b" }, "downloads": -1, "filename": "lox-0.6.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a3f3a7d2175a44144d393a6ffc2f088a", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23393, "upload_time": "2019-08-02T18:16:08", "url": "https://files.pythonhosted.org/packages/82/9b/7e71258797f6971bc0e3f5014293e90c354cdce2fd768525e189e88aea3a/lox-0.6.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b85445dc445432577eb0994046a86c03", "sha256": "2636e2e547da9c26038d4eaf43673bf075eb896c50680453c279a15690c5f14a" }, "downloads": -1, "filename": "lox-0.6.1.tar.gz", "has_sig": false, "md5_digest": "b85445dc445432577eb0994046a86c03", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34220, "upload_time": "2019-08-02T18:16:10", "url": "https://files.pythonhosted.org/packages/a4/28/d72cf754cde6f01cddb9e1d663a5a900b6d39170a3e59ae9487f02ac0c84/lox-0.6.1.tar.gz" } ], "0.6.3": [ { "comment_text": "", "digests": { "md5": "bfe7ed67786e94cf9db8fd8b02861160", "sha256": "3b98b54fc67013c489a170838902d6bfe4a536cae2da33f1b5a4c6779ea7ff30" }, "downloads": -1, "filename": "lox-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfe7ed67786e94cf9db8fd8b02861160", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23513, "upload_time": "2019-09-30T18:08:59", "url": "https://files.pythonhosted.org/packages/f0/ad/b43e3ce29523892c1fff5d956eaae2d0173c54755968307d69f800aeabf0/lox-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3673dcc5fcfa1b5b9750dc456f2f510f", "sha256": "056f0afd99370596e0f146ece8594c3cefb995c23e6078dfffdf34ee8c8b86a3" }, "downloads": -1, "filename": "lox-0.6.3.tar.gz", "has_sig": false, "md5_digest": "3673dcc5fcfa1b5b9750dc456f2f510f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34463, "upload_time": "2019-09-30T18:09:01", "url": "https://files.pythonhosted.org/packages/8f/0c/a335e197933d1d8a1786cb84d3dc94666a2145f1d5fe7ddd47a92114afb0/lox-0.6.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bfe7ed67786e94cf9db8fd8b02861160", "sha256": "3b98b54fc67013c489a170838902d6bfe4a536cae2da33f1b5a4c6779ea7ff30" }, "downloads": -1, "filename": "lox-0.6.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "bfe7ed67786e94cf9db8fd8b02861160", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 23513, "upload_time": "2019-09-30T18:08:59", "url": "https://files.pythonhosted.org/packages/f0/ad/b43e3ce29523892c1fff5d956eaae2d0173c54755968307d69f800aeabf0/lox-0.6.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3673dcc5fcfa1b5b9750dc456f2f510f", "sha256": "056f0afd99370596e0f146ece8594c3cefb995c23e6078dfffdf34ee8c8b86a3" }, "downloads": -1, "filename": "lox-0.6.3.tar.gz", "has_sig": false, "md5_digest": "3673dcc5fcfa1b5b9750dc456f2f510f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 34463, "upload_time": "2019-09-30T18:09:01", "url": "https://files.pythonhosted.org/packages/8f/0c/a335e197933d1d8a1786cb84d3dc94666a2145f1d5fe7ddd47a92114afb0/lox-0.6.3.tar.gz" } ] }