Skip to main content

advanced memoization/caching of functions with data analytics in mind

Project description

KEEP IT

This is a WORK IN PROGRESS.

keepit provides advanced memoization to disk for functions. In other words, it records the results of important functions between executions.

keepit saves the results of calling a function to disk, so calling the function with the exact same parameters will re-use the stored copy of the results, leading to much faster times.

Example usage:

import pandas as pd
from keepit import keepit

@keepit('myresults.tsv')
def expensive_function(number=1):
    df = pd.DataFrame()
    # Perform a really expensive operation, maybe access to disk?
    return df

# When a results file for the function does not exist
# this may take a long time
expensive_function(number=1)
# Now a myresults.tsv_{some hash) has been generated

# This is almost instantaneous:
expensive_function(number=1)

# Files are specific to each parameter execution, 
# so this will again take a long time:
expensive_function(number=42)
# After this, we should have two files, one for number=1, 
# and another one for number=42.

Project details


Download files

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

Source Distribution

keepit-0.2.2.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

keepit-0.2.2-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file keepit-0.2.2.tar.gz.

File metadata

  • Download URL: keepit-0.2.2.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for keepit-0.2.2.tar.gz
Algorithm Hash digest
SHA256 ed20d6e5a1401e532eb24b7abc58aa39ffcc3571acfbb6125e2abd20be43e1d1
MD5 1a9c40738d7f86c99b9480a59f744653
BLAKE2b-256 47d2d996534e282b93b2246276077ce13ec60c0f46ece8737750684163dc9735

See more details on using hashes here.

File details

Details for the file keepit-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: keepit-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.10

File hashes

Hashes for keepit-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1e13c519f5cac1642d5ab009f494624692f0eaab4b603096d2db1f5ec0eec46e
MD5 c15d790376e7bbf1f263ac7ea549fed3
BLAKE2b-256 d0c92f0a024bc581f682ab7d09ed02b8f53ef266d23ada77f3f295ff72bd728d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page