Skip to main content

数据科学家的简单缓存上下文管理器。

项目描述

卡沙


CI/CD 派皮 执照

数据科学家最简单的 Python 缓存:

  • 缓存在磁盘上,在运行之间使用,
  • 在函数调用时使用,而不是定义。

例子

如果您不想在compute()每次运行脚本时等待给定函数完成,您可以缓存它:

import cacha

result = compute(data) # regular usage, slow

result = cacha.cache(compute, (data, ))  # usage with cache

缓存的数据存储在$HOME/.cacha/. 每次使用相同的输入参数运行函数时,都会加载输出数据,而不是计算输出数据。

它可以很容易地与流行的数据结构一起使用,例如pandas.DataFrameor numpy.array。如果复杂的 python 对象不容易被散列,你可以使用一个额外的key参数来强制保存基于key值的缓存。

import cacha

result = cacha.cache(compute, (data, ), key="compute-v3")

常问问题

其他缓存包有何不同?

与许多其他工具相反,cacha

  • 用于函数调用,而不是定义。许多包实现了@cache在定义一个不容易使用的函数之前必须使用的装饰器。
  • 它将缓存存储在磁盘上,这意味着您可以在运行之间使用缓存。这在数据科学工作中很方便。

如何清除缓存?

只需删除$HOME/.cacha/目录。您也可以调用cacha.clean() which 具有相同的效果。

为什么它需要pandas,numpy和其他库?

要正确缓存来自特定包的对象,有必要访问它们在这方面提供的功能。

缓存的主要目标不是轻量级,而是提供最佳的开发者体验。

然而,大多数必需的包通常都用于机器学习项目。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

cacha-1.0.0.tar.gz (12.6 kB 查看哈希)

已上传 source

内置分布

cacha-1.0.0-py3-none-any.whl (14.5 kB 查看哈希

已上传 py3