数据科学家的简单缓存上下文管理器。
项目描述
卡沙
数据科学家最简单的 Python 缓存:
- 缓存在磁盘上,在运行之间使用,
- 在函数调用时使用,而不是定义。
例子
如果您不想在compute()
每次运行脚本时等待给定函数完成,您可以缓存它:
import cacha
result = compute(data) # regular usage, slow
result = cacha.cache(compute, (data, )) # usage with cache
缓存的数据存储在$HOME/.cacha/
. 每次使用相同的输入参数运行函数时,都会加载输出数据,而不是计算输出数据。
它可以很容易地与流行的数据结构一起使用,例如pandas.DataFrame
or
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
查看哈希)
内置分布
cacha-1.0.0-py3-none-any.whl
(14.5 kB
查看哈希)