#-----------------------------------------------------------------------------
|
# Copyright (c) 2025, PyInstaller Development Team.
|
#
|
# This file is distributed under the terms of the GNU General Public
|
# License (version 2.0 or later).
|
#
|
# The full license is available in LICENSE, distributed with
|
# this software.
|
#
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
#-----------------------------------------------------------------------------
|
|
from PyInstaller.utils.hooks import collect_data_files, collect_submodules
|
|
# Collect submodules of distributed.http, many of which are imported indirectly.
|
hiddenimports = collect_submodules("distributed.http")
|
|
# Collect data files (distributed.yaml, distributed-schema.yaml, templates).
|
datas = collect_data_files("distributed")
|
|
# `distributed.dashboard.components.scheduler` attempts to refer to data files relative to its parent directory, but
|
# with non-normalized '..' elements in the path (e.g., `_MEIPASS/distributed/dashboard/components/../theme.yaml`). On
|
# POSIX systems, such paths are treated as non-existent if a component does not exist, even if the file exists at the
|
# normalized location (i.e., if `_MEIPASS/distributed/dashboard/theme.yaml` file exists but
|
# `_MEIPASS/distributed/dashboard/components` directory does not). As a work around, collect source .py files from
|
# `distributed.dashboard.components` to ensure existence of the `components` directory.
|
module_collection_mode = {
|
'distributed.dashboard.components': 'pyz+py',
|
}
|