Skip to content

Commit d10bbd9

Browse files
committed
hooks: update langchain hook for compatibility with langchain 1.2.10
`langchain` 1.2.10 renamed the internal variable that lists supported providers, from `_SUPPORTED_PROVIDERS` to `_BUILTIN_PROVIDERS`. Add a version check and select the correct name to use.
1 parent 6e393ca commit d10bbd9

File tree

2 files changed

+15
-6
lines changed

2 files changed

+15
-6
lines changed

_pyinstaller_hooks_contrib/stdhooks/hook-langchain.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,30 @@
2424
from PyInstaller import isolated
2525

2626
@isolated.decorate
27-
def get_optional_packages():
27+
def get_optional_packages(var_name):
2828
packages = set()
2929

3030
try:
31-
from langchain.chat_models.base import _SUPPORTED_PROVIDERS
32-
packages.update(package_name for package_name, *_ in _SUPPORTED_PROVIDERS.values())
31+
import langchain.chat_models.base
32+
providers = getattr(langchain.chat_models.base, var_name)
33+
packages.update(package_name for package_name, *_ in providers.values())
3334
except Exception:
3435
pass
3536

3637
try:
37-
from langchain.embeddings.base import _SUPPORTED_PROVIDERS
38-
packages.update(package_name for package_name, *_ in _SUPPORTED_PROVIDERS.values())
38+
import langchain.embeddings.base
39+
providers = getattr(langchain.embeddings.base, var_name)
40+
packages.update(package_name for package_name, *_ in providers.values())
3941
except Exception:
4042
pass
4143

4244
return sorted(packages)
4345

44-
hiddenimports = get_optional_packages()
46+
# langchain 1.2.10 renamed the `_SUPPORTED_PROVIDERS` into `_BUILTIN_PROVIDERS`.
47+
if is_module_satisfies('langchain >= 1.2.10'):
48+
var_name = '_BUILTIN_PROVIDERS'
49+
else:
50+
var_name = '_SUPPORTED_PROVIDERS'
51+
52+
hiddenimports = get_optional_packages(var_name)
4553
warn_on_missing_hiddenimports = False

news/987.update.1.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Update ``langchain`` hook for compatibility with ``langchain`` 1.2.10.

0 commit comments

Comments
 (0)