From 16295d14a07aa7567903ecdc63556008dc988cb6 Mon Sep 17 00:00:00 2001 From: github-actions Date: Wed, 3 Jan 2024 16:14:36 +0000 Subject: [PATCH] Release v2023.12 --- CHANGELOG.rst | 122 +++++++++++++++++++++ news/675.update.rst | 3 - news/676.new.1.rst | 2 - news/676.new.10.rst | 2 - news/676.new.11.rst | 2 - news/676.new.12.rst | 2 - news/676.new.2.rst | 2 - news/676.new.3.rst | 6 - news/676.new.4.rst | 1 - news/676.new.5.rst | 2 - news/676.new.6.rst | 2 - news/676.new.7.rst | 2 - news/676.new.8.rst | 7 -- news/676.new.9.rst | 2 - news/676.new.rst | 2 - news/676.update.1.rst | 2 - news/676.update.2.rst | 4 - news/676.update.3.rst | 8 -- news/676.update.4.rst | 3 - news/676.update.5.rst | 5 - news/676.update.6.rst | 4 - news/676.update.7.rst | 5 - news/676.update.rst | 2 - news/679.new.rst | 1 - news/681.new.1.rst | 2 - news/681.new.rst | 1 - news/682.remove.rst | 3 - src/_pyinstaller_hooks_contrib/__init__.py | 2 +- 28 files changed, 123 insertions(+), 78 deletions(-) delete mode 100644 news/675.update.rst delete mode 100644 news/676.new.1.rst delete mode 100644 news/676.new.10.rst delete mode 100644 news/676.new.11.rst delete mode 100644 news/676.new.12.rst delete mode 100644 news/676.new.2.rst delete mode 100644 news/676.new.3.rst delete mode 100644 news/676.new.4.rst delete mode 100644 news/676.new.5.rst delete mode 100644 news/676.new.6.rst delete mode 100644 news/676.new.7.rst delete mode 100644 news/676.new.8.rst delete mode 100644 news/676.new.9.rst delete mode 100644 news/676.new.rst delete mode 100644 news/676.update.1.rst delete mode 100644 news/676.update.2.rst delete mode 100644 news/676.update.3.rst delete mode 100644 news/676.update.4.rst delete mode 100644 news/676.update.5.rst delete mode 100644 news/676.update.6.rst delete mode 100644 news/676.update.7.rst delete mode 100644 news/676.update.rst delete mode 100644 news/679.new.rst delete mode 100644 news/681.new.1.rst delete mode 100644 news/681.new.rst delete mode 100644 news/682.remove.rst diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 7fc93c5d..f39d1570 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,3 +1,125 @@ +2023.12 (2024-01-03) +-------------------- + +New hooks +~~~~~~~~~ + +* Add hook for ``detectron2`` to collect its source .py files for + TorchScript/JIT. (`#676 + `_) +* Add hook for ``fastai`` to collect its source .py files for TorchScript/JIT. + (`#676 + `_) +* Add hook for ``fvcore.nn`` to collect its source .py files for + TorchScript/JIT. (`#676 + `_) +* Add hook for ``langchain`` that collects data files from the package. (`#681 + `_) +* Add hook for ``lightning`` (PyTorch Lightning) to ensure that its + ``version.info`` data file is collected. (`#676 + `_) +* Add hook for ``linear_operator`` to collect its source .py files for + TorchScript/JIT. (`#676 + `_) +* Add hook for ``seedir`` that collects the ``words.txt`` data 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 ``torchaudio`` that collects dynamically-loaded extensions, + as well as source .py files for TorchScript/JIT. (`#676 + `_) +* Add hook for ``torchtext`` that collects dynamically-loaded extensions, + as well as source .py files for TorchScript/JIT. (`#676 + `_) +* Add hook for ``torchvision.io.image`` to ensure that dynamically-loaded + extension, required by this module, is collected. (`#676 + `_) +* Add hook for ``VADER``. (`#679 + `_) +* Add hook for Hugging Face ``datasets`` to 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 + to ``transformers`` at 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 dependency ``triton``. 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 of ``triton`` need 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 + `_) + + +Updated hooks +~~~~~~~~~~~~~ + +* (Linux) Extend ``tensorflow`` hook to automatically collect CUDA libraries + distributed via ``nvidia-*`` packages (such as ``nvidia-cuda-runtime-cu12``) + if they are specified among the requirements in the ``tensorflow`` + distribution's metadata. (`#676 + `_) +* (Linux) Extend ``torch`` hook to automatically collect CUDA libraries + distributed via ``nvidia-*`` packages (such as ``nvidia-cuda-runtime-cu12``) + if they are specified among the requirements in the ``torch`` distribution's + metadata. (`#676 + `_) +* (Linux) Remove the ``tensorflow.python._pywrap_tensorflow_internal`` + hack in the ``tensorflow`` hook (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 with ``tensorflow`` builds where + the ``_pywrap_tensorflow_internal`` module is not used as a shared + library, as seen in ``tensorflow`` builds for Raspberry Pi. (`#676 + `_) +* (Linux) Update ``torch`` hook to explicitly collect versioned .so files + in the new PyInstaller >= 6.0 codepath. (`#676 + `_) +* Extend ``tensorflow`` hook to collect plugins installed in the + ``tensorflow-plugins`` directory/package. Have the run-time ``tensorflow`` + hook provide an override for ``site.getsitepackages()`` that allows us + to work around a broken module file location check and trick ``tensorflow`` + into loading the collected plugins. (`#676 + `_) +* Update ``tensorflow`` hook 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" ``tensorflow`` dist is not installed (for + example, user installs only ``tensorflow-intel`` or ``tensorflow-macos``) + or has a different name (e.g., ``tf-nightly``). (`#676 + `_) +* Update ``tensorflow`` hook to collect source .py files for + ``tensorflow.python.autograph`` in order to silence a run-time warning + about AutoGraph not being available. (`#676 + `_) +* Update ``torchvision`` hook to collect source .py files for TorchScript/JIT + (requires PyInstaller >= 5.3 to take effect). (`#676 + `_) +* Update hook for ``skimage.feature`` to collect the + ``orb_descriptor_positions.txt`` data file, which is required by + the ``skimage.feature.ORB`` class. (`#675 + `_) + + +Removed hooks +~~~~~~~~~~~~~ + +* Remove hook for ``google.api``, which erroneously assumes that presence + of the ``google.api`` namespace package implies availability of the + ``google-api-core`` dist. (`#682 + `_) + + 2023.11 (2023-12-20) -------------------- diff --git a/news/675.update.rst b/news/675.update.rst deleted file mode 100644 index 4d3ed468..00000000 --- a/news/675.update.rst +++ /dev/null @@ -1,3 +0,0 @@ -Update hook for ``skimage.feature`` to collect the -``orb_descriptor_positions.txt`` data file, which is required by -the ``skimage.feature.ORB`` class. diff --git a/news/676.new.1.rst b/news/676.new.1.rst deleted file mode 100644 index c0ac33d3..00000000 --- a/news/676.new.1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``torchaudio`` that collects dynamically-loaded extensions, -as well as source .py files for TorchScript/JIT. diff --git a/news/676.new.10.rst b/news/676.new.10.rst deleted file mode 100644 index 376795b3..00000000 --- a/news/676.new.10.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``fvcore.nn`` to collect its source .py files for -TorchScript/JIT. diff --git a/news/676.new.11.rst b/news/676.new.11.rst deleted file mode 100644 index d0c005d3..00000000 --- a/news/676.new.11.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``detectron2`` to collect its source .py files for -TorchScript/JIT. diff --git a/news/676.new.12.rst b/news/676.new.12.rst deleted file mode 100644 index aad40d42..00000000 --- a/news/676.new.12.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for Hugging Face ``datasets`` to collect its source .py files for -TorchScript/JIT. diff --git a/news/676.new.2.rst b/news/676.new.2.rst deleted file mode 100644 index 1987d59e..00000000 --- a/news/676.new.2.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``torchtext`` that collects dynamically-loaded extensions, -as well as source .py files for TorchScript/JIT. diff --git a/news/676.new.3.rst b/news/676.new.3.rst deleted file mode 100644 index 6acca5f0..00000000 --- a/news/676.new.3.rst +++ /dev/null @@ -1,6 +0,0 @@ -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 -to ``transformers`` at run time. The hook also collects source .py files -as some of the package's functionality uses TorchScript/JIT. diff --git a/news/676.new.4.rst b/news/676.new.4.rst deleted file mode 100644 index 4f73d9f4..00000000 --- a/news/676.new.4.rst +++ /dev/null @@ -1 +0,0 @@ -Add hook for ``fastai`` to collect its source .py files for TorchScript/JIT. diff --git a/news/676.new.5.rst b/news/676.new.5.rst deleted file mode 100644 index f0f31e2f..00000000 --- a/news/676.new.5.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``torchvision.io.image`` to ensure that dynamically-loaded -extension, required by this module, is collected. diff --git a/news/676.new.6.rst b/news/676.new.6.rst deleted file mode 100644 index 66cc48fd..00000000 --- a/news/676.new.6.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``timm`` (Hugging Face PyTorch Image Models) to collect its -source .py files for TorchScript/JIT. diff --git a/news/676.new.7.rst b/news/676.new.7.rst deleted file mode 100644 index a2259737..00000000 --- a/news/676.new.7.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``lightning`` (PyTorch Lightning) to ensure that its -``version.info`` data file is collected. diff --git a/news/676.new.8.rst b/news/676.new.8.rst deleted file mode 100644 index d6a4054d..00000000 --- a/news/676.new.8.rst +++ /dev/null @@ -1,7 +0,0 @@ -Add hooks for ``bitsandbytes``, and its dependency ``triton``. 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 of ``triton`` need 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. diff --git a/news/676.new.9.rst b/news/676.new.9.rst deleted file mode 100644 index b1d947b8..00000000 --- a/news/676.new.9.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``linear_operator`` to collect its source .py files for -TorchScript/JIT. diff --git a/news/676.new.rst b/news/676.new.rst deleted file mode 100644 index 787cba51..00000000 --- a/news/676.new.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hooks for ``nvidia.*`` packages, which provide a way of installing -CUDA via PyPI wheels (e.g., ``nvidia-cuda-runtime-cu12``). diff --git a/news/676.update.1.rst b/news/676.update.1.rst deleted file mode 100644 index 7a64ec32..00000000 --- a/news/676.update.1.rst +++ /dev/null @@ -1,2 +0,0 @@ -(Linux) Update ``torch`` hook to explicitly collect versioned .so files -in the new PyInstaller >= 6.0 codepath. diff --git a/news/676.update.2.rst b/news/676.update.2.rst deleted file mode 100644 index 3112846f..00000000 --- a/news/676.update.2.rst +++ /dev/null @@ -1,4 +0,0 @@ -(Linux) Extend ``torch`` hook to automatically collect CUDA libraries -distributed via ``nvidia-*`` packages (such as ``nvidia-cuda-runtime-cu12``) -if they are specified among the requirements in the ``torch`` distribution's -metadata. diff --git a/news/676.update.3.rst b/news/676.update.3.rst deleted file mode 100644 index 45bf9e3f..00000000 --- a/news/676.update.3.rst +++ /dev/null @@ -1,8 +0,0 @@ -(Linux) Remove the ``tensorflow.python._pywrap_tensorflow_internal`` -hack in the ``tensorflow`` hook (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 with ``tensorflow`` builds where -the ``_pywrap_tensorflow_internal`` module is not used as a shared -library, as seen in ``tensorflow`` builds for Raspberry Pi. diff --git a/news/676.update.4.rst b/news/676.update.4.rst deleted file mode 100644 index ad34bc8c..00000000 --- a/news/676.update.4.rst +++ /dev/null @@ -1,3 +0,0 @@ -Update ``tensorflow`` hook to collect source .py files for -``tensorflow.python.autograph`` in order to silence a run-time warning -about AutoGraph not being available. diff --git a/news/676.update.5.rst b/news/676.update.5.rst deleted file mode 100644 index a7eb6a2d..00000000 --- a/news/676.update.5.rst +++ /dev/null @@ -1,5 +0,0 @@ -Update ``tensorflow`` hook 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" ``tensorflow`` dist is not installed (for -example, user installs only ``tensorflow-intel`` or ``tensorflow-macos``) -or has a different name (e.g., ``tf-nightly``). diff --git a/news/676.update.6.rst b/news/676.update.6.rst deleted file mode 100644 index 7011b9e3..00000000 --- a/news/676.update.6.rst +++ /dev/null @@ -1,4 +0,0 @@ -(Linux) Extend ``tensorflow`` hook to automatically collect CUDA libraries -distributed via ``nvidia-*`` packages (such as ``nvidia-cuda-runtime-cu12``) -if they are specified among the requirements in the ``tensorflow`` -distribution's metadata. diff --git a/news/676.update.7.rst b/news/676.update.7.rst deleted file mode 100644 index 9b6b456d..00000000 --- a/news/676.update.7.rst +++ /dev/null @@ -1,5 +0,0 @@ -Extend ``tensorflow`` hook to collect plugins installed in the -``tensorflow-plugins`` directory/package. Have the run-time ``tensorflow`` -hook provide an override for ``site.getsitepackages()`` that allows us -to work around a broken module file location check and trick ``tensorflow`` -into loading the collected plugins. diff --git a/news/676.update.rst b/news/676.update.rst deleted file mode 100644 index 144ebfc4..00000000 --- a/news/676.update.rst +++ /dev/null @@ -1,2 +0,0 @@ -Update ``torchvision`` hook to collect source .py files for TorchScript/JIT -(requires PyInstaller >= 5.3 to take effect). diff --git a/news/679.new.rst b/news/679.new.rst deleted file mode 100644 index 738c0887..00000000 --- a/news/679.new.rst +++ /dev/null @@ -1 +0,0 @@ -Add hook for ``VADER``. diff --git a/news/681.new.1.rst b/news/681.new.1.rst deleted file mode 100644 index 84930a2e..00000000 --- a/news/681.new.1.rst +++ /dev/null @@ -1,2 +0,0 @@ -Add hook for ``seedir`` that collects the ``words.txt`` data file from -the package. diff --git a/news/681.new.rst b/news/681.new.rst deleted file mode 100644 index b6f9f76a..00000000 --- a/news/681.new.rst +++ /dev/null @@ -1 +0,0 @@ -Add hook for ``langchain`` that collects data files from the package. diff --git a/news/682.remove.rst b/news/682.remove.rst deleted file mode 100644 index 0a28cb18..00000000 --- a/news/682.remove.rst +++ /dev/null @@ -1,3 +0,0 @@ -Remove hook for ``google.api``, which erroneously assumes that presence -of the ``google.api`` namespace package implies availability of the -``google-api-core`` dist. diff --git a/src/_pyinstaller_hooks_contrib/__init__.py b/src/_pyinstaller_hooks_contrib/__init__.py index 9a1add52..e3a94e56 100644 --- a/src/_pyinstaller_hooks_contrib/__init__.py +++ b/src/_pyinstaller_hooks_contrib/__init__.py @@ -10,6 +10,6 @@ # SPDX-License-Identifier: GPL-2.0-or-later # ------------------------------------------------------------------ -__version__ = '2023.12' +__version__ = '2024.0' __maintainer__ = 'Legorooj, bwoodsend' __uri__ = 'https://github.com/pyinstaller/pyinstaller-hooks-contrib'