-
Couldn't load subscription status.
- Fork 833
Description
TL;DR: We are planning to release huggingface_hub 1.0 in the coming weeks! π₯π₯π₯
After nearly 5 years of development, huggingface_hub has become a robust and stable library that serves as the foundation for the Hugging Face Python ecosystem. With over 25M weekly downloads, 1.4B+ total downloads, and 200k+ dependent repositories, it's used by millions of developers worldwide every day. This major release marks our commitment to API stability and the maturity of the library.
This issue exists to track progress of tasks we want to complete before the release. Feel free to comment on it if you have any suggestion or remark to make. Goal is to have a stable release candidate by end of September and an official release in the following weeks.
This issue tracks all tasks that we want to complete before the 1.0 release. Feedback is very much welcomed. Please feel free to comment with any suggestions, concerns, or remarks you may have. Our goal is to have a stable release candidate ready by the end of September, with the official release following in the subsequent weeks.
In practice, we started a v1.0-release branch to which PRs will be merged. If a new feature or bug-fix is merged to main, we will rebase to the v1.0-release branch as well. Once the v1.0 will be released, we will publish a last 0.x release (likely 0.35.0). This 0.x package will be maintained for critical bug fixes and security issues but won't get any new features. We will provide a guide to migrate external libraries from 0.x to 1.x, hoping that the problematic breaking changes will remain minimal.
Improvements
- HTTPX Migration. Let's use httpx 0.x (following OpenAI and others, not 1.0 alpha). [1.0] Httpx migrationΒ #3328
- Improve CLIΒ #3351
- Refactor CLI implementation using Typer Refactor CLI implementation using TyperΒ #3365
- Add autocomplete support Refactor CLI implementation using TyperΒ #3365
- Add package installer (install in a separate env, install autocomple commands, etc.) Think
curl https://hf.co/install-cli | bashAdd cross-platform CLI InstallersΒ #3378 - Redirect CLI installers paths in hf.co to main (cf this internal PR).
- Add more
hfcommands / address existing CLI tickets Add new HF commandsΒ #3384 - Consider adding telemetry to CLI
- Should we remove
huggingface-cli? Removehuggingface-clientirely in favor ofhfΒ #3404 - set
rich_markup_mode=Noneto disable rich in all cases https://github.com/huggingface/huggingface_hub/pull/3365https://typer.tiangolo.com/tutorial/commands/help/#rich-markdown-and-markup
- Bump to Python 3.9+ Bump minimal version to Python3.9Β #3343
Documentation
- Migration guide [v1.0] feat: add migration guide for v1.0Β #3360
- Refacto
git_vs_http.mdpage [v1.0] Update "HTTP backend" docs +git_vs_httpguideΒ #3357 - Document HTTP backend configuration [v1.0] Update "HTTP backend" docs +
git_vs_httpguideΒ #3357
Clean up / breaking changes
- All commit methods should return a commit URL (currently
upload_file/upload_folderreturn links to files/folders) [v1.0] Remove more deprecated stuffΒ #3345 -
login/interpreter_login/notebook_login: remove deprecated arguments [v1.0] Remove more deprecated stuffΒ #3345 -
loginmethods: renamenew_session=Falsetoskip_if_logged_in=True(from internal slack thread) [v1.0] Remove more deprecated stuffΒ #3345 -
hf_hub_download: removeforce_filenameandresume_endpointparameters [v1.0] Remove more deprecated stuffΒ #3345 -
list_models: remove deprecated arguments [v1.0] Remove more deprecated stuffΒ #3345 -
build_hf_headers: removeis_write_actionparameter [v1.0] Remove more deprecated stuffΒ #3345 - Remove
Repositoryclass [v1.0] RemoveRepositoryclassΒ #3346 - Remove
InferenceAPIclass [v1.0] RemoveHfFolderandInferenceAPIclassesΒ #3344 - Remove
HfFolderclass [v1.0] RemoveHfFolderandInferenceAPIclassesΒ #3344 - Remove
update_repo_visibilitymethod [v1.0] Remove more deprecated stuffΒ #3345 - Remove
get_token_permissionmethod [v1.0] Remove more deprecated stuffΒ #3345 - Remove "smoothly_deprecate_use_auth_token" logic [v1.0] Remove more deprecated stuffΒ #3345
- Remove
constants.hf_cache_home(legacy) [v1.0] Remove more deprecated stuffΒ #3345 - Remove TensorFlow support from serialization module (?) [v1.0] Remove anything tensorflow-related + depsΒ #3354
- Remove Keras2 integration [v1.0] Remove keras2 utilitiesΒ #3352
- Remove any TensorFlow-related code (?) [v1.0] Remove anything tensorflow-related + depsΒ #3354
- Remove all
_deprecate_positional_args[v1.0] Remove_deprecate_positional_argson login methodsΒ #3349
Internals
- Switch type annotations to use built-in generic (
dictinstead oftyping.Dict) Bump minimal version to Python3.9Β #3343 - Remove all
# noqa: F401 # kept for backward compatibilityfrom import sections [v1.0] Remove imports kept only for backward compatibilityΒ #3350
Compatibility with HF ecosystem
| Library | Tested | 0.x Support | 1.x Support | Comment |
|---|---|---|---|---|
| kernels | β | β | β | huggingface/kernels#151 |
| tokenizers | β | β | β | huggingface/tokenizers#1866 |
| diffusers | β | β | β | huggingface/diffusers#12389 |
| transformers | β | β | β | transformers v5.x required |
| datasets | β | β | β | huggingface/datasets#7783 |
| gradio | β | β | β | gradio-app/gradio#11979 |
| setfit | β | β | β | huggingface/setfit#618 |
| timm | β | β | β | huggingface/pytorch-image-models#2592 |
| accelerate | β | β | It looks ok (nothing hfh or requests related) | |
| lighteval | β | β | It looks ok (nothing hfh or requests related) | |
| sentence-transformers | β | β | β | manually tested by @tomaarsen |
| peft | β | β | β | huggingface/peft#2808 (from @BenjaminBossan) |
| trl | β | β | It looks ok (nothing hfh or requests related) | |
| evaluate | β | ?? | ?? | Not maintained anymore |