公开 API
bagelquant-data 通过 Python API 使用。包会返回 pandas 对象和普通元数据,而不是导入下游研究包。
顶层导出
from bagelquant_data import (
DataContract,
DataLakeManager,
DataRequest,
DataSource,
DataSourceRegistry,
DatasetSchema,
FieldSchema,
LoadedDataset,
Loader,
LocalDataLake,
RetrievedPanel,
Transform,
TushareTableUpdateSpec,
default_registry,
)
Provider 注册表
DataSource:provider 适配器基类。DataRequest:dataset、字段、过滤条件、日期范围、版本、快照和选项。DataSourceRegistry.register(source):注册适配器。DataSourceRegistry.resolve(name):解析适配器。default_registry:进程级便利注册表。
数据湖
LocalDataLake(root):本地文件系统快照后端。DataLakeManager(lake, registry=None):高层写入和更新 API。DataLakeManager.add(source, dataset, frame):添加自定义数据。DataLakeManager.edit(source, dataset, frame):替换数据集快照。DataLakeManager.delete(source, dataset):删除数据集指针。LocalDataLake.read(...):读取投影和日期过滤后的数据。LocalDataLake.read_panel_field(...):把字段 id 读取为面板形状。
Loader
Loader(registry=None, lake=None):优先 lake 的读取门面。Loader.source(name).load(...):返回LoadedDataset。Loader.source(name).load_panel(...):返回RetrievedPanel。LoadedDataset.data:pandas 数据。RetrievedPanel.data:单字段日期乘资产 frame。
Tushare 辅助 API
TushareDataSource:Tushare provider 适配器。TushareTableUpdateSpec:生产式表更新规格。DataLakeManager.scan_tushare_updates(...):生成 dry-run 更新报告。DataLakeManager.execute_tushare_update_report(report, workers=4):执行审核后的任务。