{"record":{"id":"2422a25d6b82955a","repo":"docling-project/docling","slug":"whisper-is-not-installed-unfortunately-its-depend","errorCode":null,"errorMessage":"whisper is not installed. Unfortunately its dependencies are not yet available for Python 3.14.","messagePattern":"whisper is not installed\\. Unfortunately its dependencies are not yet available for Python 3\\.14\\.","errorType":"exception","errorClass":"ImportError","httpStatus":null,"severity":"error","filePath":"docling/pipeline/asr_transcriber.py","lineNumber":215,"sourceCode":"        asr_options: InlineAsrNativeWhisperOptions,\n    ):\n        \"\"\"Transcriber using native Whisper.\"\"\"\n        self.enabled = enabled\n\n        _log.info(f\"artifacts-path: {artifacts_path}\")\n        _log.info(f\"accelerator_options: {accelerator_options}\")\n\n        if self.enabled:\n            try:\n                import whisper  # type: ignore\n            except ImportError:\n                if sys.version_info < (3, 14):\n                    raise ImportError(\n                        \"whisper is not installed. Please install it via \"\n                        \"`pip install openai-whisper` or do `uv sync --extra asr`.\"\n                    )\n                else:\n                    raise ImportError(\n                        \"whisper is not installed. Unfortunately its dependencies \"\n                        \"are not yet available for Python 3.14.\"\n                    )\n\n            self.asr_options = asr_options\n            self.max_tokens = asr_options.max_new_tokens\n\n            self.device = decide_device(\n                accelerator_options.device,\n                supported_devices=asr_options.supported_devices,\n            )\n            _log.info(f\"Available device for Whisper: {self.device}\")\n\n            self.model_name = asr_options.repo_id\n            _log.info(f\"loading _NativeWhisperModel({self.model_name})\")\n            distil_checkpoint = _DISTIL_WHISPER_OPENAI_CHECKPOINTS.get(self.model_name)\n            if distil_checkpoint is not None:\n                from huggingface_hub import hf_hub_download","sourceCodeStart":197,"sourceCodeEnd":233,"githubUrl":"https://github.com/docling-project/docling/blob/61d76f1ff3f8428065465889f7b4577da7df704c/docling/pipeline/asr_transcriber.py#L197-L233","documentation":"Same missing-whisper condition as the sibling error, but on Python 3.14+ the message changes: openai-whisper's dependencies are not yet available for 3.14, so installing it is not a viable fix. The library deliberately distinguishes this so users on 3.14 do not chase a broken install.","triggerScenarios":"Running the whisper ASR transcriber enabled on CPython 3.14 or newer in any environment — the import always fails because the wheel ecosystem (e.g. triton/tokenizer builds openai-whisper pins) lacks 3.14 support at this docling version.","commonSituations":"New Python release adopted early in CI images or dev machines; docker base image upgraded to python:3.14 while using docling's native Whisper engine.","solutions":["Run on a supported Python (3.10-3.13) — e.g. switch the docker base image or pyenv/uv version","Use a different ASR engine that supports your Python (whisper_s2t via InlineAsrWhisperS2TOptions, if installable)","Pin the project to docling versions once openai-whisper publishes 3.14-compatible dependencies"],"exampleFix":"# before\n# Dockerfile\nFROM python:3.14\n\n# after\nFROM python:3.12","handlingStrategy":"validation","validationCode":"import sys\n\nif sys.version_info >= (3, 14):\n    raise RuntimeError('Native whisper ASR requires Python <= 3.13; select another ASR engine or pin Python')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Pin CI and production images to a supported Python (3.10-3.13) when using native whisper","Gate engine selection on sys.version_info so 3.14 environments fall back to whisper_s2t or disable ASR"],"tags":["asr","whisper","python-version","compatibility"],"backgroundTag":null,"analyzedSha":"61d76f1ff3f8428065465889f7b4577da7df704c","analyzedAt":"2026-08-14T23:53:18.727Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}