Skip to content

v0.14.0

Choose a tag to compare

@narugo1992 narugo1992 released this 27 Oct 14:26

What's Changed

  • test: replay recorded Hugging Face traffic (VCR + mitmproxy), huggingface_hub 0.20 - 2.x, Python 3.8 - 3.14 by @narugo1992 in #77

Compatibility

  • huggingface_hub>=0.20.0 (was >=0.31.0): hfutils now works with huggingface_hub 0.20 and newer, up to 2.x. Verified in CI on 0.20.3, 0.31.0, 0.36, 1.x and 2.x.
  • Python 3.14 is declared and tested (Python 3.8 - 3.14, python_requires is still >=3.8).
  • Fixed what broke on the oldest huggingface_hub versions: import hfutils failed (huggingface_hub.errors does not exist in 0.20), hfutils ls and hf_hub_repo_analysis read last_commit / lfs as objects (they are plain dicts in 0.20), and hf_tar_file_download passed displayed_filename to http_get, which 0.20 does not have.
  • Nothing changes for installations that already ran on huggingface_hub>=0.31, and the public API is unchanged.

Tests and CI

  • The unit tests no longer talk to huggingface.co: they replay traffic recorded from the real service, with huggingface_hub and hfutils both running for real, so the rate limit of the shared token no longer breaks CI. git, git-lfs and the native hf_xet client are recorded through mitmproxy. See test/cassettes/README.md.
  • CI runs 13 cells (Python 3.8 - 3.14 x huggingface_hub 0.20 - 2.x on Linux, Windows and macOS) in about 4 minutes; coverage on Codecov goes from 87.8 % to 90.4 %.
  • The CLI smoke check of the release workflows downloads a public repository (the private one it used answers 403 since the account's private storage is full).
  • 36 tests that read files of private datasets stay skipped, with the reason recorded in test/cassettes/PENDING.txt; their code is covered by tests on public data.

Full Changelog: v0.13.0...v0.14.0