This commit adds alias to the kfp.Client.create_run_from_pipeline_func method as the root kfp.run_pipeline_func_on_cluster function.
In future more runners can be added (local, etc).
* SDK - Components - Added type to TaskOutputReference
Now the task output references taken from TaskSpec instances can be
type-checked when passed to components.
* Renamed TypeType to TypeSpecType
* Created visualization_api_test.go
* Updated BUILD.bazel files
* Removed clean_up from e2e test
* Revert "Removed clean_up from e2e test"
This reverts commit 82fd4f5a00.
* Update e2e tests to build visualizationserver and viewer-crd
* Fix bug where wrong image is set
* Fixed incorrect image names
* Fixed additional instance of incorrect image names
* Updated Dockerfile.visualization to take advantage of caching and switched base image
* Removed tensorflow from requirements.txt and added new package to third_party_licenses.csv
* Added developer_guide.md for Python based visualizations
* Changed md file name to be README and added link to documentation page
* Updated README.md to match syntax of #1878
* Added architecture and known limitations sections to documentation
* Addressed PR comments
* Address offline feedback from @SinaChavoshi
* Removed limitation
#1951 changes how arguments are passed from the API server to the Python service. This now allows for multi-line comment support.
* Addressed PR comments
* Add new template files
* Add statement to change template used depending on type of visualization
Now, non-custom visualizations will not show stdout and stderr messages to a user.
* Removed new template files
* Removed unused custom.css style file
* Added simpler way to hide logging for non-custom visualizations
* Set hide_logging based on if a cell is based on a file or custom code
* Updated exporter unit tests
* Removed deprecated logic to set template type based on visualization type
* Fixed test_create_cell_from_args_with_multiple_args and removed test.py due to changes made to create_cell_from_file function
Problem: When the user loads component using the load_component function, the object they get back is a task factory function. Since it's a normal function object, the user cannot inspect any of the attributes of the component they just loaded (they can only see the name, description and input names). For example, the user cannot see the list of component outputs, the annotations etc.
This change fixes the issue by adding the original component properties to the function object.
Example usage:
```python
train_op = load_component_from_url(...)
print(train_op.outputs)
```
* Clean unused import
* nit
* nit: improve docstring.
* Refactor sample test into digesting params from config yaml files.
* Fix argument assignment.
* Fix path.
* Fix output params. Not every test is using it.
* Add output placeholder in yaml config.
* Fix yaml config.
* Minor fix.
* Minor fix.
* Move timeout info to config.yaml, too
* Fix import in check_notebook_results.py
* Add type hints in config.yaml
* Remove redundant close.
* EOD Push
Most work on feature is completed. Currently attempting to fix bug where UI does not properly render visualizations for selected component.
* Fixed bug where switching selected node would not update visualizations in artifacts tab
* Remove debugging code
* Updated RunDetails.test.tsx.snap
* Addressed PR comments
* Improved error message readability
* SDK - Added support for raw artifact values to ContainerOp
* `ContainerOp` now gets artifact artguments from command line instead of the constructor.
* Added back input_artifact_arguments to the ContainerOp constructor.
In some scenarios it's hard to provide the artifact arguments through the `command` list when it already has resolved artifact paths.
* Exporting InputArtifactArgument from kfp.dsl
* Updated the sample
* Properly passing artifact arguments as task arguments
as opposed to default input values.
* Renamed input_artifact_arguments to artifact_arguments to reduce confusion
* Renamed InputArtifactArgument to InputArgumentPath
Also renamed input_artifact_arguments to artifact_argument_paths in the ContainerOp's constructor
* Replaced getattr with isinstance checks.
getattr is too fragile and can be broken by renames.
* Fixed the type annotations
* Unlocked the input artifact support in components
Added the test_input_path_placeholder_with_constant_argument test
* Change how arguments are checked and provided for Python service
* Arguments no longer require a source if the type is specified to be custom
* If no source is provided for a custom visualization, it will no longer be provided to the Python service
* Added unit test to test that an empty source can be provided alongside custom visualizations
* Added support for custom code to be used to generate visualizations within Python service
* Added unit tests to cover support of custom visualizations
* Fixed logic that handles source addition and validation in API
* Formatted visualization_server_test.go
* Moved self.maxDiff to setup function
* Removed unused import
* Simplified how arguments are passed from API to Python service
Arguments are no longer manually converted to command line arguments to be passed to the Python service. Instead, they are converted to x-www-form-urlencoded arguments which is sent to the Python service and then converted to a dictionary by the Python service.
* Made @staticmethods private functions
This change fixes the missing packages issue in project-cleanup job.
Issue: project cleanup job runs in Prow and uses kubekins-e2e image, which
in turn uses go-1.12 version and enlists the source in $GOPATH/src
directory, the packages specified in go.mod file are not discovered.
The fix is to install the packages using go-get, and has been tested
using the kubekins-e2e image.
The change also has some minor logging fixes to the project-cleanup
tool.
Added kfp.components.set_default_base_image which sets the name of the container image that will be used for component creation when base_image is not specified.
Alternatively, the base image can also be set to a factory function that will be returning the image.
The support is added for both Lightweight components and python container components.