Skip to content

Commit

Permalink
Add hook for Hydra config system (hydra-core)
Browse files Browse the repository at this point in the history
  • Loading branch information
rokm committed Jul 24, 2022
1 parent bef0b8a commit e14ce47
Show file tree
Hide file tree
Showing 5 changed files with 49 additions and 0 deletions.
1 change: 1 addition & 0 deletions news/424.new.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Add hook for Hydra config system (``hydra-core``).
1 change: 1 addition & 0 deletions requirements-test-libraries.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@ great-expectations==0.15.13
tensorflow==2.9.1
pyshark==0.4.6
opencv-python==4.6.0.66
hydra-core==1.2.0

# ------------------- Platform (OS) specifics

Expand Down
19 changes: 19 additions & 0 deletions src/_pyinstaller_hooks_contrib/hooks/stdhooks/hook-hydra.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# ------------------------------------------------------------------
# Copyright (c) 2022 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.GPL.txt, distributed with
# this software.
#
# SPDX-License-Identifier: GPL-2.0-or-later
# ------------------------------------------------------------------

from PyInstaller.utils.hooks import collect_submodules, collect_data_files

# Collect core plugins.
hiddenimports = collect_submodules('hydra._internal.core_plugins')

# Collect package's data files, such as default configuration files.
datas = collect_data_files('hydra')
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
test_group:
secret_string: secret
secret_number: 123
25 changes: 25 additions & 0 deletions src/_pyinstaller_hooks_contrib/tests/test_libraries.py
Original file line number Diff line number Diff line change
Expand Up @@ -1276,3 +1276,28 @@ def test_pyqtgraph(pyi_builder):
import pyqtgraph.imageview.ImageView
"""
)


@importorskip('hydra')
def test_hydra(pyi_builder, tmpdir):
config_file = str((Path(__file__) / '../data/test_hydra/config.yaml').resolve(strict=True).as_posix())

pyi_builder.test_source(
"""
import os
import hydra
from omegaconf import DictConfig, OmegaConf
config_path = os.path.join(os.path.dirname(__file__), 'conf')
@hydra.main(config_path=config_path, config_name="config")
def my_app(cfg):
assert cfg.test_group.secret_string == 'secret'
assert cfg.test_group.secret_number == 123
if __name__ == "__main__":
my_app()
""",
pyi_args=['--add-data', f'{config_file}:conf']
)

0 comments on commit e14ce47

Please sign in to comment.