{ "info": { "author": "Jeong YunWon", "author_email": "wirerope@youknowone.org", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8" ], "description": "wirerope\n========\n\n.. image:: https://github.com/youknowone/wirerope/actions/workflows/python-package.yml/badge.svg\n.. image:: https://codecov.io/gh/youknowone/wirerope/graph/badge.svg\n :target: https://codecov.io/gh/youknowone/wirerope\n\n\nThe concepts:\n\n- `wirerope.rope.WireRope` is a wrapper interface for python callable.\n- Custom `wirerope.wire.Wire` class provides user-defined behavior.\n A subclass of this class is working similar to a *decorator function* body.\n- A wire object is associated with a bound method.\n- Rope is dispatching types.\n\n`wirerope.rope.WireRope` is the wrapper for callables. By wrapping a\nfunction with `WireRope` with a custom subclass of the `wirerope.wire.Wire`\nclass, the wire object will be created by each function or bound method.\n\n`Wire` is the most important part. The given class will be instantiated and\nbound to each function or bound method - which fits the concept of *instance\ncmethod* of human.\nFor example, when `f` is a free function or staticmethod, the wire also will\nbe a single object. When `f` is a method or property, wires will be created for\neach method owner object `self`. When `f` is a classmethod, wires will be\ncreated for each method owner class `cls`. Yes, it will detect the owner\nand bound to it regardless of the calling type.\n\n`Rope` is internal dispatcher. It will be helpful when creating a complex\nobject for decorated callable instead of simple callable feature.\n\n\nSee also\n--------\n\n- See [documentation](https://wirerope.readthedocs.io/en/latest/) - though it\n is not yet written very well.\n- See `tests/test_wire.py` for simple example.\n- See [methodtools](https://github.com/youknowone/methodtools) for practical\n example.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/youknowone/wirerope", "keywords": "ring,methodtools,hack,method", "license": "BSD 2-Clause License", "maintainer": "", "maintainer_email": "", "name": "wirerope", "package_url": "https://pypi.org/project/wirerope/", "platform": "", "project_url": "https://pypi.org/project/wirerope/", "project_urls": { "Homepage": "https://github.com/youknowone/wirerope" }, "release_url": "https://pypi.org/project/wirerope/0.4.6/", "requires_dist": null, "requires_python": "", "summary": "'Turn functions and methods into fully controllable objects'", "version": "0.4.6", "yanked": false, "yanked_reason": null }, "last_serial": 12917406, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "8eeb46de0c8910a66e6798645fdcbf6d", "sha256": "82f26a8c4394f32d70f88cbe20966b6839a3f270c533b4c51fdeac5c20b12f60" }, "downloads": -1, "filename": "wirerope-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8eeb46de0c8910a66e6798645fdcbf6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4198, "upload_time": "2018-06-14T15:28:54", "upload_time_iso_8601": "2018-06-14T15:28:54.501131Z", "url": "https://files.pythonhosted.org/packages/f8/76/e9e4296b7663cb31699fe73b1d5bdda40a67fea2b5faa6a92abf737e26ad/wirerope-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6e70b4e960caa9c94aa91ba3088d2bad", "sha256": "4aaaba8ec047d7a75d34d8c92eed62ce76c75a77f3c807f1f58eae2e5b8339f1" }, "downloads": -1, "filename": "wirerope-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6e70b4e960caa9c94aa91ba3088d2bad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4765, "upload_time": "2018-06-24T15:00:10", "upload_time_iso_8601": "2018-06-24T15:00:10.542925Z", "url": "https://files.pythonhosted.org/packages/9e/02/717090cf2e4427de17963516c1b2b56902bf1dddcedc3083cfa9f12c6c45/wirerope-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "a84d4418fc4e50084c2f9e4acddf0389", "sha256": "78754f0237bfb6645d0db9a915567fb09db5548b57e5005de8f7e5e23b67b23f" }, "downloads": -1, "filename": "wirerope-0.2.0.tar.gz", "has_sig": false, "md5_digest": "a84d4418fc4e50084c2f9e4acddf0389", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5167, "upload_time": "2018-07-22T09:37:33", "upload_time_iso_8601": "2018-07-22T09:37:33.693740Z", "url": "https://files.pythonhosted.org/packages/b8/c3/22b1ba3a2d88cc02e69d5334028d6aaa24856954efb24f805dea222f9c42/wirerope-0.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "eaa9c481806e47702559a64aaa74329d", "sha256": "448bb9eaf08d2fce611bccde832e48887339cfda5c4277c07e116167d94329c1" }, "downloads": -1, "filename": "wirerope-0.2.1.tar.gz", "has_sig": false, "md5_digest": "eaa9c481806e47702559a64aaa74329d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5191, "upload_time": "2019-05-05T08:58:04", "upload_time_iso_8601": "2019-05-05T08:58:04.527752Z", "url": "https://files.pythonhosted.org/packages/2d/97/99b82949ecab9ed8f17a5f0680db7fd68e445f5ccaa9e593703de627fdbb/wirerope-0.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "9528edbd258268e8fcf8367fada65c2c", "sha256": "a8cb4642c83a55add676923059b4f9c61d785ac6dc71ff1d9de2aac4aed4a517" }, "downloads": -1, "filename": "wirerope-0.3.0.tar.gz", "has_sig": false, "md5_digest": "9528edbd258268e8fcf8367fada65c2c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5326, "upload_time": "2019-10-24T13:31:49", "upload_time_iso_8601": "2019-10-24T13:31:49.440618Z", "url": "https://files.pythonhosted.org/packages/7b/64/08bf11a3dd8b78263f8620655e113cd86cc2535f99eda692c404588b76bf/wirerope-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "715cbc720fb6c559ddc15fc36718833e", "sha256": "0ca7c9af15b04b7c21e254d910d658eef908646ae74beb86cc4981b281df2a91" }, "downloads": -1, "filename": "wirerope-0.3.1.tar.gz", "has_sig": false, "md5_digest": "715cbc720fb6c559ddc15fc36718833e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5437, "upload_time": "2019-10-26T06:46:18", "upload_time_iso_8601": "2019-10-26T06:46:18.273671Z", "url": "https://files.pythonhosted.org/packages/c1/4a/ecb12038b98b7b2d3a63ac8672b4642d10688345f4c9667da9ee663b73b6/wirerope-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "d7ca4a1a8bd434d04a4a1a435d15fbbb", "sha256": "13994bb07a06cc2a10cdf225fe82a88c85fafaa67f080025211581c974728420" }, "downloads": -1, "filename": "wirerope-0.4.0.tar.gz", "has_sig": false, "md5_digest": "d7ca4a1a8bd434d04a4a1a435d15fbbb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8394, "upload_time": "2020-07-03T19:08:28", "upload_time_iso_8601": "2020-07-03T19:08:28.306035Z", "url": "https://files.pythonhosted.org/packages/6d/d7/7c66b8bdc487cdbb100b9434aec51026f3c6bfd5472c474b23bd375ebb30/wirerope-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "dc542287ddfe94dd830cf54e755e2161", "sha256": "135c57239165c3ecb1961d00d15e648e347d3fe58db7e9d374c36a84e6908fce" }, "downloads": -1, "filename": "wirerope-0.4.1.tar.gz", "has_sig": false, "md5_digest": "dc542287ddfe94dd830cf54e755e2161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8395, "upload_time": "2020-07-05T19:09:07", "upload_time_iso_8601": "2020-07-05T19:09:07.869278Z", "url": "https://files.pythonhosted.org/packages/33/14/3e3e427664319913afac2801037e4d13720317e54c7947623676903629ec/wirerope-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2d0627e2208ce892ff4ce03777af0c20", "sha256": "903369ddf3a6a6317308792a55c6aedee39e0f3c0a10d18b434dcc58501cb79d" }, "downloads": -1, "filename": "wirerope-0.4.2.tar.gz", "has_sig": false, "md5_digest": "2d0627e2208ce892ff4ce03777af0c20", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8374, "upload_time": "2020-07-06T06:08:30", "upload_time_iso_8601": "2020-07-06T06:08:30.872002Z", "url": "https://files.pythonhosted.org/packages/9d/dd/05bf03320c45e8831c3b88388a9457205939d5e9a802fc6f1252ea0c9a7f/wirerope-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "3ec4c8f9cc54cf8e24eb792096a43bd2", "sha256": "0af78b825c4b0e43c79bb038e8d85c86540f85eddf295da5a7e17142ef6c7ee9" }, "downloads": -1, "filename": "wirerope-0.4.3.tar.gz", "has_sig": false, "md5_digest": "3ec4c8f9cc54cf8e24eb792096a43bd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8363, "upload_time": "2021-05-26T23:34:06", "upload_time_iso_8601": "2021-05-26T23:34:06.383572Z", "url": "https://files.pythonhosted.org/packages/95/71/db503bfa4dce8c943f80b68f94258a386cf2d2b042a3a068b637e60c55ea/wirerope-0.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "cac810c735c73c2f97860b4ba1eb9b10", "sha256": "d8dec69d7bf575d3ec91d9c7c4dc99b9a922e8a8244b4740295312af102acbef" }, "downloads": -1, "filename": "wirerope-0.4.4.tar.gz", "has_sig": false, "md5_digest": "cac810c735c73c2f97860b4ba1eb9b10", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8632, "upload_time": "2021-07-31T17:26:21", "upload_time_iso_8601": "2021-07-31T17:26:21.503909Z", "url": "https://files.pythonhosted.org/packages/70/99/f7698fdd3f600bc8d2d3b63685e0c023394e6d18827c4805736303cb4a71/wirerope-0.4.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "dc299d3432bc65a69b69b1b9164aa97f", "sha256": "72cd28d5afd639c07fb2cd470492514c710db8b768e4d4528f3e0bdd5b0fbd9c" }, "downloads": -1, "filename": "wirerope-0.4.5.tar.gz", "has_sig": false, "md5_digest": "dc299d3432bc65a69b69b1b9164aa97f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8626, "upload_time": "2021-07-31T17:37:14", "upload_time_iso_8601": "2021-07-31T17:37:14.608297Z", "url": "https://files.pythonhosted.org/packages/51/9c/83089a2d65a553554a95f3fc5868601e98421bcd57d08a8c3a927be2c43e/wirerope-0.4.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "4260891e83ea5c7f9480e8658919a3fb", "sha256": "bd1a151d4133b3ce30ecb76ed92f861505f688151173d22be2e29f4f02e60392" }, "downloads": -1, "filename": "wirerope-0.4.6.tar.gz", "has_sig": false, "md5_digest": "4260891e83ea5c7f9480e8658919a3fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8814, "upload_time": "2022-02-17T06:38:53", "upload_time_iso_8601": "2022-02-17T06:38:53.351801Z", "url": "https://files.pythonhosted.org/packages/26/70/9a64394b2c4770887939f789a20ef52f1264685af180d8fd660bb9888cf8/wirerope-0.4.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4260891e83ea5c7f9480e8658919a3fb", "sha256": "bd1a151d4133b3ce30ecb76ed92f861505f688151173d22be2e29f4f02e60392" }, "downloads": -1, "filename": "wirerope-0.4.6.tar.gz", "has_sig": false, "md5_digest": "4260891e83ea5c7f9480e8658919a3fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8814, "upload_time": "2022-02-17T06:38:53", "upload_time_iso_8601": "2022-02-17T06:38:53.351801Z", "url": "https://files.pythonhosted.org/packages/26/70/9a64394b2c4770887939f789a20ef52f1264685af180d8fd660bb9888cf8/wirerope-0.4.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }