In preparation to document the hook API, I did a survey of the existing
hooks. The following are some observations.
The current release contains 168 "normal" or "traditional" hooks (that is,
excluding the ones in the special directories pre_find_module_path and
pre_safe_import_module).
Of these 168 hooks, 78 do nothing but assign to hiddenimports
65 assign a list of literal strings
13 assign by calling the collect_submodules() utility.
25 hooks do nothing but assign to datas, usually by calling
collect_data_files()
Only 26 hooks assign to binaries.
Only 4 hooks assign to excludedimports.
Only three hooks define a hook() method. Only one of these, hook-_tkinter.py,
appears to be using the new API. It declares a hook_api argument and calls
the .add_datas() method of that object.
hook-enchant.checker.wxSpellCheckerDialog.py also defines "hook(hook_api)"
but the body is only a "pass" statement and a TODO comment.
hook-xml.dom.py appears to be using the old hook() API. It defines
hook(mod) and assigns many attributes to the mod, such as
mod.UNSPECIFIED_EVENT_TYPE_ERR=0.
The following members of PyInstaller.compat are referenced more than once:
is_darwin
is_win
getsitepackages
EXTENSION_SUFFIXES
modname_tkinter
The following members are referenced only once:
is_cygwin
is_py2
is_unix
is_venv
base_prefix
exec_command
The following members of PyInstaller.utils.hooks are referenced at least
twice:
collect_data_files
collect_submodules
get_module_file_attribute
collect_dynamic_libs
exec_statement
get_pywin32_module_file_attribute
get_typelibs
logger
qt4_menu_nib_dir
qt4_plugins_binaries
qt5_plugins_binaries
The following members of utils.hooks are referenced only once:
django_find_root_dir
django_dottedstring_imports
eval_script
get_package_paths
get_qmake_path
is_module_version
opengl_arrays_modules
qt5_menu_nib_dir
qt5_qml_data
qt5_qml_plugins_binaries
relpath_to_config_or_make
I noticed some odd things which I will put in a separate note.
Dave Cortesi
--
You received this message because you are subscribed to the Google Groups
"PyInstaller" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pyinstaller.
For more options, visit https://groups.google.com/d/optout.