- Add a hook for
plum, to automatically discover and collect the{id}__mypyctop-level module. (#1008) - Add a hook for
tensorrt, which loads dynamic libraries. (#1005) - Add hook for
psycopg_c(C-extension installation of Psycopg 3) to ensure thatpsycopg_c._uuidmodule is collected, in order to prevent missing-module error when working with data of UUID data type. (#1010)
- Rework the
findlibsrun-time hook to improve compatibility withfindlibs>= 0.1.0 and avoid problems with contemporary versions ofeccodes/eccodeslib. (#1014) - Update
trame_clienthook to collect package's metadata, which is required bytrame-clientv3.12.0 and later. (#1015)
- Add a hook for
imagingcontrol4, which loads dynamic libraries. (#1001)
- Update
chardethook for compatibility withchardetv7.4.0. (#1004) - Update hook for
weasyprintto collect theharfbuzz-subsetshared library when building withWeasyPrintv63.0 or later. (#999)
- Add hook for
chardet, required for compatibility withchardetv7.0.0 and later. (#995)
- Update
charset_normalizerhook for compatibility withcharset-normalizerv3.4.5. (#995) - Update
psutilhook for compatibility withpsutilinstalled in a Termux environment with python 3.13 or later. (#996)
- Add hook for
adbc_driver_managerpackage. (#990) - Add hook for
richto ensure that modules fromrich._unicode_dataare collected forrichv14.3.0 and later. (#991)
- Update
langchainhook for compatibility withlangchain1.2.10. (#987) - Update
vtkmoduleshooks for compatibility withvtk9.6.0. (#987)
- Add hook for
ddgs. (#978) - Add hook for
fake_useragent. (#978) - Add hook for
pytokensto automatically discover and collect the{id}__mypyctop-level module that was introduced inpytokens0.4.0. (#982)
- Update
langchainhook for compatibility withlangchain>= 1.2.1; ensure that installed optional add-on packages continue being automatically collected. (#980)
- Update
skimagehooks for compatibility withscikit-image0.26.0. (#976)
- The hooks for following modules/packages have been ported to
PyInstaller.isolatedframework and therefore require PyInstaller >= 5.0: -win32com-wx.lib.activex-enchant-sentry_sdk-ffpyplayerIf you are still using PyInstaller 4.x and any of these packages, make sure to pin an older version ofpyinstaller-hooks-contrib. (#970)
- Add hook for
dateparserto collect the data file that was introduced indateparserv.1.2.2. (#958) - Add hook for
duckdbto ensure thatinspectmodule is collected (might end up missing with python < 3.10 otherwise), and that the package's metadata is collected forduckdb>= 1.4.0. (#952) - Add hook for
niceguito collect the data files of the package. (#962) - Add hook for
psycopg_binary(binary installation Psycopg 3) to ensure thatpsycopg_binary._uuidmodule is collected, in order to prevent missing-module error when working with data of UUID data type. (#956) - Add hook for
pyechartsto collect the data files of the package. (#963)
- Update
langchainhooks forlangchainv.1.0.x. (#960)
- Add hook for
cummto ensure that header files fromcumm/includedirectory are collected. (#941) - Add hook for
globus_sdkpackage. (#940) - Add hook for
pointceptto collect its source .py files for TorchScript/JIT. (#941)
- Harden
blib2to3andtorchhooks against missingRECORDin the corresponding distributions' metadata, which would lead to a'NoneType' object is not iterableerror when the hook tries to iterate over distribution's file list. (#942) - Update
numbahook for changes made innumbav0.62.0 (i.e., removal of the new type system that was previously introduced in v0.61 series). (#949) - Update
torchhook to check whethertorchis installed via Anacondapytorchpackage, and collect DLLs from Anacondamklpackage and its dependencies, if necessary. (#941)
- Add hook for
uuid6, which, starting with version 2025.0.1, requires its metadata to be collected. (#929)
- shapely hook: extend the search for geos_c DLL to also look for an alternative name with lib prefix (i.e., libgeos_c), which is used in MSYS2 environment. (#927)
- Adjust the value of automatically-raised recursion limit (which :issue:`925` set at 5000); for Windows builds of python 3.8 - 3.10 and python 3.9 available under Cygwin, the value needs to be lowered to 1900, as higher values lead to python interpreter crash in scenarios when recursion level actually approaches the limit (for example, the recursion limit test in the main PyInstaller repository). (#928)
- Update
gribapihook for compatibility witheccodes2.43.0; add hooks foreccodeslib,eckitlib, andfckitlib, which now provide the bundled shared libraries on non-Windows systems. (#930) - Update the run-time hook for
findlibsfor improved compatibility withfindlibs> 1.0.0; avoid providing a default value forpkg_nameargument in ourfindlibs.find()override, and instead forward the original value (i.e.,None) to the originalfind()implementation. (#930)
- Automatically raise the recursion limit to at least 5000 when the
_pyinstaller_hooks_contribmodule is loaded, rather than raising the recursion limit on per-hook basis. (#925) - Update
sklearnhooks for compatibility withscikit-learn1.7.1. (#925)
- Add a hook for
pynng, which has a hidden import. (#922) - Add hook for
torchaoto collect its source .py files for TorchScript/JIT. (#917) - Add hooks for new modules that were introduced in
vtk9.5.0:vtkmodules.vtkIOAvmesh,vtkmodules.vtkIOLANLX3D,vtkmodules.vtkRenderingGridAxes, andvtkmodules.vtkTestingSerialization. (#919)
- Update
plotlyhook for compatibility withplotly6.2.0. (#919) - Update
pylslhook for compatibility withpylsl>= 1.17.0. (#924) - Update
togahook for compatibility withtoga0.5.2: ensure thattoga/__init__.pyifile is collected. (#923)
- Extend hooks for
slearnto fix compatibility withscikit-learnv1.7.0; add hooks forsklearn.externals.array_api_compat.cupy,sklearn.externals.array_api_compat.dask.array,sklearn.externals.array_api_compat.numpy, andsklearn.externals.array_api_compat.torchthat specify hidden imports for corresponding.linalgand.fftsub-modules, which are imported with using__import__()function and programmatically-generated names. (#915)
usbhook: fix shared library collection on Windows. (#906)- Have the
_load_libraryoverride installed by theusbrun-time hook honor the passedfind_libraryargument. (#913)
- Fix error in
narwhalshook whentyping-extensionsis not available in the build environment (neither stand-alone version is installed nor it is provided as part ofsetuptools). (#908)
- Add hook for
apkutilswhich requries to collect its XML file. (#894) - Add hook for
emoji. (#891) - Add hook for
frictionlessto collect package's data files, and programmatically imported modules fromfrictionless.plugins. (#897) - Add hook for
narwhalsto collect metadata fortyping-extensions, which is required starting withnarwhalsv1.35.0. (#901) - Add hooks for
blackandblikb2to3packages from theblackdist to collect hidden imports and data files. (#897) - Add hooks for
tkinterweb, to collect data files, andtkinterweb-tkhtml, to collect extra data files and binaries. (#899) - Add hooks for
urllib3andurllib3_futureto handle indirect imports made by theurllib3-futureimplementation of theurllib3package and its ownurllib3_futurepackage. (#893) - Add hooks for all submodules of
vtkmodulespackage, which is installed by thevtkdist (currently targeting v9.4.2). (#896)
- Update hook for
pydanticto always collect submodules from the package, in order to properly handle redirections and programmatic imports found in contemporary versions ofpydantic. (#897)
- Add hook for
distributedpackage (i.e.,dask.distributed) to collect its data files and modules fromdistributed.http. (#877) - Add hook for
niquests. (#888) - Add hook for
python-dateutilto collect data files from the package. (#881) - Add hook for
tkinterdnd2(>= 0.4.0) that collects shared library and .tcl files from platform-specific sub-directory undertkinterdnd2/tkdnd. (#868)
- Fix
pyqtgraph.multiprocessin combination with PyInstaller >= v6.10.0. (#886) - Fix path matching for MKL DLLs in
torchhook to work with either POSIX-style or Windows-style separators, as either can appear in the metadata's RECORD entries. (#879) - Update
h5pyhook to handle Debian'spython3-h5pydistribution ofh5py. (#873) - Update
pyprojhook to handle non pip/PyPI distributions' devendoring its data directory. (#873) - Update
rtreehook for compatibility withrtree1.4.0 (renamed shared library directory in Linux PyPI wheels). (#875) - Update
togahook for compatibility withtogav0.5.0. Due to refactor of the main module that introduced lazy import of package's submodules, we now need to explicitly collect the said submodules using thecollect_submoduleshelper. (#878) - Update hook for
travertinoto explicitly collect the package's metadata in order to fix compatibility withtravertinov0.5.0. (#878) - Update the
findlibsrun-time hook to gracefully handleTypeErrorwhen usingfindlibsv0.1.0 with python < 3.10. This prevents the frozen application from crashing on the run-time hook when the main code might never end up using/importingfindlibsat all (for example,gribapimodule fromeccodeswhen binary wheel with bundled shared libraries is used). (#865)
- Add hooks for
pypdfium2andpypdfium2_raw. (#860)
- Update
numbahook for compatibility withnumbav0.61.0. (#857) - Update
numcodecshook for compatibility withnumcodecsv0.15.0. (#858)
- Add hook for
fsspecto collect the package's submodules and ensure the protocol plugins are working. (#856) - Add hook for
intaketo collect its plugins (registered via theintake.driversentry-point). (#853) - Add hook for
ruamel.yamlto collect its plugins, and ensure that plugins'__plug_in__modules are collected as source .py files (which is necessary for their discovery). (#844) - Add hook for
sam2(Segment Anything Model 2). (#847) - Add hook for
zarrto collect the package's metadata. (#855)
- Revise the search for OpenSSL shared library and
ossl-modulesdirectory in thecryptographyhook, in order to mitigate issues with unrelated copies of OpenSSL ending up being pulled into the build. Most notably, the hook should not be searching for OpenSSL shared library whencryptographyPyPI wheel is installed, because those ship with extensions that are statically linked against OpenSSL. (#846) - Rewrite
pygraphvizhook to fix discovery and collection ofgraphvizfiles under various Linux distributions, in Anaconda environments (Windows, Linux, and macOS), and msys2 environments (Windows). (#849) - Update
daskhook to collect template files fromdask/widgets/templatesdirectory; these file become mandatory when usingdask.arrayandjinja2is available. (#852) - Update
tritonhook for compatibility withtriton>= 3.0.0; the hook should now collect backend-specific modules and data files fromtriton.backends. (#848)
- Add hook for
selectolaxto collect its data files. (#841)
- (Linux) Update
torchhook to suppress creation of symbolic links to the top-level application directory for the shared libraries discovered during binary dependency analysis intorch/libdirectory. This fixes issues withlibtorch_cuda_linalg.sonot being found in spite of it being collected, as observed with certaintorchbuilds provided by https://download.pytorch.org/whl/torch (e.g.,1.13.1+cu117,2.0.1+cu117, and2.1.2+cu118). (#834) - Update
sklearn.treehook for compatibility withscikit-learnv1.6.0 (addsklearn.tree._partitionerto hidden imports). (#838)
- Add hook for
h3to collect its metadata (required withh3v4.0.0 and later). (#825) - Add hook for
numbers_parserto ensure that package's data file is collected. (#823) - Add hook for
sv_ttkto ensure that its resources (.tcl files and images) are collected. (#826)
- Update
falconhook for compatibility withfalconv4.0.0. (#820) - Update
tensorflowhook to automatically raise recursion limit to 5000 (if not already set to a higher value) in order to avoid recursion limit errors in certain import chains (dependent on build environment and other packages installed in it). (#825)
- Add a hook for comtypes to ensure compatibility with comtypes >= 1.4.5. (#807)
- Add analysis hook for
slixmpplibrary (#784) - Add hook for
capstonepackage. (#787) - Add hook for
graphemeto collect its data files. (#793) - Add hook for
onnxruntimeto ensure that provider plugins are collected. (#817) - Add hook for
saml2package which has XSD files and hidden imports. (#798) - Add hook for
setuptools_scmthat collects metadata ofsetuptoolsdist in order to avoid run-time warning about unknown/incompatiblesetuptoolsversion. (#805) - Add hook for
ultralyticspackage. (#786) - Add hook for
xmlschemapackage which has XSD files. (#797) - Add hook for
yapf_third_party(part ofyapf) to collect its data files. (#792) - Add hooks for
togawidget toolkit and its backends. (#804) - Add run-time hook for
findlibsthat overrides thefindlibs.findfunction with custom implementation in order to ensure that the top-level application directory is searched first. This prevents a system-wide copy of the library being found and loaded instead of the bundled copy when the system-wide copy happens to be available in one of fixed locations that is scanned by the original implementation offindlibs.find(for example, Homebrew directory on macOS). (#799)
- (Linux) Update
tensorflowhook to suppress creation of symbolic links to the top-level application directory for the following shared libraries discovered during binary dependency analysis:libtensorflow_cc.so.2,libtensorflow_framework.so.2, and_pywrap_tensorflow_internal.so. This fixes run-time discovery of CUDA shared libraries fromnvidia.cu*packages. This fix requires PyInstaller >= 6.11 to work, and is no-op in earlier PyInstaller versions. (#786) - (Linux) Update hooks for
nvidia.cu*packages to suppress creation of symbolic links to the top-level application directory for all shared libraries collected from the packages. This fixes run-time discovery of other shared libraries from those packages, which are dynamically loaded at run-time (as opposed to being linked against). Specifically, this fixes theUnable to load any of {libcudnn_engines_precompiled.so.9.1.0, libcudnn_engines_precompiled.so.9.1, libcudnn_engines_precompiled.so.9, libcudnn_engines_precompiled.so}and subsequentRuntimeError: CUDNN_BACKEND_TENSOR_DESCRIPTOR cudnnFinalize failed cudnn_status: CUDNN_STATUS_NOT_INITIALIZEDwhen trying to useultralyticspackage. This fix requires PyInstaller >= 6.11 to work, and is no-op in earlier PyInstaller versions. (#786) - Update
avhook for compatibility withavv13.0.0. (#794) - Update
avhook for compatibility withavv13.1.0. (#814) - Update
gribapihook for compatibility witheccodesv2.37.0, to account for possibility of bundleseccodesshared library, which is provided by newly-introduced binary wheels for Linux and macOS 13+. (#799) - Update
pydicomhook for compatibility withpydicomv.3.0.0. (#796) - Update
xarrayhook to collectxarray.chunkmanagersentry-points. (#800)
- Add a hook for
cmocean, which has text data files. (#769) - Add a hook for
pydicom, which has hidden imports. (#776) - Add a hook for
tzwhere, which has data files. (#772) - Add hook for
monaito collect its source .py files for TorchScript/JIT. (#778) - Add hooks for
itkto work around the package's requirements about theitk/Configurationdirectory. (#778) - Added hooks for the
tramesuite of libraries, which has data files and hidden imports. (#775)
- Rework the OpenSSL version check in
cryptographyhook to fix compatibility withcryptography43.0.0. (#768) - Update
hydrahook to include work-around forhydra's plugin manager, which under python < 3.10 (still) uses deprecated PEP-302 that was removed from PyInstaller'sPyiFrozenImporterin PyInstaller 5.8. When building using python < 3.10 and PyInstaller >= 5.8, the modules collected fromhydra._internal.core_pluginsandhydra_pluginspackages are now collected as source .py files only; this way, they are handled by built-in python's finder/importer instead of PyInstaller'sPyiFrozenImporter. (#760) - Update
imageio_ffmpeghook for compatibility withimageio-ffmpeg0.5.0 and later. (#766) - Update
pyexcel_odshook to add missing hidden import and add tests. (#779)
- Released sdists and tagged GitHub source archives contain the changelog entries for their current release. (#761)
- Add hook for
dbus_fastin order to collect submodules that are imported from cythonized extensions. (#600) - Add hook for
gribapipackage fromeccodesdist, in order to collect bundled headers and ensure that the eccodes shared library is collected from the build environment. (#744) - Add hook for
patoolibto collect dynamically-imported modules from thepatoolib.programssub-package. (#748)
- Extend the
xarrayhook to collect additional backend plugins that are registered via thexarray.backendsentry-point (e.g.,cfgrib). (#744)
- Add hook for
schwifty. Requiresschwifty >= 2024.5.1due to issues with data search path in earlier versions. (#742)
- Add hook for
backportspackage, to accommodate thepkgutil-stylebackportsnamespace package provided bybackports.functools-lru-cacheand the latest release ofbackports.tarfile. (#735) - Add hook for
opentelemetrythat collects all entry-points withopentelemetry_prefix. (#725) - Add hook for
skimage.metricsto account for lazy loading of theskimage.metricsthat was introduced inscikit-image0.23.0. (#723) - Add hook for
xarray, which ensures that metadata fornumpy(required byxarray) is collected. (#728)
- (Windows) Update
pyprojhook to explicitly collect DLLs and load-order file (if present) frompyproj.libsdirectory. This fixesDLL load failed while importing _networkerror when using Anaconda python 3.8 or 3.9, wheredelvewheel(used bypyproj) needs to load DLLs via load-order file due to defunctos.add_dll_directoryfunction. (#726) - Extend
cryptographyhook to collect OpenSSL modules (theossl-modulesdirectory) when available. Add a run-time hook that overrides OpenSSL module search path by setting theOPENSSL_MODULESenvironment variable to the bundledossl-modulesdirectory. This fixesRuntimeError: OpenSSL 3.0's legacy provider failed to load.error when usingcryptographywith OpenSSL >= 3.0 builds that have modules enabled (e.g., most Linux distributions, msys/MinGW on Windows, and Homebrew on macOS). (#724) - Suppress errors in
gcloudhook that occur when the hook is triggered by thegcloudnamespace package fromgcloud-aio-*andgcloud-rest-*dists instead of thegcloudpackage from thegclouddist. (#731) - Update hook for
tables(PyTables) to collect bundled blosc2 shared library, if available. On Windows, explicitly collect DLLs and load-order file (if present) fromtables.libsdirectory. (#732)
- Add a hook for
python-pptx, including required template files. (#719) - Add hook for
cloudpickleto ensure thatcloudpickle.cloudpickle_fastis collected when usingcloudpicklev3.0.0 or later. (#716) - Add hook for
hexbytesthat collects package's metadata (required starting withhexbytesv.1.1.0). (#714)
- (Windows) Update
netCDF4hook to explicitly collect DLLs and load-order file (if present) fromnetCDF4.libsdirectory. This fixesDLL load failed while importing _netCDF4error when using Anaconda python 3.8 or 3.9, wheredelvewheel(used bynetCDF4) needs to load DLLs via load-order file due to defunctos.add_dll_directoryfunction. (#722) - Update
adbutilshooks for compatibility withadbutilsv2.2.2 and later. (#717) - Update
numbahook to ensure thatnumba.cloudpickle.cloudpickle_fastis collected when usingnumbav0.59.0 or later. (#716) - Update
tensorflowhooks for compatibility withtensorflowv2.16.0. (#714)
- Update
torchhook to add support for MKL-enabledtorchbuilds on Windows (e.g., the nightly2.3.0.dev20240308+cpubuild). The hook now attempts to discover and collect DLLs from MKL and its dependencies (mkl,tbb,intel-openmp). (#712)
- Add a hook for
iso639-lang, to collect data files (#707) - Add hook for
falcon, which has hidden imports. (#703)
- Update
pyqtgraphhook to use the helper for automatic Qt bindings selection and exclusion from PyInstaller >= 6.5 (no-op with earlier versions). This should help preventing multiple Qt bindings from being collected into frozen application. (#710) - Update the exclude list for GUI frameworks in the
IPythonhook with additional contemporary Qt bindings (PySide2,PySide6, andPyQt6). (#708)
- Fix hook for
osgeo, to include proj data files. (#693) - Update the hook for
sklearn.neighborsto account for removed hidden importneighbors._typedef(#698)
- Add hook for
cel-python. (#687) - Add hook for
eth_keysthat collects package metadata foreth-keys >= 0.5.0. (#688) - Add hook for
fairscaleto collect its source .py files for TorchScript/JIT. (#692) - Add hook for
pygwalkerthat collects data files from the package. (#690) - Add hook for
PyTaskbar(#684)
- Collect package metadata for
eth-hash(fixesPackageNotFoundError). (#688) - Update
pypylonhook for compatibility with PyInstaller 6.0 and later. (#691)
- Add hook for
detectron2to collect its source .py files for TorchScript/JIT. (#676) - Add hook for
fastaito collect its source .py files for TorchScript/JIT. (#676) - Add hook for
fvcore.nnto collect its source .py files for TorchScript/JIT. (#676) - Add hook for
langchainthat collects data files from the package. (#681) - Add hook for
lightning(PyTorch Lightning) to ensure that itsversion.infodata file is collected. (#676) - Add hook for
linear_operatorto collect its source .py files for TorchScript/JIT. (#676) - Add hook for
seedirthat collects thewords.txtdata file from the package. (#681) - Add hook for
timm(Hugging Face PyTorch Image Models) to collect its source .py files for TorchScript/JIT. (#676) - Add hook for
torchaudiothat collects dynamically-loaded extensions, as well as source .py files for TorchScript/JIT. (#676) - Add hook for
torchtextthat collects dynamically-loaded extensions, as well as source .py files for TorchScript/JIT. (#676) - Add hook for
torchvision.io.imageto ensure that dynamically-loaded extension, required by this module, is collected. (#676) - Add hook for
VADER. (#679) - Add hook for Hugging Face
datasetsto collect its source .py files for TorchScript/JIT. (#676) - Add hook for Hugging Face
transformers. The hook attempts to automatically collect the metadata of all dependencies (as declared in deps dictionary in the transformers.dependency_versions_table module), in order to make dependencies available at build time visible totransformersat run time. The hook also collects source .py files as some of the package's functionality uses TorchScript/JIT. (#676) - Add hooks for
bitsandbytes, and its dependencytriton. Both packages have dynamically-loaded extension libraries that need to be collected, and both require collection of source .py files for (triton's) JIT module. Some submodules oftritonneed to be collected only as source .py files (bypassing PYZ archive), because the code naively assumes that__file__attribute points to the source .py file. (#676) - Add hooks for
nvidia.*packages, which provide a way of installing CUDA via PyPI wheels (e.g.,nvidia-cuda-runtime-cu12). (#676)
- (Linux) Extend
tensorflowhook to automatically collect CUDA libraries distributed vianvidia-*packages (such asnvidia-cuda-runtime-cu12) if they are specified among the requirements in thetensorflowdistribution's metadata. (#676) - (Linux) Extend
torchhook to automatically collect CUDA libraries distributed vianvidia-*packages (such asnvidia-cuda-runtime-cu12) if they are specified among the requirements in thetorchdistribution's metadata. (#676) - (Linux) Remove the
tensorflow.python._pywrap_tensorflow_internalhack in thetensorflowhook (i.e., adding it to excluded modules to avoid duplication) when using PyInstaller >= 6.0, where the duplication issue is alleviated thanks to the binary dependency analysis preserving the parent directory layout of discovered/collected shared libraries. This should fix the problem withtensorflowbuilds where the_pywrap_tensorflow_internalmodule is not used as a shared library, as seen intensorflowbuilds for Raspberry Pi. (#676) - (Linux) Update
torchhook to explicitly collect versioned .so files in the new PyInstaller >= 6.0 codepath. (#676) - Extend
tensorflowhook to collect plugins installed in thetensorflow-pluginsdirectory/package. Have the run-timetensorflowhook provide an override forsite.getsitepackages()that allows us to work around a broken module file location check and tricktensorflowinto loading the collected plugins. (#676) - Update
tensorflowhook to attempt to resolve the top-level distribution name and infer the package version from it, in order to improve version handling when the "top-level"tensorflowdist is not installed (for example, user installs onlytensorflow-intelortensorflow-macos) or has a different name (e.g.,tf-nightly). (#676) - Update
tensorflowhook to collect source .py files fortensorflow.python.autographin order to silence a run-time warning about AutoGraph not being available. (#676) - Update
torchvisionhook to collect source .py files for TorchScript/JIT (requires PyInstaller >= 5.3 to take effect). (#676) - Update hook for
skimage.featureto collect theorb_descriptor_positions.txtdata file, which is required by theskimage.feature.ORBclass. (#675)
- Remove hook for
google.api, which erroneously assumes that presence of thegoogle.apinamespace package implies availability of thegoogle-api-coredist. (#682)
- Add a hook for
freetypethat collects the shared library that is bundled withfreetype-pyPyPI wheels. (#674) - Add a hook for
z3c.rmlthat collects the required subset of Bitstream Vera TTF fonts from thereportlabpackage. (#674) - Add hook for
eth_rlp. (#672) - Add hook for
eth_typingwhich requires its package metadata. (#656) - Add hook for
eth_utilsto collect its embedded JSON files. (#656) - Add hook for
rlp. (#672) - Add hook for
sspilibthat collects submodules ofsspilib.raw, most of which are cythonized extensions. (#669)
- Modernize the hook for
torchand reduce the amount of unnecessarily collected data files (header files and static libraries). Requires PyInstaller >= 6.0. (#666) - Update
`pyarrow`hook to collect all of the package's submodules. (#662) - Update
rtreehook for compatibility withRtree >= 1.1.0. (#657) - Update
sudachipyhook forsudachipy0.6.8. (#673)
- Add hook for
gmsh. (#650)
- If
nltk_datacan be found both in the frozen program and under the default location specified byNLTK, the former should be preferred to the latter. (#646) - Update
skimagehooks for compatibility withscikit-image0.22.0. (#652) - Update
tensorflowhook for compatibility withtensorflow2.14.0. (#647)
- Add hook for
eng_to_ipa. (#631) - Add hook for
jieba. (#628) - Add hook for
khmer-nltk. (#633) - Add hook for
Lingua. (#626) - Add hook for
opencc-python. (#627) - Add hook for
pymorphy3. (#634) - Add hook for
python-crfsuite. (#633) - Add hook for
python-mecab-ko. (#632) - Add hook for
simplemma. (#629) - Add hook for
SudachiPy. (#635) - Add hook for
wordcloud. (#630)
- Fix an issue with enchant 2 using a different directory (in MacPorts) (#636)
- Add a hook for
psutil, which has platform-dependent exclude list. (#623) - Add hook for CtkMessagebox. (#619)
- Add hook for Litestar (#625)
- Update
graphql_queryhook for compatibility withgraphql-queryv1.2.0. (#621)
- Add hook for
enspackage, required byweb3v6.6.0 and later. (#617) - Add hook for
jsonschema_specificationsto collect the data files thatjsonschemav4.18.0 moved into a separate package. (#614)
- Add a hook for astropy-iers-data, which includes data. (#608)
- Add a hook for skyfield, which includes data. (#607)
- Update
pydantichook for compatibility withpydanticv2.0.0. (#611)
- Add hook for
customtkinter(#542) - Add hook for
fastparquet. (#583) - Add hook for
librosa. (#582) - Add hook for
mistunethat collects plugin modules, which are indirectly loaded starting withmistunev3.0.0. (#605) - Add hook for
sympythat automatically raises recursion limit to 5000 ifsympy>= 1.12 is detected. (#587) - Add hook for
xyzservices. (#590) - Add hook for pylibmagic (#581)
- Turn the hook for
google.cloudinto hook forgoogle.cloud.coreby renaming it. This hook is trying to collect metadata forgoogle-cloud-core, whereasgoogle.cloudis a namespace package that can be populated by other dists as well. Specifically,googleapis-common-protosputs some files there, and whengoogle-cloud-coreis not installed, the mis-named hook triggered a missing-metadata error. (#605) - Update
cairocffihook for compatibility withcairocffiv1.6.0. (#599) - Update
netCDF4hook for compatibility withnetCDF4v1.6.4. (#599) - Update
scikit-imagehooks for compatibility with version 0.21.0. (#594) - Update hook for
bokehto collect metadata forbokeh>= 3.0.0. (#588) - Update hook for
googleapiclient.model, fixing missing discovery docs and improving test. (#596)
- Remove no longer needed
pyhidden imports forpyshark >= 0.6. (#575) - Update
pydantichook hidden imports to include the optional dependencyemail_validator. (#576)
- Add hooks for
moviepy.audio.fx.allandmoviepy.video.fx.allthat collect all corresponding submodules, so that importingmoviepy.editorfrom MoviePy works out-of-the-box in the frozen application. (#559)
- Add automatic increase of recursion limit in the
torchhook to ensure that recursion limit is at least 5000 iftorch2.0.0 or later is detected. (#570) - Extend
cv2hook with support for OpenCV built manually from source and for OpenCV installed using the official Windows installer. This support requires PyInstaller >= 5.3 to work properly. (#557) - Update
scikit-imagehooks for compatibility with the 0.19.x series; account for lazy module loading inskimage.filters. (#565) - Update
scikit-imagehooks for compatibility with the 0.20.x series; account for switch tolazy_moduleinskimage.dataandskimage.filtersas well as in main package. Collect new data files that are now required byskimage.morphology. (#565) - Update the hook for
tensorflowto be compatible with TensorFlow 2.12. (#564)
- Add work-around for
ffpyplayer4.3.5 and 4.4.0 trying to usesite.USER_BASE, which isNonein PyInstaller 5.5 and later due to removal of PyInstaller's fakesitemodule. (#545) - Add work-around for
tensorflow< 2.3.0 trying to usesite.USER_SITE, which isNonein PyInstaller 5.5 and later due to removal of PyInstaller's fakesitemodule. (#546) - Prevent
pyqtgraphhook from recursing intopyqgraph.exampleswhile scanning for submodules. (#551) - Update
sklearnhooks for compatibility withscikit-learn1.2.0 and 1.2.1. (#547)
- Delete hook for
yt_dlpwhich fixed the offending hidden import upstream inyt_dlp>=2022.07.18. (#556)
- Have
fionahook collect the package's data files (e.g., the projections database). (#541) - Update
fionahook for compatibility withfiona1.9.0. (#541)
Add a hook for easyocr, which imports recognition backends via
imporlib.import_module()and has a number of datafiles for different languages.Users can set which languages to include datafiles for with a hook option. (#530)
Add hook for
charset-normalizerto fixModuleNotFoundError: No module named 'charset_normalizer.md__mypyc'. (#534)
- Update
shapelyhook for compatibility withshapely >= 2.0.0. (#527)
- Added hooks-config.rst document which documents hook options. It is referred to from README.md. (#530)
- Update
netCDF4hook for compatibility with v1.4.0 and later, wherenetcdftimehas been renamed tocftime. (#521) - Update
pydantichook to includedotenvoptional dependency. (#524)
- Update
pyprojhook for compatibility withpyprojv3.4.0. (#505)
- Extend the
sounddeviceandsoundfilehooks to collect system-installed shared libraries in cases when the libraries are not bundled with the package (i.e., linux PyPI wheels, Anaconda on all OSes). (#487) - Fix a
TypeErrorraised by theclrhook whenpythonnetdist lacks the file list metadata. (#486) - Have
clrhook check for availability of thepythonnetbefore trying to query its metadata. Fixes animportlib.metadata.PackageNotFoundErrorraised by theclrhook when the hook is triggered by a module or a package namedclrother than theclrextension module frompythonnet. (#486) - Have the
pyqtgraphhook collect the colormap files and their license files from the package. (#501) - Implement preliminary support for handling subprocesses used by
pyqtgraph.multiprocess, for example inpyqtgraphRemoteGraphicsViewwidget. The user is still required to ensure that stdlib'smultiprocessing.freeze_supportis called in the entry-point script before usingpyqtgraph. In addition, withonefilebuilds, the user must set the_MEIPASS2environment variable to the value ofsys._MEIPASSbefore usingpyqtgraph. (#501) - In
clrhook forpythonnetcollect thePython.Runtime.dllas a data file on non-Windows OSes to prevent errors during binary dependency analysis. (#500)
- Add geopandas data files for
geopandas==0.10.2. (#400)
- Add hook for Hydra config system (
hydra-core). (#424)
- Fixed
pyqtgraphhook for PyInstaller 5.2. (#465) - Update
cv2hook to add support for versions that attempt to perform module substitution viasys.pathmanipulation (== 4.5.4.58, >= 4.6.0.66) when used in combination with PyInstaller that supports setting module collection mode in hooks (> 5.2). The contents of thecv2package are now collected in source form to bypass PYZ archive and avoid compatibility issues with PyInstaller'sFrozenImporter(#468) - Update
pysharkhook to be compatible with versions>=0.5.2. (#477) - Update
pywintypesandpythoncomhooks for compatibility with upcoming changes in PyInstaller's attempt at preserving DLL parent directory structure. (#474) - Update
tensorflowhook to opt-out of generating warnings for missing hidden imports, using hook variable introduced in PyInstaller >= 5.2. On earlier releases, this is no-op. (#458)
- Add hook for
great_expectations. (#445) - Add hook for
hdf5plugin. (#461) - Add hook for
pandas_flavorto handle hidden imports in version 0.3.0 of the package. (#455) - Add hook for
pyshark. (#449)
- (Linux) Ensure that OpenCV hook collects Qt plugins and font files that
are bundled with linux versions of
opencv-pythonPyPI wheels. (#453) - Fix
tensorflownot being collected at all when usingtensorflow2.8.0 or newer and importing only from thetensorflow.kerassubpackage. (#451) - Update
clr(pythonnet-2.5.x) hook to ensureplatformandwarningsmodules are collected via hidden imports. Starting with PyInstaller 5.1, these may not be collected as part of optional imports of other modules, so they need to be explicitly collected by this hook. (#444) - Update
mariadbhook for compatibility with 1.1.x series. (#463) - Update
scikit-learnhooks for compatibility with 1.0.x and 1.1.x series. (#456)
- Add a hook for
limits, which has a data files to collect. (#442) - Add hook for
yt_dlpto handle indirect import inyt-dlp v2022.05.18. (#438) - Add libraries for
pypemicro==0.1.9(#417)
- Update
weasyprinthook with required binaries. (#439)
- Fix the filter function used with
collect_submodulesin thepylinthook to properly excludepylint.testutils. (#435) - Update
sounddeviceandsoundfilehooks for PyInstaller 5.1 compatibility. (#432)
- Add a hook for
numcodecs, which has a hidden import. (#420) - Add hook for
grpcroots.pem file which is used by grpc. (#419) - Add hook for
python-stdnum. (#412)
- Update
mariadbhook to always include thedecimalmodule as a hidden import, instead of implicitly relying on it being picked up due to import in some other, unrelated module. (#426)
- Add a hook for
clr_loader(used by upcomingpythonnet3.x) that collects the DLLs required by the default runtime (.NET Framework) loader on Windows. (#406) - Add a hook for
lark(used bycommentjsonand others) that loads the needed grammar files. (#409) - Add fiona hidden imports for
fiona==1.8.21. (#399)
- Update the
avhook for compatibility with the new DLL directory layout used by Windows PyPI wheels from version 9.1.1 on. (#408)
- Add a hook for
altair, which has data files. (#387) - Add a hook for
cassandra, which has Cython files. (#391) - Add a hook for
fabric, which has data files. (#390) - Add a hook for
gitlab, which has data files. (#392)
- Update
shapelyhooks with compatibility fixes for version 1.8.1, where PyPI wheels have changed the shippedlibgeos_cshared library location and/or name. (#394) - Update imageio hooks to include the lazily-loaded plugins submodule. (#396)
- Fix hook for
azurermwhenpyinstaller >= 4.4". (#283) - Fix hook for astropy when astropy >= 5.0. (#381)
- Add a hook for
pywhich has dynamically loaded vendored submodules. This fixes compatibility withpytest >= 7.0.0. (#376) - Added a hook for
orjson, which has hidden imports. (#378)
- Add a hook for
pypsexec, which has a data files. (#366)
- Update
tensorflowhook to add support fortensorflow2.6.x and later. (#371)
- Add a test for
mimesishook. (#367)
- Add a hook for
mimesis, which has a data files. (#365)
- Add a runtime hook for
pygraphvizthat modifies the search behavior forgraphvizprograms, in order to ensure that the collected programs insys._MEIPASSare found and used. (#357)
- Add a hook for
adbutilsto collect dynamic libraries. (#323) - Add a hook for
brancato collect data files. (#318) - Add a hook for
dashto collect data files required by the newdashv2.0. (#314) - Add a hook for
doc2xpdfto collect qss data files. (#310) - Add a hook for
ffpyplayer. (#348) - Add a hook for
pyppeteer. (#329) - Add a hook for
pyvjoyto collect dynamic libraries. (#321) - Add a hook for
qtmodernto collect qss data files. (#305) - Add a hook for
tableauhyperapito collect dynamic libraries. (#316) - Add a hook for
websocketswhich lazily loads its submodules. (#301) - Add hook for
folium. (#62) - Add hook for
metpy. (#60) - Add hook for
panel. (#338) - Add hook for
platformdirs. This in turn fixes compatibility withpylint >= 2.10.2. (#301) - Add hook for
pymediainfo. (#324) - Add hook for
pyviz_comms. (#338) - Add hook for
sacremoses. (#325) - Add hook for
tzdata. (#339) - Add hooks for
cairocffiandCairoSVG. (#347) - Add hooks for
pyphenandkaleido. (#345) - Add hooks for
zoneinfoandbackports.zoneinfo. (#339)
- Removed the
certifirun-time hook because it was not required forcertifito function in a frozen application. It was sometimes setting theSSL_CERT_FILEenvironment variable which causes applications to behave differently when frozen. In particular theSSLContext.set_default_verify_paths()method loads the certificates fromcertifiwhen theSSL_CERT_FILEenvironment variable is set. (#335) - Update
cv2hook to collect extra config files and modules for compatibility with OpenCV 4.5.4.60. (#354) - Update
markdownhook to include package metadata, enabling the use of short names for built-in extensions, such asextraortoc. (#336) - Update hiddenimports for
APScheduler > 3.8.0. (#333) - Update hiddenimports for
pymssql > 2.1.5. (#315)
- Add a hook for
dash-uploaderto collect data files (#280) - Add a hook for
langdetectto collect data files. (#285) - Add a hook for
mariadbto collect hidden imports. (#279) - Add a hook for
mnemonicto collect data files (#284) - Add a hook for
msoffcryptoto collect metadata. (#139) - Add a hook for
pingouinto collect data files. (#292) - Add a hook for
pystrayto collect hidden imports. (#288) - Add a hook for
rtreeto collect dynamic libraries. (#291) - Add a hook for
shotgun_api3to collect data files and hidden imports. (#138) - Add a hook for
swagger_spec_validatorto collect data files. (#296) - Add a hook for
timezonefinderto collect data files. (#294) - Add a hook for
uvicornto collect data files. (#300) - Add a hook for cloudscraper to collect data files (#281)
- Add a hook for pynput to collect hidden imports. (#287)
- Added a standard hook for SunPy. (#134)
- Added hook to get data for the parso package (needed for IPython autocomplete) (#275)
- Update
clrhook to set the correct path for pythonnet 3.0 (#295) - Update
scikit-learnandscikit-imagehooks to perform version checks based on distribution name instead of package name, to prevent failures whensklearndummy distribution is installed. (#276) - Fix harmless missing modules warnings when using
scikit-learn >= 0.22(#276).
Add a hook for
Azurermwhich is using pkg_resources internally. (#123)Add a hook for
Office365-REST-Python-Clientwhich uses data files in some methods (#125)Add a hook for
spacywhich contains hidden imports and data files (#1)Add a standard hook for PyPylon. (#114)
Add hook for
blspythat collectsMPIRDLLs on Windows. (#119)Add hook for
flirpythat collects data files on Windows. (#120)Add hook for
jsonrpcserverto collect missingrequest-schema.jsondata file. (#126)Add hook for
plotlyto collect data files and hidden pandas, cmath, and plotly.validator importsAdd hooks for
dashand related packages to collect data files and hook for meta-data fromflask-compressAdd hook for
dash_bootstrap_componentsto collect data files (#103)Add hook for
pyttsx3whose drivers are hidden imports. (#101)Add hook for
srsly.msgpack._packerwhich contains a hidden import (#3)Add hooks for
thincandthinc.banckends.numpy_opswhich contain data files and hidden imports (#2)Added a hook for
statsmodels, which addsstatsmodels.tsa.statespaceas a hidden import (#100)
- (Windows) Update
zmqhook for compatibility with new shared libraries location in Windows build ofpyzmq22.0.0 and later. (#98) - Add
`googleapiclient.discovery`json files to work with services like Blogger v3 on the`build()`method. (#97) - Remove
win32ctypes.corehook, as an improved copy is provided as part of main PyInstaller's hooks collection. (#124) - Update
scikit-imagehooks for compatibility with 0.18.x series. (#107) - Update
scikit-learnhooks for compatibility with 0.24.x series. (#108) - Update hook for PyPylon to include data files. (#116)
- Update the hook for
pycountryto copy metadata, in addition to collecting data files. (#113)
- Add a hook for
googleapiclient.modelthat collects the required metadata from thegoogle-api-python-clientpackage. (#82) - Add hook for
pyqtgraph. (#88) - Add hook for
rpy2. (#87) - Added a hook for 'pdfminer.six' library (#83)
- Added a hook for the 'pygraphviz' library (#86)
- Add missing
dataclasseshidden import topydantichook. Add missingdistutils.versionhidden import topydantichook for versions ofpydanticprior to1.4. (#81) - Update
pydantichook for compatibility with v.1.8.0 and later. (#90)
- Add a hook for
gcloudwhich requires its distribution metadata. (#68) - Add a hook for prettytable which requires its distribution metadata. (#77)
- Add hook for
pydanticto improve support for its extension-compiled distribution (default on PyPi). (#78) - Add hook for
torchvision.opsto ensure that the required extension module (torchvision._C) is collected. (#80) - Add hook for afmformats. (#69)
- Add hook for ijson which has dynamically loaded backends. (#64)
- Add hook for lxml which has hidden imports. (#66)
- Collect metadata and data files for
countryinfoto support version 0.1.2. (#76)
- (Windows) Fix the
win32compre-safe-import hook to avoid printing theModuleNotFoundErrorwhen the module is not available. (#67) - Add default enabled sentry integrations dynamically to hidden imports. (#71)
- Update
pyprojhook to improve compatibility across different versions ofpyproj(from 2.1.3 to 3.0.0). (#70)
- (Windows) Add a hook for
win32ctypes.core. (#58)
- (Windows) Avoid collecting
tensorflowimport libraries. (#55) - Avoid collecting non-functional
zmq.backend.cffibackend in thezmqhook, and thus also prevent an attempt at compilation of its C extension during module collection. (#59) - Change hook for
tinycss2, no longer needed after version 1.0.0. (#54) - Compatibility fix for
markdown3.3. (#56) - Update hooks for
scikit-learn. Supported versions are 0.21.x, 0.22.x, and 0.23.x. (#53)
- Add a hook for flask_restx which contains template data files. (#48)
- Add hooks for
skimage.featureandskimage.graphto fix issues with missing imports. (#52)
- Fix shared library duplication in
tensorflowv.2.3. Avoid packaging unnecessary data files (e.g., development headers) on alltensorflowversions. (#50) - Fix the
tensorflowhook to be compatible acrosstensorflowversions from <1.15.0 up to 2.3.0 (current latest). (#46)
- Add a hook for
iminuitwhich has hidden imports. (#26) - Add a hook for
publicsuffix2which has some data files. (#40) - Add a hook for
pyav(av)which has hidden imports. (#29) - Add a hook for
pydivertwhich has some data files. (#41) - Add a hook for
pyprojwhich has some data files. (#33) - Add a hook for
spnegowhich has hidden imports. (#37)
- Add a missing hidden import for
passlib. (#39)
- Add a hook for
gmplot, which has some data files. (#21) - Add a hook for
tinycss2, which is missing data files. (#16) - Add a hook for
workflow, which is missing version information contained in metadata. (#17) - Add hook for
AnyIOwhich dynamically imports its backend modules. (#22) - Add hook for
APSchedulerwhich requires entry points and dynamic imports. (#23) - Add hook for
trimeshwhich requires importing resource files. (#25)
- Rewrite the hooks for PyPubSub and
wx.lib.pubsubso they work properly.
- Add a hook for
html-testRunner, which has a hidden import. (#8) - Add a hook for
parsedatetime, which has hidden imports. (#11) - Add hook for
dask, which includes .yaml data files. (#12)
- (Windows) cv2: bundle the opencv_videoio_ffmpeg*.dll, if available. (#13)
No significant changes.
- Adding a hook for sentry which has hidden imports for its integrations (#7)