Commit Graph

353 Commits

Author SHA1 Message Date
Connor McCarthy 72c1d10a33
feat(sdk): rename kfp artifact attributes (support custom artifact types pt. 1) (#8191) 2022-08-27 13:20:50 +00:00
Chen Sun 5ce4954d6b
feat(sdk)!: Implement Graph Component (#8179)
* Implement Graph Component

* isort imports

* release note

* address review comments

* address review comments
2022-08-26 09:28:49 +00:00
Scott_Xu 121ddcbc04
fix(sdk): fix v2 sample tests for cuj3 (#8168)
* fix v2 sample tests for cuj3

* separate sh -c

* fix two step pipeline

* fix piping error

* fix nit

* change path to uri to correct cat command

* correct bash script

* remove display name

* change directory reference in commands

* remove old files
2022-08-25 15:30:22 -07:00
chongyouquan 5ccf53a251
fix(sdk): fix output type of importer (#8172)
* change output type of importer to artifact_class.TYPE_NAME

* use the same logic as component_factory._annotation_to_type_struct for determining type_name

* format using yapf

* fix type_name

* format using yapf

* add yaml file

* changes with regards to PR comments

* format pipeline_with_importer_and_gcpc_types.py

* remove unused imports

* change name of test component

* add pipeline_with_importer_and_gcpc_types to config

* update yaml file
2022-08-24 20:15:07 +00:00
Scott_Xu 88a1b314c9
feat(sdk): add support for metadata placeholders (#8151) 2022-08-17 23:10:06 +00:00
Bo 51bea09833
feat(sdk): Support Parallelism in ParallelFor in KFP SDK V2 (#8146)
* feat(sdk): add support for ParallelFor parallelism setting

* add parallelism value check

* Add unit tests

* Adding a compiler test

* used None as default parallelism input signature, other minor fixes on format and tests

* fix import statements

* add release.md message

* update ParallelFor docstring

* fixed docstring comments

* removed 'optional' in docstrings
2022-08-17 21:06:01 +00:00
Scott_Xu c7a90a3fa8
feat(sdk): expose IfPresentPlaceholder and ConcatPlaceholder to kfp.dsl (#8145) 2022-08-15 23:22:06 +00:00
Scott_Xu d3c0537c8b
chore(sdk): Add test for if and concat placeholder and validate artifact channel usage (#8120)
* test if and concat placeholder and validate artifact channel usage

* fix nit in read write test config

* resolve comments

* resolve comments and move test cases

* resolve comments and add placeholder validation

* remove unused imports

* update release file
2022-08-10 23:35:03 +00:00
Connor McCarthy bdff332ac6
feat(sdk): support more than one exit handler per pipeline (#8088)
* add compiler test pipeline with multiple exit handlers

* remove blocker of multiple exit handlers

* move exit handler builder logic to pipeline_spec_builder

* build all exit handlers per pipeline

* add compiler test with IR inspection

* prevent usage of cross-pipeline after

* test cross-pipeline after is prevented

* update existing task dependency logic and tests

* add v2 sample test

* remove cross-pipeline .after

* prevent cross-dag data dependency for dsl features

* add compiler test pipeline with nested exit handlers

* add support for nested exit handlers

* clean up pipeline with nested exit handlers

* remove sample with multiple exit handlers

* remove compiler test with nested exit handlers

* add compilation guard against nested exit handlers in subdag

* update release notes
2022-08-10 16:56:21 +00:00
Connor McCarthy e728d0871b
chore(sdk): add pre-commit hook to remove unused imports (#8123)
* add pycln pre-commit hook to remove unused imports

* remove existing unused imports
2022-08-10 08:17:21 +00:00
Scott_Xu 04c827fc3a
feat(sdk): supporting bring your own container for arbitrary input and outputs (#8066)
* support container_component decorator for function with no inputs

* resolve review comments

* add sample tests for milestone 1

* modify compiler test data

* resolve reviews

* resolve reviews

* WIP

* implementation of function of no inputs

* fixed sample test

* re-fix sample test

* fix rebase merge conflict

* resolve formatting

* resolve isort error for test data

* resolve comments

* fix nit

* resolve nit

* add implementation for placeholders i/o, sample and compiler tests

* resolve comments and merge logic for constructing container component

* resolve comments

* resolve comments

* fix assertion messages

* add error handling for accessing artifact by itself

* add test for raising error for accessing artifact by itself
2022-08-08 21:00:53 +00:00
Chen Sun 45f3bacc0d
fix(sdk): fix compiling components with artifact inputs (#8106) 2022-08-05 17:36:15 +00:00
Deepyaman Datta 257f8dbe0a
chore(sdk): change "PipelienSpec" to "PipelineSpec" (#8102) 2022-08-04 16:55:06 +00:00
Chen Sun 1dd06cd8e8
feat(sdk): Allow artifact inputs in pipeline definition. (#8044)
* Allow artifact inputs in pipeline definition.

* release note

* isort fix

* remove unused imports

* Delete flycheck_compiler.py

* Delete flycheck_pipeline_spec_builder.py

* Delete flycheck_structures.py

* address cr comment
2022-07-28 00:17:53 +00:00
Connor McCarthy c6a5e387dd
docs(sdk): refresh SDK public API docstrings (#8057)
* add module-level docstrings

* update compiler docstrings

* update registry module docstrings

* add BaseComponent and children to public api, but discourage use

* update artifact docstrings and type annotations

* update dsl docstrings

* update client docstrings

* clean up kfp.__init__

* add dsl placeholder docstrings

* many more docstring updates

* document type aliases in dsl module
2022-07-21 19:51:18 +00:00
Connor McCarthy d8b9439ef9
add kfp v2 api reference docs (#8042)
* use __all__ in top-level modules to record public api

* add index and source files

* add kubeflow assets to _static/

* add and pin requirements

* use block quote instead of header for readme notice

* update conf.py

* delete old files
2022-07-19 15:53:54 -06:00
Connor McCarthy 13736b85b6
chore(sdk): clean up kfp code style (#8027)
* remove unused imports

* use google as isort profile

* sort imports

* format with yapf

* clean end of file new line, trailing whitespace, double quoted strings
2022-07-15 00:06:34 +00:00
Connor McCarthy 850a750496
feat(sdk): add retry policy support to kfp v2 (#7867)
* depend on kfp-pipeline-spec>=0.1.16

* implement RetryPolicy structure

* implement RetryPolicy structure tests

* implement .set_retry method on PipelineTask

* implement retry policy compilation logic

* implement compiler tests for retry

* implement pipeline with retry compilation test

* add release note

* clean up
2022-07-11 16:44:52 +00:00
Connor McCarthy f877a1ffc8
fix(sdk): fix ifpresent and concat placeholder compile (#7930)
* fix ifpresent and concat placeholder expansion

* update golden snapshots

* uncomment v1 ifpresent component test case
2022-06-27 16:59:34 -06:00
Connor McCarthy ad458d535c
fix(sdk): fix placeholder read/write logic (#7928)
* fix ExecutorInputPlaceholder() usage

* fix OutputPath and OutputParameter placeholder task creation logic

* fix v1 component yaml deserialization logic

* fix typo in test

* ignore description when comparing ComponentSpec

* uncomment fixed test cases
2022-06-27 15:06:38 -06:00
Connor McCarthy a020c9b01c
fix(sdk): fix extract docstring in load component (#7921)
* fix extract docstring in load component

* implement review feedback
2022-06-24 12:12:35 -06:00
Connor McCarthy 281151c051
chore(sdk): improve IR read/write testing (#7920)
* add more load component test cases

* add read write equality tests

* add copyright

* remove duplicative structures tests

* add if __name__ == '__main__' block
2022-06-24 09:45:15 -06:00
Connor McCarthy c6125ffc44
feat(sdk): enable component compilation via cli (#7649)
* enable component compilation via cli

* reorganize compiler/test_data dir

* clean up pipeline samples

* add component compilation test cases

* update compiler test_data README

* add compiler tests

* test component deserialization is lossless
2022-06-17 05:49:10 +00:00
Connor McCarthy de0b824be1
feat(sdk): add support for IfPresentPlaceholder and ConcatPlaceholder strings (#7795)
* move placeholders to placeholders module; implement if-present and concat placeholders

* update module name and method names throughout codebase

* rename placeholder abc

* add back compat support for CEL-style concat string

* add copyright

* add docstrings; clean up

* remove duplicate code
2022-06-09 07:42:00 +00:00
Chen Sun 0ada48b55a
chore(sdk): move pipeline test samples closer to compiler unit tests. (#7849)
* chore(sdk): move pipeline test samples closer to compiler unit tests.

* explicitly list test files

* remove dead code
2022-06-08 18:35:17 +00:00
Connor McCarthy a6ec449273
feat(sdk): only use IR when saving component (#7690)
* move function into compiler module

* remove v2 readable yaml write path

* remove v2 readable yaml test data; remove duplicate tests
2022-05-24 22:23:33 +00:00
Connor McCarthy 6698801fc0
refactor(sdk): move placeholder logic to structures (#7687)
* move placeholder formatting logic to structures

* add placeholder formatting logic tests

* update placeholder references throughout codebase

* remove ABC meta inheritance
2022-05-19 07:45:56 +00:00
Connor McCarthy 62972eccf9
feat(sdk): enable compilation of primitive components (#7580)
* clean up relevant files

* use context manager for temporary directory cleanup

* add component compilation methods

* add component compilation tests

* add more complete pipeline_func argument handling

* use context manager for handling type check mode

* improve checks on inputs for component compilation

* correct pipeline name for primitive component IR

* simplify component compilation logic

* extract compiler methods

* move compiler helpers to helpers file to avoid circular imports

* remove underscore prefix from functions in hidden module

* move helpers tests to helper_test module

* put to_pipeline_spec on ComponentSpec

* fix inputs reference

* use same naming regex for pipelines and components

* permit compilation of all BaseComponent subclasses

* clean up docstrings

* merge compiler.helpers into pipeline_spec_builder

* modify docstrings; refactor

* modify docstring
2022-05-13 20:12:34 +00:00
Connor McCarthy 5da3826bb5
feat(sdk): use custom basemodel and remove pydantic (#7639)
* fix discovered bug

* update tests

* implement custom BaseModel

* use basemodel for structures

* remove pydantic dependency

* assorted code cleanup
2022-05-04 12:56:32 -06:00
Connor McCarthy a5548440a3
use click for dsl-compile command (#7560) 2022-04-20 14:57:10 -06:00
Connor McCarthy f70413ad7c
chore(sdk): stop using pydantic for serialization (#7536)
* add ir_utils

* add ir_utils tests

* use ir_utils to write ir to file

* cast posix path to string in `kfp components build` command

* add copyright

* remove unused import

* update setup.py packages
2022-04-12 17:03:55 +00:00
Connor McCarthy c98f14abb4
chore(sdk): make field order in compile deterministic (#7520)
* apply docformatter

* use sort_keys=True in compiler

* update golden snapshots

* set other sort_keys=True

* update structures_test yamls
2022-04-06 21:46:13 +00:00
Yaqi Ji 04123280a4
fix(sdk): add default value for inputs (#7405)
* fix(sdk): add default value for inputs

* merge conflict

* release

* fix sample
2022-03-23 18:59:20 +00:00
Connor McCarthy c7301c449c
feat(sdk)!: use yaml for IR package (#7431)
* change serialization format from json to yaml

* refactor: use guard clause for clarity

* convert test data from json to yaml

* add and update tests

* permit deprecated compile to json

* re-add json test data

* update compiler tests

* refactor Compiler._write_pipeline_spec_file

* update golden snapshots

* update sample output extensions

* test file extension exceptions and warnings

* update release notes

* remove json golden snapshots
2022-03-21 21:45:31 +00:00
Connor McCarthy bfffa83fba
chore(sdk): apply docformatter (#7438) 2022-03-18 17:02:40 +00:00
Connor McCarthy 2c0b38162f
chore(sdk): make kfp v2 hermetic (#7428)
* move v1 files to v2

* format with yapf

* remove unused imports

* clean up

* update copyright

* move imports to module top level

* apply some pylint changes

* loosen pylintrc

* remove v2_yaml_utils.py
2022-03-18 03:00:40 +00:00
Chen Sun c03701b82a
fix(sdk): fix wrong kfp import causes wrong sdk_version being set in pipeline_spec. (#7433)
* fix wrong kfp import in compiler

* release note
2022-03-18 00:05:39 +00:00
Connor McCarthy 5fb126a715
feat(sdk): alias v2 imports and provide DeprecationWarning (#7398)
* feat(sdk): alias v2 imports and provide DeprecationWarning

* simplify tests

* enable import of v2 namespace

* assert DeprecationWarning is raised

* update copyright

* silence pylint

* move v2 alias tests

* use assertWarnsRegex instead of assertWarns

* fix tests

* remove test for deprecation warning

* update copyright
2022-03-15 03:28:39 +00:00
Connor McCarthy 5ca4cb78d3
chore(sdk): remove unused imports and variables (#7393) 2022-03-09 21:42:11 +00:00
Connor McCarthy 82d17ff616
feat(sdk)!: rename commands, arguments parameters to command, args (#7391) 2022-03-09 05:39:11 +00:00
Yaqi Ji 8bb0d0e025
feat(sdk)!: move v2 to main namespace (#7376)
* feat(sdk)!: move v2 to main namespace

* edit samples
2022-03-04 21:56:51 +00:00
Yaqi Ji b693909a08
feat(sdk)!: move v1 to deprecated folder (#7291)
* chore(sdk): move v1 to deprecated

* fix testsg

* fix testsg

* fix setup.py

* fix test

* s'

* fix tests

* fix test

* retore v2 test changes

* fix py3.6 test

* fix py3.6 test

* fix py3.6 import fallback error

* remove deprecated

* fix samples test

* sample test

* fix samples

* add readme

* restroe test

* python require

* remove path

* fix tests

* inteegration tests

* remove tfx tests for dependency with kfp v1

* fix e2e

* fix e2e

* fix integration tests

* fix sampe

* move client down

* change to kfp

* add import alias

* fix

* runid

* fix dsl

* only use kfp for function

* revert train_until_good

* tfx test

* kfp

* try import

* onprem
2022-03-04 00:52:59 +00:00
Seb 577902ca46
fix(sdk): Support per workflow TTL (ttl_seconds_after_finished) with new format of Argo workflow manifest (#7141)
* Support per workflow TTL (ttl_seconds_after_finished) with new format of Argo workflow manifest

* Update test for TTL

* Declare fix in release note of SDK

* update syntaxe

* Update RELEASE.md

Add Braking change due to incompatibility with  KFP pre 1.7 due to Argo 2.X
2022-01-20 00:43:52 +00:00
Yuan (Bob) Gong 2460aaa653
test: migrate sample integration test to v2 sample test infra (#7115)
* test: migrate sample integration test to v2 sample test infra

* test: configure v2 integration test timeout
2021-12-26 04:17:44 +00:00
Yuan (Bob) Gong 44228c242b
test(v2): v2 sample test supports notebooks (#7109)
* test(v2): v2 sample test supports notebooks

* fix

* fix relative path problem
2021-12-24 02:37:42 +00:00
Chen Sun 8aee62142a
feat(sdk)!: Deprecate V2 compatible mode in v1 compiler (#6958)
* Deprecate V2 compatible mode in v1 compiler

* release note

* fix tests
2021-11-24 22:11:34 +00:00
juliusvonkohout b482ba83d8
fix(sdk): visualizations and metrics do not work with data_passing_methods (#6882)
* Update _data_passing_using_volume.py

* Update _data_passing_using_volume.py

* Update _data_passing_using_volume.py

* Update _data_passing_using_volume.py

* Update _data_passing_using_volume.py

* Update artifact_passing_using_volume.yaml

* Update artifact_passing_using_volume.py

* Update _data_passing_using_volume.py
2021-11-16 01:33:12 +00:00
Chen Sun 7921946b07
feat(sdk.v2)!: Merge v2 experimental change back to v2 namespace (#6890)
* merge v2 experimental change back to v2 namespace

* release note

* fix tests

* fix cli

* fix py3.6 test

* skip v2 compatible mode tests

* fix tests

* skip v2 engine tests
2021-11-11 00:25:42 +00:00
Ajay Gopinathan 0be57c3880
feat(sdk): Use google.protobuf.Value in v2 for passing parameters. (#6804)
* Use google.protobuf.Value in v2 for passing parameters.

* retest samples.

* Fix tests.

* Update release, more cleanup.

* Use github.com/kubeflow/pipelines/api from same repo.

* Run go mod tidy

* chore: go mod tidy

* fix v2 compile error and clean up unused code

* pr comments.

* update goldens

* Fix metadata recording.

* Update kfp mlmd client.

* fix test again

* another try.

* chore: migrate v2 DAG driver input parameters to protobuf.Value + small refactorings

* fix v2 launcher + clean up

* fix a compile error

* fix a few more tests

* fix number parsing

* clean up

* disable cache_v2 test.

Co-authored-by: Yuan Gong <gongyuan94@gmail.com>
2021-10-28 14:25:51 -07:00
Yaqi Ji 0c40154f6d
chore: Release KFP SDK and v2 launcher 1.8.7 (#6823)
* Update RELEASE.md

* Update __init__.py

* Update v2_compat.py
2021-10-28 10:53:26 -07:00
Chen Sun 0197e0114e
Release KFP SDK and v2 launcher 1.8.6 (#6771) 2021-10-19 14:20:20 -07:00
Ajay Gopinathan 77de39de75
fix(sdk): Try alternatives for obtaining pip when `ensurepip` does not exist in container. (#6737)
* Try alternatives for obtaining pip when `ensurepip` does not
exist in container.

This PR also fixes the tests that have golden files. Developers can
update golden files by setting UPDATE_GOLDENS=True before running
tests. E.g., run the following from sdk/python directory:

UPDATE_GOLDENS=True python3 -m unittest discover --verbose --pattern '*test*.py' --top-level-directory .

* Update RELEASE.
2021-10-15 14:33:52 -07:00
Yaqi Ji 6153a470fc
chore: Release KFP SDK and v2 launcher 1.8.5 (#6722)
* Update RELEASE.md

* Update RELEASE.md

* Update __init__.py

* Update v2_compat.py
2021-10-12 15:01:44 -07:00
Chen Sun 073c819ebc
fix(sdk.v2): Fix the issue that using `dsl.` prefix in component I/O type annotation breaks component at runtime. (#6714)
* Import kfp and kfp.v2.dsl for component runtime

* update golden

* add release note

* update golden
2021-10-11 09:59:45 -07:00
Chen Sun 0aa513eb93
Release KFP SDK and v2 launcher 1.8.4 (#6666) 2021-10-04 14:06:15 -07:00
Yaqi Ji e602793d5c
chore: Release KFP SDK and v2 launcher 1.8.3 (#6631)
* Update RELEASE.md

* Update RELEASE.md

* Update __init__.py

* Update v2_compat.py
2021-09-28 23:38:47 -07:00
Chen Sun 177a307330
chore: Release KFP SDK and v2 launcher 1.8.2 (#6577) 2021-09-16 12:20:53 -07:00
Yaqi Ji dec03067ca
chore: Release KFP SDK and v2 launcher 1.8.1 (#6544)
* Update RELEASE.md

* Update __init__.py

* Update v2_compat.py
2021-09-10 12:53:58 -07:00
Niklas Hansson 343350a5f3
fix(sdk): podSpecPatch bug. Fixes 6512 (#6514)
* Fix podSpecPatch bug

* wrong structure for nodeselector and bring back integreation test

* updated python compiler test

* updated to use the correct GPU type

* missed to commit the updated test config

* Updated release notes

* remove test to see if it solved the issue
2021-09-09 15:26:51 -07:00
Chen Sun 439d8c87c1
chore(sdk): remove dead code on importer check in v1. (#6508)
* remove dead code

* Update RELEASE.md

* Update compiler.py

* Update v2_compatible_compiler_test.py

* Update compiler_tests.py

* Update RELEASE.md
2021-09-07 15:01:06 -07:00
Chen Sun d1f90b34d6
chore: Release KFP SDK and v2 launcher 1.8.0 (#6505) 2021-09-03 16:29:10 -07:00
Chen Sun 2f19a26ffd
chore(sdk): Format all Python files under SDK folder. (#6501)
* Reformat sdk only using the new yapf config.

* Reformat docstrings using docformatter.

* update golden files to resolve diff caused by whitespaces

* fix some tests

* format .py files under sdk/python/tests using yapf

* additional docformatter

* fix some tests
2021-09-03 11:25:11 -07:00
Yaqi Ji 8f10bcdf16
chore: Release KFP SDK and v2 launcher 1.7.2 (#6442)
* Update RELEASE.md

* Update __init__.py

* Update v2_compat.py

* Update RELEASE.md
2021-08-25 19:58:04 -07:00
Chen Sun 96bb17531f
test(sdk): ignore kfp version in v2_compatible tests (#6444) 2021-08-25 17:06:05 -07:00
Yaqi Ji 937cacd4ce
feat(sdk): add default schema_version to pipeline (#6366)
* feat(sdk): add default schema_version to pipeline

* sync api for go

* Fix tests and address comments

* Bump pipeline_spec version

* Fix v1 tests

* rebase to master

* sync api for go

* Fix tests and address comments

* Bump pipeline_spec version

* Fix v1 tests
2021-08-24 01:04:39 -07:00
Ajay Gopinathan f3f383c2ff
chore(sdk): Refactor and move all v2 related code to under the v2 namespace. (#6358)
* Refactor and move all v2 related code to under the v2 namespace.

Most of the changes are around imports and restructuring of the
codebase. While it looks like a lot of code was added, most of the code
already existed and was simply moved or copied over to v2. The only
exceptions are:
- under kfp/v2/components/component_factory.py: some helper functions
  were copied with simplification from _python_op.py
- we no longer strip the `_path` suffix in v2 components.

Note: there is still some duplication of code (particularly between
component_factory.py and _python_op.py), but it's ok for now since we
intend to replace some of this with v2 ComponentSpec + BaseComponent.

* Update setup.py.

* update tests.

* revert accidental change of gcpc

* Fix component entrypoint.

* Update goldens.

* fix tests.

* fix merge conflict.

* revert gcpc change.

* fix tests.

* fix tests.

* Add type aliases for moved files.

* merge and update goldens.
2021-08-17 19:25:37 -07:00
Chen Sun 7f6e11dedc
chore: Release KFP SDK and v2 launcher 1.7.1 (#6369) 2021-08-17 16:38:37 -07:00
Ajay Gopinathan 609e5b784f
fix(sdk): Ensure pip exists for lightweight Python-based components. (#6359)
* Ensure pip exists for lightweight Python-based components.

* Update goldens.
2021-08-16 23:40:42 -07:00
Chen Sun 434e5c3489
fix(sdk): block dsl.importer usage in KFP OSS. Fixes: #6323 (#6330)
* block dsl.importer in KFP OSS

* address cr comments
2021-08-16 01:02:06 -07:00
Yuan (Bob) Gong befd89c6ec
fix(sdk): pipeline name is required in v2 compatible mode. Fixes #6197 (#6332)
* fix(sdk): pipeline name is required in v2 compatible mode

* Update xgboost_sample.py
2021-08-13 14:00:04 -07:00
Chen Sun 7559e27cfb
feat(backend/sdk): Rename `pipeline-output-directory` to `pipeline-root`. Fixes #6307 (#6329) 2021-08-13 00:41:54 -07:00
Yaqi Ji 3044989dbf
chore: release KFP SDK and v2 launcher 1.7.0 (#6257)
* Update __init__.py

* Update v2_compat.py

* Update goldens
2021-08-06 17:18:25 -07:00
Ajay Gopinathan c5591f2652
feat(sdk): Enable the use of Executor from KFP package for v2 lightweight components (#6202)
* Enable the use of v2 Executor from KFP package.

This avoids the need to paste Executor code for v2 components into
the entrypoint of lightweight components.

* Update tests.

* quote package path.

* quote package path.

* escape fragment

* Update golden files.

* update goldens.

* Cleanup.

* More cleanup.

* update goldens.

* style updates.

* clean up sample tests.

* fix trailing comma

* Try using signed urls.

* fix

* fix presubmit

* try /bin/bash for Makefile shell

* undo signed url change.

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-08-05 14:53:03 -07:00
Yuan (Bob) Gong b1c76e0cd3
test(v2): build go images using ko. Fixes #6238 (#6240)
* test(v2): build go images using ko

* clean up

* integrate launcher license checking

* clean up

* fix go v2 test
2021-08-05 06:33:18 -07:00
Niklas Hansson e6becd71ff
feat(sdk): add GPU runtime resource request and fix spelling in runtime_resouce_request. Fixes #4877. Fixes #1252 (#5972)
* Add runtime resource request for GPUs

* clean up

* Updated docks and add check

* updated with test

* remove from branch

* run tests

* fix gpu vendor format

* Update after feedback

* add unit tet

* remove integration test

* clean up

* Clean up

* Updated to resource_constraints instead of resource
2021-08-01 22:52:38 -07:00
Niklas Hansson ed2ba1a6b3
chore(sdk): Argo lint requires '--kinds=workflows' argument for offline linting. (#6135) 2021-07-26 00:40:41 -07:00
Chen Sun f4c6631e51
chore: release KFP SDK and v2 launcher 1.6.6 (#6125)
* release 1.6.6

* skip failing UT
2021-07-23 14:49:39 -07:00
Chen Sun b200e1bc7d
fix(sdk): Fix URI placeholder in v2 compatible mode. (#6040)
* fix uri placeholder in v2 compatible mode

* fix tests

* fix path generation

* fix tests

* fix test

* cleanup

* clean up

* fix test

* fix test

* fix test
2021-07-21 08:32:50 -07:00
Niklas Hansson 354e4251e8
chore: add offline linting (#5981)
* Added the offline linting

* update after feedback
2021-07-20 08:39:15 -07:00
Yuan (Bob) Gong ee663d9593
chore(v2): standardize MLMD data model. Fixes #5669 (#6054)
* chore(v2): standardize MLMD data model

* change context type to system namespace

* update sdk snapshots

* fix go v2 tests

* update

* update v2 compat snapshots

* fix all samples

* fix must specify pipeline root

* add artifact display name

* add UI rendering of new fields

* fix sample tests

* let ui read artifact and execution names consistently

* fix samples

* fix frontend tests

* fix sample test

* fix last sample

* address feedback
2021-07-19 22:26:15 -07:00
Chen Sun 9bb80efedf
chore: release KFP SDK and v2 launcher 1.6.5 (#6084) 2021-07-19 13:21:14 -07:00
Chen Sun 158d15f92b
feat(sdk): Add submission time caching option override for v2 compatible mode. (#6032)
* Add submission time caching option override for v2 compatible mode.

* fix tests

* casting

* disable cache for sample test

* cleanup

Co-authored-by: capri-xiyue <52932582+capri-xiyue@users.noreply.github.com>
2021-07-14 22:05:50 -07:00
Yuan (Bob) Gong fff62e1521
chore(v2): unify pipeline name between MLMD and KFP DB. Fixes #5978 (#6038)
* chore(sdk): unify pipeline name between MLMD and KFP DB

* backend changes pipeline-name during upload

* update sdk snapshots

* add backend tests

* fix launcher

* fix tests

* address feedback
2021-07-14 20:53:51 -07:00
Yaqi Ji c6cb8acf7a
feat(sdk): Add interface for enable_caching at task level. (#6007)
* feat(sdk): Add pipeline level caching options

* Update golden

* fixing caching options

* fix tests

* add a caching disabled case

Co-authored-by: Chen Sun <chensun@users.noreply.github.com>
2021-07-13 17:33:58 -07:00
Yuan (Bob) Gong f3b369e153
fix: v2compat - handle parameter values with special characters stably. Fixes #5830 (#5973)
* fix(launcher): handle parameter values with special characters stably

* include new test case

* add tensorboard minio test case

* fix go unit tests

* update test golden

* address feedback

* fix tests
2021-07-08 22:02:23 -07:00
Yuan (Bob) Gong 8a256db1bf
feat(sdk/dsl/compiler): dsl-compile --mode flag to turn on V2_COMPATIBLE, defaults to KF_PIPELINES_COMPILER_MODE env var. Fixes #5840 (#5952)
* feat(sdk/dsl/compiler): support --mode flag which can turn on v2 compatible mode

* override compiler default mode using KF_PIPELINES_COMPILER_MODE env var

* update V1_LEGACY to V1

* add unit tests

* address feedback

* clean up

* cleanup again

* use absl.testing.parameterized for table driven tests

* update
2021-07-03 02:22:49 -07:00
Yaqi Ji 07ac566fcb
chore: release KFP SDK and v2 launcher 1.6.4 (#5916)
* Update __init__.py

* Update v2_compat.py
2021-06-24 16:30:43 -07:00
Yaqi Ji e7c281bd65
chore: Change python/kfp/compiler and cli folders from relative to absolute path (#5891)
* Update deprecated download_as_string to download_as_bytes

* Add more usage

* chore: Change python/kfp/cli from relative to absolute path

* chore: Change python/kfp/compiler from relative to absolute path
2021-06-22 11:28:31 -07:00
Niklas Hansson 5db843102a
feat(sdk): add runtime resource requests. Fixes #1956 (#5447)
* added resource request at runtime

* fixed things

* Update to use read only parameter insteadt

* added test case and better example

* Updated again

* add the validation

* add to the test suit

* work in progress

* update after feedback

* fix the test

* clean up

* clean up

* fix the path

* add the test again

* clean up

* fix tests

* feedback fix

* comment out and clean up
2021-06-10 16:27:59 -07:00
Yaqi Ji 63093d29e5
release: KFP SDK and v2 launcher 1.6.3 (#5796)
* Update __init__.py to 1.6.3

* Update v2_compat.py
2021-06-03 14:26:36 -07:00
Chen Sun 4eb722e93f
fix(sdk): resolve pipeline_root and run_uid placeholders in container env (#5772) 2021-06-02 16:26:35 -07:00
Chen Sun 2991602cfc
feat(sdk): Better error message when compiling for v2. Fixes #5688, Fixes #5727 (#5759)
* Better error message when compiling for v2

* update samples
2021-05-31 13:39:03 -07:00
Chen Sun fa5ac25678
fix(sdk): Avoid inserting duplicate input parameters in v2 compatible mode. (#5740) 2021-05-28 15:06:00 -07:00
Chen Sun 4994727f7a
test(sdk): v2 compatible UT to ignore launcher image label (#5696) 2021-05-19 18:07:45 -07:00
Chen Sun 7608fcdbb4
release: KFP SDK and v2 launcher 1.6.2 (#5682) 2021-05-18 23:08:42 -07:00
Yuan (Bob) Gong 7629e10130
chore(sdk): warn v2 compatible mode is Beta quality (#5658) 2021-05-17 21:55:40 -07:00
Chen Sun 98fd2eae92
release(sdk): release SDK 1.6.0-rc.0 (#5648)
* pin launcher version to 1.6.0-rc.0

* fix tests
2021-05-14 17:56:51 +08:00
Ajay Gopinathan c5daa7532d
fix(v2): Escape strings in RuntimeInfo. (#5601)
* Escape strings in RuntimeInfo.

This allows strings to be serialized dictionaries etc.

Also, re-enable a couple of v2 tests.

* update goldens.

* Update exit_handler.py

* add comment.

* keep last error

Co-authored-by: Yuan (Bob) Gong <4957653+Bobgy@users.noreply.github.com>
2021-05-09 02:19:08 -07:00
capri-xiyue 6717434978
[SDK] Add pod labels for telemetry purpose (#5582)
* Add pod labels for telemetry purpose

* fixed test

* added sdk label in pods

* added sdk type label

* fixed test

* added UT back

* updated UT
2021-05-05 10:43:27 -07:00
Alexey Volkov cc83e1089b
Assigned copyright to the project authors (#5587) 2021-05-05 13:53:22 +08:00