{ "info": { "author": "Jazeps Basko", "author_email": "jazeps.basko@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": "*******\nhookery\n*******\n\nMinimally invasive hooks with no metaclasses and no class decorators since ``v5.0.0``.\n\nStatus\n======\n\n* ``v3.10.1`` status is ``Beta``.\n* ``v5.x`` status is ``Pre-Alpha``.\n\nI use ``v3.10.1`` (https://pypi.org/project/hookery/3.10.1/) in production for work.\n\nThis document is for ``v5.x`` which is NOT production-ready yet.\n\n\nInstallation\n============\n\n.. code-block:: shell\n\n pip install hookery==3.10.1\n\nBasic Usage\n===========\n\n.. code-block:: python\n\n from hookery import Hook, hooks\n\n class Profile:\n on_activated = Hook()\n\n @on_activated\n def log_activation(self):\n print(f\"Activating {self}\")\n\n def activate(self):\n hooks.trigger(self.on_activated)\n\n\n class WarehouseProfile(Profile):\n\n @Profile.on_activated\n def log_activation(self):\n print(f\"Warehouse profile {self} is being activated\")\n\n @Profile.on_activated\n def another_handler(self):\n print(f\"This will also be printed\")\n\n\nThe dummy example above demonstrates that:\n\n* a hook registration requires no metaclasses, no base classes, no class decorators.\n* you can register any number of handlers per hook inside the same class\n* a handler called ``log_activation`` in child class does not override a handler with the same name\n in parent class.\n\n\n.. code-block:: python\n\n >>> profile = WarehouseProfile()\n >>> profile.activate()\n Activating <__main__.WarehouseProfile object at 0x103ee66d8>\n Warehouse profile <__main__.WarehouseProfile object at 0x103ee66d8> is being activated\n This will also be printed\n\n\nLimitations\n===========\n\n* For us, hooks and hook handlers are part of the class specification. This means that a class cannot have new hooks\n added or new hook handlers registered after the class has been created. If you wish to add functionality you either\n modify the class or extend it.\n* ``@classmethod``'s and ``@staticmethod``'s cannot be registered as handlers because hooks apply to instances of\n a class, not the class itself.\n* It is best to not decorate handlers with anything else.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jbasko/hookery", "keywords": "", "license": "MIT", "maintainer": "Jazeps Basko", "maintainer_email": "jazeps.basko@gmail.com", "name": "hookery", "package_url": "https://pypi.org/project/hookery/", "platform": "", "project_url": "https://pypi.org/project/hookery/", "project_urls": { "Homepage": "https://github.com/jbasko/hookery" }, "release_url": "https://pypi.org/project/hookery/5.0.1/", "requires_dist": null, "requires_python": "", "summary": "Trivial, primitive, naive, and optimistic hooks in Python 3.6+", "version": "5.0.1" }, "last_serial": 4206303, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "bd575dfafcab67e5dc938079a5efdc12", "sha256": "b0273fc4984e99e7e5dcfa9f4e88805e7a863b6a8bfab38679ab2572caa0ef94" }, "downloads": -1, "filename": "hookery-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bd575dfafcab67e5dc938079a5efdc12", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3533, "upload_time": "2017-06-14T22:12:41", "url": "https://files.pythonhosted.org/packages/60/50/4e7fb157ae97630231d05a4d3f49805baa5340140fb2a7e8d975c85cc846/hookery-0.1.2.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "bd494bde36ad7966e4b49d11e803a748", "sha256": "aca2bf5d87b0f77bb84f117685e6ed2d9a4e5d4905e2d4abcb61ee7e034af847" }, "downloads": -1, "filename": "hookery-0.2.5.tar.gz", "has_sig": false, "md5_digest": "bd494bde36ad7966e4b49d11e803a748", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4194, "upload_time": "2017-06-15T06:09:37", "url": "https://files.pythonhosted.org/packages/33/b0/0c4ee70b5889272c4f8b70c0e3d6104de6f3568071ec4e38e8548b6bc437/hookery-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "424bcb1216aebab3f77077a09ff19a50", "sha256": "a55d1babfebb7bde0328d0e70ae531d17a342ece9009f24c05d3037e9f73d2fb" }, "downloads": -1, "filename": "hookery-0.2.6.tar.gz", "has_sig": false, "md5_digest": "424bcb1216aebab3f77077a09ff19a50", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4264, "upload_time": "2017-06-15T22:06:19", "url": "https://files.pythonhosted.org/packages/4c/48/98a103d9d12e7117866ba516b4030c119112acd909485017c6a894923d1d/hookery-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "0fbc388296fc9d143b54273c9527487e", "sha256": "89395b78516339d67a928f302aa92f49cf15c659f22682ede9ea14ebd186bcce" }, "downloads": -1, "filename": "hookery-0.3.0.tar.gz", "has_sig": false, "md5_digest": "0fbc388296fc9d143b54273c9527487e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4501, "upload_time": "2017-06-15T22:35:08", "url": "https://files.pythonhosted.org/packages/fb/24/b9a58c7ef557fb5aa64de01e3c7a26f2d67d5d665555db0ec2a0c09d1219/hookery-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "df13062ca31a21eaf14edc7448a7b4b3", "sha256": "801b96e34ad15323cd9943769870c8eb27eb0e1be51ea7c5665d0c8992ac09be" }, "downloads": -1, "filename": "hookery-0.3.1.tar.gz", "has_sig": false, "md5_digest": "df13062ca31a21eaf14edc7448a7b4b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4751, "upload_time": "2017-06-15T23:22:03", "url": "https://files.pythonhosted.org/packages/af/4d/b9010d47792cb987b2f5fc7c74ff56d25396dc2207968813c0d515169daa/hookery-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "5b8418c7cfe0ad0e668c713ad21c5a63", "sha256": "2e338b8e5d49e9d6fbf80f2b63f4f50a14476c04c46228598a38d0437c5d12fe" }, "downloads": -1, "filename": "hookery-0.3.2.tar.gz", "has_sig": false, "md5_digest": "5b8418c7cfe0ad0e668c713ad21c5a63", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5009, "upload_time": "2017-06-16T20:30:14", "url": "https://files.pythonhosted.org/packages/96/90/0eef3c1a002a3f31c4825aa27fb7bb463ad5d94565f5ff22d9c519788687/hookery-0.3.2.tar.gz" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "c3e2f666e6c6cdc181b98ef6ee1cc4a3", "sha256": "0da618dec97584a5346587f609761baf721e8a14ee24c6877ee7035d2d5d525e" }, "downloads": -1, "filename": "hookery-1.0.0.tar.gz", "has_sig": false, "md5_digest": "c3e2f666e6c6cdc181b98ef6ee1cc4a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5250, "upload_time": "2017-06-17T22:26:46", "url": "https://files.pythonhosted.org/packages/13/8f/65bae8e50378809233f6943a02e50249fefddecfba9db409e5db3472fddd/hookery-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "1f321698c73858697ef3e084155b4449", "sha256": "af6f5a563b440d5522ca1fcd4928706c8b2d9152b571c9dcafdb896a9529599b" }, "downloads": -1, "filename": "hookery-1.1.0.tar.gz", "has_sig": false, "md5_digest": "1f321698c73858697ef3e084155b4449", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5265, "upload_time": "2017-06-17T22:49:48", "url": "https://files.pythonhosted.org/packages/90/d9/72239d055f9438fcb488eb491f2f2dee1568731a2d26e95d16d05ef59dcd/hookery-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "8d2b7a3ee1990317d1971f4b87d6e98f", "sha256": "7b1b338604f68c350870bd74b0d916502db13dc3d225d2aa6bfff4ff8f29ad16" }, "downloads": -1, "filename": "hookery-1.1.1.tar.gz", "has_sig": false, "md5_digest": "8d2b7a3ee1990317d1971f4b87d6e98f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5289, "upload_time": "2017-06-17T23:07:58", "url": "https://files.pythonhosted.org/packages/d7/27/367df5e0b999a3f1e0cb5c37f4e9eb297908e08426b1470eef2e30556c08/hookery-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "590879ca1aa4293c7241622b8aab9d4c", "sha256": "93384e4b45c919bd8d8901a7cdd79903a53692bbe3a5a402feb2410bd4cc39c6" }, "downloads": -1, "filename": "hookery-1.1.2.tar.gz", "has_sig": false, "md5_digest": "590879ca1aa4293c7241622b8aab9d4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5549, "upload_time": "2017-06-25T22:51:51", "url": "https://files.pythonhosted.org/packages/d1/0d/729b63e7169c7d9f34506f9b46b0784cf9173d1e92acb39e3020795fd3ae/hookery-1.1.2.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "4284ac61850d8a91c6d546cf4a3345c2", "sha256": "a0d9ffa1194a2b0a24ca47600cdae32a8538bfc97f2006cfd48c2bfa8ec2f19a" }, "downloads": -1, "filename": "hookery-1.3.0.tar.gz", "has_sig": false, "md5_digest": "4284ac61850d8a91c6d546cf4a3345c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6065, "upload_time": "2018-01-14T22:47:55", "url": "https://files.pythonhosted.org/packages/1c/f9/500716335a6d1b079cf206bf0512f2ca6eb446783d8c6638027fa2583113/hookery-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "4e2a4a99dac226bd2d1cff9538afcbd2", "sha256": "4128ce74198b091282280e0623e6533d31a76ca38f5ac10644d6667fb3de4e56" }, "downloads": -1, "filename": "hookery-1.4.0.tar.gz", "has_sig": false, "md5_digest": "4e2a4a99dac226bd2d1cff9538afcbd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6526, "upload_time": "2018-01-14T23:40:13", "url": "https://files.pythonhosted.org/packages/5c/b0/38da777ae7b95e7cfe158c4de6741be28dd264c1a12d0b0f7607bad36d91/hookery-1.4.0.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "174c953ebb3bdb85b4934cfe2b6712cd", "sha256": "f8534a7bd2112e46e7fea3085528400dc071958d2a16be97b09c33279c8d6859" }, "downloads": -1, "filename": "hookery-2.0.0.tar.gz", "has_sig": false, "md5_digest": "174c953ebb3bdb85b4934cfe2b6712cd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6784, "upload_time": "2018-01-15T08:05:19", "url": "https://files.pythonhosted.org/packages/a0/d5/d9c17c048be7fb77f8db9c3635e999c530f03a9a43eee24286487042c437/hookery-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "8d159ac02cd7b954ae645a4d9cef77a6", "sha256": "21c054d6a71d5e23fe536f068e701cd2e9118acc5c436b8a6bf74cfa60546699" }, "downloads": -1, "filename": "hookery-2.1.0.tar.gz", "has_sig": false, "md5_digest": "8d159ac02cd7b954ae645a4d9cef77a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6802, "upload_time": "2018-01-15T08:22:23", "url": "https://files.pythonhosted.org/packages/36/f0/6180543deb66bb055492338cd09569669315feace0d98b0d708a52dcb8d9/hookery-2.1.0.tar.gz" } ], "2.2.0": [ { "comment_text": "", "digests": { "md5": "25b1f57642295271de42956cc6dcf917", "sha256": "bb3482b9e989c1f3cc1f7e32f5f28fc8af84fb66441743432a6f757a56f82b8c" }, "downloads": -1, "filename": "hookery-2.2.0.tar.gz", "has_sig": false, "md5_digest": "25b1f57642295271de42956cc6dcf917", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6864, "upload_time": "2018-01-15T09:04:04", "url": "https://files.pythonhosted.org/packages/56/a1/7fdb257788a4fe4c98a140acec54e1a5857e2034a1eb98c53056d5d74b3e/hookery-2.2.0.tar.gz" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "dcce66cf95ce09fdb72dc3e0b54efe5a", "sha256": "337bf3e0d9a2c176e5657d2d10c2c19aeb657c3fc0d214699b211b8add366d03" }, "downloads": -1, "filename": "hookery-2.2.1.tar.gz", "has_sig": false, "md5_digest": "dcce66cf95ce09fdb72dc3e0b54efe5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6900, "upload_time": "2018-01-15T09:14:29", "url": "https://files.pythonhosted.org/packages/f7/4f/fd4e1aee05f56a6bbd3ed9349feb1c8917a648e42100350ee5a234633b0f/hookery-2.2.1.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "467d875dacc22a99e8d17f372285ffe9", "sha256": "b1bc3f73fe6d9aebcc3e7804152fd59dff0683fc8f83caeb6cf4ae54cfd64eaa" }, "downloads": -1, "filename": "hookery-3.0.0.tar.gz", "has_sig": false, "md5_digest": "467d875dacc22a99e8d17f372285ffe9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7712, "upload_time": "2018-03-31T23:54:13", "url": "https://files.pythonhosted.org/packages/cc/6b/5c6b6b47b4b9b5803a6fa6696f74349b0f168475a7120d260814418db578/hookery-3.0.0.tar.gz" } ], "3.1.0": [ { "comment_text": "", "digests": { "md5": "cefe9e165d513dc00b8cdd5f1b1eaa51", "sha256": "582609ec8d50909bdbd8cfacb2885513260e459ac362facdbae39dee1a2c157a" }, "downloads": -1, "filename": "hookery-3.1.0.tar.gz", "has_sig": false, "md5_digest": "cefe9e165d513dc00b8cdd5f1b1eaa51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9445, "upload_time": "2018-04-02T12:56:49", "url": "https://files.pythonhosted.org/packages/70/c9/1ccad0df6a02a72a8acde13127bd734eb4bbae27811d24e1c0b5ecaad0be/hookery-3.1.0.tar.gz" } ], "3.10.0": [ { "comment_text": "", "digests": { "md5": "8834b8ff574258499ac972a0dfce33ac", "sha256": "ee7dd3217b941fb94b3be1591240531d24576e460b382139200e19fdd87f20ef" }, "downloads": -1, "filename": "hookery-3.10.0.tar.gz", "has_sig": false, "md5_digest": "8834b8ff574258499ac972a0dfce33ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16226, "upload_time": "2018-05-21T11:56:25", "url": "https://files.pythonhosted.org/packages/c9/40/9c607525c2a8ea7961c37f84bdaa30fe9c27084f58bf75fc488e8d515c9e/hookery-3.10.0.tar.gz" } ], "3.10.1": [ { "comment_text": "", "digests": { "md5": "91e5262db7683378efdd0d12aac130f8", "sha256": "7ed3f63eda51921b4db34e744cc886f37f7c7c3264daa9fa581109f59fe1db7e" }, "downloads": -1, "filename": "hookery-3.10.1.tar.gz", "has_sig": false, "md5_digest": "91e5262db7683378efdd0d12aac130f8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16294, "upload_time": "2018-05-21T13:44:11", "url": "https://files.pythonhosted.org/packages/9c/81/f611eb76c7773761098aec66f7e3b5673a44f4acebc307d0c31561edcd63/hookery-3.10.1.tar.gz" } ], "3.2.0": [ { "comment_text": "", "digests": { "md5": "fb857c2edca04c0e1bed6bc29ca93f68", "sha256": "159cebf50e2e32dcb0c943bd4c149ede7a13ce88ed4b54f98fb1409c3a384494" }, "downloads": -1, "filename": "hookery-3.2.0.tar.gz", "has_sig": false, "md5_digest": "fb857c2edca04c0e1bed6bc29ca93f68", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10342, "upload_time": "2018-04-03T19:51:53", "url": "https://files.pythonhosted.org/packages/dd/d7/3fd13e7b35e7ec6096ee15cabdf734c2b2734fb61cbe5a2ac04d6b356e56/hookery-3.2.0.tar.gz" } ], "3.3.0": [ { "comment_text": "", "digests": { "md5": "87dc3cd91c3ac995e1fe0cdaa63a1265", "sha256": "505a2f8e7120fac3438c56b87452bf4504abb65b53f1b57fa18f486baa50cb5b" }, "downloads": -1, "filename": "hookery-3.3.0.tar.gz", "has_sig": false, "md5_digest": "87dc3cd91c3ac995e1fe0cdaa63a1265", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11719, "upload_time": "2018-04-03T20:54:33", "url": "https://files.pythonhosted.org/packages/a8/3f/b73d1f3e5a15a05749eb88d3d78bff9d4234490c17b3c5e5412856b75277/hookery-3.3.0.tar.gz" } ], "3.4.0": [ { "comment_text": "", "digests": { "md5": "642fe1a3a90a481d18cc23c35ecfb131", "sha256": "ed060bf1587e03c258e32b331a66e2a668c9b692d2d3f36397ccc0710de83179" }, "downloads": -1, "filename": "hookery-3.4.0.tar.gz", "has_sig": false, "md5_digest": "642fe1a3a90a481d18cc23c35ecfb131", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14997, "upload_time": "2018-04-04T18:26:30", "url": "https://files.pythonhosted.org/packages/bd/50/920290bc857bff9405617e16c94bb09f169f8eaf9984abef85b2a2e319aa/hookery-3.4.0.tar.gz" } ], "3.5.0": [ { "comment_text": "", "digests": { "md5": "d91a8988781893ccaa73494963acdce7", "sha256": "cba2a7caf23f276010051345495fabffbca4b7402d1ca0cb14992f6b3e28b544" }, "downloads": -1, "filename": "hookery-3.5.0.tar.gz", "has_sig": false, "md5_digest": "d91a8988781893ccaa73494963acdce7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15422, "upload_time": "2018-04-06T17:52:15", "url": "https://files.pythonhosted.org/packages/3e/a4/9c971d9bf6a8ee87f98350c0d3a5a4a095fae3676af489154d3d11f198c6/hookery-3.5.0.tar.gz" } ], "3.6.0": [ { "comment_text": "", "digests": { "md5": "2ad5b4e6ad723217b8effc82b99104bc", "sha256": "13565705e4903bc8898f998ed58f4a834004c6bc27243584ac2fcc8d39176695" }, "downloads": -1, "filename": "hookery-3.6.0.tar.gz", "has_sig": false, "md5_digest": "2ad5b4e6ad723217b8effc82b99104bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15593, "upload_time": "2018-04-07T00:04:15", "url": "https://files.pythonhosted.org/packages/a1/c5/ba89265f35c7165945f90a5fe36fb5052a7b3bb274771295ccdf1ac828ff/hookery-3.6.0.tar.gz" } ], "3.7.0": [ { "comment_text": "", "digests": { "md5": "6029faa8f9fc90ee250116671fd08246", "sha256": "e4eae7f6a97b384d61cdf20d5c1706a8b718ba5c3fb470b646c94dbe64771be9" }, "downloads": -1, "filename": "hookery-3.7.0.tar.gz", "has_sig": false, "md5_digest": "6029faa8f9fc90ee250116671fd08246", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15407, "upload_time": "2018-04-08T12:57:48", "url": "https://files.pythonhosted.org/packages/22/84/960fadd3d4e0bfa64784497d797ac778b8c3013d197dca8a6e6e669665cc/hookery-3.7.0.tar.gz" } ], "3.8.0": [ { "comment_text": "", "digests": { "md5": "829ee7b8ee90f732cbd6edc5fa36565d", "sha256": "8aaecea57847499d708d67dc77ecd7ac42228a473f0ac946736dc21dd20c65ad" }, "downloads": -1, "filename": "hookery-3.8.0.tar.gz", "has_sig": false, "md5_digest": "829ee7b8ee90f732cbd6edc5fa36565d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15707, "upload_time": "2018-04-10T21:58:38", "url": "https://files.pythonhosted.org/packages/3c/b3/cca81e76af219d268e0c632f018358817e8f54ecef3c0ec520f5d2fa4333/hookery-3.8.0.tar.gz" } ], "3.9.0": [ { "comment_text": "", "digests": { "md5": "a394d17046b3229f1fca42ccd9b5ae5d", "sha256": "c0bc5f125fb04ec53d6151710e7710f45b4107f044c3fe83cdaf3cd099515fe9" }, "downloads": -1, "filename": "hookery-3.9.0.tar.gz", "has_sig": false, "md5_digest": "a394d17046b3229f1fca42ccd9b5ae5d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15943, "upload_time": "2018-04-10T23:25:24", "url": "https://files.pythonhosted.org/packages/d7/49/b6645522a77768009774eaeecb8eac0274b6b4fbaa79c7a3a20156815d50/hookery-3.9.0.tar.gz" } ], "3.9.1": [ { "comment_text": "", "digests": { "md5": "89b61e9bddb7ee01189d9ee06c994b23", "sha256": "967d3d351837fa4a43edad1a99b2a19b02c76fce832b38a800598226a56e4609" }, "downloads": -1, "filename": "hookery-3.9.1.tar.gz", "has_sig": false, "md5_digest": "89b61e9bddb7ee01189d9ee06c994b23", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15971, "upload_time": "2018-04-11T10:11:55", "url": "https://files.pythonhosted.org/packages/c0/de/d760d5c8960ad8153ead8fd0dafea9c3953a574ad1699a4c7fb641f0c8b6/hookery-3.9.1.tar.gz" } ], "5.0.1": [ { "comment_text": "", "digests": { "md5": "d2e27a135f92687bf046f79e84cff529", "sha256": "1662f054e8939019f72de297e06168b901914e99469f768c6e04a582e07e9ad4" }, "downloads": -1, "filename": "hookery-5.0.1.tar.gz", "has_sig": false, "md5_digest": "d2e27a135f92687bf046f79e84cff529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6905, "upload_time": "2018-08-25T10:52:56", "url": "https://files.pythonhosted.org/packages/29/56/2bfeb60342c9ea4bf0e6ca498b927b873091f395f4dbe96371b3a4837c3e/hookery-5.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d2e27a135f92687bf046f79e84cff529", "sha256": "1662f054e8939019f72de297e06168b901914e99469f768c6e04a582e07e9ad4" }, "downloads": -1, "filename": "hookery-5.0.1.tar.gz", "has_sig": false, "md5_digest": "d2e27a135f92687bf046f79e84cff529", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6905, "upload_time": "2018-08-25T10:52:56", "url": "https://files.pythonhosted.org/packages/29/56/2bfeb60342c9ea4bf0e6ca498b927b873091f395f4dbe96371b3a4837c3e/hookery-5.0.1.tar.gz" } ] }