From 8878bf974f6cece82ca216a9d4075b3e24b795e2 Mon Sep 17 00:00:00 2001 From: Diego Martin Arroyo Date: Wed, 13 May 2026 09:23:28 +0200 Subject: [PATCH] Fixes import errors for huggingface_hub.utils In some platforms the import is slightly different due to multiple versions of the library being present. This adds a try-catch clause to handle those scenarios. --- src/maxdiffusion/configuration_utils.py | 6 +++++- .../loaders/flux_lora_pipeline.py | 6 +++++- src/maxdiffusion/loaders/lora_pipeline.py | 6 +++++- .../models/ltx2/latent_upsampler_ltx2.py | 6 +++++- src/maxdiffusion/models/ltx2/ltx2_utils.py | 7 ++++++- .../models/modeling_flax_utils.py | 6 +++++- .../trainers/dreambooth_trainer.py | 6 +++++- src/maxdiffusion/utils/hub_utils.py | 21 +++++++++++++------ src/maxdiffusion/utils/import_utils.py | 5 ++++- 9 files changed, 55 insertions(+), 14 deletions(-) diff --git a/src/maxdiffusion/configuration_utils.py b/src/maxdiffusion/configuration_utils.py index b748918b4..f4ace23f0 100644 --- a/src/maxdiffusion/configuration_utils.py +++ b/src/maxdiffusion/configuration_utils.py @@ -29,7 +29,11 @@ from dataclasses import asdict, is_dataclass from huggingface_hub import create_repo, hf_hub_download -from huggingface_hub.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError + +try: + from huggingface_hub.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError +except ImportError: + from huggingface_hub.v0.errors import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError from requests import HTTPError import jax.numpy as jnp from . import __version__ diff --git a/src/maxdiffusion/loaders/flux_lora_pipeline.py b/src/maxdiffusion/loaders/flux_lora_pipeline.py index 56844db7f..0220041bb 100644 --- a/src/maxdiffusion/loaders/flux_lora_pipeline.py +++ b/src/maxdiffusion/loaders/flux_lora_pipeline.py @@ -18,7 +18,11 @@ import jax.numpy as jnp from flax.traverse_util import flatten_dict from ..models.modeling_flax_pytorch_utils import convert_flux_lora_pytorch_state_dict_to_flax -from huggingface_hub.utils import validate_hf_hub_args + +try: + from huggingface_hub.utils import validate_hf_hub_args +except ImportError: + from huggingface_hub.v0.utils import validate_hf_hub_args class FluxLoraLoaderMixin(LoRABaseMixin): diff --git a/src/maxdiffusion/loaders/lora_pipeline.py b/src/maxdiffusion/loaders/lora_pipeline.py index 2d8c1c75f..81e3d357a 100644 --- a/src/maxdiffusion/loaders/lora_pipeline.py +++ b/src/maxdiffusion/loaders/lora_pipeline.py @@ -22,7 +22,11 @@ _maybe_map_sgm_blocks_to_diffusers, ) from ..models.modeling_flax_pytorch_utils import convert_lora_pytorch_state_dict_to_flax -from huggingface_hub.utils import validate_hf_hub_args + +try: + from huggingface_hub.utils import validate_hf_hub_args +except ImportError: + from huggingface_hub.v0.utils import validate_hf_hub_args TEXT_ENCODER_NAME = "text_encoder" UNET_NAME = "unet" diff --git a/src/maxdiffusion/models/ltx2/latent_upsampler_ltx2.py b/src/maxdiffusion/models/ltx2/latent_upsampler_ltx2.py index f5448c59f..2ad3a04f9 100644 --- a/src/maxdiffusion/models/ltx2/latent_upsampler_ltx2.py +++ b/src/maxdiffusion/models/ltx2/latent_upsampler_ltx2.py @@ -24,7 +24,11 @@ from flax import nnx from huggingface_hub import hf_hub_download -from huggingface_hub.utils import EntryNotFoundError, HfHubHTTPError + +try: + from huggingface_hub.utils import EntryNotFoundError, HfHubHTTPError +except ImportError: + from huggingface_hub.v0.utils import EntryNotFoundError, HfHubHTTPError RATIONAL_RESAMPLER_SCALE_MAPPING = { 0.75: (3, 4), diff --git a/src/maxdiffusion/models/ltx2/ltx2_utils.py b/src/maxdiffusion/models/ltx2/ltx2_utils.py index 7cf7fa761..7b3ced7df 100644 --- a/src/maxdiffusion/models/ltx2/ltx2_utils.py +++ b/src/maxdiffusion/models/ltx2/ltx2_utils.py @@ -21,7 +21,12 @@ import jax.numpy as jnp from maxdiffusion import max_logging from huggingface_hub import hf_hub_download -from huggingface_hub.utils import EntryNotFoundError + +try: + from huggingface_hub.utils import EntryNotFoundError +except ImportError: + from huggingface_hub.v0.utils import EntryNotFoundError + from safetensors import safe_open from flax.traverse_util import unflatten_dict, flatten_dict from ..modeling_flax_pytorch_utils import (rename_key, rename_key_and_reshape_tensor, torch2jax, validate_flax_state_dict) diff --git a/src/maxdiffusion/models/modeling_flax_utils.py b/src/maxdiffusion/models/modeling_flax_utils.py index d346eef2f..ffd484797 100644 --- a/src/maxdiffusion/models/modeling_flax_utils.py +++ b/src/maxdiffusion/models/modeling_flax_utils.py @@ -24,7 +24,11 @@ from flax.serialization import from_bytes, to_bytes from flax.traverse_util import flatten_dict, unflatten_dict from huggingface_hub import create_repo, hf_hub_download -from huggingface_hub.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError + +try: + from huggingface_hub.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError +except ImportError: + from huggingface_hub.v0.utils import EntryNotFoundError, RepositoryNotFoundError, RevisionNotFoundError from requests import HTTPError from .. import __version__, is_torch_available diff --git a/src/maxdiffusion/trainers/dreambooth_trainer.py b/src/maxdiffusion/trainers/dreambooth_trainer.py index 07e5a26b6..e4954f01c 100644 --- a/src/maxdiffusion/trainers/dreambooth_trainer.py +++ b/src/maxdiffusion/trainers/dreambooth_trainer.py @@ -28,7 +28,11 @@ import optax import torch from torch.utils.data import Dataset -from huggingface_hub.utils import insecure_hashlib + +try: + from huggingface_hub.utils import insecure_hashlib +except ImportError: + from huggingface_hub.v0.utils import insecure_hashlib from tqdm import tqdm from maxdiffusion.trainers.base_stable_diffusion_trainer import BaseStableDiffusionTrainer diff --git a/src/maxdiffusion/utils/hub_utils.py b/src/maxdiffusion/utils/hub_utils.py index 94880b0c8..a5e455916 100644 --- a/src/maxdiffusion/utils/hub_utils.py +++ b/src/maxdiffusion/utils/hub_utils.py @@ -26,12 +26,21 @@ from huggingface_hub import ModelCard, ModelCardData, create_repo, get_token, hf_hub_download, upload_folder, whoami from huggingface_hub.file_download import REGEX_COMMIT_HASH -from huggingface_hub.utils import ( - EntryNotFoundError, - RepositoryNotFoundError, - RevisionNotFoundError, - is_jinja_available, -) + +try: + from huggingface_hub.utils import ( + EntryNotFoundError, + RepositoryNotFoundError, + RevisionNotFoundError, + is_jinja_available, + ) +except ImportError: + from huggingface_hub.v0.utils import ( + EntryNotFoundError, + RepositoryNotFoundError, + RevisionNotFoundError, + is_jinja_available, + ) from packaging import version from requests import HTTPError diff --git a/src/maxdiffusion/utils/import_utils.py b/src/maxdiffusion/utils/import_utils.py index a11f3f4a0..6d2c58581 100644 --- a/src/maxdiffusion/utils/import_utils.py +++ b/src/maxdiffusion/utils/import_utils.py @@ -23,7 +23,10 @@ from types import ModuleType from typing import Any, Union -from huggingface_hub.utils import is_jinja_available # noqa: F401 +try: + from huggingface_hub.utils import is_jinja_available # noqa: F401 +except ImportError: + from huggingface_hub.v0.utils import is_jinja_available # noqa: F401 from packaging import version from packaging.version import Version, parse