上传接口
upload_file
上传文件,示例如下:
python
from openmind_hub import upload_file
upload_file(
path_or_fileobj="demo/test.txt",
path_in_repo="test.txt",
repo_id="owner/repo",
token=None,
revision="main",
commit_message="upload file",
commit_description=None,
)
- path_or_fileobj(
str、Path、bytes或BinaryIO):要上传的文件路径或文件对象。 - path_in_repo(
str):文件上传到仓库中的路径。 - repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - token(
str, 可选): 对目标仓库具有可写权限的访问令牌,单独使用此方法时则为必选。 - revision(
str, 可选):要上传的指定分支,由字母、数字、下划线(_)或中划线(-)组成,默认为"None"。 - commit_message(
str, 可选): 本次上传的提交信息,默认为"Upload {path_in_repo} with openMind hub"。 - commit_description(
str, 可选): 对本次提交的描述。 - kwargs:仅为兼容第三方组件,本身并无作用。
upload_folder
上传目录内的文件,示例如下:
python
from openmind_hub import upload_folder
upload_folder(
repo_id="username/my-cool-space",
folder_path="demo/local_folder",
path_in_repo="",
commit_message="upload folder",
commit_description=None,
token="xxxx",
revision=None,
allow_patterns=["*.bin", "*.py"],
ignore_patterns="*.log",
num_threads=5,
)
- repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - folder_path(
str或Path):要上传目录路径,上传的内容不包含该目录本身。支持字符串或Path类型,如:"demo/folder"或Path("demo/folder")。 - path_in_repo(
str, 可选):上传到仓库中的路径,末尾不带“\”,默认为空字符串,代表仓库根目录。 - commit_message(
str, 可选):本次上传的提交信息,默认为“Upload folder using openMind hub”。 - commit_description(
str, 可选):对本次提交的描述。 - token(
str, 可选):对目标仓库具有可写权限的访问令牌,单独使用此方法时则为必选。 - revision(
str, 可选):要上传的指定分支,由字母、数字、下划线(_)或中划线(-)组成,默认为"None"。 - allow_patterns(
List[str]或str, 可选):只允许某类文件上传。如allow_patterns=["*.bin", "*.py"]表示只上传以.bin和.py结尾的文件。 - ignore_patterns(
List[str]或str, 可选):忽略某类文件的上传。如ignore_patterns="*.log"表示忽略所有日志文件。 - num_threads(
int, 可选):上传所使用的线程数目,默认为5。 - kwargs:仅为兼容第三方组件,本身并无作用。
create_commit
上传或删除文件,示例如下:
python
from openmind_hub import create_commit, CommitOperationAdd, CommitOperationDelete
operations = [
CommitOperationAdd(path_in_repo="LICENSE.md", path_or_fileobj="~/repo/LICENSE.md"),
CommitOperationAdd(path_in_repo="weights.h5", path_or_fileobj="~/repo/weights-final.h5"),
CommitOperationDelete(path_in_repo="main.py")
]
create_commit(
repo_id="owner/repo",
operations=operations,
commit_message="create commit",
commit_description=None,
token=None,
revision=None,
num_threads=5,
)
- repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - operations(
Iterable[CommitOperation]):CommitOperationAdd和CommitOperationDelete类的列表。 - commit_message(
str): 本次提交的信息。 - commit_description(
str, 可选): 对本次提交的描述。 - token(
str, 可选): 对目标仓库具有可写权限的访问令牌,单独使用此方法时则为必选。 - revision(
str, 可选):要上传的指定分支,由字母、数字、下划线(_)或中划线(-)组成,默认为"None"。 - num_threads(
int, 可选):上传所使用的线程数目,默认为5。 - kwargs:仅为兼容第三方组件,本身并无作用。