huggingface-hub 0.31.3__tar.gz → 0.32.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of huggingface-hub might be problematic. Click here for more details.

Files changed (154) hide show
  1. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/PKG-INFO +3 -1
  2. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/pyproject.toml +0 -2
  3. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/setup.py +21 -3
  4. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/__init__.py +42 -4
  5. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_local_folder.py +8 -0
  6. huggingface_hub-0.32.0/src/huggingface_hub/_oauth.py +464 -0
  7. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_snapshot_download.py +11 -3
  8. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_upload_large_folder.py +16 -36
  9. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/huggingface_cli.py +2 -0
  10. huggingface_hub-0.32.0/src/huggingface_hub/commands/repo.py +147 -0
  11. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/user.py +2 -108
  12. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/constants.py +9 -1
  13. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/dataclasses.py +2 -2
  14. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/file_download.py +13 -11
  15. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/hf_api.py +48 -19
  16. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/hub_mixin.py +2 -2
  17. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_client.py +8 -7
  18. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/_async_client.py +8 -7
  19. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/__init__.py +4 -1
  20. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/chat_completion.py +43 -9
  21. huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/agent.py +99 -0
  22. huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/cli.py +154 -0
  23. huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/constants.py +80 -0
  24. huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/mcp_client.py +322 -0
  25. huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/utils.py +123 -0
  26. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/__init__.py +13 -1
  27. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/_common.py +1 -0
  28. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/cerebras.py +1 -1
  29. huggingface_hub-0.32.0/src/huggingface_hub/inference/_providers/cohere.py +32 -0
  30. huggingface_hub-0.32.0/src/huggingface_hub/inference/_providers/fireworks_ai.py +27 -0
  31. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/hf_inference.py +8 -1
  32. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/nebius.py +28 -0
  33. huggingface_hub-0.32.0/src/huggingface_hub/inference/_providers/nscale.py +44 -0
  34. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/sambanova.py +14 -0
  35. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/together.py +15 -0
  36. huggingface_hub-0.32.0/src/huggingface_hub/py.typed +0 -0
  37. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_experimental.py +7 -5
  38. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/insecure_hashlib.py +8 -4
  39. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/PKG-INFO +3 -1
  40. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/SOURCES.txt +9 -0
  41. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/entry_points.txt +1 -0
  42. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/requires.txt +45 -4
  43. huggingface_hub-0.31.3/src/huggingface_hub/inference/_providers/cohere.py +0 -15
  44. huggingface_hub-0.31.3/src/huggingface_hub/inference/_providers/fireworks_ai.py +0 -9
  45. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/LICENSE +0 -0
  46. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/MANIFEST.in +0 -0
  47. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/README.md +0 -0
  48. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/setup.cfg +0 -0
  49. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_commit_api.py +0 -0
  50. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_commit_scheduler.py +0 -0
  51. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_inference_endpoints.py +0 -0
  52. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_login.py +0 -0
  53. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_space_api.py +0 -0
  54. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_tensorboard_logger.py +0 -0
  55. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_webhooks_payload.py +0 -0
  56. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/_webhooks_server.py +0 -0
  57. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/__init__.py +0 -0
  58. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/_cli_utils.py +0 -0
  59. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/delete_cache.py +0 -0
  60. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/download.py +0 -0
  61. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/env.py +0 -0
  62. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/lfs.py +0 -0
  63. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/repo_files.py +0 -0
  64. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/scan_cache.py +0 -0
  65. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/tag.py +0 -0
  66. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/upload.py +0 -0
  67. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/upload_large_folder.py +0 -0
  68. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/commands/version.py +0 -0
  69. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/community.py +0 -0
  70. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/errors.py +0 -0
  71. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/fastai_utils.py +0 -0
  72. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/hf_file_system.py +0 -0
  73. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/__init__.py +0 -0
  74. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_common.py +0 -0
  75. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/__init__.py +0 -0
  76. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/audio_classification.py +0 -0
  77. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/audio_to_audio.py +0 -0
  78. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/automatic_speech_recognition.py +0 -0
  79. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/base.py +0 -0
  80. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/depth_estimation.py +0 -0
  81. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/document_question_answering.py +0 -0
  82. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/feature_extraction.py +0 -0
  83. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/fill_mask.py +0 -0
  84. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/image_classification.py +0 -0
  85. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/image_segmentation.py +0 -0
  86. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/image_to_image.py +0 -0
  87. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/image_to_text.py +0 -0
  88. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/object_detection.py +0 -0
  89. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/question_answering.py +0 -0
  90. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/sentence_similarity.py +0 -0
  91. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/summarization.py +0 -0
  92. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/table_question_answering.py +0 -0
  93. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text2text_generation.py +0 -0
  94. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_classification.py +0 -0
  95. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_generation.py +0 -0
  96. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_to_audio.py +0 -0
  97. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_to_image.py +0 -0
  98. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_to_speech.py +0 -0
  99. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/text_to_video.py +0 -0
  100. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/token_classification.py +0 -0
  101. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/translation.py +0 -0
  102. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/video_classification.py +0 -0
  103. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/visual_question_answering.py +0 -0
  104. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/zero_shot_classification.py +0 -0
  105. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/zero_shot_image_classification.py +0 -0
  106. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_generated/types/zero_shot_object_detection.py +0 -0
  107. /huggingface_hub-0.31.3/src/huggingface_hub/py.typed → /huggingface_hub-0.32.0/src/huggingface_hub/inference/_mcp/__init__.py +0 -0
  108. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/black_forest_labs.py +0 -0
  109. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/fal_ai.py +0 -0
  110. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/hyperbolic.py +0 -0
  111. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/novita.py +0 -0
  112. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/openai.py +0 -0
  113. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference/_providers/replicate.py +0 -0
  114. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/inference_api.py +0 -0
  115. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/keras_mixin.py +0 -0
  116. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/lfs.py +0 -0
  117. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/repocard.py +0 -0
  118. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/repocard_data.py +0 -0
  119. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/repository.py +0 -0
  120. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/serialization/__init__.py +0 -0
  121. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/serialization/_base.py +0 -0
  122. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/serialization/_dduf.py +0 -0
  123. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/serialization/_tensorflow.py +0 -0
  124. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/serialization/_torch.py +0 -0
  125. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/templates/datasetcard_template.md +0 -0
  126. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/templates/modelcard_template.md +0 -0
  127. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/__init__.py +0 -0
  128. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_auth.py +0 -0
  129. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_cache_assets.py +0 -0
  130. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_cache_manager.py +0 -0
  131. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_chunk_utils.py +0 -0
  132. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_datetime.py +0 -0
  133. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_deprecation.py +0 -0
  134. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_fixes.py +0 -0
  135. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_git_credential.py +0 -0
  136. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_headers.py +0 -0
  137. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_hf_folder.py +0 -0
  138. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_http.py +0 -0
  139. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_lfs.py +0 -0
  140. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_pagination.py +0 -0
  141. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_paths.py +0 -0
  142. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_runtime.py +0 -0
  143. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_safetensors.py +0 -0
  144. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_subprocess.py +0 -0
  145. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_telemetry.py +0 -0
  146. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_typing.py +0 -0
  147. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_validators.py +0 -0
  148. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/_xet.py +0 -0
  149. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/endpoint_helpers.py +0 -0
  150. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/logging.py +0 -0
  151. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/sha.py +0 -0
  152. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub/utils/tqdm.py +0 -0
  153. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/dependency_links.txt +0 -0
  154. {huggingface_hub-0.31.3 → huggingface_hub-0.32.0}/src/huggingface_hub.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: huggingface_hub
