Socket
Socket
Sign inDemoInstall

methodtools

Package Overview
Dependencies
0
Maintainers
1
Alerts
File Explorer

Install Socket

Detect and block malicious and high-risk dependencies

Install

    methodtools

Expand standard functools to methods


Maintainers
1

Readme

methodtools

Expand functools features to methods, classmethods, staticmethods and even for (unofficial) hybrid methods.

For now, methodtools only provides methodtools.lru_cache.

Use methodtools module instead of functools module. Than it will work as you expected.

.. code:: python

from methodtools import lru_cache

class A(object):

    # cached method. the storage lifetime follows `self` object
    @lru_cache()
    def cached_method(self, args):
        ...

    # cached classmethod. the storage lifetime follows `A` class
    @lru_cache()  # the order is important!
    @classmethod  # always lru_cache on top of classmethod
    def cached_classmethod(self, args):
        ...

    # cached staticmethod. the storage lifetime follows `A` class
    @lru_cache()  # the order is important!
    @staticmethod  # always lru_cache on top of staticmethod
    def cached_staticmethod(self, args):
        ...

@lru_cache()  # just same as functools.lru_cache
def cached_function():
    ...

Installation

PyPI is the recommended way.

.. sourcecode:: shell

$ pip install methodtools

To browse versions and tarballs, visit: <https://pypi.python.org/pypi/methodtools/>_

.. note:: If you are working on Python 2, install also functools32.

See also

  • Documentation
  • This project is derived from Ring <https://github.com/youknowone/ring/>_, a rich cache interface using the same method handling technique.
  • To learn more about bound method dispatching, see also wirerope.

Keywords

FAQs


Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc