Kaggle API
官方API用于https://www.kaggle.com,可通过Python 3实现的命令行工具访问。
安装
确保已安装Python 3和包管理器pip
。
运行以下命令以通过命令行访问Kaggle API:
pip install kaggle
开发
Kaggle内部
显然,这依赖于Kaggle服务。当你扩展API并修改或添加这些服务时,你应该在Kaggle中层开发环境中工作。你将在容器中本地运行Kaggle,并通过在容器中运行Python代码来进行测试,以便连接到本地测试环境。但是,不要尝试从容器内创建发布版本。代码格式化工具(yapf3
)会产生过多不必要的更改。
另外,运行以下命令来安装autogen.sh
:
rm -rf /tmp/autogen && mkdir -p /tmp/autogen && unzip -qo /tmp/autogen.zip -d /tmp/autogen &&
mv /tmp/autogen/autogen-*/* /tmp/autogen && rm -rf /tmp/autogen/autogen-* &&
sudo chmod a+rx /tmp/autogen/autogen.sh
先决条件
我们使用hatch来管理这个项目。
按照这些说明来安装它。
如果你在受管理的环境中工作,你可能想使用pipx
。如果尚未安装,请尝试sudo apt install pipx
。然后你应该可以继续使用pipx install hatch
。
依赖项
hatch run install-deps
编译
hatch run compile
编译后的文件从src/
目录生成到kaggle/
目录中。
所有更改都必须在src/
目录中进行。
运行
你也可以直接在Python中运行代码:
hatch run python
import kaggle
from kaggle.api.kaggle_api_extended import KaggleApi
api = KaggleApi()
api.authenticate()
api.model_list_cli()
Next Page Token = [...]
[...]
或者使用单个命令:
hatch run python -c "import kaggle; from kaggle.api.kaggle_api_extended import KaggleApi; api = KaggleApi(); api.authenticate(); api.model_list_cli()"
示例
让我们在源文件中更改model_list_cli
方法:
❯ git diff src/kaggle/api/kaggle_api_extended.py
[...]
+ print('hello Kaggle CLI update')^M
models = self.model_list(sort_by, search, owner, page_size, page_token)
[...]
❯ hatch run compile
[...]
❯ hatch run python -c "import kaggle; from kaggle.api.kaggle_api_extended import KaggleApi; api = KaggleApi(); api.authenticate(); api.model_list_cli()"
hello Kaggle CLI update
Next Page Token = [...]
集成测试
要在本地机器上运行集成测试,你需要设置Kaggle API凭据。你可以通过本文档中描述的两种方法之一来完成。参考以下部分:
- 使用环境变量
- 使用凭据文件
通过任一方法设置凭据后,你可以按如下方式运行集成测试:
# 运行所有测试
hatch run integration-test
许可证
Kaggle API根据Apache 2.0许可证发布。