3
- Version: 0.31.3
3
+ Version: 0.32.0
4
4
  Summary: Client library to download and publish models, datasets and other repos on the huggingface.co hub
5
5
  Home-page: https://github.com/huggingface/huggingface_hub
6
6
  Author: Hugging Face, Inc.
@@ -26,12 +26,14 @@ Requires-Python: >=3.8.0
26
26
  Description-Content-Type: text/markdown
27
27
  Provides-Extra: cli
28
28
  Provides-Extra: inference
29
+ Provides-Extra: oauth
29
30
  Provides-Extra: torch
30
31
  Provides-Extra: hf_transfer
31
32
  Provides-Extra: fastai
32
33
  Provides-Extra: tensorflow
33
34
  Provides-Extra: tensorflow-testing
34
35
  Provides-Extra: hf_xet
36
+ Provides-Extra: mcp
35
37
  Provides-Extra: testing
36
38
  Provides-Extra: typing
37
39
  Provides-Extra: quality
@@ -1,7 +1,5 @@
1
1
  [tool.mypy]
2
2
  ignore_missing_imports = true
3
- no_implicit_optional = true
4
- scripts_are_modules = true
5
3
 
6
4
  [tool.pytest.ini_options]
7
5
  # Add the specified `OPTS` to the set of command line arguments as if they had
