# these help pyinstaller find all the stuff it needs.  Add your packages to generate more specific imports.

import glob
import os
import site
import sys

# Unfortunately, this didn't work for helping pyinstaller detect needed files.  Need manual spec as below.
# packages = ['conda', 'conda-package-handling']
# if sys.platform == "win32":
#     packages.append('menuinst')
# files = [f for package in packages
#          for f in glob.glob(
#                  os.path.join(os.getenv('SP_DIR', site.getsitepackages()[0]), package, "**/*.py"),
#                  recursive=True)]

# import importlib.util
# modules = {}
# for f in files:
#     spec = importlib.util.spec_from_file_location(f, f)
#     modules[f] = importlib.util.module_from_spec(spec)

# print(modules.keys())

import conda_package_handling.cli
import conda_package_handling.conda_fmt
import conda_package_handling.validate
import conda_package_handling.__main__
import conda_package_handling.tarball
import conda_package_handling.api
import conda_package_handling._version
import conda_package_handling.interface
import conda_package_handling.__init__
import conda_package_handling.utils
import conda.core.solve
import conda.core.portability
import conda.core.path_actions
import conda.core.package_cache_data
import conda.core.package_cache
import conda.core.index
import conda.core.subdir_data
import conda.core.prefix_data
import conda.core.link
import conda.core.envs_manager
import conda.core.__init__
import conda.core.initialize
import conda.base.context
import conda.base.constants
import conda.base.exceptions
import conda.base.__init__
import conda.install
import conda.compat
import conda.__main__
import conda.api
import conda.exceptions
import conda.common.io
import conda.common.logic
import conda.common.decorators
import conda.common.path
import conda.common.constants
import conda.common.configuration
import conda.common.toposort
import conda.common.cuda
import conda.common.compat
import conda.common.pkg_formatsthon
import conda.common.pkg_formats.__init__
import conda.common.url
import conda.common.serialize
import conda.common.disk
import conda.common.__init__
import conda.common.signals
import conda.common._os.linux
import conda.common._os.unix
import conda.common._os.windows
import conda.common._os.__init__
import conda.activate
import conda.cli.main_package
import conda.cli.main_pip
import conda.cli.find_commands
import conda.cli.install
import conda.cli.main_remove
import conda.cli.main_install
import conda.cli.main_list
import conda.cli.main_config
import conda.cli.parsers
import conda.cli.common
import conda.cli.main_create
import conda.cli.main_search
import conda.cli.conda_argparse
import conda.cli.main_run
import conda.cli.main_help
import conda.cli.activate
import conda.cli.main_clean
import conda.cli.main
import conda.cli.python_api
import conda.cli.main_info
import conda.cli.__init__
import conda.cli.main_init
import conda.cli.main_update
import conda.resolve
import conda.exports
import conda._vendor.cpuinfo
import conda._vendor.frozendict
import conda._vendor.appdirs
import conda._vendor.auxlib.decorators
import conda._vendor.auxlib.path
import conda._vendor.auxlib.logz
import conda._vendor.auxlib.configuration
import conda._vendor.auxlib.packaging
import conda._vendor.auxlib.type_coercion
import conda._vendor.auxlib.compat
import conda._vendor.auxlib.deprecation
import conda._vendor.auxlib.collection
import conda._vendor.auxlib.entity
import conda._vendor.auxlib.exceptions
import conda._vendor.auxlib.crypt
import conda._vendor.auxlib._vendor.five
import conda._vendor.auxlib._vendor.__init__
import conda._vendor.auxlib._vendor.boltons.timeutils
import conda._vendor.auxlib._vendor.boltons.__init__
import conda._vendor.auxlib._vendor.six
import conda._vendor.auxlib.__init__
import conda._vendor.auxlib.factory
import conda._vendor.auxlib.ish
import conda._vendor.toolz.itertoolz
import conda._vendor.toolz.dicttoolz
import conda._vendor.toolz.compatibility
import conda._vendor.toolz.__init__
import conda._vendor.toolz.recipes
import conda._vendor.toolz.utils
import conda._vendor.urllib3.util.url
import conda._vendor.urllib3.util.__init__
import conda._vendor.urllib3.exceptions
import conda._vendor.urllib3.__init__
import conda._vendor.tqdm._utils
import conda._vendor.tqdm.__main__
import conda._vendor.tqdm._version
import conda._vendor.tqdm._main
import conda._vendor.tqdm._monitor
import conda._vendor.tqdm.__init__
import conda._vendor.tqdm._tqdm
import conda._vendor.distro
import conda._vendor.__init__
import conda._vendor.boltons.timeutils
import conda._vendor.boltons.setutils
import conda._vendor.boltons.__init__
import conda.__init__
import conda.models.dist
import conda.models.records
import conda.models.leased_path_entry
import conda.models.package_info
import conda.models.prefix_graph
import conda.models.version
import conda.models.match_spec
import conda.models.__init__
import conda.models.enums
import conda.models.channel
import conda.misc
import conda.utils
import conda.instructions
import conda.gateways.logging
import conda.gateways.anaconda_client
import conda.gateways.connection.session
import conda.gateways.connection.adapters.localfs
import conda.gateways.connection.adapters.ftp
import conda.gateways.connection.adapters.s3
import conda.gateways.connection.adapters.__init__
import conda.gateways.connection.download
import conda.gateways.connection.__init__
import conda.gateways.subprocess
import conda.gateways.__init__
import conda.gateways.disk.test
import conda.gateways.disk.update
import conda.gateways.disk.delete
import conda.gateways.disk.permissions
import conda.gateways.disk.create
import conda.gateways.disk.read
import conda.gateways.disk.link
import conda.gateways.disk.__init__
import conda.lock
import conda.plan
import conda.history
