安装一个数据包
搜索数据包
如上文所述,数据包是使用注册表进行管理的。您的机器上有一个本地注册表,可能还有许多远程注册表在 “世界上其他地方”。使用 list_packages 方法查看注册表上可用的数据包:
import quilt3 # 列出本地数据包
list(quilt3.list_packages())
['aneesh/cli-push',
'examples/hurdat',
'aleksey/hurdat']
import quilt3 # 列出远程数据包
list(quilt3.list_packages("s3://quilt-example"))
['aleksey/hurdat',
'examples/hurdat',
'quilt/altair',
'quilt/hurdat',
'quilt/open_fruit',
'quilt/open_images']
安装一个数据包
要将远程数据包及其所有数据安装到本地,请使用 install 方法。
本节中的示例使用 examples/hurdat 数据包:
import quilt3 # 安装数据包
quilt3.Package.install(
"examples/hurdat",
"s3://quilt-example",
)
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 7049.25entries/s]
成功安装数据包 'examples/hurdat',tophash=f8d1478,来自 s3://quilt-example
请注意,除非此注册表是公开的,否则您需要以具有对此注册表的读取访问权限的用户登录才能从中安装:
# 只需要运行一次
# 例如 quilt3.config('https://your-catalog-homepage/')
quilt3.config('https://open.quiltdata.com/')
# 按照提示完成登录
quilt3.login()
默认情况下,下载的数据文件会写入本地注册表中的一个文件夹。您可以使用 dest 参数指定一个替代目标:
import quilt3 # 将数据包安装到特定文件夹
quilt3.Package.install(
"examples/hurdat",
"s3://quilt-example",
dest="./"
)
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 9027.77entries/s]
Copying objects: 100%|██████████| 3.62M/3.62M [00:00<00:00, 303MB/s]
成功安装数据包 'examples/hurdat',tophash=f8d1478,来自 s3://quilt-example
最后,您可以通过指定相应的 top hash 来安装数据包的特定版本:
import quilt3 # 安装特定版本的数据包
quilt3.Package.install(
"examples/hurdat",
"s3://quilt-example",
top_hash="058e62c"
)
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 11491.24entries/s]
Copying objects: 100%|██████████| 35.4k/35.4k [00:02<00:00, 14.3kB/s]
成功安装数据包 'examples/hurdat',tophash=058e62c,来自 s3://quilt-example
浏览数据包清单
除了 install 方法外,还可以使用 browse 方法浏览数据包清单,而无需下载数据包中的数据。
import quilt3 # 从远程注册表加载数据包清单
p = quilt3.Package.browse("examples/hurdat", "s3://quilt-example")
# 从默认远程注册表加载数据包清单
quilt3.config(default_remote_registry="s3://quilt-example")
p = quilt3.Package.browse("examples/hurdat")
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 7541.00entries/s]
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 10710.68entries/s]
当您不希望一次下载数据包中的所有内容时,使用 browse 方法是有优势的。例如,如果您只想查看数据包的元数据。
导入一个数据包
您可以从 Python 中导入一个本地数据包:
from quilt3.data.examples import hurdat
Loading manifest: 100%|██████████| 5/5 [00:00<00:00, 9637.65entries/s]
这样可以在 Python 脚本或 Jupyter 笔记本中的一个地方管理您的数据和代码依赖项。