Skip to main content

PyCachera

A powerful python decorator to cache functions

Tests PyPI / GitHub CodeQL Docker wakatime Documentation Status

Installation

In command line:

pip install pycachera

Usage

Import the pycachera as:

from pycachera import cache

For caching a function

@cache()
def sum(a,b):
   return a+b

For caching a class attributes.

class Math:
   def __init__(self):
       pass
   
   @cache()
   def sum(a,b):
      return a + b  

For caching to a specific directory.

@cache(cachefolder='/home/user/scratch')
def sum(a,b):
   return a+b

For caching with a specific key

@cache(cachekey='This a custom cache')
def sum(a,b):
   return a+b

For printing the info

@cache(verbose=True)
def sum(a,b):
   return a+b

While debugging your script if you want to ignore the cached values you can recache

@cache(recache=True)
def sum(a,b):
   return a+b

When you use cache with a class attribute, and if you want to consider some attributes of that class for caching,

class Math:
   def __init__(self,c):
       self.c = c
   
   @cache(extrarg=['c'])
   def sum(a,b):
      return a + b  

To cache a class property,

class math:
    def __init__(self,a,b):
        self.a = a
        self.b = b
    
    @property
    @cache(extrarg=['a','b'],verbose=True)
    def add(self):
        return self.a + self.b

When using mpi4py.MPI,

@cache(with_mpi=True)
def sum(a,b):
   return a+b

API

visit pycachera.readthedocs.io

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pycachera-4.5.1.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pycachera-4.5.1-py3-none-any.whl (5.2 kB view details)

Uploaded Python 3

File details

Details for the file pycachera-4.5.1.tar.gz.

File metadata

  • Download URL: pycachera-4.5.1.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pycachera-4.5.1.tar.gz
Algorithm Hash digest
SHA256 66901d57d2129ed2e16ba1f59261eeb72efe86fbddbe21c7b65491b17504e9f6
MD5 4bf3d9b3d6afd06e63e89f61f3fb7ee2
BLAKE2b-256 3c19dd80801d407514bdb7e3022ed2a65207fa7cc0cfdfb1470389f0ff3b63ba

See more details on using hashes here.

File details

Details for the file pycachera-4.5.1-py3-none-any.whl.

File metadata

  • Download URL: pycachera-4.5.1-py3-none-any.whl
  • Upload date:
  • Size: 5.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for pycachera-4.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 23e6df5c8e35bc6fa542f6a5e1b0ab53b30dc46077d0f28d389ecbccc9e9cb13
MD5 1d0aa39c216e7c0675e7c8e0055579e4
BLAKE2b-256 bed2d284c9c1efa9f97f0d94cea318bee2bdf9cbb6e224e7ec5cc44c1b164326

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

4.5.1 This release

2 files

4.5.0

2 files

4.0.0

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.1.0

2 files

2.0.5

2 files

2.0.2

2 files

1.0.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page