{ "info": { "author": "Jeong YunWon", "author_email": "methodtools@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.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10" ], "description": "methodtools\n===========\n\n.. image:: https://github.com/youknowone/methodtools/actions/workflows/python-package.yml/badge.svg\n.. image:: https://codecov.io/gh/youknowone/methodtools/graph/badge.svg\n :target: https://codecov.io/gh/youknowone/methodtools\n\nExpand functools features to methods, classmethods, staticmethods and even for\n(unofficial) hybrid methods.\n\nFor now, methodtools only provides `methodtools.lru_cache`.\n\nUse `methodtools` module instead of `functools` module. Than it will work as\nyou expected.\n\n.. code:: python\n\n from methodtools import lru_cache\n\n class A(object):\n\n # cached method. the storage lifetime follows `self` object\n @lru_cache()\n def cached_method(self, args):\n ...\n\n # cached classmethod. the storage lifetime follows `A` class\n @lru_cache() # the order is important!\n @classmethod # always lru_cache on top of classmethod\n def cached_classmethod(self, args):\n ...\n\n # cached staticmethod. the storage lifetime follows `A` class\n @lru_cache() # the order is important!\n @staticmethod # always lru_cache on top of staticmethod\n def cached_staticmethod(self, args):\n ...\n\n @lru_cache() # just same as functools.lru_cache\n def cached_function():\n ...\n\n\nInstallation\n------------\n\nPyPI is the recommended way.\n\n.. sourcecode:: shell\n\n $ pip install methodtools\n\nTo browse versions and tarballs, visit:\n ``_\n\n.. note::\n If you are working on Python 2, install also `functools32`.\n\n\nSee also\n--------\n\n- [Documentation](https://methodtools.readthedocs.io/en/latest/)\n- This project is derived from `Ring `_,\n a rich cache interface using the same method handling technique.\n- To learn more about bound method dispatching, see also\n [wirerope](https://github.com/youknowone/wirerope).", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/youknowone/methodtools", "keywords": "ring,functools,lru_cache,method", "license": "BSD 2-Clause License", "maintainer": "", "maintainer_email": "", "name": "methodtools", "package_url": "https://pypi.org/project/methodtools/", "platform": "", "project_url": "https://pypi.org/project/methodtools/", "project_urls": { "Homepage": "https://github.com/youknowone/methodtools" }, "release_url": "https://pypi.org/project/methodtools/0.4.5/", "requires_dist": null, "requires_python": "", "summary": "Expand standard functools to methods", "version": "0.4.5", "yanked": false, "yanked_reason": null }, "last_serial": 11059155, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "709cc433330586d80d92ef684877d3ef", "sha256": "0876910f21f11ce196d7208bd73076b9296b52cec44a21d2a0e8db0a7169eab7" }, "downloads": -1, "filename": "methodtools-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "709cc433330586d80d92ef684877d3ef", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3549, "upload_time": "2019-05-05T09:53:23", "upload_time_iso_8601": "2019-05-05T09:53:23.064043Z", "url": "https://files.pythonhosted.org/packages/c0/9b/6b89d7665536e295508f642c9f2c523164e188985bf0a7bdaba1d34907e8/methodtools-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d4697f96d6ae2a2279d7b5e2d9820a56", "sha256": "197f2304dd3d78c95119b31d457996280af03e04a001855f5da04a5af693da20" }, "downloads": -1, "filename": "methodtools-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d4697f96d6ae2a2279d7b5e2d9820a56", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2649, "upload_time": "2019-05-05T09:53:25", "upload_time_iso_8601": "2019-05-05T09:53:25.165131Z", "url": "https://files.pythonhosted.org/packages/d6/f9/ef8c57f4979a2c37c21c1e72c716b85a8a85dafabf03e0127c56cced0f57/methodtools-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "775dc8f39efa8bd2403194921570bad0", "sha256": "09d0d979eb752da6998e598b8c0eca65b7ced56aebc9bf30dfd13a39e454142f" }, "downloads": -1, "filename": "methodtools-0.1.1.tar.gz", "has_sig": false, "md5_digest": "775dc8f39efa8bd2403194921570bad0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2726, "upload_time": "2019-10-24T13:37:27", "upload_time_iso_8601": "2019-10-24T13:37:27.737672Z", "url": "https://files.pythonhosted.org/packages/b5/b5/42bde6a1577b7135d55e2aaed0a4caa4308d2de1abcb8daffd07ef5e9874/methodtools-0.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "bb0b1a38df94186065b6800559a769fb", "sha256": "03e05f69150cb2a931f71dc542ee80856e91ae00e179c1df384285078b0dc118" }, "downloads": -1, "filename": "methodtools-0.1.2.tar.gz", "has_sig": false, "md5_digest": "bb0b1a38df94186065b6800559a769fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2733, "upload_time": "2019-10-26T06:59:20", "upload_time_iso_8601": "2019-10-26T06:59:20.647292Z", "url": "https://files.pythonhosted.org/packages/8c/25/ac4540a1b14be6ac94a4a56cca5b3712b653fe72b2f31ad9dbd95bc8d51b/methodtools-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "4f6ea9a076db874d2527467ea36fd45c", "sha256": "694c165cc74e503e35f7ab0d565a686beebe09e15fb53ac63f5b32bedca9db61" }, "downloads": -1, "filename": "methodtools-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4f6ea9a076db874d2527467ea36fd45c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3048, "upload_time": "2020-05-23T19:31:34", "upload_time_iso_8601": "2020-05-23T19:31:34.371496Z", "url": "https://files.pythonhosted.org/packages/3e/b3/4ae2067b3cf7ddb1e36ceca31acf1b6a1996cfa57804b82b64f526fdc891/methodtools-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "3a0e92b3cab52a5ed5d0ad20898c5f55", "sha256": "f4d16d7afa2bb403140a919d1e243417195339c93870b8b075902c240f3c1a0b" }, "downloads": -1, "filename": "methodtools-0.4.0.tar.gz", "has_sig": false, "md5_digest": "3a0e92b3cab52a5ed5d0ad20898c5f55", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3912, "upload_time": "2020-07-04T16:08:23", "upload_time_iso_8601": "2020-07-04T16:08:23.445603Z", "url": "https://files.pythonhosted.org/packages/c1/f2/b149df1df8f936f82482135dde39c41d457d166161d1b24c394c1654469a/methodtools-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "2a17fa0a1145b98767112c66320a7d5e", "sha256": "5aa8be7a81c4c1c4926ab9721ae197e67c3f97e0babde065609a17b9599a7657" }, "downloads": -1, "filename": "methodtools-0.4.1.tar.gz", "has_sig": false, "md5_digest": "2a17fa0a1145b98767112c66320a7d5e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3916, "upload_time": "2020-07-05T19:16:46", "upload_time_iso_8601": "2020-07-05T19:16:46.725229Z", "url": "https://files.pythonhosted.org/packages/24/dd/a7a191f361ec2d0916e7d965bc5e0f3a5f62cc184f8b2a92d47757d7be55/methodtools-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "2a676a73594197d9a7cf3bf1445a06ef", "sha256": "603050dd93ae5b30ed2ebdd36d30b69e82bc5c75030dc3435fe757c7a431d1c6" }, "downloads": -1, "filename": "methodtools-0.4.2.tar.gz", "has_sig": false, "md5_digest": "2a676a73594197d9a7cf3bf1445a06ef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3037, "upload_time": "2020-07-06T06:26:30", "upload_time_iso_8601": "2020-07-06T06:26:30.759289Z", "url": "https://files.pythonhosted.org/packages/cf/08/b0557009f7b0e8038a7982fa13fd87ea94b8b8c32e6026eb3a0bbaa03ae8/methodtools-0.4.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "55941c5d692b4490a802819f50e32e2b", "sha256": "37424e42370f5c9bf837a73c944e0a70ae3766917b3dc1c744ba0c1da92ebead" }, "downloads": -1, "filename": "methodtools-0.4.3.tar.gz", "has_sig": false, "md5_digest": "55941c5d692b4490a802819f50e32e2b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3808, "upload_time": "2021-05-27T00:42:32", "upload_time_iso_8601": "2021-05-27T00:42:32.205398Z", "url": "https://files.pythonhosted.org/packages/fb/3a/d2751eb15d149ce6f77e3cde5a489363d896bc4851c9448af40dc9c767ee/methodtools-0.4.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "0fb2eb2b93b116059ac096f9fb5568e0", "sha256": "9370156e9036789e98cf0e97355b3be3bcd7cc9e520d1e15893a1407719effb2" }, "downloads": -1, "filename": "methodtools-0.4.5.tar.gz", "has_sig": false, "md5_digest": "0fb2eb2b93b116059ac096f9fb5568e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3820, "upload_time": "2021-07-31T18:37:35", "upload_time_iso_8601": "2021-07-31T18:37:35.361901Z", "url": "https://files.pythonhosted.org/packages/2b/13/973a50bb3802d4e915c291fc9b4df034dc91dc07b442cbb186eda7b117f4/methodtools-0.4.5.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0fb2eb2b93b116059ac096f9fb5568e0", "sha256": "9370156e9036789e98cf0e97355b3be3bcd7cc9e520d1e15893a1407719effb2" }, "downloads": -1, "filename": "methodtools-0.4.5.tar.gz", "has_sig": false, "md5_digest": "0fb2eb2b93b116059ac096f9fb5568e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3820, "upload_time": "2021-07-31T18:37:35", "upload_time_iso_8601": "2021-07-31T18:37:35.361901Z", "url": "https://files.pythonhosted.org/packages/2b/13/973a50bb3802d4e915c291fc9b4df034dc91dc07b442cbb186eda7b117f4/methodtools-0.4.5.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }