@resource.register('hdfstore://.+', priority=11)
def resource_hdfstore(uri, datapath=None, dshape=None, **kwargs):
    # TODO:
    # 1. Support nested datashapes (e.g. groups)
    # 2. Try translating unicode to ascii?  (PyTables fails here)
    fn = uri.split('://')[1]
    try:
        f = pd.HDFStore(fn, **filter_kwargs(pd.HDFStore, kwargs))
    except RuntimeError as e:
        raise type(e)(pytables_h5py_explanation)

    if dshape is None:
        return f.get_storer(datapath) if datapath else f
    dshape = datashape.dshape(dshape)

    # Already exists, return it
    if datapath in f:
        return f.get_storer(datapath)

    # Need to create new dataset.
    # HDFStore doesn't support empty datasets, so we use a proxy object.
    return EmptyHDFStoreDataset(f, datapath, dshape)
dataset/ETHPy150Open blaze/odo/odo/backends/hdfstore.py/resource_hdfstore/original