Upgrading huggingface-hub 0.26 to 0.27
Breaking0.26.5 → 0.27.1Breaking5Platform1Deprecated2New5Changed4Fixed17Other12
BreakingUpgrade verdict
5 breaking changes and a platform requirement change.
In plain terms
- The table question answering method no longer takes a parameter argument.
- The list_metrics method has been removed from the API client because it was rarely used.
- The security status of a model is now read from a renamed field, so code using the old name must be updated.
- When saving model card data, empty (None) values inside nested structures are no longer dropped.
Must act Top 5 of 8 that need code or config changes
What you must change
Breaking5
InferenceClient.table_question_answering() no longer accepts a parameter argument, including the async equivalent.
InferenceClient.table_question_answering()parameterRemoves list_metrics() from HfApi due to low usage.
list_metrics()HfApiExposes repository security status in ModelInfo as security_repo_status instead of securityStatus.
HfApi().model_info()ModelInfosecurity_repo_statussecurityStatusRepoCardData serialization now preserves None values in nested structures.
RepoCardDataInferenceClient.image_to_image() now takes target_size instead of height and width, including the async equivalent.
InferenceClient.image_to_image()target_sizeheightwidthPlatform1
Adds support for Python 3.13.
Deprecations to plan for
Deprecated2
Deprecates legacy token permission checks including is_write_action in build_hf_headers() and write_permission=True in login methods.
is_write_actionbuild_hf_headers()write_permissionget_token_permissionDeprecates the labels argument in InferenceClient.zero_shot_classification() and InferenceClient.image_zero_shot_classification(), including async equivalents.
labelsInferenceClient.zero_shot_classification()InferenceClient.image_zero_shot_classification()API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
export ChatCompletionInputToolType - removed:
export MultiCommitException - removed:
export ToolElement - removed:
export ZeroShotClassificationInputData - removed:
export ZeroShotImageClassificationInputData - removed:
export ZeroShotObjectDetectionInputData - removed:
export create_commits_on_pr - removed:
export list_metrics - removed:
export plan_multi_commits - added:
export ChatCompletionInputGrammarTypeType - added:
export ChatCompletionInputMessageChunkType - added:
export ChatCompletionInputTool - added:
export ChatCompletionInputToolChoiceClass - added:
export ChatCompletionInputToolChoiceEnum - added:
export DDUFEntry - added:
export FeatureExtractionInputTruncationDirection - added:
export ImageSegmentationSubtask - added:
export Padding - added:
export SummarizationTruncationStrategy - added:
export TableQuestionAnsweringParameters - added:
export Text2TextGenerationTruncationStrategy - added:
export TextGenerationOutputFinishReason - added:
export TokenClassificationAggregationStrategy - added:
export TranslationTruncationStrategy - added:
export TypeEnum - added:
export ZeroShotObjectDetectionParameters - added:
export export_entries_as_dduf - added:
export export_folder_as_dduf - added:
export load_state_dict_from_file - added:
export load_torch_model - added:
export read_dduf_file
- added:
class DDUFCorruptedFileError(DDUFError) - added:
class DDUFError(Exception) - added:
class DDUFExportError(DDUFError) - added:
class DDUFInvalidEntryNameError(DDUFExportError)
- changed:
function push_to_hub_fastai(learner, *, repo_id: str, commit_message: str=…, private: bool=…, token: Optional[str]=…, config: Optional[dict]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, api_endpoint: Optional[str]=…) → function push_to_hub_fastai(learner, *, repo_id: str, commit_message: str=…, private: Optional[bool]=…, token: Optional[str]=…, config: Optional[dict]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, api_endpoint: Optional[str]=…)
- removed:
class MetricInfo - removed:
constructor MetricInfo(**kwargs) - removed:
field MetricInfo.description: Optional[str] - removed:
field MetricInfo.id: str - removed:
field MetricInfo.space_id: str - removed:
method HfApi.create_commits_on_pr(*, repo_id: str, addition_commits: List[List[CommitOperationAdd]], deletion_commits: List[List[CommitOperationDelete]], commit_message: str, commit_description: Optional[str]=…, token: Union[str, bool, None]=…, repo_type: Optional[str]=…, merge_pr: bool=…, num_threads: int=…, verbose: bool=…) -> str - removed:
method HfApi.list_metrics() -> List[MetricInfo] - removed:
variable create_commits_on_pr - removed:
variable list_metrics - changed:
method HfApi.create_repo(repo_id: str, *, token: Union[str, bool, None]=…, private: bool=…, repo_type: Optional[str]=…, exist_ok: bool=…, resource_group_id: Optional[str]=…, space_sdk: Optional[str]=…, space_hardware: Optional[SpaceHardware]=…, space_storage: Optional[SpaceStorage]=…, space_sleep_time: Optional[int]=…, space_secrets: Optional[List[Dict[str, str]]]=…, space_variables: Optional[Lis… → method HfApi.create_repo(repo_id: str, *, token: Union[str, bool, None]=…, private: Optional[bool]=…, repo_type: Optional[str]=…, exist_ok: bool=…, resource_group_id: Optional[str]=…, space_sdk: Optional[str]=…, space_hardware: Optional[SpaceHardware]=…, space_storage: Optional[SpaceStorage]=…, space_sleep_time: Optional[int]=…, space_secrets: Optional[List[Dict[str, str]]]=…, space_variables: Op… - changed:
method HfApi.get_token_permission(token: Union[bool, str, None]=…) -> Literal['read', 'write', None] → method HfApi.get_token_permission(token: Union[bool, str, None]=…) -> Literal['read', 'write', 'fineGrained', None] - changed:
method HfApi.upload_large_folder(repo_id: str, folder_path: Union[str, Path], *, repo_type: str, revision: Optional[str]=…, private: bool=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, num_workers: Optional[int]=…, print_report: bool=…, print_report_every: int=…) -> None → method HfApi.upload_large_folder(repo_id: str, folder_path: Union[str, Path], *, repo_type: str, revision: Optional[str]=…, private: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, num_workers: Optional[int]=…, print_report: bool=…, print_report_every: int=…) -> None
- changed:
method HfFileSystem.glob(path, **kwargs) → method HfFileSystem.glob(path: str, **kwargs) -> List[str] - changed:
method HfFileSystem.walk(path, *args, **kwargs) → method HfFileSystem.walk(path: str, *args, **kwargs) -> Iterator[Tuple[str, List[str], List[str]]]
- changed:
method ModelHubMixin.push_to_hub(repo_id: str, *, config: Optional[Union[dict, DataclassInstance]]=…, commit_message: str=…, private: bool=…, token: Optional[str]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, model_card_kwargs: Optio… → method ModelHubMixin.push_to_hub(repo_id: str, *, config: Optional[Union[dict, DataclassInstance]]=…, commit_message: str=…, private: Optional[bool]=…, token: Optional[str]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, model_card_kwa… - added:
class DataclassInstance(Protocol)
- changed:
function push_to_hub_keras(model, repo_id: str, *, config: Optional[dict]=…, commit_message: str=…, private: bool=…, api_endpoint: Optional[str]=…, token: Optional[str]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, log_dir: Optional[… → function push_to_hub_keras(model, repo_id: str, *, config: Optional[dict]=…, commit_message: str=…, private: Optional[bool]=…, api_endpoint: Optional[str]=…, token: Optional[str]=…, branch: Optional[str]=…, create_pr: Optional[bool]=…, allow_patterns: Optional[Union[List[str], str]]=…, ignore_patterns: Optional[Union[List[str], str]]=…, delete_patterns: Optional[Union[List[str], str]]=…, log_dir:…
- changed:
constructor ModelCardData(*, base_model: Optional[Union[str, List[str]]]=…, datasets: Optional[List[str]]=…, eval_results: Optional[List[EvalResult]]=…, language: Optional[Union[str, List[str]]]=…, library_name: Optional[str]=…, license: Optional[str]=…, license_name: Optional[str]=…, license_link: Optional[str]=…, metrics: Optional[List[str]]=…, model_name: Optional[str]=…, pipeline_tag: Optiona… → constructor ModelCardData(*, base_model: Optional[Union[str, List[str]]]=…, datasets: Optional[Union[str, List[str]]]=…, eval_results: Optional[List[EvalResult]]=…, language: Optional[Union[str, List[str]]]=…, library_name: Optional[str]=…, license: Optional[str]=…, license_name: Optional[str]=…, license_link: Optional[str]=…, metrics: Optional[List[str]]=…, model_name: Optional[str]=…, pipeline_…
- added:
export load_state_dict_from_file - added:
export load_torch_model
- added:
function is_tqdm_disabled(log_level: int) -> Optional[bool]