""" PyInstaller hooks ================= Add ``hookspath=[kivymd.hooks_path]`` to your .spec file. Example of .spec file ===================== .. code-block:: python # -*- mode: python ; coding: utf-8 -*- import sys import os from kivy_deps import sdl2, glew from kivymd import hooks_path as kivymd_hooks_path path = os.path.abspath(".") a = Analysis( ["main.py"], pathex=[path], hookspath=[kivymd_hooks_path], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=None, noarchive=False, ) pyz = PYZ(a.pure, a.zipped_data, cipher=None) exe = EXE( pyz, a.scripts, a.binaries, a.zipfiles, a.datas, *[Tree(p) for p in (sdl2.dep_bins + glew.dep_bins)], debug=False, strip=False, upx=True, name="app_name", console=True, ) """ __all__ = ("hooks_path", "get_hook_dirs", "get_pyinstaller_tests") import os from pathlib import Path import kivymd hooks_path = str(Path(__file__).absolute().parent) """Path to hook directory to use with PyInstaller. See :mod:`kivymd.tools.packaging.pyinstaller` for more information.""" def get_hook_dirs(): return [hooks_path] def get_pyinstaller_tests(): return [os.path.join(kivymd.path, "tests", "pyinstaller")] if __name__ == "__main__": print(hooks_path) print(get_hook_dirs()) print(get_pyinstaller_tests())