knime / knimepy

Other
44 stars 15 forks source link

Basic remote KNIME Workflow functionality #12

Closed applio closed 3 years ago

applio commented 5 years ago

Implements basic functionality and tests for working with remote KNIME Workflows hosted on a KNIME Server per issue #11 .

applio commented 5 years ago

Needs an example in the README.rst and an explanation for setting up the tests to run on a KNIME Server (i.e. explain what environment variables to set and what workflows to upload).

Might be nice to have a Jupyter Notebook with a longer series of examples but that need not be a stopper here.

applio commented 5 years ago

Added explanation for setting up the tests to run on a KNIME Server with commit 0d08aa9d19b0946d135ca4ff7270dbdeacd37ce1.

applio commented 4 years ago

Corrected behavior when specifically setting timeout of remote execution to exactly 0.

Fixed issue where a RemoteWorkflow() is used but not as part of a with-statement (hence, enter would not necessarily be called).

applio commented 4 years ago

Provided in chat with @greglandrum: knimepy.RemoteWorkflow still needs better handling of unreachable workflows both when attempting to view the workflow SVG (currently shows a blank but no error raised) and when attempting to execute (a less cryptic error message).

applio commented 4 years ago

In addition to the handling of the SVG access, when attempting to execute a non-existent workflow, it raises a LookupError with some hopefully helpful info.

@greglandrum: I was not able to figure out how to repro the TypeError you described when invoking execute(). The only invocation of zip should not have been able to complain unless you'd directly manipulated some of the private internals (like self._service_table_input_nodes)... maybe that's how it came about? As best as I can see, the current logic should reliably raise a LookupError now when trying to execute a missing remote workflow.

applio commented 4 years ago

Though it should kind of be implied, I'll add: yes, there are tests for these latest changes as well.

applio commented 4 years ago

README.rst (top-level) still needs an example for how to invoke a remote workflow.

applio commented 3 years ago

Franziska reports that attempting to use remote workflow capabilities when the requests module is missing results in an unhelpful error message about None not having a get.

applio commented 3 years ago

Alexander reports that urls containing directory names that also begin "knime/" results in a mis-parsing of the url.

applio commented 3 years ago

Commit 7ad5d7b403dd804698022c3785b5717d337e5a8e addresses the concern raised by Franziska that expected but missing inputs for a remote workflow should trigger a warning as has been done for local workflows in the master branch -- also introduces a new test for this on remote workflows.

applio commented 3 years ago

Commit 23f16311fbe6f1275965be422ed11c0da9b78305 addresses the issue raised by Franziska that successfully executed remote workflows with no Container Output (Table) nodes were not being properly processed.

applio commented 3 years ago

Tests passed with Python 3.7, 3.8 on Windows, Linux, MacOS both with and without pandas and requests modules available.