Feather Helper is a concise interface to cache and load numpy arrays and pandas dataframes. I use it with Pandoctools/Knitty.
Via conda:
conda install -c defaults -c conda-forge featherhelper
Via pip:
pip install featherhelper
import pandas as pd
import numpy as np
import featherhelper as fh
fh.setdir("~/feather/mydoc") # (optional)
# fh.exc(1, 2) # force raise exceptions for names (optional)
# %%
fh.name(1) # can also be fh.name('id1'), default is 'default', 1 is the same as '1'
try:
# raise fh.Err # (optional)
df, A, B = fh.pull() # control length can be set: fh.pull(N)
except fh.Err:
# calculate:
print('push')
df = pd.DataFrame(np.random.random(16).reshape(4, 4))
A = df.values
B = np.random.random(16 * 3).reshape(4, 2, 2, 3)
#
fh.push(df, A, B)
print(df, '\n', A, '\n', B)
A shorter example:
import numpy as np
import featherhelper as fh
# fh.exc()
# %%
try:
A = fh.pull()
except fh.Err:
A = np.random.random(16).reshape(4, 4)
fh.push(A)