While reviewing the FOQUS test suite setup yesterday with @ksbeattie, we realized that test_start_gui, one of the tests in foqus_lib/unit_tests/test_foqus_main.py, fails
This didn't show up before because this test is marked as requires_human and thus is not run as part of the CI test suite
This doesn't seem to affect the functionality covered by the test, i.e. starting foqus from the command line
Steps to reproduce
Create a fresh Conda environment and activate it
Clone FOQUS from the current master and enter the FOQUS directory
The relevant part of the error message seems to point at foqus_lib.service.flowsheet._log being None (its default value assigned when the module is imported) which causes an error when FoqusSettings.getUserConfigLocation() is called in foqus_lib.foqus.main()
From the lines here it looks like the FoqusSettings.getUserConfigLocation() method is monkeypatched when the foqus_lib.service.flowsheet module is imported
It's not clear at what point of the test this module is imported
Possibly because foqus_lib.service.test.flowsheet_control_test is imported as part of the test run?
Description
test_start_gui
, one of the tests infoqus_lib/unit_tests/test_foqus_main.py
, failsrequires_human
and thus is not run as part of the CI test suitefoqus
from the command lineSteps to reproduce
Create a fresh Conda environment and activate it
Clone FOQUS from the current
master
and enter the FOQUS directoryInstall FOQUS with dev dependencies:
Run
pytest -m requires_human
Error message:
Click to expand
```txt ============================================================================================================ test session starts ============================================================================================================= platform linux -- Python 3.7.9, pytest-6.1.2, py-1.9.0, pluggy-0.13.1 rootdir: /home/ludo/lbl/ccsi/FOQUS, configfile: pytest.ini, testpaths: foqus_lib plugins: cov-2.10.1 collected 48 items / 47 deselected / 1 selected foqus_lib/unit_test/test_foqus_main.py F [100%] ================================================================================================================== FAILURES ================================================================================================================== _______________________________________________________________________________________________________________ test_start_gui _______________________________________________________________________________________________________________ @pytest.mark.requires_human("Close the GUI window manually to complete the test") def test_start_gui(): cli_args = [] with pytest.raises(SystemExit, match="0"): > foqus.main(cli_args) foqus_lib/unit_test/test_foqus_main.py:61: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ foqus_lib/foqus.py:341: in main if not generalSettings.getUserConfigLocation(): _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ args = (), kw = {} def _get_user_config_location(*args, **kw): > _log.debug("USER CONFIG: %s", str(args)) E AttributeError: 'NoneType' object has no attribute 'debug' foqus_lib/service/flowsheet.py:50: AttributeError ------------------------------------------------------------------------------------------------------------- Captured log call -------------------------------------------------------------------------------------------------------------- DEBUG matplotlib:__init__.py:241 (private) matplotlib data path: /opt/conda/envs/ccsi-foqus/lib/python3.7/site-packages/matplotlib/mpl-data DEBUG matplotlib:__init__.py:241 matplotlib data path: /opt/conda/envs/ccsi-foqus/lib/python3.7/site-packages/matplotlib/mpl-data DEBUG matplotlib:__init__.py:241 CONFIGDIR=/home/ludo/.config/matplotlib DEBUG matplotlib:__init__.py:1480 matplotlib version 3.3.3 DEBUG matplotlib:__init__.py:1481 interactive is False DEBUG matplotlib:__init__.py:1482 platform is linux DEBUG matplotlib:__init__.py:1483 loaded modules: ['sys', 'builtins', '_frozen_importlib', '_imp', '_thread', '_warnings', '_weakref', 'zipimport', '_frozen_importlib_external', '_io', 'marshal', 'posix', 'encodings', 'codecs', '_codecs', 'encodings.aliases', 'encodings.utf_8', '_signal', '__main__', 'encodings.latin_1', 'io', 'abc', '_abc', 'site', 'os', 'stat', '_stat', '_collections_abc', 'posixpath', 'genericpath', 'os.path', '_sitebuiltins', '_bootlocale', '_locale', 'types', 'importlib', 'importlib._bootstrap', 'importlib._bootstrap_external', 'warnings', 'importlib.util', 'importlib.abc', 'importlib.machinery', 'contextlib', 'collections', 'operator', '_operator', 'keyword', 'heapq', '_heapq', 'itertools', 'reprlib', '_collections', 'functools', '_functools', 'mpl_toolkits', 'sphinxcontrib', 're', 'enum', 'sre_compile', '_sre', 'sre_parse', 'sre_constants', 'copyreg', 'pytest', 'pytest.collect', 'typing', 'collections.abc', 'typing.io', 'typing.re', '_pytest', '_pytest._version', '_pytest.deprecated', '_pytest.warning_types', 'attr', '__future__', 'attr.converters', 'attr._make', 'copy', 'weakref', '_weakrefset', 'linecache', 'tokenize', 'token', 'threading', 'time', 'traceback', 'uuid', 'attr._config', 'attr.setters', 'attr.exceptions', 'attr._compat', 'platform', 'subprocess', 'signal', 'errno', '_posixsubprocess', 'select', 'selectors', 'math', 'attr.filters', 'attr.validators', 'attr._funcs', 'attr._version_info', 'attr._next_gen', '_pytest.compat', 'inspect', 'dis', 'opcode', '_opcode', '_pytest.outcomes', 'importlib_metadata', 'csv', '_csv', 'zipp', 'zipfile', 'shutil', 'fnmatch', 'zlib', 'bz2', '_compression', '_bz2', 'lzma', '_lzma', 'pwd', 'grp', 'struct', '_struct', 'binascii', 'pathlib', 'ntpath', 'urllib', 'urllib.parse', 'email', 'importlib_metadata._compat', 'configparser', '_pytest.assertion', '_pytest.assertion.rewrite', 'ast', '_ast', 'py', 'py._error', 'py.error', 'py._vendored_packages', 'py._vendored_packages.apipkg', 'py._version', 'py.test', 'py.process', 'py.apipkg', 'py.iniconfig', 'py.path', 'py.code', 'py.builtin', 'py.io', 'py.xml', 'py.log', '_pytest._io', '_pytest._io.terminalwriter', '_pytest._io.wcwidth', 'unicodedata', '_pytest._io.saferepr', 'pprint', '_pytest.assertion.util', '_pytest._code', '_pytest._code.code', 'pluggy', 'pluggy._version', 'pluggy.manager', 'pluggy._tracing', 'pluggy.callers', 'pluggy.hooks', '_pytest._code.source', 'textwrap', 'bisect', '_bisect', '_pytest.pathlib', 'atexit', 'py._path', 'py._path.local', 'py._path.common', '_pytest.config', 'argparse', 'gettext', 'locale', 'shlex', '_pytest.hookspec', '_pytest.config.exceptions', '_pytest.config.findpaths', 'iniconfig', '_pytest.store', '_pytest.main', '_pytest.nodes', '_pytest.fixtures', '_pytest.config.argparsing', '_pytest.mark', '_pytest.mark.expression', '_pytest.mark.structures', '_pytest.reports', '_pytest.runner', 'bdb', '_pytest.timing', '_pytest.assertion.truncate', '_pytest.debugging', '_pytest.freeze_support', '_pytest.python', '_pytest.python_api', 'decimal', 'numbers', '_decimal', '_pytest.recwarn', '_pytest.helpconfig', '_pytest.terminal', 'datetime', '_datetime', '_pytest.unittest', '_pytest.skipping', '_pytest.capture', 'tempfile', 'random', 'hashlib', '_hashlib', '_blake2', '_sha3', '_random', '_pytest.tmpdir', '_pytest.monkeypatch', '_pytest.pastebin', '_pytest.nose', '_pytest.junitxml', 'xml', 'xml.etree', 'xml.etree.ElementTree', 'xml.etree.ElementPath', 'pyexpat.errors', 'pyexpat.model', 'pyexpat', '_elementtree', '_pytest.doctest', '_pytest.cacheprovider', 'json', 'json.decoder', 'json.scanner', '_json', 'json.encoder', '_pytest.setuponly', '_pytest.setupplan', '_pytest.stepwise', '_pytest.warnings', '_pytest.logging', 'logging', 'string', '_string', '_pytest.faulthandler', '_pytest._argcomplete', 'glob', 'pytest_cov', 'pytest_cov.plugin', 'coverage', 'coverage.version', 'coverage.control', 'coverage.env', 'coverage.annotate', 'coverage.files', 'coverage.backward', 'coverage.misc', 'socket', '_socket', 'coverage.report', 'coverage.collector', 'coverage.debug', 'coverage.disposition', 'coverage.pytracer', 'coverage.tracer', 'coverage.config', 'coverage.tomlconfig', 'coverage.context', 'coverage.data', 'coverage.sqldata', 'sqlite3', 'sqlite3.dbapi2', '_sqlite3', 'coverage.numbits', 'coverage.html', 'coverage.results', 'coverage.templite', 'coverage.inorout', 'coverage.python', 'coverage.parser', 'coverage.bytecode', 'coverage.phystokens', 'coverage.plugin', 'coverage.jsonreport', 'coverage.plugin_support', 'coverage.summary', 'coverage.xmlreport', 'xml.dom', 'xml.dom.domreg', 'xml.dom.minidom', 'xml.dom.minicompat', 'xml.dom.xmlbuilder', 'xml.dom.NodeFilter', 'coverage.multiproc', 'multiprocessing', 'multiprocessing.context', 'multiprocessing.process', 'multiprocessing.reduction', 'pickle', '_compat_pickle', '_pickle', 'array', '__mp_main__', 'pytest_cov.compat', 'pytest_cov.embed', 'multiprocessing.util', 'py._builtin', 'faulthandler', 'pdb', 'cmd', 'code', 'codeop', 'email.parser', 'email.feedparser', 'email.errors', 'email._policybase', 'email.header', 'email.quoprimime', 'email.base64mime', 'base64', 'email.charset', 'email.encoders', 'quopri', 'email.utils', 'email._parseaddr', 'calendar', 'email.message', 'uu', 'email._encoded_words', 'email.iterators', 'py._code', 'py._code.code', 'foqus_lib', 'foqus_lib.framework', 'foqus_lib.framework.pymodel', 'foqus_lib.framework.pymodel.pymodel_test', 'numpy', 'numpy._globals', 'numpy.__config__', 'numpy.version', 'numpy._distributor_init', 'numpy.core', 'numpy.core.multiarray', 'numpy.core.overrides', 'numpy.core._multiarray_umath', 'numpy.compat', 'numpy.compat._inspect', 'numpy.compat.py3k', 'numpy.core.umath', 'numpy.core.numerictypes', 'numpy.core._string_helpers', 'numpy.core._type_aliases', 'numpy.core._dtype', 'numpy.core.numeric', 'numpy.core.shape_base', 'numpy.core._asarray', 'numpy.core.fromnumeric', 'numpy.core._methods', 'numpy.core._exceptions', 'numpy.core._ufunc_config', 'numpy.core.arrayprint', 'numpy.core.defchararray', 'numpy.core.records', 'numpy.core.memmap', 'numpy.core.function_base', 'numpy.core.machar', 'numpy.core.getlimits', 'numpy.core.einsumfunc', 'numpy.core._add_newdocs', 'numpy.core._multiarray_tests', 'numpy.core._dtype_ctypes', 'numpy.core._internal', 'ctypes', '_ctypes', 'ctypes._endian', 'numpy._pytesttester', 'numpy.lib', 'numpy.lib.mixins', 'numpy.lib.scimath', 'numpy.lib.type_check', 'numpy.lib.ufunclike', 'numpy.lib.index_tricks', 'numpy.matrixlib', 'numpy.matrixlib.defmatrix', 'numpy.linalg', 'numpy.linalg.linalg', 'numpy.lib.twodim_base', 'numpy.linalg.lapack_lite', 'numpy.linalg._umath_linalg', 'numpy.lib.function_base', 'numpy.lib.histograms', 'numpy.lib.stride_tricks', 'numpy.lib.nanfunctions', 'numpy.lib.shape_base', 'numpy.lib.polynomial', 'numpy.lib.utils', 'numpy.lib.arraysetops', 'numpy.lib.npyio', 'numpy.lib.format', 'numpy.lib._datasource', 'numpy.lib._iotools', 'numpy.lib.financial', 'numpy.lib.arrayterator', 'numpy.lib.arraypad', 'numpy.lib._version', 'numpy.fft', 'numpy.fft._pocketfft', 'numpy.fft._pocketfft_internal', 'numpy.fft.helper', 'numpy.polynomial', 'numpy.polynomial.polynomial', 'numpy.polynomial.polyutils', 'numpy.polynomial._polybase', 'numpy.polynomial.chebyshev', 'numpy.polynomial.legendre', 'numpy.polynomial.hermite', 'numpy.polynomial.hermite_e', 'numpy.polynomial.laguerre', 'numpy.random', 'numpy.random._pickle', 'numpy.random.mtrand', 'cython_runtime', 'numpy.random.bit_generator', '_cython_0_29_21', 'numpy.random._common', 'secrets', 'hmac', 'numpy.random._bounded_integers', 'numpy.random._mt19937', 'numpy.random._philox', 'numpy.random._pcg64', 'numpy.random._sfc64', 'numpy.random._generator', 'numpy.ctypeslib', 'numpy.ma', 'numpy.ma.core', 'numpy.ma.extras', 'foqus_lib.framework.pymodel.pymodel', 'foqus_lib.framework.graph', 'foqus_lib.framework.graph.nodeVars', 'foqus_lib.framework.foqusException', 'foqus_lib.framework.foqusException.foqusException', 'foqus_lib.framework.uq', 'foqus_lib.framework.uq.Distribution', 'foqus_lib.framework.sampleResults', 'foqus_lib.framework.sampleResults.test', 'foqus_lib.framework.sampleResults.test.results_s3_test', 'foqus_lib.framework.sampleResults.results', 'pandas', 'pytz', 'pytz.exceptions', 'pytz.lazy', 'pytz.tzinfo', 'pytz.tzfile', 'dateutil', 'dateutil._version', 'pandas.compat', 'pandas._typing', 'pandas.compat.numpy', 'distutils', 'distutils.version', 'pandas._libs', 'pandas._libs.interval', 'pandas._libs.hashtable', 'pandas._libs.missing', 'pandas._libs.tslibs', 'pandas._libs.tslibs.dtypes', 'pandas._libs.tslibs.conversion', 'pandas._libs.tslibs.base', 'pandas._libs.tslibs.nattype', 'pandas._libs.tslibs.np_datetime', 'pandas._libs.tslibs.timezones', 'dateutil.tz', 'dateutil.tz.tz', 'six', 'six.moves', 'dateutil.tz._common', 'dateutil.tz._factories', 'pandas._libs.tslibs.tzconversion', 'pandas._libs.tslibs.ccalendar', 'pandas._libs.tslibs.parsing', 'pandas._libs.tslibs.offsets', 'pandas._libs.tslibs.timedeltas', 'pandas._libs.tslibs.timestamps', 'pandas._libs.tslibs.fields', 'pandas._config', 'pandas._config.config', 'pandas._config.dates', 'pandas._config.display', 'pandas._config.localization', 'pandas._libs.tslibs.strptime', 'dateutil.easter', 'dateutil.relativedelta', 'dateutil._common', 'pandas._libs.properties', 'dateutil.parser', 'dateutil.parser._parser', 'dateutil.parser.isoparser', 'pandas._libs.tslibs.period', 'pandas._libs.tslibs.vectorized', 'pandas._libs.ops_dispatch', 'pandas._libs.algos', 'pandas._libs.lib', 'pandas._libs.tslib', 'pandas.core', 'pandas.core.config_init', 'pandas.core.api', 'pandas.core.dtypes', 'pandas.core.dtypes.dtypes', 'pandas.core.dtypes.base', 'pandas.errors', 'pandas.core.dtypes.generic', 'pandas.core.dtypes.inference', 'pandas.core.dtypes.missing', 'pandas.core.dtypes.common', 'pandas.core.algorithms', 'pandas.util', 'pandas.util._decorators', 'pandas.core.util', 'pandas.core.util.hashing', 'pandas._libs.hashing', 'pandas.core.dtypes.cast', 'pandas.util._validators', 'pandas.core.construction', 'pandas.core.common', 'pandas.core.indexers', 'pandas.core.arrays', 'pandas.core.arrays.base', 'pandas.compat.numpy.function', 'pandas.core.ops', 'pandas.core.ops.array_ops', 'pandas._libs.ops', 'pandas.core.ops.missing', 'pandas.core.ops.roperator', 'pandas.core.ops.dispatch', 'pandas.core.ops.invalid', 'pandas.core.ops.common', 'pandas.core.ops.docstrings', 'pandas.core.ops.mask_ops', 'pandas.core.ops.methods', 'pandas.core.missing', 'pandas.compat._optional', 'pandas.core.sorting', 'pandas.core.arrays.boolean', 'pandas.core.arrays.masked', 'pandas.core.nanops', 'pandas.core.array_algos', 'pandas.core.array_algos.masked_reductions', 'pandas.core.arrays.categorical', 'pandas.core.accessor', 'pandas.core.array_algos.transforms', 'pandas.core.arrays._mixins', 'pandas.core.base', 'pandas.io', 'pandas.io.formats', 'pandas.io.formats.console', 'pandas.core.arrays.datetimes', 'pandas.core.arrays.datetimelike', 'pandas.tseries', 'pandas.tseries.frequencies', 'pandas.core.arrays._ranges', 'pandas.tseries.offsets', 'pandas.core.arrays.integer', 'pandas.core.tools', 'pandas.core.tools.numeric', 'pandas.core.arrays.interval', 'pandas.core.indexes', 'pandas.core.indexes.base', 'pandas._libs.index', 'pandas._libs.join', 'pandas.core.dtypes.concat', 'pandas.core.arrays.sparse', 'pandas.core.arrays.sparse.accessor', 'pandas.core.arrays.sparse.array', 'pandas._libs.sparse', 'pandas.core.arrays.sparse.dtype', 'pandas.io.formats.printing', 'pandas.core.indexes.frozen', 'pandas.core.strings', 'pandas.core.arrays.numpy_', 'pandas.core.arrays.period', 'pandas.core.arrays.string_', 'pandas.core.arrays.timedeltas', 'pandas.core.groupby', 'pandas.core.groupby.generic', 'pandas.core.aggregation', 'pandas.core.indexes.api', 'pandas.core.indexes.category', 'pandas.core.indexes.extension', 'pandas.core.indexes.datetimes', 'pandas.core.indexes.datetimelike', 'pandas.core.indexes.numeric', 'pandas.core.tools.timedeltas', 'pandas.core.tools.times', 'pandas.core.indexes.interval', 'pandas.util._exceptions', 'pandas.core.indexes.multi', 'pandas.core.indexes.timedeltas', 'pandas.core.indexes.period', 'pandas.core.indexes.range', 'pandas.core.series', 'pandas._libs.reshape', 'pandas.core.generic', 'gc', 'pandas.core.indexing', 'pandas._libs.indexing', 'pandas.core.internals', 'pandas.core.internals.blocks', 'pandas._libs.writers', 'pandas._libs.internals', 'pandas.core.internals.concat', 'pandas.core.internals.managers', 'pandas.core.internals.ops', 'pandas.core.shared_docs', 'pandas.io.formats.format', 'pandas.io.common', 'gzip', 'mmap', 'pandas.core.indexes.accessors', 'pandas.core.tools.datetimes', 'pandas.arrays', 'pandas.plotting', 'pandas.plotting._core', 'pandas.plotting._misc', 'pandas.core.window', 'pandas.core.window.ewm', 'pandas._libs.window', 'pandas._libs.window.aggregations', 'pandas.core.window.common', 'pandas.core.groupby.base', 'pandas.core.window.rolling', 'pandas.core.util.numba_', 'pandas.core.window.indexers', 'pandas._libs.window.indexers', 'pandas.core.window.numba_', 'pandas.core.window.expanding', 'pandas.core.frame', 'pandas.core.internals.construction', 'pandas.core.reshape', 'pandas.core.reshape.melt', 'pandas.core.reshape.concat', 'pandas.core.reshape.util', 'pandas.io.formats.info', 'pandas.core.groupby.groupby', 'pandas._libs.groupby', 'pandas.core.groupby.ops', 'pandas._libs.reduction', 'pandas.core.groupby.grouper', 'pandas.core.groupby.categorical', 'pandas.tseries.api', 'pandas.core.computation', 'pandas.core.computation.api', 'pandas.core.computation.eval', 'pandas.core.computation.engines', 'pandas.core.computation.align', 'pandas.core.computation.common', 'pandas.core.computation.ops', 'pandas.core.computation.scope', 'pandas.compat.chainmap', 'pandas.core.computation.expr', 'pandas.core.computation.parsing', 'pandas.core.reshape.api', 'pandas.core.reshape.merge', 'pandas.core.reshape.pivot', 'pandas.core.reshape.reshape', 'pandas.core.reshape.tile', 'pandas.api', 'pandas.api.extensions', 'pandas.api.indexers', 'pandas.api.types', 'pandas.core.dtypes.api', 'pandas.util._print_versions', 'pandas.io.api', 'pandas.io.clipboards', 'pandas.io.excel', 'pandas.io.excel._base', 'pandas._libs.parsers', 'pandas.io.excel._util', 'pandas.io.parsers', 'pandas.io.date_converters', 'pandas.io.excel._odfreader', 'pandas.io.excel._openpyxl', 'pandas.io.excel._pyxlsb', 'pandas.io.excel._xlrd', 'pandas.io.excel._odswriter', 'pandas._libs.json', 'pandas.io.formats.excel', 'pandas.io.formats.css', 'pandas.io.excel._xlsxwriter', 'pandas.io.excel._xlwt', 'pandas.io.feather_format', 'pandas.io.gbq', 'pandas.io.html', 'pandas.io.json', 'pandas.io.json._json', 'pandas.io.json._normalize', 'pandas.io.json._table_schema', 'pandas.io.orc', 'pandas.io.parquet', 'pandas.io.pickle', 'pandas.compat.pickle_compat', 'pandas.io.pytables', 'pandas.core.computation.pytables', 'pandas.io.sas', 'pandas.io.sas.sasreader', 'pandas.io.spss', 'pandas.io.sql', 'pandas.io.stata', 'pandas.util._tester', 'pandas.testing', 'pandas._testing', 'pandas._libs.testing', 'pandas._version', 'foqus_lib.framework.graph.graph', 'queue', '_queue', 'multiprocessing.dummy', 'multiprocessing.dummy.connection', 'foqus_lib.framework.graph.node', 'foqus_lib.framework.graph.nodeModelTypes', 'foqus_lib.framework.foqusOptions', 'foqus_lib.framework.foqusOptions.optionList', 'foqus_lib.framework.foqusOptions.option', 'foqus_lib.framework.sim', 'foqus_lib.framework.sim.turbineConfiguration', 'ssl', '_ssl', 'urllib.request', 'http', 'http.client', 'urllib.error', 'urllib.response', 'imp', 'foqus_lib.framework.sim.process_management', 'psutil', 'psutil._common', 'psutil._compat', 'psutil._pslinux', 'psutil._psposix', 'psutil._psutil_linux', 'psutil._psutil_posix', 'turbine', 'turbine.commands', 'optparse', 'logging.config', 'logging.handlers', 'socketserver', 'turbine.utility', 'turbine.commands.turbine_application_script', 'turbine.commands.turbine_session_script', 'turbine.commands.turbine_simulation_script', 'turbine.commands.requests_base', 'requests', 'urllib3', 'urllib3.exceptions', 'urllib3.packages', 'urllib3.packages.ssl_match_hostname', 'urllib3.packages.six', 'urllib3.packages.six.moves', 'urllib3.packages.six.moves.http_client', 'urllib3._version', 'urllib3.connectionpool', 'urllib3.connection', 'urllib3.util', 'urllib3.util.connection', 'urllib3.contrib', 'urllib3.contrib._appengine_environ', 'urllib3.util.wait', 'urllib3.util.request', 'urllib3.util.response', 'urllib3.util.retry', 'urllib3.util.ssl_', 'urllib3.util.url', 'urllib3.util.ssltransport', 'urllib3.util.timeout', 'urllib3.util.proxy', 'urllib3._collections', 'urllib3.request', 'urllib3.filepost', 'urllib3.fields', 'mimetypes', 'urllib3.packages.six.moves.urllib', 'urllib3.packages.six.moves.urllib.parse', 'urllib3.response', 'urllib3.util.queue', 'urllib3.poolmanager', 'chardet', 'chardet.compat', 'chardet.universaldetector', 'chardet.charsetgroupprober', 'chardet.enums', 'chardet.charsetprober', 'chardet.escprober', 'chardet.codingstatemachine', 'chardet.escsm', 'chardet.latin1prober', 'chardet.mbcsgroupprober', 'chardet.utf8prober', 'chardet.mbcssm', 'chardet.sjisprober', 'chardet.mbcharsetprober', 'chardet.chardistribution', 'chardet.euctwfreq', 'chardet.euckrfreq', 'chardet.gb2312freq', 'chardet.big5freq', 'chardet.jisfreq', 'chardet.jpcntx', 'chardet.eucjpprober', 'chardet.gb2312prober', 'chardet.euckrprober', 'chardet.cp949prober', 'chardet.big5prober', 'chardet.euctwprober', 'chardet.sbcsgroupprober', 'chardet.sbcharsetprober', 'chardet.langcyrillicmodel', 'chardet.langgreekmodel', 'chardet.langbulgarianmodel', 'chardet.langthaimodel', 'chardet.langhebrewmodel', 'chardet.hebrewprober', 'chardet.langturkishmodel', 'chardet.version', 'requests.exceptions', 'requests.__version__', 'requests.utils', 'requests.certs', 'certifi', 'certifi.core', 'importlib.resources', 'requests._internal_utils', 'requests.compat', 'http.cookiejar', 'http.cookies', 'requests.cookies', 'requests.structures', 'requests.packages', 'requests.packages.urllib3', 'requests.packages.urllib3.exceptions', 'requests.packages.urllib3.packages', 'requests.packages.urllib3.packages.ssl_match_hostname', 'requests.packages.urllib3.packages.six', 'requests.packages.urllib3.packages.six.moves', 'requests.packages.urllib3.packages.six.moves.http_client', 'requests.packages.urllib3._version', 'requests.packages.urllib3.connectionpool', 'requests.packages.urllib3.connection', 'requests.packages.urllib3.util', 'requests.packages.urllib3.util.connection', 'requests.packages.urllib3.contrib', 'requests.packages.urllib3.contrib._appengine_environ', 'requests.packages.urllib3.util.wait', 'requests.packages.urllib3.util.request', 'requests.packages.urllib3.util.response', 'requests.packages.urllib3.util.retry', 'requests.packages.urllib3.util.ssl_', 'requests.packages.urllib3.util.url', 'requests.packages.urllib3.util.ssltransport', 'requests.packages.urllib3.util.timeout', 'requests.packages.urllib3.util.proxy', 'requests.packages.urllib3._collections', 'requests.packages.urllib3.request', 'requests.packages.urllib3.filepost', 'requests.packages.urllib3.fields', 'requests.packages.urllib3.packages.six.moves.urllib', 'requests.packages.urllib3.packages.six.moves.urllib.parse', 'requests.packages.urllib3.response', 'requests.packages.urllib3.util.queue', 'requests.packages.urllib3.poolmanager', 'idna', 'idna.package_data', 'idna.core', 'idna.idnadata', 'idna.intranges', 'requests.packages.idna', 'requests.packages.idna.package_data', 'requests.packages.idna.core', 'requests.packages.idna.idnadata', 'requests.packages.idna.intranges', 'requests.packages.chardet', 'requests.packages.chardet.compat', 'requests.packages.chardet.universaldetector', 'requests.packages.chardet.charsetgroupprober', 'requests.packages.chardet.enums', 'requests.packages.chardet.charsetprober', 'requests.packages.chardet.escprober', 'requests.packages.chardet.codingstatemachine', 'requests.packages.chardet.escsm', 'requests.packages.chardet.latin1prober', 'requests.packages.chardet.mbcsgroupprober', 'requests.packages.chardet.utf8prober', 'requests.packages.chardet.mbcssm', 'requests.packages.chardet.sjisprober', 'requests.packages.chardet.mbcharsetprober', 'requests.packages.chardet.chardistribution', 'requests.packages.chardet.euctwfreq', 'requests.packages.chardet.euckrfreq', 'requests.packages.chardet.gb2312freq', 'requests.packages.chardet.big5freq', 'requests.packages.chardet.jisfreq', 'requests.packages.chardet.jpcntx', 'requests.packages.chardet.eucjpprober', 'requests.packages.chardet.gb2312prober', 'requests.packages.chardet.euckrprober', 'requests.packages.chardet.cp949prober', 'requests.packages.chardet.big5prober', 'requests.packages.chardet.euctwprober', 'requests.packages.chardet.sbcsgroupprober', 'requests.packages.chardet.sbcharsetprober', 'requests.packages.chardet.langcyrillicmodel', 'requests.packages.chardet.langgreekmodel', 'requests.packages.chardet.langbulgarianmodel', 'requests.packages.chardet.langthaimodel', 'requests.packages.chardet.langhebrewmodel', 'requests.packages.chardet.hebrewprober', 'requests.packages.chardet.langturkishmodel', 'requests.packages.chardet.version', 'requests.models', 'encodings.idna', 'stringprep', 'requests.hooks', 'requests.auth', 'requests.status_codes', 'requests.api', 'requests.sessions', 'requests.adapters', 'turbine.commands.turbine_job_script', 'foqus_lib.framework.at_dict', 'foqus_lib.framework.at_dict.at_dict', 'foqus_lib.framework.graph.edge', 'foqus_lib.framework.graph.OptGraphOptim', 'unittest', 'unittest.result', 'unittest.util', 'unittest.case', 'difflib', 'unittest.suite', 'unittest.loader', 'unittest.main', 'unittest.runner', 'unittest.signals', 'unittest.mock', 'test_order', 'foqus_lib.framework.sdoe', 'foqus_lib.framework.sdoe.order', 'mlrose_hiive', 'mlrose_hiive.algorithms', 'mlrose_hiive.algorithms.ga', 'mlrose_hiive.decorators', 'mlrose_hiive.decorators.short_name_decorator', 'mlrose_hiive.algorithms.sa', 'mlrose_hiive.algorithms.decay', 'mlrose_hiive.algorithms.decay.arith_decay', 'mlrose_hiive.algorithms.decay.geom_decay', 'mlrose_hiive.algorithms.decay.exp_decay', 'mlrose_hiive.algorithms.decay.custom_schedule', 'mlrose_hiive.algorithms.hc', 'mlrose_hiive.algorithms.rhc', 'mlrose_hiive.algorithms.gd', 'mlrose_hiive.neural', 'mlrose_hiive.neural.activation', 'mlrose_hiive.neural.activation.identity', 'mlrose_hiive.neural.activation.relu', 'mlrose_hiive.neural.activation.sigmoid', 'mlrose_hiive.neural.activation.softmax', 'mlrose_hiive.neural.activation.tanh', 'mlrose_hiive.neural.utils', 'mlrose_hiive.neural.utils.weights', 'mlrose_hiive.neural.neural_network', 'sklearn', 'sklearn._config', 'sklearn._distributor_init', 'sklearn.__check_build', 'sklearn.__check_build._check_build', 'sklearn.base', 'sklearn.utils', 'pkgutil', 'timeit', 'scipy', 'scipy._lib', 'scipy._lib._testutils', 'scipy._lib.deprecation', 'scipy.__config__', 'scipy.version', 'scipy._distributor_init', 'scipy._lib._pep440', 'scipy._lib._ccallback', 'scipy._lib._ccallback_c', 'scipy.fft', 'scipy.fft._basic', 'scipy._lib.uarray', 'scipy._lib._uarray', 'scipy._lib._uarray._backend', 'scipy._lib._uarray._uarray', 'scipy.fft._realtransforms', 'scipy.fft._helper', 'scipy.fft._pocketfft', 'scipy.fft._pocketfft.basic', 'scipy.fft._pocketfft.pypocketfft', 'scipy.fft._pocketfft.helper', 'scipy.fft._pocketfft.realtransforms', 'scipy.fft._backend', 'scipy.sparse', 'scipy.sparse.base', 'scipy.sparse.sputils', 'scipy._lib._util', 'scipy.sparse.csr', 'scipy.sparse._sparsetools', 'scipy.sparse.compressed', 'scipy.sparse.data', 'scipy.sparse.dia', 'scipy.sparse._index', 'scipy.sparse.csc', 'scipy.sparse.lil', 'scipy.sparse._csparsetools', 'scipy.sparse.dok', 'scipy.sparse.coo', 'scipy.sparse.bsr', 'scipy.sparse.construct', 'scipy.sparse.extract', 'scipy.sparse._matrix_io', 'scipy.sparse.csgraph', 'scipy.sparse.csgraph._laplacian', 'scipy.sparse.csgraph._shortest_path', 'scipy.sparse.csgraph._validation', 'scipy.sparse.csgraph._tools', 'scipy.sparse.csgraph._traversal', 'scipy.sparse.csgraph._min_spanning_tree', 'scipy.sparse.csgraph._flow', 'scipy.sparse.csgraph._matching', 'scipy.sparse.csgraph._reordering', 'sklearn.utils.murmurhash', 'sklearn.utils.class_weight', 'sklearn.utils.validation', 'joblib', 'joblib.memory', 'pydoc', 'sysconfig', '_sysconfigdata_m_linux_x86_64-linux-gnu', 'joblib.hashing', 'joblib.func_inspect', 'joblib.logger', 'joblib.disk', 'joblib._store_backends', 'joblib.backports', 'joblib.numpy_pickle', 'joblib.compressor', 'joblib.numpy_pickle_utils', 'joblib.numpy_pickle_compat', 'joblib.parallel', 'joblib._multiprocessing_helpers', '_multiprocessing', 'joblib._parallel_backends', 'joblib.my_exceptions', 'joblib._deprecated_my_exceptions', 'joblib.pool', 'joblib._memmapping_reducer', 'joblib.externals', 'joblib.externals.loky', 'joblib.externals.loky._base', 'concurrent', 'concurrent.futures', 'concurrent.futures._base', 'joblib.externals.loky.backend', 'joblib.externals.loky.backend.context', 'joblib.externals.loky.backend.process', 'joblib.externals.loky.backend.compat', 'joblib.externals.loky.backend.compat_posix', 'multiprocessing.connection', 'multiprocessing.synchronize', 'joblib.externals.loky.backend.reduction', 'joblib.externals.loky.backend._posix_reduction', 'joblib.externals.cloudpickle', 'joblib.externals.cloudpickle.cloudpickle', 'joblib.externals.cloudpickle.compat', 'joblib.externals.cloudpickle.cloudpickle_fast', 'joblib.externals.loky.reusable_executor', 'joblib.externals.loky.process_executor', 'joblib.externals.loky.backend.queues', 'multiprocessing.queues', 'joblib.externals.loky.backend.utils', 'concurrent.futures.process', 'joblib.externals.loky.cloudpickle_wrapper', 'joblib.externals.loky.backend.resource_tracker', 'joblib.externals.loky.backend.spawn', 'runpy', 'multiprocessing.pool', 'joblib.executor', 'sklearn.utils.fixes', 'scipy.stats', 'scipy.stats.stats', 'scipy.spatial', 'scipy.spatial.kdtree', 'scipy.spatial.ckdtree', 'scipy.spatial.qhull', 'scipy._lib.messagestream', 'scipy.spatial._spherical_voronoi', 'scipy.spatial._voronoi', 'scipy.spatial._plotutils', 'scipy._lib.decorator', 'scipy.spatial._procrustes', 'scipy.linalg', 'scipy.linalg.misc', 'scipy.linalg.blas', 'scipy.linalg._fblas', 'scipy.linalg.lapack', 'scipy.linalg._flapack', 'scipy.linalg.basic', 'scipy.linalg.flinalg', 'scipy.linalg._flinalg', 'scipy.linalg.decomp', 'scipy.linalg.decomp_svd', 'scipy.linalg._solve_toeplitz', 'scipy.linalg.decomp_lu', 'scipy.linalg._decomp_ldl', 'scipy.linalg.decomp_cholesky', 'scipy.linalg.decomp_qr', 'scipy.linalg._decomp_qz', 'scipy.linalg.decomp_schur', 'scipy.linalg._decomp_polar', 'scipy.linalg.matfuncs', 'scipy.linalg.special_matrices', 'scipy.linalg._expm_frechet', 'scipy.linalg._matfuncs_sqrtm', 'scipy.linalg._solvers', 'scipy.linalg._procrustes', 'scipy.linalg._decomp_update', 'scipy.linalg.cython_blas', 'scipy.linalg.cython_lapack', 'scipy.linalg._sketches', 'scipy.linalg._decomp_cossin', 'scipy.spatial._geometric_slerp', 'scipy.spatial.distance', 'scipy.spatial._distance_wrap', 'scipy.spatial._hausdorff', 'scipy.special', 'scipy.special.sf_error', 'scipy.special._ufuncs', 'scipy.special._ufuncs_cxx', 'scipy.special._basic', 'scipy.special.specfun', 'scipy.special.orthogonal', 'scipy.special._comb', 'scipy.special._logsumexp', 'scipy.special.spfun_stats', 'scipy.special._ellip_harm', 'scipy.special._ellip_harm_2', 'scipy.special._lambertw', 'scipy.special._spherical_bessel', 'scipy.spatial.transform', 'scipy.spatial.transform.rotation', 'scipy.spatial.transform._rotation_groups', 'scipy.constants', 'scipy.constants.codata', 'scipy.constants.constants', 'scipy.spatial.transform._rotation_spline', 'scipy.ndimage', 'scipy.ndimage.filters', 'scipy.ndimage._ni_support', 'scipy.ndimage._nd_image', 'scipy.ndimage._ni_docstrings', 'scipy._lib.doccer', 'scipy.ndimage.fourier', 'scipy.ndimage.interpolation', 'scipy.ndimage.measurements', 'scipy.ndimage._ni_label', '_ni_label', 'scipy.ndimage.morphology', 'scipy.stats.distributions', 'scipy.stats._distn_infrastructure', 'scipy.stats._distr_params', 'scipy.optimize', 'scipy.optimize.optimize', 'scipy.optimize.linesearch', 'scipy.optimize.minpack2', 'scipy.optimize._numdiff', 'scipy.sparse.linalg', 'scipy.sparse.linalg.isolve', 'scipy.sparse.linalg.isolve.iterative', 'scipy.sparse.linalg.isolve._iterative', 'scipy.sparse.linalg.interface', 'scipy.sparse.linalg.isolve.utils', 'scipy._lib._threadsafety', 'scipy.sparse.linalg.isolve.minres', 'scipy.sparse.linalg.isolve.lgmres', 'scipy.sparse.linalg.isolve._gcrotmk', 'scipy.sparse.linalg.isolve.lsqr', 'scipy.sparse.linalg.isolve.lsmr', 'scipy.sparse.linalg.dsolve', 'scipy.sparse.linalg.dsolve.linsolve', 'scipy.sparse.linalg.dsolve._superlu', 'scipy.sparse.linalg.dsolve._add_newdocs', 'scipy.sparse.linalg.eigen', 'scipy.sparse.linalg.eigen.arpack', 'scipy.sparse.linalg.eigen.arpack.arpack', 'scipy.sparse.linalg.eigen.arpack._arpack', 'scipy.sparse.linalg.eigen.lobpcg', 'scipy.sparse.linalg.eigen.lobpcg.lobpcg', 'scipy.sparse.linalg.matfuncs', 'scipy.sparse.linalg._expm_multiply', 'scipy.sparse.linalg._onenormest', 'scipy.sparse.linalg._norm', 'scipy.optimize._group_columns', 'scipy.optimize._differentiable_functions', 'scipy.optimize._hessian_update_strategy', 'scipy.optimize._minimize', 'scipy.optimize._trustregion_dogleg', 'scipy.optimize._trustregion', 'scipy.optimize._trustregion_ncg', 'scipy.optimize._trustregion_krylov', 'scipy.optimize._trlib', 'scipy.optimize._trlib._trlib', 'scipy.optimize._trustregion_exact', 'scipy.optimize._trustregion_constr', 'scipy.optimize._trustregion_constr.minimize_trustregion_constr', 'scipy.optimize._constraints', 'numpy.testing', 'numpy.testing._private', 'numpy.testing._private.utils', 'numpy.testing._private.decorators', 'numpy.testing._private.nosetester', 'scipy.optimize._trustregion_constr.equality_constrained_sqp', 'scipy.optimize._trustregion_constr.projections', 'scipy.optimize._trustregion_constr.qp_subproblem', 'scipy.optimize._trustregion_constr.canonical_constraint', 'scipy.optimize._trustregion_constr.tr_interior_point', 'scipy.optimize._trustregion_constr.report', 'scipy.optimize.lbfgsb', 'scipy.optimize._lbfgsb', 'scipy.optimize.tnc', 'scipy.optimize.moduleTNC', 'scipy.optimize.cobyla', 'scipy.optimize._cobyla', 'scipy.optimize.slsqp', 'scipy.optimize._slsqp', 'scipy.optimize._root', 'scipy.optimize.minpack', 'scipy.optimize._minpack', 'scipy.optimize._lsq', 'scipy.optimize._lsq.least_squares', 'scipy.optimize._lsq.trf', 'scipy.optimize._lsq.common', 'scipy.optimize._lsq.dogbox', 'scipy.optimize._lsq.lsq_linear', 'scipy.optimize._lsq.trf_linear', 'scipy.optimize._lsq.givens_elimination', 'scipy.optimize._lsq.bvls', 'scipy.optimize._spectral', 'scipy.optimize.nonlin', 'scipy.optimize._root_scalar', 'scipy.optimize.zeros', 'scipy.optimize._zeros', 'scipy.optimize._nnls', 'scipy.optimize.__nnls', 'scipy.optimize._basinhopping', 'scipy.optimize._linprog', 'scipy.optimize._linprog_ip', 'scipy.optimize._linprog_util', 'scipy.optimize._remove_redundancy', 'scipy.optimize._linprog_simplex', 'scipy.optimize._linprog_rs', 'scipy.optimize._bglu_dense', 'scipy.optimize._lsap', 'scipy.optimize._lsap_module', 'scipy.optimize._differentialevolution', 'scipy.optimize._shgo', 'scipy.optimize._shgo_lib', 'scipy.optimize._shgo_lib.sobol_seq', 'scipy.optimize._shgo_lib.triangulation', 'scipy.optimize._dual_annealing', 'scipy.integrate', 'scipy.integrate._quadrature', 'scipy.integrate.odepack', 'scipy.integrate._odepack', 'scipy.integrate.quadpack', 'scipy.integrate._quadpack', 'scipy.integrate._ode', 'scipy.integrate.vode', 'scipy.integrate._dop', 'scipy.integrate.lsoda', 'scipy.integrate._bvp', 'scipy.integrate._ivp', 'scipy.integrate._ivp.ivp', 'scipy.integrate._ivp.bdf', 'scipy.integrate._ivp.common', 'scipy.integrate._ivp.base', 'scipy.integrate._ivp.radau', 'scipy.integrate._ivp.rk', 'scipy.integrate._ivp.dop853_coefficients', 'scipy.integrate._ivp.lsoda', 'scipy.integrate._quad_vec', 'scipy.misc', 'scipy.misc.doccer', 'scipy.misc.common', 'scipy.stats._constants', 'scipy.stats._continuous_distns', 'scipy.interpolate', 'scipy.interpolate.interpolate', 'scipy.interpolate.fitpack', 'scipy.interpolate._fitpack_impl', 'scipy.interpolate._fitpack', 'scipy.interpolate.dfitpack', 'scipy.interpolate._bsplines', 'scipy.interpolate._bspl', 'scipy.interpolate.polyint', 'scipy.interpolate._ppoly', 'scipy.interpolate.fitpack2', 'scipy.interpolate.interpnd', 'scipy.interpolate.rbf', 'scipy.interpolate._cubic', 'scipy.interpolate.ndgriddata', 'scipy.interpolate._pade', 'scipy.stats._stats', 'scipy.special.cython_special', 'scipy.stats._rvs_sampling', 'scipy.stats._tukeylambda_stats', 'scipy.stats._ksstats', 'scipy.stats._discrete_distns', 'scipy.stats.mstats_basic', 'scipy.stats._stats_mstats_common', 'scipy.stats._hypotests', 'scipy.stats._wilcoxon_data', 'scipy.stats.morestats', 'scipy.stats.statlib', 'scipy.stats.contingency', 'scipy.stats._binned_statistic', 'scipy.stats.kde', 'scipy.stats.mvn', 'scipy.stats.mstats', 'scipy.stats.mstats_extras', 'scipy.stats._multivariate', 'sklearn.utils.deprecation', 'pkg_resources', 'plistlib', 'xml.parsers', 'xml.parsers.expat', 'xml.parsers.expat.model', 'xml.parsers.expat.errors', 'pkg_resources.extern', 'pkg_resources._vendor', 'pkg_resources._vendor.appdirs', 'pkg_resources.extern.appdirs', 'pkg_resources._vendor.packaging', 'pkg_resources._vendor.packaging.__about__', 'pkg_resources.extern.packaging', 'pkg_resources.extern.packaging.version', 'pkg_resources.extern.packaging._structures', 'pkg_resources.extern.packaging._typing', 'pkg_resources.extern.packaging.specifiers', 'pkg_resources.extern.packaging._compat', 'pkg_resources.extern.packaging.utils', 'pkg_resources.extern.packaging.requirements', 'pkg_resources._vendor.pyparsing', 'pkg_resources.extern.pyparsing', 'pkg_resources.extern.packaging.markers', 'sklearn.exceptions', 'sklearn.utils._joblib', 'sklearn.utils._estimator_html_repr', 'html', 'html.entities', 'sklearn.utils._show_versions', 'sklearn.utils._openmp_helpers', 'mlrose_hiive.neural._nn_core', 'mlrose_hiive.neural._nn_base', 'mlrose_hiive.neural.fitness', 'mlrose_hiive.neural.fitness.network_weights', 'sklearn.metrics', 'sklearn.metrics._ranking', 'sklearn.utils.multiclass', 'sklearn.utils.extmath', 'sklearn.utils._logistic_sigmoid', 'sklearn.utils.sparsefuncs_fast', 'sklearn.utils.sparsefuncs', 'sklearn.preprocessing', 'sklearn.preprocessing._function_transformer', 'sklearn.preprocessing._data', 'sklearn.preprocessing._csr_polynomial_expansion', 'sklearn.preprocessing._encoders', 'sklearn.preprocessing._label', 'sklearn.preprocessing._discretization', 'sklearn.metrics._base', 'sklearn.metrics._classification', 'sklearn.metrics.cluster', 'sklearn.metrics.cluster._supervised', 'sklearn.metrics.cluster._expected_mutual_info_fast', 'sklearn.metrics.cluster._unsupervised', 'sklearn.metrics.pairwise', 'sklearn.utils._mask', 'sklearn.metrics._pairwise_fast', 'sklearn.metrics.cluster._bicluster', 'sklearn.metrics._regression', 'sklearn._loss', 'sklearn._loss.glm_distribution', 'sklearn.metrics._scorer', 'sklearn.metrics._plot', 'sklearn.metrics._plot.roc_curve', 'sklearn.metrics._plot.base', 'sklearn.metrics._plot.precision_recall_curve', 'sklearn.metrics._plot.confusion_matrix', 'mlrose_hiive.opt_probs', 'mlrose_hiive.opt_probs.continuous_opt', 'mlrose_hiive.opt_probs._opt_prob', 'mlrose_hiive.opt_probs.discrete_opt', 'mlrose_hiive.algorithms.crossovers', 'mlrose_hiive.algorithms.crossovers.uniform_crossover', 'mlrose_hiive.algorithms.crossovers._crossover_base', 'mlrose_hiive.algorithms.crossovers.tsp_crossover', 'mlrose_hiive.algorithms.crossovers.one_point_crossover', 'mlrose_hiive.algorithms.mutators', 'mlrose_hiive.algorithms.mutators.change_one_mutator', 'mlrose_hiive.algorithms.mutators._mutator_base', 'mlrose_hiive.algorithms.mutators.discrete_mutator', 'mlrose_hiive.algorithms.mutators.swap_mutator', 'mlrose_hiive.algorithms.mutators.shift_one_mutator', 'mlrose_hiive.opt_probs.flip_flop_opt', 'mlrose_hiive.fitness', 'mlrose_hiive.fitness.continuous_peaks', 'mlrose_hiive.fitness.flip_flop', 'mlrose_hiive.fitness.four_peaks', 'mlrose_hiive.fitness._discrete_peaks_base', 'mlrose_hiive.fitness.six_peaks', 'mlrose_hiive.fitness.one_max', 'mlrose_hiive.fitness.max_k_color', 'mlrose_hiive.fitness.knapsack', 'mlrose_hiive.fitness.queens', 'mlrose_hiive.fitness.travelling_sales', 'mlrose_hiive.fitness.custom_fitness', 'mlrose_hiive.opt_probs.knapsack_opt', 'mlrose_hiive.opt_probs.queens_opt', 'mlrose_hiive.opt_probs.max_k_color_opt', 'networkx', 'networkx.release', 'networkx.exception', 'networkx.utils', 'networkx.utils.misc', 'networkx.utils.decorators', 'decorator', 'networkx.utils.random_sequence', 'networkx.utils.union_find', 'networkx.utils.rcm', 'networkx.utils.heaps', 'networkx.utils.contextmanagers', 'networkx.classes', 'networkx.classes.graph', 'networkx.classes.coreviews', 'networkx.classes.reportviews', 'networkx.convert', 'networkx.classes.digraph', 'networkx.classes.multigraph', 'networkx.classes.multidigraph', 'networkx.classes.ordered', 'networkx.classes.function', 'networkx.classes.graphviews', 'networkx.classes.filters', 'networkx.convert_matrix', 'networkx.relabel', 'networkx.generators', 'networkx.generators.atlas', 'networkx.generators.classic', 'networkx.generators.cographs', 'networkx.generators.community', 'networkx.generators.degree_seq', 'networkx.generators.directed', 'networkx.generators.duplication', 'networkx.generators.ego', 'networkx.generators.expanders', 'networkx.generators.geometric', 'networkx.generators.internet_as_graphs', 'networkx.generators.intersection', 'networkx.algorithms', 'networkx.algorithms.assortativity', 'networkx.algorithms.assortativity.connectivity', 'networkx.algorithms.assortativity.correlation', 'networkx.algorithms.assortativity.mixing', 'networkx.algorithms.assortativity.pairs', 'networkx.algorithms.assortativity.neighbor_degree', 'networkx.algorithms.asteroidal', 'networkx.algorithms.boundary', 'networkx.algorithms.bridges', 'networkx.algorithms.chains', 'networkx.algorithms.centrality', 'networkx.algorithms.centrality.betweenness', 'networkx.algorithms.centrality.betweenness_subset', 'networkx.algorithms.centrality.closeness', 'networkx.algorithms.centrality.subgraph_alg', 'networkx.algorithms.centrality.current_flow_closeness', 'networkx.algorithms.centrality.flow_matrix', 'networkx.algorithms.centrality.current_flow_betweenness', 'networkx.algorithms.centrality.current_flow_betweenness_subset', 'networkx.algorithms.centrality.degree_alg', 'networkx.algorithms.centrality.dispersion', 'networkx.algorithms.centrality.eigenvector', 'networkx.algorithms.centrality.group', 'networkx.algorithms.centrality.harmonic', 'networkx.algorithms.centrality.katz', 'networkx.algorithms.centrality.load', 'networkx.algorithms.centrality.reaching', 'networkx.algorithms.centrality.percolation', 'networkx.algorithms.centrality.second_order', 'networkx.algorithms.centrality.trophic', 'networkx.algorithms.centrality.voterank_alg', 'networkx.algorithms.chordal', 'networkx.algorithms.components', 'networkx.algorithms.components.connected', 'networkx.algorithms.components.strongly_connected', 'networkx.algorithms.components.weakly_connected', 'networkx.algorithms.components.attracting', 'networkx.algorithms.components.biconnected', 'networkx.algorithms.components.semiconnected', 'networkx.algorithms.cluster', 'networkx.algorithms.clique', 'networkx.algorithms.communicability_alg', 'networkx.algorithms.coloring', 'networkx.algorithms.coloring.greedy_coloring', 'networkx.algorithms.coloring.greedy_coloring_with_interchange', 'networkx.algorithms.coloring.equitable_coloring', 'networkx.algorithms.core', 'networkx.algorithms.covering', 'networkx.algorithms.cycles', 'networkx.algorithms.cuts', 'networkx.algorithms.d_separation', 'networkx.algorithms.dag', 'networkx.algorithms.traversal', 'networkx.algorithms.traversal.beamsearch', 'networkx.algorithms.traversal.breadth_first_search', 'networkx.algorithms.traversal.depth_first_search', 'networkx.algorithms.traversal.edgedfs', 'networkx.algorithms.traversal.edgebfs', 'networkx.generators.trees', 'networkx.algorithms.distance_measures', 'networkx.algorithms.distance_regular', 'networkx.algorithms.dominance', 'networkx.algorithms.dominating', 'networkx.algorithms.efficiency_measures', 'networkx.algorithms.euler', 'networkx.algorithms.graphical', 'networkx.algorithms.hierarchy', 'networkx.algorithms.hybrid', 'networkx.algorithms.link_analysis', 'networkx.algorithms.link_analysis.pagerank_alg', 'networkx.algorithms.link_analysis.hits_alg', 'networkx.algorithms.link_prediction', 'networkx.algorithms.lowest_common_ancestors', 'networkx.algorithms.isolate', 'networkx.algorithms.matching', 'networkx.algorithms.minors', 'networkx.algorithms.mis', 'networkx.algorithms.moral', 'networkx.algorithms.non_randomness', 'networkx.algorithms.operators', 'networkx.algorithms.operators.all', 'networkx.algorithms.operators.binary', 'networkx.algorithms.operators.product', 'networkx.algorithms.operators.unary', 'networkx.algorithms.planarity', 'networkx.algorithms.planar_drawing', 'networkx.algorithms.reciprocity', 'networkx.algorithms.regular', 'networkx.algorithms.richclub', 'networkx.algorithms.shortest_paths', 'networkx.algorithms.shortest_paths.generic', 'networkx.algorithms.shortest_paths.unweighted', 'networkx.algorithms.shortest_paths.weighted', 'networkx.algorithms.shortest_paths.astar', 'networkx.algorithms.shortest_paths.dense', 'networkx.algorithms.similarity', 'networkx.algorithms.graph_hashing', 'networkx.algorithms.simple_paths', 'networkx.algorithms.smallworld', 'networkx.algorithms.smetric', 'networkx.algorithms.structuralholes', 'networkx.algorithms.sparsifiers', 'networkx.algorithms.swap', 'networkx.algorithms.triads', 'networkx.algorithms.vitality', 'networkx.algorithms.voronoi', 'networkx.algorithms.wiener', 'networkx.algorithms.bipartite', 'networkx.algorithms.bipartite.basic', 'networkx.algorithms.bipartite.centrality', 'networkx.algorithms.bipartite.cluster', 'networkx.algorithms.bipartite.covering', 'networkx.algorithms.bipartite.matching', 'networkx.algorithms.bipartite.matrix', 'networkx.algorithms.bipartite.edgelist', 'networkx.algorithms.bipartite.projection', 'networkx.algorithms.bipartite.redundancy', 'networkx.algorithms.bipartite.spectral', 'networkx.algorithms.bipartite.generators', 'networkx.algorithms.node_classification', 'networkx.algorithms.node_classification.hmn', 'networkx.algorithms.node_classification.utils', 'networkx.algorithms.node_classification.lgc', 'networkx.algorithms.connectivity', 'networkx.algorithms.connectivity.connectivity', 'networkx.algorithms.flow', 'networkx.algorithms.flow.maxflow', 'networkx.algorithms.flow.boykovkolmogorov', 'networkx.algorithms.flow.utils', 'networkx.algorithms.flow.dinitz_alg', 'networkx.algorithms.flow.edmondskarp', 'networkx.algorithms.flow.preflowpush', 'networkx.algorithms.flow.shortestaugmentingpath', 'networkx.algorithms.flow.mincost', 'networkx.algorithms.flow.gomory_hu', 'networkx.algorithms.flow.capacityscaling', 'networkx.algorithms.flow.networksimplex', 'networkx.algorithms.connectivity.utils', 'networkx.algorithms.connectivity.cuts', 'networkx.algorithms.connectivity.edge_augmentation', 'networkx.algorithms.connectivity.edge_kcomponents', 'networkx.algorithms.connectivity.disjoint_paths', 'networkx.algorithms.connectivity.kcomponents', 'networkx.algorithms.connectivity.kcutsets', 'networkx.algorithms.connectivity.stoerwagner', 'networkx.algorithms.community', 'networkx.algorithms.community.asyn_fluid', 'networkx.algorithms.community.centrality', 'networkx.algorithms.community.kclique', 'networkx.algorithms.community.kernighan_lin', 'networkx.algorithms.community.community_utils', 'networkx.algorithms.community.label_propagation', 'networkx.algorithms.community.lukes', 'networkx.algorithms.community.modularity_max', 'networkx.algorithms.community.quality', 'networkx.utils.mapped_queue', 'networkx.algorithms.isomorphism', 'networkx.algorithms.isomorphism.isomorph', 'networkx.algorithms.isomorphism.vf2userfunc', 'networkx.algorithms.isomorphism.isomorphvf2', 'networkx.algorithms.isomorphism.matchhelpers', 'networkx.algorithms.isomorphism.temporalisomorphvf2', 'networkx.algorithms.isomorphism.ismags', 'networkx.algorithms.isomorphism.tree_isomorphism', 'networkx.algorithms.tournament', 'networkx.algorithms.tree', 'networkx.algorithms.tree.branchings', 'networkx.algorithms.tree.recognition', 'networkx.algorithms.tree.coding', 'networkx.algorithms.tree.mst', 'networkx.algorithms.tree.operations', 'networkx.algorithms.tree.decomposition', 'networkx.generators.interval_graph', 'networkx.generators.joint_degree_seq', 'networkx.generators.lattice', 'networkx.generators.line', 'networkx.generators.mycielski', 'networkx.generators.nonisomorphic_trees', 'networkx.generators.random_clustered', 'networkx.generators.random_graphs', 'networkx.generators.small', 'networkx.generators.social', 'networkx.generators.sudoku', 'networkx.generators.spectral_graph_forge', 'networkx.generators.stochastic', 'networkx.generators.triads', 'networkx.readwrite', 'networkx.readwrite.adjlist', 'networkx.readwrite.multiline_adjlist', 'networkx.readwrite.edgelist', 'networkx.readwrite.gpickle', 'networkx.readwrite.pajek', 'networkx.readwrite.leda', 'networkx.readwrite.sparse6', 'networkx.readwrite.graph6', 'networkx.readwrite.nx_yaml', 'networkx.readwrite.gml', 'networkx.readwrite.graphml', 'networkx.readwrite.gexf', 'networkx.readwrite.nx_shp', 'networkx.readwrite.json_graph', 'networkx.readwrite.json_graph.node_link', 'networkx.readwrite.json_graph.adjacency', 'networkx.readwrite.json_graph.tree', 'networkx.readwrite.json_graph.jit', 'networkx.readwrite.json_graph.cytoscape', 'networkx.linalg', 'networkx.linalg.attrmatrix', 'networkx.linalg.spectrum', 'networkx.linalg.graphmatrix', 'networkx.linalg.laplacianmatrix', 'networkx.linalg.algebraicconnectivity', 'networkx.linalg.modularitymatrix', 'networkx.linalg.bethehessianmatrix', 'networkx.testing', 'networkx.testing.utils', 'networkx.testing.test', 'networkx.drawing', 'networkx.drawing.layout', 'networkx.drawing.nx_pylab', 'networkx.drawing.nx_agraph', 'networkx.drawing.nx_pydot', 'mlrose_hiive.opt_probs.tsp_opt', 'mlrose_hiive.neural.logistic_regression', 'mlrose_hiive.neural.linear_regression', 'mlrose_hiive.neural.nn_classifier', 'mlrose_hiive.algorithms.mimic', 'mlrose_hiive.gridsearch', 'mlrose_hiive.gridsearch.grid_search_mixin', 'sklearn.model_selection', 'sklearn.model_selection._split', 'sklearn.model_selection._validation', 'sklearn.utils.metaestimators', 'sklearn.model_selection._search', 'sklearn.utils.random', 'sklearn.utils._random', 'mlrose_hiive.runners', 'mlrose_hiive.runners.ga_runner', 'mlrose_hiive.runners._runner_base', 'mlrose_hiive.runners.utils', 'multiprocessing.sharedctypes', 'multiprocessing.heap', 'mlrose_hiive.runners.rhc_runner', 'mlrose_hiive.runners.sa_runner', 'mlrose_hiive.runners.mimic_runner', 'mlrose_hiive.runners.nngs_runner', 'mlrose_hiive.runners._nn_runner_base', 'mlrose_hiive.runners.skmlp_runner', 'sklearn.neural_network', 'sklearn.neural_network._rbm', 'sklearn.neural_network._multilayer_perceptron', 'sklearn.neural_network._base', 'sklearn.neural_network._stochastic_optimizers', 'sklearn.utils.optimize', 'mlrose_hiive.generators', 'mlrose_hiive.generators.max_k_color_generator', 'mlrose_hiive.generators.knapsack_generator', 'mlrose_hiive.generators.flip_flop_generator', 'mlrose_hiive.generators.queens_generator', 'mlrose_hiive.generators.tsp_generator', 'mlrose_hiive.generators.continuous_peaks_generator', 'foqus_lib.framework.sdoe.df_utils', 'foqus_lib.service', 'foqus_lib.service.test', 'foqus_lib.service.test.flowsheet_control_test', 'botocore', 'botocore.stub', 'botocore.validate', 'botocore.compat', 'botocore.vendored', 'botocore.vendored.six', 'botocore.exceptions', 'botocore.vendored.requests', 'botocore.vendored.requests.exceptions', 'botocore.vendored.requests.packages', 'botocore.vendored.requests.packages.urllib3', 'botocore.vendored.requests.packages.urllib3.exceptions', 'botocore.vendored.six.moves', 'xml.etree.cElementTree', 'botocore.utils', 'cgi', 'botocore.awsrequest', 'botocore.httpsession', 'botocore.vendored.six.moves.urllib_parse', 'botocore.vendored.six.moves.urllib', 'botocore.vendored.six.moves.urllib.request', 'foqus_lib.service.flowsheet', 'boto3', 'boto3.session', 'botocore.session', 'botocore.configloader', 'botocore.credentials', 'getpass', 'termios', 'botocore.config', 'botocore.endpoint', 'botocore.hooks', 'botocore.history', 'botocore.response', 'botocore.parsers', 'botocore.eventstream', 'botocore.client', 'botocore.waiter', 'jmespath', 'jmespath.parser', 'jmespath.lexer', 'jmespath.exceptions', 'jmespath.compat', 'jmespath.ast', 'jmespath.visitor', 'jmespath.functions', 'botocore.docs', 'botocore.docs.service', 'botocore.docs.utils', 'botocore.docs.client', 'botocore.docs.method', 'botocore.docs.params', 'botocore.docs.shape', 'botocore.docs.example', 'botocore.docs.sharedexample', 'botocore.docs.waiter', 'botocore.docs.paginator', 'botocore.docs.bcdoc', 'botocore.docs.bcdoc.restdoc', 'botocore.docs.bcdoc.docstringparser', 'html.parser', '_markupbase', 'botocore.docs.bcdoc.style', 'botocore.docs.docstring', 'botocore.args', 'botocore.serialize', 'botocore.signers', 'botocore.auth', 'botocore.model', 'botocore.paginate', 'botocore.discovery', 'botocore.retries', 'botocore.retries.standard', 'botocore.retries.quota', 'botocore.retries.special', 'botocore.retries.base', 'botocore.retries.adaptive', 'botocore.retries.bucket', 'botocore.retries.throttling', 'botocore.configprovider', 'botocore.errorfactory', 'botocore.handlers', 'botocore.retryhandler', 'botocore.translate', 'botocore.loaders', 'botocore.regions', 'botocore.monitoring', 'boto3.utils', 'boto3.exceptions', 'boto3.resources', 'boto3.resources.factory', 'boto3.resources.action', 'boto3.resources.params', 'boto3.resources.response', 'boto3.resources.model', 'boto3.docs', 'boto3.docs.service', 'boto3.docs.client', 'boto3.docs.resource', 'boto3.docs.base', 'boto3.docs.action', 'boto3.docs.method', 'boto3.docs.utils', 'boto3.docs.waiter', 'boto3.docs.collection', 'boto3.docs.subresource', 'boto3.docs.attr', 'boto3.docs.docstring', 'boto3.resources.base', 'boto3.resources.collection', 'boto3.compat', 'foqus_lib.framework.session', 'foqus_lib.framework.session.session', 'foqus_lib.framework.optimizer', 'foqus_lib.framework.optimizer.problem', 'foqus_lib.framework.plugins', 'foqus_lib.framework.plugins.pluginSearch', 'foqus_lib.framework.surrogate', 'foqus_lib.framework.surrogate.surrogate', 'foqus_lib.framework.uq.SurrogateParser', 'foqus_lib.framework.uq.Model', 'foqus_lib.framework.uq.SamplingMethods', 'foqus_lib.framework.uq.SampleData', 'foqus_lib.framework.uq.ResponseSurfaces', 'foqus_lib.framework.uq.UQAnalysis', 'foqus_lib.framework.uq.LocalExecutionModule', 'PyQt5', 'sip', 'PyQt5.sip', 'PyQt5.QtCore', 'PyQt5.QtGui', 'PyQt5.QtWidgets', 'foqus_lib.framework.uq.Common', 'turbine.commands.turbine_psuade_session_script', 'turbine.commands.turbine_psuade_script', 'foqus_lib.framework.optimizer.optimization', 'foqus_lib.unit_test', 'foqus_lib.unit_test.massBalance_test', 'foqus_lib.unit_test.nodeVarList_test', 'foqus_lib.unit_test.nodeVars_test', 'foqus_lib.unit_test.test_foqus_main', 'foqus_lib.foqus', 'foqus_lib.version', 'foqus_lib.version.version', 'foqus_lib.framework.listen', 'foqus_lib.framework.listen.listen', 'foqus_lib.gui', 'foqus_lib.gui.make_shortcut', 'foqus_lib.unit_test.turbineLite_test', 'matplotlib', 'matplotlib.cbook', 'matplotlib.cbook.deprecation', 'matplotlib.rcsetup', 'matplotlib.animation', 'matplotlib._animation_data', 'matplotlib.fontconfig_pattern', 'pyparsing', 'matplotlib.colors', 'matplotlib.docstring', 'matplotlib._color_data', 'cycler', 'matplotlib._version', 'matplotlib.ft2font', 'kiwisolver'] ========================================================================================================== short test summary info =========================================================================================================== FAILED foqus_lib/unit_test/test_foqus_main.py::test_start_gui - AttributeError: 'NoneType' object has no attribute 'debug' ====================================================================================================== 1 failed, 47 deselected in 2.21s ====================================================================================================== ```Analysis
foqus_lib.service.flowsheet._log
beingNone
(its default value assigned when the module is imported) which causes an error whenFoqusSettings.getUserConfigLocation()
is called infoqus_lib.foqus.main()
FoqusSettings.getUserConfigLocation()
method is monkeypatched when thefoqus_lib.service.flowsheet
module is importedfoqus_lib.service.test.flowsheet_control_test
is imported as part of the test run?