Compare command not working with hiplot on Windows 10

I am able to use hiplot in Jupyter notebook and also start using it via command line using python -m hiplot. But when I try to use it with guild compare I get invalid windows application error.

C:\Users\sarat.chinni\Codes_sequencing\hiplot>guild compare --tool hiplot
Preparing data for compare
Traceback (most recent call last):
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\sarat.chinni\Codes_sequencing\biobench\sandbox\Sarat\supervised_sequencing\.venv\Scripts\guild.exe\__main__.py", line 7, in <module>
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\main_bootstrap.py", line 40, in main
    _main()
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\main_bootstrap.py", line 66, in _main
    guild.main.main()
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\main.py", line 33, in main
    main_cmd.main(standalone_mode=False)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\core.py", line 782, in main
    rv = self.invoke(ctx)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\core.py", line 1259, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\click\decorators.py", line 21, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\click_util.py", line 213, in fn
    return fn0(*(args + (Args(**kw),)))
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\commands\compare.py", line 224, in compare
    compare_impl.main(args, ctx)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\commands\compare_impl.py", line 73, in main
    _compare_with_tool(args)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\commands\compare_impl.py", line 566, in _compare_with_tool
    _compare_with_hiplot(args)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\commands\compare_impl.py", line 579, in _compare_with_hiplot
    hiplot.compare_runs(get_data_cb)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\plugins\hiplot.py", line 36, in compare_runs
    _handle_default(hiplot, data)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\plugins\hiplot.py", line 52, in _handle_default
    _generate_hiplot_html(hiplot, csv_path, html_path)
  File "c:\users\sarat.chinni\codes_sequencing\biobench\sandbox\sarat\supervised_sequencing\.venv\lib\site-packages\guild\plugins\hiplot.py", line 100, in _generate_hiplot_html
    html = subprocess.check_output([hiplot_include, "--format", "html", csv_path])
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 411, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.8_3.8.2032.0_x64__qbz5n2kfra8p0\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
OSError: [WinError 193] %1 is not a valid Win32 application

Does this has to do anything with hiplot is python script and not windows executable?

I’m able to recreate. Yes it’s a fault with Guild in assuming that HiPlot provides a Windows script for the library (and lack of tests on Windows). This will be fixed in the next release.

There’s unfortunately no easy work around for this, beyond running in a Linux VM.

I’ll update here with progress.

Thanks for addressing this issue, I am able to use hiplot on windows with guildai-0.7.3.dev1.

I am not able to install guildai-0.7.2(latest stable release) with python-3.8 in windows-10, looks like wheel files are missing in PyPi website.

Yes indeed — good catch! I’m working to get the missing Windows platforms built now.

All fixed - thanks for the note!