@@ -14,6 +14,7 @@ def get_version() -> str:
14
14
  install_requires = [
15
15
  "filelock",
16
16
  "fsspec>=2023.5.0",
17
+ "hf-xet>=1.1.2,<2.0.0; platform_machine=='x86_64' or platform_machine=='amd64' or platform_machine=='arm64' or platform_machine=='aarch64'",
17
18
  "packaging>=20.9",
18
19
  "pyyaml>=5.1",
19
20
  "requests",
@@ -31,6 +32,13 @@ extras["inference"] = [
31
32
  "aiohttp", # for AsyncInferenceClient
32
33
  ]
33
34
 
35
+ extras["oauth"] = [
36
+ "authlib>=1.3.2", # minimum version to include https://github.com/lepture/authlib/pull/644
37
+ "fastapi",
38
+ "httpx", # required for authlib but not included in its dependencies
39
+ "itsdangerous", # required for starlette SessionMiddleware
40
+ ]
41
+
34
42
  extras["torch"] = [
35
43
  "torch",
36
44
  "safetensors[torch]",
@@ -55,11 +63,17 @@ extras["tensorflow-testing"] = [
55
63
  "keras<3.0",
56
64
  ]
57
65
 
58
- extras["hf_xet"] = ["hf-xet>=1.1.1,<2.0.0"]
66
+ extras["hf_xet"] = ["hf-xet>=1.1.2,<2.0.0"]
67
+
68
+ extras["mcp"] = [
69
+ "mcp>=1.8.0",
70
+ "typer",
71
+ ] + extras["inference"]
59
72
 
60
73
  extras["testing"] = (
61
74
  extras["cli"]
62
75
  + extras["inference"]
76
+ + extras["oauth"]
63
77
  + [
64
78
  "jedi",
65
79
  "Jinja2",
@@ -94,7 +108,8 @@ extras["typing"] = [
94
108
 
95
109
  extras["quality"] = [
96
110
  "ruff>=0.9.0",
97
- "mypy==1.5.1",
111
+ "mypy>=1.14.1,<1.15.0; python_version=='3.8'",
112
+ "mypy==1.15.0; python_version>='3.9'",
98
113
  "libcst==1.4.0",
99
114
  ]
100
115
 
@@ -117,7 +132,10 @@ setup(
117
132
  packages=find_packages("src"),
118
133
  extras_require=extras,
119
134
  entry_points={
120
- "console_scripts": ["huggingface-cli=huggingface_hub.commands.huggingface_cli:main"],
135
+ "console_scripts": [
136
+ "huggingface-cli=huggingface_hub.commands.huggingface_cli:main",
137
+ "tiny-agents=huggingface_hub.inference._mcp.cli:app",
138
+ ],
121
139
  "fsspec.specs": "hf=huggingface_hub.HfFileSystem",
122
140
  },
123
141
  python_requires=">=3.8.0",
@@ -46,7 +46,7 @@ import sys
46
46
  from typing import TYPE_CHECKING
47
47
 
48
48
 
49
- __version__ = "0.31.3"
49
+ __version__ = "0.32.0"
50
50
 
51
51
  # Alphabetical order of definitions is ensured in tests
52
52
  # WARNING: any comment added in this dictionary definition will be lost when
@@ -70,6 +70,13 @@ _SUBMOD_ATTRS = {
70
70
  "logout",
71
71
  "notebook_login",
72
72
  ],
73
+ "_oauth": [
74
+ "OAuthInfo",
75
+ "OAuthOrgInfo",
76
+ "OAuthUserInfo",
77
+ "attach_huggingface_oauth",
78
+ "parse_huggingface_oauth",
79
+ ],
73
80
  "_snapshot_download": [
74
81
  "snapshot_download",
75
82
  ],
@@ -294,10 +301,13 @@ _SUBMOD_ATTRS = {
294
301
  "ChatCompletionInputFunctionDefinition",
295
302
  "ChatCompletionInputFunctionName",
296
303
  "ChatCompletionInputGrammarType",
297
- "ChatCompletionInputGrammarTypeType",
304
+ "ChatCompletionInputJSONSchema",
298
305
  "ChatCompletionInputMessage",
299
306
  "ChatCompletionInputMessageChunk",
300
307
  "ChatCompletionInputMessageChunkType",
308
+ "ChatCompletionInputResponseFormatJSONObject",
309
+ "ChatCompletionInputResponseFormatJSONSchema",
310
+ "ChatCompletionInputResponseFormatText",
301
311
  "ChatCompletionInputStreamOptions",
302
312
  "ChatCompletionInputTool",
303
313
  "ChatCompletionInputToolCall",
@@ -433,6 +443,12 @@ _SUBMOD_ATTRS = {
433
443
  "ZeroShotObjectDetectionOutputElement",
434
444
  "ZeroShotObjectDetectionParameters",
435
445
  ],
446
+ "inference._mcp.agent": [
447
+ "Agent",
448
+ ],
449
+ "inference._mcp.mcp_client": [
450
+ "MCPClient",
451
+ ],
436
452
  "inference_api": [
437
453
  "InferenceApi",
438
454
  ],
@@ -512,6 +528,7 @@ _SUBMOD_ATTRS = {
512
528
  # ```
513
529
 
514
530
  __all__ = [
531
+ "Agent",
515
532
  "AsyncInferenceClient",
516
533
  "AudioClassificationInput",
517
534
  "AudioClassificationOutputElement",
@@ -535,10 +552,13 @@ __all__ = [
535
552
  "ChatCompletionInputFunctionDefinition",
536
553
  "ChatCompletionInputFunctionName",
537
554
  "ChatCompletionInputGrammarType",
538
- "ChatCompletionInputGrammarTypeType",
555
+ "ChatCompletionInputJSONSchema",
539
556
  "ChatCompletionInputMessage",
540
557
  "ChatCompletionInputMessageChunk",
541
558
  "ChatCompletionInputMessageChunkType",
559
+ "ChatCompletionInputResponseFormatJSONObject",
560
+ "ChatCompletionInputResponseFormatJSONSchema",
561
+ "ChatCompletionInputResponseFormatText",
542
562
  "ChatCompletionInputStreamOptions",
543
563
  "ChatCompletionInputTool",
544
564
  "ChatCompletionInputToolCall",
@@ -637,10 +657,14 @@ __all__ = [
637
657
  "InferenceEndpointType",
638
658
  "InferenceTimeoutError",
639
659
  "KerasModelHubMixin",
660
+ "MCPClient",
640
661
  "ModelCard",
641
662
  "ModelCardData",
642
663
  "ModelHubMixin",
643
664
  "ModelInfo",
665
+ "OAuthInfo",
666
+ "OAuthOrgInfo",
667
+ "OAuthUserInfo",
644
668
  "ObjectDetectionBoundingBox",
645
669
  "ObjectDetectionInput",
646
670
  "ObjectDetectionOutputElement",
@@ -762,6 +786,7 @@ __all__ = [
762
786
  "add_collection_item",
763
787
  "add_space_secret",
764
788
  "add_space_variable",
789
+ "attach_huggingface_oauth",
765
790
  "auth_check",
766
791
  "auth_list",
767
792
  "auth_switch",
@@ -862,6 +887,7 @@ __all__ = [
862
887
  "move_repo",
863
888
  "notebook_login",
864
889
  "paper_info",
890
+ "parse_huggingface_oauth",
865
891
  "parse_safetensors_file_metadata",
866
892
  "pause_inference_endpoint",
867
893
  "pause_space",
@@ -1026,6 +1052,13 @@ if TYPE_CHECKING: # pragma: no cover
1026
1052
  logout, # noqa: F401
1027
1053
  notebook_login, # noqa: F401
1028
1054
  )
1055
+ from ._oauth import (
1056
+ OAuthInfo, # noqa: F401
1057
+ OAuthOrgInfo, # noqa: F401
1058
+ OAuthUserInfo, # noqa: F401
1059
+ attach_huggingface_oauth, # noqa: F401
1060
+ parse_huggingface_oauth, # noqa: F401
1061
+ )
1029
1062
  from ._snapshot_download import snapshot_download # noqa: F401
1030
1063
  from ._space_api import (
1031
1064
  SpaceHardware, # noqa: F401
@@ -1244,10 +1277,13 @@ if TYPE_CHECKING: # pragma: no cover
1244
1277
  ChatCompletionInputFunctionDefinition, # noqa: F401
1245
1278
  ChatCompletionInputFunctionName, # noqa: F401
1246
1279
  ChatCompletionInputGrammarType, # noqa: F401
1247
- ChatCompletionInputGrammarTypeType, # noqa: F401
1280
+ ChatCompletionInputJSONSchema, # noqa: F401
1248
1281
  ChatCompletionInputMessage, # noqa: F401
1249
1282
  ChatCompletionInputMessageChunk, # noqa: F401
1250
1283
  ChatCompletionInputMessageChunkType, # noqa: F401
1284
+ ChatCompletionInputResponseFormatJSONObject, # noqa: F401
1285
+ ChatCompletionInputResponseFormatJSONSchema, # noqa: F401
1286
+ ChatCompletionInputResponseFormatText, # noqa: F401
1251
1287
  ChatCompletionInputStreamOptions, # noqa: F401
1252
1288
  ChatCompletionInputTool, # noqa: F401
1253
1289
  ChatCompletionInputToolCall, # noqa: F401
@@ -1383,6 +1419,8 @@ if TYPE_CHECKING: # pragma: no cover
1383
1419
  ZeroShotObjectDetectionOutputElement, # noqa: F401
1384
1420
  ZeroShotObjectDetectionParameters, # noqa: F401
1385
1421
  )
1422
+ from .inference._mcp.agent import Agent # noqa: F401
1423
+ from .inference._mcp.mcp_client import MCPClient # noqa: F401
1386
1424
  from .inference_api import InferenceApi # noqa: F401
1387
1425
  from .keras_mixin import (
1388
1426
  KerasModelHubMixin, # noqa: F401
@@ -149,6 +149,7 @@ class LocalUploadFileMetadata:
149
149
  should_ignore: Optional[bool] = None
150
150
  sha256: Optional[str] = None
151
151
  upload_mode: Optional[str] = None
152
+ remote_oid: Optional[str] = None
152
153
  is_uploaded: bool = False
153
154
  is_committed: bool = False
154
155
 
@@ -172,6 +173,9 @@ class LocalUploadFileMetadata:
172
173
 
173
174
  if self.upload_mode is not None:
174
175
  f.write(self.upload_mode)
176
+
177
+ if self.remote_oid is not None:
178
+ f.write(self.remote_oid)
175
179
  f.write("\n")
176
180
 
177
181
  f.write(str(int(self.is_uploaded)) + "\n")
@@ -346,6 +350,9 @@ def read_upload_metadata(local_dir: Path, filename: str) -> LocalUploadFileMetad
346
350
  if upload_mode not in (None, "regular", "lfs"):
347
351
  raise ValueError(f"Invalid upload mode in metadata {paths.path_in_repo}: {upload_mode}")
348
352
 
353
+ _remote_oid = f.readline().strip()
354
+ remote_oid = None if _remote_oid == "" else _remote_oid
355
+
349
356
  is_uploaded = bool(int(f.readline().strip()))
350
357
  is_committed = bool(int(f.readline().strip()))
351
358
 
@@ -355,6 +362,7 @@ def read_upload_metadata(local_dir: Path, filename: str) -> LocalUploadFileMetad
355
362
  should_ignore=should_ignore,
356
363
  sha256=sha256,
357
364
  upload_mode=upload_mode,
365
+ remote_oid=remote_oid,
358
366
  is_uploaded=is_uploaded,
359
367
  is_committed=is_committed,
360
368
  )