{ "info": { "author": "Ben Jolitz", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: BSD License", "Topic :: Utilities" ], "description": "Instruct\n==========\n\nA compact, fast object system that can serve as the basis for a DAO model.\n\nTo that end, instruct uses ``__slots__`` to prevent new attribute addition, properties to control types, event listeners and historical changes, and a Jinja2-driven codegen to keep a pure-Python implementation as fast and as light as possible.\n\n\nAttempt to serve multiple masters:\n\n - Support multiple inheritance, chained fields and ``__slots__`` [Done]\n - Support type coercions (via ``_coerce__``) [Done]\n - Strictly-typed ability to define fixed data objects [Done]\n - Ability to drop all of the above type checks [Done]\n - Track changes made to the object as well as reset [Done]\n - Fast ``__iter__`` [Done]\n - Native support of pickle [Done]/json [Partial]\n - Support List[type] declarations and initializations\n - ``CStruct``-Base class that operates on an ``_cvalue`` cffi struct.\n - Cython compatibility\n\n\nDesign Goal\n-------------\n\nThis comes out of my experience of doing multiple object systems mean to represent database relations and business rules. One thing that has proven an issue is the requirements for using as little memory as possible, as little CPU as possible yet prevent the developer from trying to stick a string where a integer belongs.\n\nFurther complicating this model is that desire to \"correct\" data as it comes in. Done correctly, it is possible to feed an ``instruct.Base``-derived class fields that are not of the correct data type but are eligible for being coerced (converted) into the right type with a function. With some work, it'll be possible to inline a ``lambda val: ...`` expression directly into the setter function code.\n\nFinally, multiple inheritance is a must. Sooner or later, you end up making a single source implementation for a common behavior shared between objects. Being able to share business logic between related implementations is a wonderful thing.\n\n\nWouldn't it be nice to define a heirachy like this:\n\n.. code-block:: python\n\n class Member(Base):\n __slots__ = {\n 'first_name': str,\n 'last_name': str,\n 'id': str,\n }\n def __init__(self, **kwargs):\n self.first_name = self.last_name = ''\n self.id = -1\n super().__init__(**kwargs)\n\n class Organization(Base, history=True):\n __slots__ = {\n 'name': str,\n 'id': int,\n 'members': List[Member],\n 'created_date': datetime.datetime,\n }\n\n __coerce__ = {\n 'created_date': (str, lambda obj: datetime.datetime.strptime('%Y-%m-%d', obj))\n }\n\n def __init__(self, **kwargs):\n self.name = ''\n self.id = -1\n self.members = []\n self.created_date = datetime.datetime.utcnow()\n super().__init__(**kwargs)\n\nAnd have it work like this?\n\n.. code-block:: python\n\n data = {\n \"name\": \"An Org\",\n \"id\": 123,\n \"members\": [\n {\n \"id\": 551,\n \"first_name\": \"Jinja\",\n \"last_name\": \"Ninja\",\n }\n ]\n }\n org = Organization(**data)\n assert org.members[0].first_name == 'Jinja'\n org.name = \"New Name\"\n org.history()\n\n\nDesign\n----------\n\nSolving the multiple-inheritance and ``__slots__`` problem\n***************************************************************\n\nConsider the following graph::\n\n Base1 Base2\n \\ /\n Class A\n\nIf both defined ``__slots__ = ()``, Class A would be able to declare ``__slots__`` to hold variables. For now on, we shall consider both Base's to have ``__slots__ = ()`` for simplicity.\n\nHowever, consider this case::\n\n Base1 Base2\n \\ /\n Class A Class B\n \\ /\n Class C\n\nNow this isn't possible if Class A has non-empty ``__slots__``.\n\nBut what if we could change the rules. What if, somehow, when you ``__new__`` ed a class, it really gave you a specialized form of the class with non-empty ``__slots__``?\n\nSuch a graph may look like this::\n\n Base1 Base2\n \\ /\n Class A Class B\n | \\ / |\n Class _A Class C Class _B\n |\n Class _C\n\nNow it is possible for any valid multiple-inheritance chain to proceed, provided it respects the above constraints - there are either support classes or data classes (denoted with an underscore in front of their class name). Support classes may be inherited from, data classes cannot.\n\nSolving the Slowness issue\n*****************************\n\nI've noticed that there are constant patterns of writing setters/getters and other related functions. Using Jinja2, we can rely on unhygenic macros while preserving some semblance of approachability. It's more likely a less experienced developer could handle blocks of Jinja-fied Python than AST synthesis/traversal.\n\nCallgraph Performance\n-----------------------\n\n.. class:: no-web\n\n .. image:: https://raw.githubusercontent.com/benjolitz/Instruct/master/callgraph.png\n :alt: Callgraph of project\n :width: 100%\n :align: center\n\n\n.. class:: no-web no-pdf\n\nBenchmark\n--------------\n\nBefore additions of coercion, event-listeners, multiple-inheritance\n\n::\n\n $ python -m instruct benchmark\n Overhead of allocation, one field, safeties on: 6.52us\n Overhead of allocation, one field, safeties off: 6.13us\n Overhead of setting a field:\n Test with safeties: 0.40 us\n Test without safeties: 0.22 us\n Overhead of clearing/setting\n Test with safeties: 1.34 us\n Test without safeties: 1.25 us\n\nAfter additions of those. Safety is expensive.\n\n::\n\n $ python -m instruct benchmark\n Overhead of allocation, one field, safeties on: 19.25us\n Overhead of allocation, one field, safeties off: 18.98us\n Overhead of setting a field:\n Test with safeties: 0.36 us\n Test without safeties: 0.22 us\n Overhead of clearing/setting\n Test with safeties: 1.29 us\n Test without safeties: 1.14 us\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/benjolitz/instruct", "keywords": "", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "instruct", "package_url": "https://pypi.org/project/instruct/", "platform": "", "project_url": "https://pypi.org/project/instruct/", "project_urls": { "Homepage": "https://github.com/benjolitz/instruct" }, "release_url": "https://pypi.org/project/instruct/0.4.2/", "requires_dist": [ "Jinja2 (~=2.10.0)", "inflection (~=0.3.1)", "typing-extensions", "pytest ; extra == 'test'" ], "requires_python": ">=3", "summary": "", "version": "0.4.2" }, "last_serial": 5974441, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "a40b6cc45f9e81d593d1a3df29938e58", "sha256": "79dc9fd4fed49e66fdc0e98ee4dacc49b6c43c2e520f3c504c395243d92c9359" }, "downloads": -1, "filename": "instruct-0.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a40b6cc45f9e81d593d1a3df29938e58", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 17606, "upload_time": "2018-12-10T06:14:20", "url": "https://files.pythonhosted.org/packages/e5/9c/3e2c1bdc577efc53bde80a8cc48b10a2be686bac0c8830e96c8a24515e61/instruct-0.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b365d9a90ed9080df7f7b02e06a00854", "sha256": "e1031cfd848b2fccfd618c23997cf2552b1c64452e3a4a6e3a8e1e62e38e0223" }, "downloads": -1, "filename": "instruct-0.0.1.tar.gz", "has_sig": false, "md5_digest": "b365d9a90ed9080df7f7b02e06a00854", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15126, "upload_time": "2018-12-10T06:14:23", "url": "https://files.pythonhosted.org/packages/a9/d2/96a4e921f974d11f4a9c9c62466f1c2f18496663cd465cae2d7cc6156b8b/instruct-0.0.1.tar.gz" } ], "0.0.10": [ { "comment_text": "", "digests": { "md5": "ef4206485a32e1fab2c42899abf4d971", "sha256": "52db245eb583e71b2d698e0be7213544d46c0d5fe94e2e3cdb2b43ba8bc9c7e5" }, "downloads": -1, "filename": "instruct-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "ef4206485a32e1fab2c42899abf4d971", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15834, "upload_time": "2018-12-11T10:18:36", "url": "https://files.pythonhosted.org/packages/db/e5/b7abc331791cbd6dcf2c8ec85ac13ddac0a0f818d571d0373ef0d777cb1c/instruct-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9d56e0ec6bf642511cb11a8bfc338475", "sha256": "253fa14cd7168f8f95a110c69d7854847a2f0e086eb44d1a82d6f9ae3b704c7e" }, "downloads": -1, "filename": "instruct-0.0.10.tar.gz", "has_sig": false, "md5_digest": "9d56e0ec6bf642511cb11a8bfc338475", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15051, "upload_time": "2018-12-11T10:18:37", "url": "https://files.pythonhosted.org/packages/bf/89/ca58bab0ec82c7f6872948793ed9eec89d7dac44a03272c59a35b8d5d51c/instruct-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "267612885c11b4eaa3c50b5da8c0bb6e", "sha256": "c5f94a4eca24d0e0b92a19884d7c012cae2e6fa27eb7c571c025e83635b9910f" }, "downloads": -1, "filename": "instruct-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "267612885c11b4eaa3c50b5da8c0bb6e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15839, "upload_time": "2018-12-11T19:43:19", "url": "https://files.pythonhosted.org/packages/48/7e/194b08be50a4235d30a952df71dc0fe8b1ec6aae7eeede820282cd24b444/instruct-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4f63d063ff31d1a249c8d9dd5d6a9993", "sha256": "cc1098e0911d1b22a9ee692c564d5d0530fda8e99308451d3df79c71ed034fdf" }, "downloads": -1, "filename": "instruct-0.0.11.tar.gz", "has_sig": false, "md5_digest": "4f63d063ff31d1a249c8d9dd5d6a9993", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15071, "upload_time": "2018-12-11T19:43:20", "url": "https://files.pythonhosted.org/packages/78/f8/a1c86923f22f2425cc235f389299433901557842936a829a7c7a5a94b2a2/instruct-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "0e5ddca0d526e4400d8ba73d677c63c8", "sha256": "ef3b22e0923fe87d9db22a3d7541eb756ea2993818a47864e6a20a52d01a1ccc" }, "downloads": -1, "filename": "instruct-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "0e5ddca0d526e4400d8ba73d677c63c8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16421, "upload_time": "2018-12-12T02:17:30", "url": "https://files.pythonhosted.org/packages/7b/04/63e7e5dd1b5a6ee0aeb2ed7d5e6e0b8d433a93b9349cbe902ef670ba8819/instruct-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2cf089d4a29068bb93bdbd744bf76c07", "sha256": "98dce0031f0305ec8a1337b13de4afeb731449cd00116378cca7cf5be7f88468" }, "downloads": -1, "filename": "instruct-0.0.12.tar.gz", "has_sig": false, "md5_digest": "2cf089d4a29068bb93bdbd744bf76c07", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15698, "upload_time": "2018-12-12T02:17:31", "url": "https://files.pythonhosted.org/packages/8e/2e/b628d52ed08d41d93f3fd4aab9dc52a043d482cec369d3599219952a5018/instruct-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "6eb5294fd5bd5f416e001e65cbf6751d", "sha256": "7314f5bb75d82ea85244fcc792bb2f611a7126c2283c5a1fbaa6dcc664077200" }, "downloads": -1, "filename": "instruct-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "6eb5294fd5bd5f416e001e65cbf6751d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16505, "upload_time": "2018-12-12T23:27:50", "url": "https://files.pythonhosted.org/packages/c2/0d/ee680d87f585baf78ecde4878bce8bd02a60052ad8eff2528ae1d202c6d6/instruct-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6972b759ee12fabd45e99dd13df62b2b", "sha256": "fe338092bb8cb6fc6cdee2f635d1a0daa0f24ee440529d4758855e58f07000fb" }, "downloads": -1, "filename": "instruct-0.0.13.tar.gz", "has_sig": false, "md5_digest": "6972b759ee12fabd45e99dd13df62b2b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15788, "upload_time": "2018-12-12T23:27:51", "url": "https://files.pythonhosted.org/packages/88/71/68d046da71c44a55f8a1371145f8d41f523e9907824fb0bfe94a816538fc/instruct-0.0.13.tar.gz" } ], "0.0.14": [ { "comment_text": "", "digests": { "md5": "e8d7ea5a47ed20896ec10aa9f9213771", "sha256": "2c55241ebc04615e956b24a6cc53f467392141f6aaa89d71fbe0f25967fee3fe" }, "downloads": -1, "filename": "instruct-0.0.14-py3-none-any.whl", "has_sig": false, "md5_digest": "e8d7ea5a47ed20896ec10aa9f9213771", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16516, "upload_time": "2018-12-13T08:15:39", "url": "https://files.pythonhosted.org/packages/66/fd/abd4538cea8a5e32d1243309f02d9801bd78ad06614ffae96c7b13881192/instruct-0.0.14-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "41f43f201570c34c8bc8d53b683622e9", "sha256": "f2fb3d2e2336ff64ba3f96f9f76e6437e6521fb3c0241cf53aae8cb6c4ead671" }, "downloads": -1, "filename": "instruct-0.0.14.tar.gz", "has_sig": false, "md5_digest": "41f43f201570c34c8bc8d53b683622e9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15786, "upload_time": "2018-12-13T08:15:41", "url": "https://files.pythonhosted.org/packages/00/f1/c3d9dd51c34cff14a2e41395a5e6db8596a743bbabac4138c9c1a4631760/instruct-0.0.14.tar.gz" } ], "0.0.15": [ { "comment_text": "", "digests": { "md5": "06c1b40e2ac1b28a6d99e815fd975408", "sha256": "ac0be7397f371c2326109ea9c6920c9e223ac8d9b293844c73588b9749b1a7db" }, "downloads": -1, "filename": "instruct-0.0.15-py3-none-any.whl", "has_sig": false, "md5_digest": "06c1b40e2ac1b28a6d99e815fd975408", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16636, "upload_time": "2018-12-14T02:52:42", "url": "https://files.pythonhosted.org/packages/44/02/2be417a33206cf4376502d04b7e866a8a8f01a237d6b5d8771e6444888c3/instruct-0.0.15-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31bdee5bebae85fad10edc6c7aeef4eb", "sha256": "b7865b7614e39b133687cbdaa9d63b14932a405b35e015dc0f749db38738ec6e" }, "downloads": -1, "filename": "instruct-0.0.15.tar.gz", "has_sig": false, "md5_digest": "31bdee5bebae85fad10edc6c7aeef4eb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15908, "upload_time": "2018-12-14T02:52:43", "url": "https://files.pythonhosted.org/packages/b0/74/cf3b0b31faccd73492c7d368acb5552a365feb13b51d60d900540f6dbda5/instruct-0.0.15.tar.gz" } ], "0.0.16": [ { "comment_text": "", "digests": { "md5": "9cb3bbf8368b2106c7c0d9f6f50fc3a4", "sha256": "67b995f95f341cc9e789c5d8f27368f76d7da4db50c3ca32cec0cf38f8055bc8" }, "downloads": -1, "filename": "instruct-0.0.16-py3-none-any.whl", "has_sig": false, "md5_digest": "9cb3bbf8368b2106c7c0d9f6f50fc3a4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16645, "upload_time": "2018-12-14T05:13:09", "url": "https://files.pythonhosted.org/packages/4a/57/26f5a28f46de99b002e48e1b73f530ce2ba82c272c4804d48ea4896355df/instruct-0.0.16-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "82031a6a7dff22bc1ceef38a19e602a7", "sha256": "d9c4e29c717c47aee32a90d47ed29c032a1418d0bae339191c94933de7e96af1" }, "downloads": -1, "filename": "instruct-0.0.16.tar.gz", "has_sig": false, "md5_digest": "82031a6a7dff22bc1ceef38a19e602a7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15918, "upload_time": "2018-12-14T05:13:11", "url": "https://files.pythonhosted.org/packages/97/a0/d9a869c80d429662307d6faf22a018ebd8a9083f6fc9ac5d3770a47a9dbf/instruct-0.0.16.tar.gz" } ], "0.0.17": [ { "comment_text": "", "digests": { "md5": "55a8058b796f7e78dec77350889b2436", "sha256": "2a83b0a7e80773e4770337af2384470559e52efc06b1b5ef0c5ae57ae2445b57" }, "downloads": -1, "filename": "instruct-0.0.17-py3-none-any.whl", "has_sig": false, "md5_digest": "55a8058b796f7e78dec77350889b2436", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16653, "upload_time": "2018-12-15T02:33:40", "url": "https://files.pythonhosted.org/packages/4c/e7/094400675e29b8b9ac5cfcafe61ccb04e24d1b3fc73ee0505174fe6c3bc0/instruct-0.0.17-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "864dabd02e0466ea3bb089d38b9caf09", "sha256": "33f00db9b7e82173e77207916c919cacb2363ae33d551838099a03e7334b25e8" }, "downloads": -1, "filename": "instruct-0.0.17.tar.gz", "has_sig": false, "md5_digest": "864dabd02e0466ea3bb089d38b9caf09", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 15925, "upload_time": "2018-12-15T02:33:42", "url": "https://files.pythonhosted.org/packages/eb/f8/af6e0b0a1b8055f9e4dd29bc3923b95b577ef8bc7a352b09651f62f4c473/instruct-0.0.17.tar.gz" } ], "0.0.18": [ { "comment_text": "", "digests": { "md5": "c7c99eee0e335c4c98e10463fb29ecd5", "sha256": "dd9faf01c15c18dacd31ac4f6b4e8b38cff4688cb551215c37d0a2e413c94836" }, "downloads": -1, "filename": "instruct-0.0.18-py3-none-any.whl", "has_sig": false, "md5_digest": "c7c99eee0e335c4c98e10463fb29ecd5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16786, "upload_time": "2018-12-19T21:27:29", "url": "https://files.pythonhosted.org/packages/41/8d/3416c0a6ca3299ed0b48c777b7aff689f3efec3948a71fe07ab2a7e78c56/instruct-0.0.18-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "54cb6da0266d7af4a0c65198a012f48a", "sha256": "de4d86072afb267c0b7d92b07616d294915b31cb67e4e1b0cdc8f9812916f5c1" }, "downloads": -1, "filename": "instruct-0.0.18.tar.gz", "has_sig": false, "md5_digest": "54cb6da0266d7af4a0c65198a012f48a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16006, "upload_time": "2018-12-19T21:27:31", "url": "https://files.pythonhosted.org/packages/1d/a4/656ecf9566cb524919e5b1ab8ad02c1d37d7c7f5554a9e1ff517c36900ee/instruct-0.0.18.tar.gz" } ], "0.0.19": [ { "comment_text": "", "digests": { "md5": "93355cb75362736d62cbe891c5e99970", "sha256": "7d56198f366aff39b4515179974cacc213c40245ee5bd2b999ae8be123204414" }, "downloads": -1, "filename": "instruct-0.0.19-py3-none-any.whl", "has_sig": false, "md5_digest": "93355cb75362736d62cbe891c5e99970", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16812, "upload_time": "2018-12-19T22:53:23", "url": "https://files.pythonhosted.org/packages/b2/d8/8460c304e6d765e9cf005483e46831037cb7b91e7ce75c4ffc935dd15e27/instruct-0.0.19-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f3826b94380dbccbfe3a52b8fb01569b", "sha256": "e18991941fcf5c8b0b2d3b13ac252024adb96679a19e1dcb75fdd0078829457c" }, "downloads": -1, "filename": "instruct-0.0.19.tar.gz", "has_sig": false, "md5_digest": "f3826b94380dbccbfe3a52b8fb01569b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16045, "upload_time": "2018-12-19T22:53:24", "url": "https://files.pythonhosted.org/packages/a8/1e/df753d3959a9fa7810c5aa0f3d5e65bc614a3f1ab56a3b471c18832d8e9e/instruct-0.0.19.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "02a74ae12ace1d8e5a7eee980d2e7335", "sha256": "8d85db66d9deaee8ef3e7d35e1d82aa5abb685d00e79f3fc10720e0893233c18" }, "downloads": -1, "filename": "instruct-0.0.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02a74ae12ace1d8e5a7eee980d2e7335", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3", "size": 14387, "upload_time": "2018-12-10T22:32:39", "url": "https://files.pythonhosted.org/packages/c1/75/70147fafc984db27c0476ecd6f7608a61bd4fb502a1769781f80ee83139c/instruct-0.0.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1baa5c6aebae248a62e30d0e27e83aa", "sha256": "075ea964fb4b94de9bbcbcedea6b01100e32c6d629525ee808121597a5d24f34" }, "downloads": -1, "filename": "instruct-0.0.2.tar.gz", "has_sig": false, "md5_digest": "a1baa5c6aebae248a62e30d0e27e83aa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14152, "upload_time": "2018-12-10T22:32:40", "url": "https://files.pythonhosted.org/packages/01/8d/e6b302f60c1fcec91f817dff65d398c6ef37759ad187aab883ebc35ea44e/instruct-0.0.2.tar.gz" } ], "0.0.20": [ { "comment_text": "", "digests": { "md5": "a39a61990bf5822c9767428ad7c1281a", "sha256": "50242e03c3b3dd67a4b32cbc34b52baf400559956facdfdf6e673c344407f29f" }, "downloads": -1, "filename": "instruct-0.0.20-py3-none-any.whl", "has_sig": false, "md5_digest": "a39a61990bf5822c9767428ad7c1281a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16842, "upload_time": "2018-12-19T23:21:17", "url": "https://files.pythonhosted.org/packages/1f/a9/3c40410c3d8bec20934e06c42ce043cba7fd468d05f1d3295683e85048f0/instruct-0.0.20-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b57ecb70aebe51472dc0ebb5519b3bed", "sha256": "330f5e8cc6700e5b27e9c3a2db37a90d4e44e3a8ef8d4224d7e3adabd4f97fb2" }, "downloads": -1, "filename": "instruct-0.0.20.tar.gz", "has_sig": false, "md5_digest": "b57ecb70aebe51472dc0ebb5519b3bed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16081, "upload_time": "2018-12-19T23:21:19", "url": "https://files.pythonhosted.org/packages/cd/be/93b594022ffea43ee42f3f19c82e2d62ba94a02282efdd22c643f17075c9/instruct-0.0.20.tar.gz" } ], "0.0.21": [ { "comment_text": "", "digests": { "md5": "2a6a910eab2dceac20fdf66089bacf00", "sha256": "516951edd13a5f8575f5bfb2928cc55b275383803596c9afe824ac9addfd19e4" }, "downloads": -1, "filename": "instruct-0.0.21-py3-none-any.whl", "has_sig": false, "md5_digest": "2a6a910eab2dceac20fdf66089bacf00", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16868, "upload_time": "2018-12-20T01:50:19", "url": "https://files.pythonhosted.org/packages/05/82/63dc90c5e42ef7324a457b2f934e7b33907deff975a5f3015316b73bbd7b/instruct-0.0.21-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "52eab7ebba511daeb49ae13d524bb22a", "sha256": "97e07e551d3b5ce74486722d6a1be6bd601016a95ad65dfac99af8583ae7ef8f" }, "downloads": -1, "filename": "instruct-0.0.21.tar.gz", "has_sig": false, "md5_digest": "52eab7ebba511daeb49ae13d524bb22a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16103, "upload_time": "2018-12-20T01:50:20", "url": "https://files.pythonhosted.org/packages/2a/37/ad543f861232359caf40242248d1489524b8a81e73a833664f5a918f83bd/instruct-0.0.21.tar.gz" } ], "0.0.22": [ { "comment_text": "", "digests": { "md5": "413026db44a730b6f098e270b6e3c1b8", "sha256": "f17182dbd4486725a607f071d8fb45cc660d049de7526e47f7fc6f35fdb2aeae" }, "downloads": -1, "filename": "instruct-0.0.22-py3-none-any.whl", "has_sig": false, "md5_digest": "413026db44a730b6f098e270b6e3c1b8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 16885, "upload_time": "2018-12-29T03:05:32", "url": "https://files.pythonhosted.org/packages/72/79/5b2eb65fd9bbd8ea6f95e9e7b4c88ae49a25e45811fb3b47a3668cc8c399/instruct-0.0.22-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "86a14138521bdb64e09ab638c13f4dca", "sha256": "9e2cc3956d856eb1fb1e2722f0186f981ed29817563519322571072c9ed443ae" }, "downloads": -1, "filename": "instruct-0.0.22.tar.gz", "has_sig": false, "md5_digest": "86a14138521bdb64e09ab638c13f4dca", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16115, "upload_time": "2018-12-29T03:05:34", "url": "https://files.pythonhosted.org/packages/f2/59/9d38d5fd3234d65698fc4783a97d1863c5d67290d0b5a046495d3291211d/instruct-0.0.22.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "d5fd2c4a0ba49e09373b37e76f242366", "sha256": "612e1e5b2fa62be8fd5bdd60d593cc91bf2e9a573b37baf8a6199db7796f4e41" }, "downloads": -1, "filename": "instruct-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d5fd2c4a0ba49e09373b37e76f242366", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14383, "upload_time": "2018-12-10T22:33:41", "url": "https://files.pythonhosted.org/packages/b1/10/1b67421313c03c17dc188bd3d251bb7eefa1a74bdff148e5a55d02ad61bb/instruct-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d97f08aeaa4fd356922a4fa9baff55f0", "sha256": "805d927432399314b5aae69989bcb167c190571bb89c629c9b0e4772d5471901" }, "downloads": -1, "filename": "instruct-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d97f08aeaa4fd356922a4fa9baff55f0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14143, "upload_time": "2018-12-10T22:33:42", "url": "https://files.pythonhosted.org/packages/73/1c/df9024673867b3e757e87b7e8330665720a0afe48c2beec7b82eed6c6360/instruct-0.0.3.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "c6672a9d8265075902c433f7a8ce9f36", "sha256": "3974de5f8508fbe5ebb037632fe237d288bdcb9ec678a28432b8d8a9fa6df6fe" }, "downloads": -1, "filename": "instruct-0.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "c6672a9d8265075902c433f7a8ce9f36", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14393, "upload_time": "2018-12-11T00:45:45", "url": "https://files.pythonhosted.org/packages/52/8d/a9d89489dfe7beee3ed62d7bbd9f2caf474e5919422016f7a921a097cfc9/instruct-0.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "383c6d1323d789ac8de04e3306b6d9be", "sha256": "7bac4676ed8e95e83d18d8b7ba81e4dbd9b1b835c8c8bfe7ebfd7981bf831e79" }, "downloads": -1, "filename": "instruct-0.0.4.tar.gz", "has_sig": false, "md5_digest": "383c6d1323d789ac8de04e3306b6d9be", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14159, "upload_time": "2018-12-11T00:45:47", "url": "https://files.pythonhosted.org/packages/04/90/84e7acf3b9039a4477e202a982cbfdc48cf9352b391bf6c59b3dafb2600c/instruct-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "94fd0e8bee3761ce48f7de4f3d613e1a", "sha256": "2ee7019209bcdd2a828a54268ec3c2c20944b99cca4f604f34cb89916530c624" }, "downloads": -1, "filename": "instruct-0.0.5-py3-none-any.whl", "has_sig": false, "md5_digest": "94fd0e8bee3761ce48f7de4f3d613e1a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14432, "upload_time": "2018-12-11T03:21:51", "url": "https://files.pythonhosted.org/packages/32/ab/8c9f6c5b7f9cbbfcf91891a622eb8662434d6b25ca39cd519503a58cbad7/instruct-0.0.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "190a2337d101ba9d41de8bfedfa86b39", "sha256": "10ae128cc7a8598d445b90452a0c6e94891dd3baed3bc778daa23e629e1a4b40" }, "downloads": -1, "filename": "instruct-0.0.5.tar.gz", "has_sig": false, "md5_digest": "190a2337d101ba9d41de8bfedfa86b39", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14214, "upload_time": "2018-12-11T03:21:53", "url": "https://files.pythonhosted.org/packages/7e/c5/b2e18aa48796efe3544fc98832b1eb25fe15fbd1f6fb216266389684ff3f/instruct-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "5a10083c4b6f3da51b8639e5e7ff2323", "sha256": "88e9beb7def605dae2dcc0ad3b7bfd59bac633a93470ee542f657b8204bda313" }, "downloads": -1, "filename": "instruct-0.0.6-py3-none-any.whl", "has_sig": false, "md5_digest": "5a10083c4b6f3da51b8639e5e7ff2323", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14450, "upload_time": "2018-12-11T03:45:54", "url": "https://files.pythonhosted.org/packages/53/2c/6b6317f9120f61a68113062483f1743a7c081712f880f209b55d15758fb8/instruct-0.0.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06046e605257e3526f9cef5cd22f471d", "sha256": "1a6e9037398f0e13e1e2365b6275ee1ed87a1295572cf04a640be755014639b1" }, "downloads": -1, "filename": "instruct-0.0.6.tar.gz", "has_sig": false, "md5_digest": "06046e605257e3526f9cef5cd22f471d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14230, "upload_time": "2018-12-11T03:45:55", "url": "https://files.pythonhosted.org/packages/0e/e0/e78bd706ff90df60c3049a01e769c020d3de3f3860736415b60dabd10cdb/instruct-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "01d0eb26e67e5c8697ee65e8c3d83027", "sha256": "11ad549c4eb8216824a2c218ffa56f4ade7c1a398c672cbe89f12ada9f2d764f" }, "downloads": -1, "filename": "instruct-0.0.7-py3-none-any.whl", "has_sig": false, "md5_digest": "01d0eb26e67e5c8697ee65e8c3d83027", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 14483, "upload_time": "2018-12-11T07:27:19", "url": "https://files.pythonhosted.org/packages/ca/b5/850eec9f941402c4301ce216c432f9c06804537fbec39e35a9a25ec8ec67/instruct-0.0.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "31e84eac92948c8b7d4a17b7b8fbdeb0", "sha256": "58f476416da77a61af94264150c49371fbbdc001a361024653563125e64e9a88" }, "downloads": -1, "filename": "instruct-0.0.7.tar.gz", "has_sig": false, "md5_digest": "31e84eac92948c8b7d4a17b7b8fbdeb0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14268, "upload_time": "2018-12-11T07:27:21", "url": "https://files.pythonhosted.org/packages/9d/95/450906277687183aa54be08b4c541bec40474871faff7c46d8e4e141f2c7/instruct-0.0.7.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "18239faa7fdbdab013b00dcab44417f3", "sha256": "9645b76a47e3f635b3c89a653d3437c9265405aa051ba68186b9eb2556ea2a92" }, "downloads": -1, "filename": "instruct-0.0.9-py3-none-any.whl", "has_sig": false, "md5_digest": "18239faa7fdbdab013b00dcab44417f3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 15441, "upload_time": "2018-12-11T09:06:40", "url": "https://files.pythonhosted.org/packages/93/52/874916d523092a78da6c089736b3a51c23f0436791459af4555251222b37/instruct-0.0.9-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "257c1e6986feb9e29ceba7941b50b3f8", "sha256": "a25834e71ecadd18cd2792987d18f4f847aceb743a5e9e129c0d68c7c20414d9" }, "downloads": -1, "filename": "instruct-0.0.9.tar.gz", "has_sig": false, "md5_digest": "257c1e6986feb9e29ceba7941b50b3f8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 14924, "upload_time": "2018-12-11T09:06:48", "url": "https://files.pythonhosted.org/packages/b4/e9/2ecb70f767170c086315ac2021561ef473d1d7271123cdce2188eec36e10/instruct-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "e0a1902d15aeeb61e40f524c064c1700", "sha256": "974fb31648b0f0630a03a2478283fbb3916b216cf4b15b10e21b5f5461c7d994" }, "downloads": -1, "filename": "instruct-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "e0a1902d15aeeb61e40f524c064c1700", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18041, "upload_time": "2019-02-02T01:09:58", "url": "https://files.pythonhosted.org/packages/ce/70/94101d34a60868dc4895a966981579e3087b04a2228577d62b3a6ba56234/instruct-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e0f0e008235e174eb3e01258c4f485d8", "sha256": "20c4a5f0f2a735de18ecd5770d937fe103eebbe70421d403d5432404e06a50f3" }, "downloads": -1, "filename": "instruct-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e0f0e008235e174eb3e01258c4f485d8", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16952, "upload_time": "2019-02-02T01:09:59", "url": "https://files.pythonhosted.org/packages/bd/24/355746c0d4f7b7850f2f8a4cf2dfb6c4839bc8c5083ad4767be6f4a8b72d/instruct-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "a13fc8e78123b29e38159988fb1cd32f", "sha256": "eee17402ccdfc2032efc444e0a2fa68ba1a9d190a923b2d2203d3a9f7389e583" }, "downloads": -1, "filename": "instruct-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a13fc8e78123b29e38159988fb1cd32f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18037, "upload_time": "2019-02-02T01:12:04", "url": "https://files.pythonhosted.org/packages/fb/79/3ca1fad4fc8cd09a885fc7e8c1cb7fa3a615f976cd41011859f76fe29435/instruct-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "29a6ef803af4dc6819109c9e4d888760", "sha256": "76e5be39d64fe8ff23b835d406615c81edbc83d452a887fcea37e40813b11e40" }, "downloads": -1, "filename": "instruct-0.1.1.tar.gz", "has_sig": false, "md5_digest": "29a6ef803af4dc6819109c9e4d888760", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 16937, "upload_time": "2019-02-02T01:12:06", "url": "https://files.pythonhosted.org/packages/ff/61/31ec700c48d263dc0c78f786970a95908b00ab20b6dc0698135df40ab758/instruct-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "ef7e096be3cf658e0b5096c28927d30d", "sha256": "3216ae80ca536a8a285b0e32d6c7812bd64c8a4d8e60b900e35c34a39d613dd8" }, "downloads": -1, "filename": "instruct-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "ef7e096be3cf658e0b5096c28927d30d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18462, "upload_time": "2019-02-04T22:11:28", "url": "https://files.pythonhosted.org/packages/b7/8e/76aa5ac7dc9fc5fed65ca6bb9cbb5a08c042ad685b1d23c4f853074aa5a3/instruct-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "efe238cac81b6643e9731320e3ff159d", "sha256": "6faa8a0d57614f350a5207e57eb30d1562ba25a69feaeb54d134ba895e214210" }, "downloads": -1, "filename": "instruct-0.2.0.tar.gz", "has_sig": false, "md5_digest": "efe238cac81b6643e9731320e3ff159d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17396, "upload_time": "2019-02-04T22:11:29", "url": "https://files.pythonhosted.org/packages/de/04/5f2f4d11991e1ed00d748bb2786d297a3ab32b09e4b3aa11aa3edd857be3/instruct-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "87a6bcb84e37506544693bfa56c31ab4", "sha256": "1a3f5644720efc620d882015f7c2fce458a392ccbcbac03320b5a3f9850fe749" }, "downloads": -1, "filename": "instruct-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "87a6bcb84e37506544693bfa56c31ab4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18538, "upload_time": "2019-02-04T22:41:41", "url": "https://files.pythonhosted.org/packages/b2/f3/9b9790284fc81c84f1c164e0c83d0556969e9e737b3d87b87fc33d0232f2/instruct-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "acde2f55911a0b797dd208895aafd8a0", "sha256": "0519d5393d9fa06f6f7a0af7a045abd8ca5c8650803be0e2539d4ea62c3f60b7" }, "downloads": -1, "filename": "instruct-0.2.1.tar.gz", "has_sig": false, "md5_digest": "acde2f55911a0b797dd208895aafd8a0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17472, "upload_time": "2019-02-04T22:41:43", "url": "https://files.pythonhosted.org/packages/2f/bf/8c7d9edfc1a3ea9e9c9ec60d8e9f41a4935a0a04da9b2702a5ce2dc4ee51/instruct-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "c4cd68c54bf30992b2486ccd2314ff1a", "sha256": "f5be757769665a108056fc2d7c3729ba5987e4d3842cc1606b896a542b4eb575" }, "downloads": -1, "filename": "instruct-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "c4cd68c54bf30992b2486ccd2314ff1a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18547, "upload_time": "2019-02-04T23:30:36", "url": "https://files.pythonhosted.org/packages/a8/af/f2712e14adca9835e5e86703a0c3d872cc10a2bb8b6fb513a5a0c7a3a7cb/instruct-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8a36740cd8bd8590c6a97cbf94590471", "sha256": "bc6cd2e142101de3a9c2c9572bfc7afaae3bafb529453771c3d92be4fb3ad402" }, "downloads": -1, "filename": "instruct-0.2.2.tar.gz", "has_sig": false, "md5_digest": "8a36740cd8bd8590c6a97cbf94590471", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17485, "upload_time": "2019-02-04T23:30:37", "url": "https://files.pythonhosted.org/packages/bf/e2/958ba2191a407515d5e6b412513b36b8bd1ff3a1eee314e9890b1902b00e/instruct-0.2.2.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "67693504e1a3b7e9eb7832566757b410", "sha256": "5aa36b5fbb6248aec246461de44de1b54233bf50418bcf8a5a018f358f9b6679" }, "downloads": -1, "filename": "instruct-0.2.3-py3-none-any.whl", "has_sig": false, "md5_digest": "67693504e1a3b7e9eb7832566757b410", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18574, "upload_time": "2019-02-06T00:57:22", "url": "https://files.pythonhosted.org/packages/bb/6c/043682a630ec84c7f2d6fc3b38200e159691005a2a905e945d58009b742c/instruct-0.2.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "920e3fbe4efa7cac626ca298922ddaed", "sha256": "9093ac95d4860ca25aca2b45a4d5c1f6b463cf467dddd642e72a0569ed72a0fb" }, "downloads": -1, "filename": "instruct-0.2.3.tar.gz", "has_sig": false, "md5_digest": "920e3fbe4efa7cac626ca298922ddaed", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17597, "upload_time": "2019-02-06T00:57:24", "url": "https://files.pythonhosted.org/packages/6c/f1/499fcdcaaabaf16f728a2b0a0c1e096852605a26a7b4843c1dd392dd3d97/instruct-0.2.3.tar.gz" } ], "0.2.4": [ { "comment_text": "", "digests": { "md5": "95f0e382101e49c31a700d7f1c799d7e", "sha256": "e5a4eb3e213fb617dad65ba33b240e11637226fb2b3320139cc91c8e5a53072c" }, "downloads": -1, "filename": "instruct-0.2.4-py3-none-any.whl", "has_sig": false, "md5_digest": "95f0e382101e49c31a700d7f1c799d7e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18635, "upload_time": "2019-02-06T20:38:22", "url": "https://files.pythonhosted.org/packages/f1/a2/dc29a1630cca32f9ccfd44b98ad1910f652ca79e63a5e7cb3f77c52cafbe/instruct-0.2.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3c707d65e8ede64cfe3f81748ca38d05", "sha256": "2122c7d46bc9f8d389986337e2bc80e1485b16d6b7f37c17a098ae5d427450b7" }, "downloads": -1, "filename": "instruct-0.2.4.tar.gz", "has_sig": false, "md5_digest": "3c707d65e8ede64cfe3f81748ca38d05", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17641, "upload_time": "2019-02-06T20:38:24", "url": "https://files.pythonhosted.org/packages/de/6f/c2c77ba329580cc85cdc7b3cfdbe6d07a1c6211674ba20c3a38dd4d875da/instruct-0.2.4.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "86ef3e980d65120463a4e4f11805806d", "sha256": "e0bc3dfb786b43660d4316e1a5900c46d858d5eb92573be5c4dc709ee2e3b8d4" }, "downloads": -1, "filename": "instruct-0.2.5-py3-none-any.whl", "has_sig": false, "md5_digest": "86ef3e980d65120463a4e4f11805806d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18620, "upload_time": "2019-02-06T21:05:09", "url": "https://files.pythonhosted.org/packages/68/f0/c23f032ae8d3ed08a461ba3252103fb09bbd832b79613f4ad344d89dfb82/instruct-0.2.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "215f653701fc51586376e6fbd77d6b66", "sha256": "a69fdf944a2dc7cbba6097f60f744a8d71d5ea3ef82cc04e4428cda4d405e37d" }, "downloads": -1, "filename": "instruct-0.2.5.tar.gz", "has_sig": false, "md5_digest": "215f653701fc51586376e6fbd77d6b66", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17628, "upload_time": "2019-02-06T21:05:12", "url": "https://files.pythonhosted.org/packages/73/00/1be036a9d09c1026cfa0a7ed0933e1a3073a649b04deedc60a1f3d7c2ebd/instruct-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "06c9d7b9885a2ddb42acbf21ff05d490", "sha256": "53d1c2ccbde4f6344e66ab6d6bdb5185b7019c663b300a24421c72b9763c493a" }, "downloads": -1, "filename": "instruct-0.2.6-py3-none-any.whl", "has_sig": false, "md5_digest": "06c9d7b9885a2ddb42acbf21ff05d490", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18643, "upload_time": "2019-02-06T21:48:06", "url": "https://files.pythonhosted.org/packages/95/0e/b3a47a3375d7798832d18caf2e00448157751dc761b4d54373c278d2455d/instruct-0.2.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "26aa9bdc8a3376247f0b5395213f5964", "sha256": "178f18230d4f12b1415c54fe6b3bbb22b27729eeb811122af747b5d32d11fca5" }, "downloads": -1, "filename": "instruct-0.2.6.tar.gz", "has_sig": false, "md5_digest": "26aa9bdc8a3376247f0b5395213f5964", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17654, "upload_time": "2019-02-06T21:48:08", "url": "https://files.pythonhosted.org/packages/a2/e1/1d58de41ad5ea58586acf18e5cb1121e9ff024e04d2b3a53df902fca6595/instruct-0.2.6.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "12e28a8cc2480a128feddb66ca5bf975", "sha256": "971aec820074265cbf3ce9995a5f54b3b6ff268168bc37118a6d8d6d1141f89b" }, "downloads": -1, "filename": "instruct-0.2.7-py3-none-any.whl", "has_sig": false, "md5_digest": "12e28a8cc2480a128feddb66ca5bf975", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18761, "upload_time": "2019-02-07T02:00:37", "url": "https://files.pythonhosted.org/packages/86/d3/83ba100ffdcf4d1516750c52600993ae74241f00f7f52ac5e5a2c1939d7b/instruct-0.2.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "742578ed59340a1ec31253bdf72fe296", "sha256": "5abe97faa62f042327b462793021df7eb7f659521783da92e86cdeaf873e2735" }, "downloads": -1, "filename": "instruct-0.2.7.tar.gz", "has_sig": false, "md5_digest": "742578ed59340a1ec31253bdf72fe296", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17781, "upload_time": "2019-02-07T02:00:38", "url": "https://files.pythonhosted.org/packages/a4/7b/4431fe821b428e4c85f7f801a23e21e7b9466a61259bc6c14ed4b91ecea0/instruct-0.2.7.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "52146a0ad3c99440747204f0b2c976d3", "sha256": "91326963af5757e96ed92cad07a2f44b6c0bb4cedde00bb8fd0615728a8251f5" }, "downloads": -1, "filename": "instruct-0.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "52146a0ad3c99440747204f0b2c976d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18771, "upload_time": "2019-02-12T00:20:47", "url": "https://files.pythonhosted.org/packages/cb/11/8623e1a862b5241ce20e06381303ba9afb3baa002c2db106e1ab18596201/instruct-0.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ee081af75e945758b2ff8107a01d236f", "sha256": "bac240c8c76e6bca07afeaadc47ed5e58c0308f2565bc9603745720d92757768" }, "downloads": -1, "filename": "instruct-0.3.0.tar.gz", "has_sig": false, "md5_digest": "ee081af75e945758b2ff8107a01d236f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17800, "upload_time": "2019-02-12T00:20:49", "url": "https://files.pythonhosted.org/packages/fd/f8/010d6a6e829e21bcb57c46241d6120706dae876999ee12f068c56f56a472/instruct-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "4bf4744d0ac47fc8ce26f56890785367", "sha256": "832fd4a11a6888433b13e3322997e4db69c4ff821eddb661ca5a044df0e8cdc2" }, "downloads": -1, "filename": "instruct-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "4bf4744d0ac47fc8ce26f56890785367", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18806, "upload_time": "2019-03-09T23:37:35", "url": "https://files.pythonhosted.org/packages/97/d8/f60a7711905d158faf0d55edc92d39925d659af096008cc7e77ae97c628e/instruct-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "af1e0dca306bc9a51c89402aeabf5f85", "sha256": "0b09e39232d0d6aa69b5562b2a35f467d9cabe02f32edd9ed6b9b634373b2ff6" }, "downloads": -1, "filename": "instruct-0.3.1.tar.gz", "has_sig": false, "md5_digest": "af1e0dca306bc9a51c89402aeabf5f85", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17830, "upload_time": "2019-03-09T23:37:37", "url": "https://files.pythonhosted.org/packages/ba/68/eec2fc461e49faba4527e008fb31acc3a5effa7ecb77a2b7f9a41ff7026b/instruct-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "149490d7c9f6ec255baa59d365721b2c", "sha256": "6cddb5a7baecaf283ba2761a0f9baea4e732e85fdd8343b8cd74362f0729754e" }, "downloads": -1, "filename": "instruct-0.3.2-py3-none-any.whl", "has_sig": false, "md5_digest": "149490d7c9f6ec255baa59d365721b2c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 18814, "upload_time": "2019-03-20T00:40:56", "url": "https://files.pythonhosted.org/packages/e4/89/cd2569c62037346b36cf6d1f9d4faf74f62e38c388c41c98355fe9b50ac9/instruct-0.3.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ad57a3fb2a3f928719fdf29179d005ea", "sha256": "c72400341c21e3658b392536ba749432b12281c0b6f4d24f8dc3c5c371aaecb3" }, "downloads": -1, "filename": "instruct-0.3.2.tar.gz", "has_sig": false, "md5_digest": "ad57a3fb2a3f928719fdf29179d005ea", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 17846, "upload_time": "2019-03-20T00:40:59", "url": "https://files.pythonhosted.org/packages/fd/6d/48fb6ef22b1c71c3ef8c4c562606d3fe4cc09fd8167b2c80a661d5566aff/instruct-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "64445c3d059fb2430c69084178b9512d", "sha256": "2e34dcf2d66dcfe3347150b009b90b1e7bc21ef7e1b360da9384aeb4364f7561" }, "downloads": -1, "filename": "instruct-0.3.3-py3-none-any.whl", "has_sig": false, "md5_digest": "64445c3d059fb2430c69084178b9512d", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 19649, "upload_time": "2019-04-22T21:53:46", "url": "https://files.pythonhosted.org/packages/65/37/9c5f7c628d0f5cc402ae16bd67c9dd3357c49e3cf97e9dd480495d48f3a0/instruct-0.3.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2c1e98fb329b5615206296447e57add6", "sha256": "6fc64630d1eda163074256a4816952ef26bf9998aa163d7bfbf563999b6d2cdd" }, "downloads": -1, "filename": "instruct-0.3.3.tar.gz", "has_sig": false, "md5_digest": "2c1e98fb329b5615206296447e57add6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 18589, "upload_time": "2019-04-22T21:53:48", "url": "https://files.pythonhosted.org/packages/b0/07/c7f927b22bf0a4f8df70bc7f27245431841d6d87ab8c4a2ef88aa4a7b0fc/instruct-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "9c3646cd27bce5713084e7e8fa8fe1d6", "sha256": "ba1467d6354a348274bff9b18edda88068c9a40f00745bf9531e490e3114ed8f" }, "downloads": -1, "filename": "instruct-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9c3646cd27bce5713084e7e8fa8fe1d6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 19733, "upload_time": "2019-04-30T23:40:29", "url": "https://files.pythonhosted.org/packages/1e/ca/c7f04ae4cab46aea8ae596d9a3a2ed0877569dacebc8c2662b33f3fac6e7/instruct-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2739a8d2217a9f3e760fe7653db63165", "sha256": "79ce18c471e8f3136166d27b0cb655b8b4129433fd2da82e12481bd7835823c6" }, "downloads": -1, "filename": "instruct-0.3.4.tar.gz", "has_sig": false, "md5_digest": "2739a8d2217a9f3e760fe7653db63165", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 18654, "upload_time": "2019-04-30T23:40:32", "url": "https://files.pythonhosted.org/packages/34/ca/6961c69449738de0f64039fdae6a6db59bbacba86cb486ae7c3d96e2d94a/instruct-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "f6b591dc45a5b76b21f5d1565a7141ab", "sha256": "7648ac64afbe80069042bd2d0e4875c11877e1854666cfabac21340c18cae7fb" }, "downloads": -1, "filename": "instruct-0.3.5-py3-none-any.whl", "has_sig": false, "md5_digest": "f6b591dc45a5b76b21f5d1565a7141ab", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 20251, "upload_time": "2019-08-08T01:02:06", "url": "https://files.pythonhosted.org/packages/7d/41/a7f2e9585792eb7426ad622fe13074c3cf289a36276d1590129062d22e22/instruct-0.3.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "931d54175a02ddfa0e9e5e5bd3e6fac0", "sha256": "572664cfaa005f72edc0b6c218208f0c6b34dd9b96da23c0dd3013286c3418ca" }, "downloads": -1, "filename": "instruct-0.3.5.tar.gz", "has_sig": false, "md5_digest": "931d54175a02ddfa0e9e5e5bd3e6fac0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19178, "upload_time": "2019-08-08T01:02:08", "url": "https://files.pythonhosted.org/packages/e7/05/ea876b6df9cd77bc82480cfd89f20d72fecbb83130f7990327f48fff30ff/instruct-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "8e4d5d0d211e4cf8d69bca4d54c204d3", "sha256": "b81b065c83aeedbfea841f7d82c6b2686441129ca4d4ef0cef521b4ec5f0ad88" }, "downloads": -1, "filename": "instruct-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "8e4d5d0d211e4cf8d69bca4d54c204d3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 20405, "upload_time": "2019-08-08T01:40:09", "url": "https://files.pythonhosted.org/packages/83/e2/ffbe81f4a4dd4746c5e1d144dd9423d0617f226d7a31816e4f5e2124a71e/instruct-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ed806578895e9d88efd4bd33fd1a9ca1", "sha256": "d320512d6b04e8f07c78249ca8ee4385480f7dfea548d3058c0e8363d7282b75" }, "downloads": -1, "filename": "instruct-0.3.6.tar.gz", "has_sig": false, "md5_digest": "ed806578895e9d88efd4bd33fd1a9ca1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19334, "upload_time": "2019-08-08T01:40:12", "url": "https://files.pythonhosted.org/packages/7c/d7/3fc13417b19dc6420fa939f78ffff394e54cb23c94af08d5f7b63a5f004d/instruct-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "0d74afb596754d6c3537d7200eca6312", "sha256": "5748b524375aeaeb38edd9a531ad0c4f52b7e4f81aed95c608930ebdc0280e7b" }, "downloads": -1, "filename": "instruct-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "0d74afb596754d6c3537d7200eca6312", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 20408, "upload_time": "2019-08-08T02:37:18", "url": "https://files.pythonhosted.org/packages/74/66/be2a037184d23f7a71f4c7c77f86de93a4cd9bcf1ac01c810c106ea2b370/instruct-0.3.7-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e880f392dc3176b4bb9a390f699f6e28", "sha256": "c311dcb1475a71c65a652a948766387822a31882e8c4a5bbffb2b8ead36dc1ec" }, "downloads": -1, "filename": "instruct-0.3.7.tar.gz", "has_sig": false, "md5_digest": "e880f392dc3176b4bb9a390f699f6e28", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19343, "upload_time": "2019-08-08T02:37:20", "url": "https://files.pythonhosted.org/packages/6a/e1/aafa62b591d98aa214fb05446cf681904f42dcac8fda681d95b243b79d9d/instruct-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "fdb7d33358f4c597f9c4137327f73349", "sha256": "9477250c6747cdbacf014adc04bb9fdded48c58ee113eb9372bd64ebfae239b8" }, "downloads": -1, "filename": "instruct-0.3.8-py3-none-any.whl", "has_sig": false, "md5_digest": "fdb7d33358f4c597f9c4137327f73349", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 20566, "upload_time": "2019-08-22T08:27:23", "url": "https://files.pythonhosted.org/packages/f6/c7/c52fb6ee5baee1575568877db15e34bd8761a8e8ba8102f61be26cf3441d/instruct-0.3.8-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "bb8d62232040e84bbf0e97679c66d3cc", "sha256": "45b076710ac6614ff6ca366b865f795c8b762e18857afd9f43785c5e05913886" }, "downloads": -1, "filename": "instruct-0.3.8.tar.gz", "has_sig": false, "md5_digest": "bb8d62232040e84bbf0e97679c66d3cc", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 19497, "upload_time": "2019-08-22T08:27:25", "url": "https://files.pythonhosted.org/packages/ce/91/76c9c48eb0b0dbc37c2b22d4f82d80ecdff66fdb69b104b2c2cb8f5be54f/instruct-0.3.8.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "819fa794a2590be987f9e588828d0a0c", "sha256": "2ed83bb628bbb0319f07bd9dc2005c777179cbd3fbdce6fb5f843988f56b48d4" }, "downloads": -1, "filename": "instruct-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "819fa794a2590be987f9e588828d0a0c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 21335, "upload_time": "2019-09-18T22:10:51", "url": "https://files.pythonhosted.org/packages/8b/6e/a27b63a484303f068dce3e138d5fe9b3d03e458ebbb179eac70f15e3d1a7/instruct-0.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1bf10531a07e68d1ad52aaae2364f546", "sha256": "5609ce4ee61515e12922bb22adb67f83701885f11e3306fcbe3abffddd0bfbac" }, "downloads": -1, "filename": "instruct-0.4.0.tar.gz", "has_sig": false, "md5_digest": "1bf10531a07e68d1ad52aaae2364f546", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20361, "upload_time": "2019-09-18T22:10:53", "url": "https://files.pythonhosted.org/packages/ab/b6/2d3217803edb9732574f56d9c901fba9a09633e731e0a56f80909515a3ca/instruct-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "c30c07b8e347e32303829bf7224350a2", "sha256": "3b880df0342bbcb2f3eda431e012477bf135a01520895a2ff11792973728df23" }, "downloads": -1, "filename": "instruct-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "c30c07b8e347e32303829bf7224350a2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 21381, "upload_time": "2019-10-14T05:04:13", "url": "https://files.pythonhosted.org/packages/a7/2a/84dc27e776a884cf725434ab08b1b8d9d6c23d62ac74bb8ab2f80bc04c7f/instruct-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "15c02ccbc617978ada42a5e9e68b9246", "sha256": "f2a0a699621b35da6eb990b3b66a1637b930a0311554f97c09729ac29298dbba" }, "downloads": -1, "filename": "instruct-0.4.1.tar.gz", "has_sig": false, "md5_digest": "15c02ccbc617978ada42a5e9e68b9246", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20387, "upload_time": "2019-10-14T05:04:15", "url": "https://files.pythonhosted.org/packages/2e/ed/7d065a67c2ff9cb8e6cd733d4c3dc9491faeff18eadb00a999afe43e58cf/instruct-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "435472ab660df535eef6a21b277fe3b9", "sha256": "f60011209d56cd7061c262f90105e3eb20e16c2a03ef3c207983c4a3e3920c83" }, "downloads": -1, "filename": "instruct-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "435472ab660df535eef6a21b277fe3b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 21480, "upload_time": "2019-10-15T02:37:13", "url": "https://files.pythonhosted.org/packages/ca/08/28ebe9b0a551de6ab3c22dcc1c36e1d463955f8ff67e4e275849ca5e559c/instruct-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b474435776b9eca5f3a37d9010460d6c", "sha256": "e840bf3c0f95fb38603676ea8ce9eee49a83d5f919a15c643f54e344a749f6a4" }, "downloads": -1, "filename": "instruct-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b474435776b9eca5f3a37d9010460d6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20486, "upload_time": "2019-10-15T02:37:15", "url": "https://files.pythonhosted.org/packages/91/6c/1c362fdf7a5d39826cf7be0d03138992a51085f46c155b4bf616df96b4ea/instruct-0.4.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "435472ab660df535eef6a21b277fe3b9", "sha256": "f60011209d56cd7061c262f90105e3eb20e16c2a03ef3c207983c4a3e3920c83" }, "downloads": -1, "filename": "instruct-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "435472ab660df535eef6a21b277fe3b9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3", "size": 21480, "upload_time": "2019-10-15T02:37:13", "url": "https://files.pythonhosted.org/packages/ca/08/28ebe9b0a551de6ab3c22dcc1c36e1d463955f8ff67e4e275849ca5e559c/instruct-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b474435776b9eca5f3a37d9010460d6c", "sha256": "e840bf3c0f95fb38603676ea8ce9eee49a83d5f919a15c643f54e344a749f6a4" }, "downloads": -1, "filename": "instruct-0.4.2.tar.gz", "has_sig": false, "md5_digest": "b474435776b9eca5f3a37d9010460d6c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 20486, "upload_time": "2019-10-15T02:37:15", "url": "https://files.pythonhosted.org/packages/91/6c/1c362fdf7a5d39826cf7be0d03138992a51085f46c155b4bf616df96b4ea/instruct-0.4.2.tar.gz" } ] }