-
Notifications
You must be signed in to change notification settings - Fork 800
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 | bash
- Add more
hf
commands / address existing CLI tickets - Consider adding telemetry to CLI
- Should we remove
huggingface-cli
? - set
rich_markup_mode=None
to 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.md
page [v1.0] Update "HTTP backend" docs +git_vs_http
guide #3357 - Document HTTP backend configuration [v1.0] Update "HTTP backend" docs +
git_vs_http
guide #3357
Clean up / breaking changes
- All commit methods should return a commit URL (currently
upload_file
/upload_folder
return 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 -
login
methods: renamenew_session=False
toskip_if_logged_in=True
(from internal slack thread) [v1.0] Remove more deprecated stuff #3345 -
hf_hub_download
: removeforce_filename
andresume_endpoint
parameters [v1.0] Remove more deprecated stuff #3345 -
list_models
: remove deprecated arguments [v1.0] Remove more deprecated stuff #3345 -
build_hf_headers
: removeis_write_action
parameter [v1.0] Remove more deprecated stuff #3345 - Remove
Repository
class [v1.0] RemoveRepository
class #3346 - Remove
InferenceAPI
class [v1.0] RemoveHfFolder
andInferenceAPI
classes #3344 - Remove
HfFolder
class [v1.0] RemoveHfFolder
andInferenceAPI
classes #3344 - Remove
update_repo_visibility
method [v1.0] Remove more deprecated stuff #3345 - Remove
get_token_permission
method [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_args
on login methods #3349
Internals
- Switch type annotations to use built-in generic (
dict
instead oftyping.Dict
) Bump minimal version to Python3.9 #3343 - Remove all
# noqa: F401 # kept for backward compatibility
from import sections [v1.0] Remove imports kept only for backward compatibility #3350