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
This commit is contained in:
parent
e6c9411ddf
commit
d8b9439ef9
|
@ -1 +0,0 @@
|
|||
theme: jekyll-theme-minimal
|
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
138
docs/conf.py
138
docs/conf.py
|
@ -1,7 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
|
||||
# Copyright 2019 The Kubeflow Authors
|
||||
# Copyright 2019-2022 The Kubeflow Authors
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
|
@ -15,47 +12,30 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
# Configuration file for the Sphinx documentation builder.
|
||||
#
|
||||
# This file does only contain a selection of the most common options. For a
|
||||
# full list see the documentation:
|
||||
# http://www.sphinx-doc.org/en/master/config
|
||||
|
||||
import functools
|
||||
import os
|
||||
import sys
|
||||
from typing import List, Optional
|
||||
|
||||
import sphinx
|
||||
from sphinx import application
|
||||
|
||||
# -- Path setup --------------------------------------------------------------
|
||||
|
||||
# If extensions (or modules to document with autodoc) are in another directory,
|
||||
# add these directories to sys.path here. If the directory is relative to the
|
||||
# documentation root, use os.path.abspath to make it absolute, like shown here.
|
||||
|
||||
|
||||
# Initially all the files in docs were generated by the https://www.sphinx-doc.org/en/master/man/sphinx-quickstart.html tool. There is no need to run this tool again.
|
||||
# The docs can now be generated using the `make html` command which calls the https://www.sphinx-doc.org/en/master/man/sphinx-build.html tool
|
||||
# Afterwards I made many changes to the generated files
|
||||
# Changes I made:
|
||||
# conf.py: Added the package path to sys.path
|
||||
# conf.py: Added extensions: sphinx.ext.autodoc, sphinx.ext.napoleon
|
||||
# conf.py: Set the project information
|
||||
# conf.py: Set the theme to sphinx_rtd_theme
|
||||
# *.rst: Added ":imported-members:" to all automodule invocations so that the members imported in __init__.py are included
|
||||
# *.rst: Reworked the files removing empty or unneeded sections
|
||||
# *.rst: Manually split out some modules and classes into separate pages: kfp.Client, kfp.extensions
|
||||
# *.rst: Fully reworked the kfp.rst and index.rst pages
|
||||
|
||||
# When SDK code changes are submitted to master, the GitHub sends a signal to ReadTheDocs using a webhook.
|
||||
# RTD automatically pulls the branch and generates the documentation at https://kf-pipelines.readthedocs.io
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
#sys.path.insert(0, os.path.abspath('.'))
|
||||
sys.path.insert(0, os.path.abspath('../sdk/python/'))
|
||||
|
||||
sys.path.insert(0, os.path.abspath('../sdk/python'))
|
||||
|
||||
# -- Project information -----------------------------------------------------
|
||||
|
||||
project = 'Kubeflow Pipelines'
|
||||
copyright = '2020, The Kubeflow Authors'
|
||||
copyright = '2022, The Kubeflow Authors'
|
||||
author = 'The Kubeflow Authors'
|
||||
|
||||
# The short X.Y version
|
||||
|
@ -63,11 +43,9 @@ version = ''
|
|||
# The full version, including alpha/beta/rc tags
|
||||
release = ''
|
||||
|
||||
|
||||
# -- General configuration ---------------------------------------------------
|
||||
|
||||
# If your documentation needs a minimal Sphinx version, state it here.
|
||||
#
|
||||
# needs_sphinx = '1.0'
|
||||
|
||||
# Add any Sphinx extension module names here, as strings. They can be
|
||||
|
@ -77,15 +55,23 @@ extensions = [
|
|||
'sphinx.ext.autodoc',
|
||||
'sphinx.ext.viewcode',
|
||||
'sphinx.ext.napoleon',
|
||||
'sphinx_click',
|
||||
'm2r2',
|
||||
]
|
||||
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
|
||||
html_title = 'KFP SDK API Reference'
|
||||
html_static_path = ['_static']
|
||||
html_css_files = ['custom.css']
|
||||
html_logo = '_static/kubeflow.png'
|
||||
html_favicon = '_static/favicon.ico'
|
||||
|
||||
# Add any paths that contain templates here, relative to this directory.
|
||||
templates_path = ['_templates']
|
||||
|
||||
# The suffix(es) of source filenames.
|
||||
# You can specify multiple suffix as a list of string:
|
||||
#
|
||||
# source_suffix = ['.rst', '.md']
|
||||
source_suffix = '.rst'
|
||||
|
||||
# The master toctree document.
|
||||
|
@ -96,7 +82,7 @@ master_doc = 'index'
|
|||
#
|
||||
# This is also used if you do content translation via gettext catalogs.
|
||||
# Usually you set "language" from the command line for these cases.
|
||||
language = None
|
||||
language = 'en'
|
||||
|
||||
# List of patterns, relative to source directory, that match files and
|
||||
# directories to ignore when looking for source files.
|
||||
|
@ -106,32 +92,6 @@ exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
|
|||
# The name of the Pygments (syntax highlighting) style to use.
|
||||
pygments_style = None
|
||||
|
||||
# -- Options for HTML output -------------------------------------------------
|
||||
|
||||
# The theme to use for HTML and HTML Help pages. See the documentation for
|
||||
# a list of builtin themes.
|
||||
#
|
||||
#html_theme = 'alabaster'
|
||||
try:
|
||||
import sphinx_rtd_theme
|
||||
html_theme = 'sphinx_rtd_theme'
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
# Theme options are theme-specific and customize the look and feel of a theme
|
||||
# further. For a list of options available for each theme, see the
|
||||
# documentation.
|
||||
#
|
||||
# html_theme_options = {}
|
||||
|
||||
# Add any paths that contain custom static files (such as style sheets) here,
|
||||
# relative to this directory. They are copied after the builtin static files,
|
||||
# so a file named "default.css" will overwrite the builtin "default.css".
|
||||
html_static_path = ['_static']
|
||||
|
||||
# Custom sidebar templates, must be a dictionary that maps document names
|
||||
# to template names.
|
||||
#
|
||||
# The default sidebars (for documents that don't match any pattern) are
|
||||
# defined by theme itself. Builtin themes are using these templates by
|
||||
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
|
||||
|
@ -139,17 +99,11 @@ html_static_path = ['_static']
|
|||
#
|
||||
# html_sidebars = {}
|
||||
|
||||
html_css_files = [
|
||||
'custom.css',
|
||||
]
|
||||
|
||||
|
||||
# -- Options for HTMLHelp output ---------------------------------------------
|
||||
|
||||
# Output file base name for HTML help builder.
|
||||
htmlhelp_basename = 'KubeflowPipelinesdoc'
|
||||
|
||||
|
||||
# -- Options for LaTeX output ------------------------------------------------
|
||||
|
||||
latex_elements = {
|
||||
|
@ -178,16 +132,12 @@ latex_documents = [
|
|||
'Google', 'manual'),
|
||||
]
|
||||
|
||||
|
||||
# -- Options for manual page output ------------------------------------------
|
||||
|
||||
# One entry per manual page. List of tuples
|
||||
# (source start file, name, description, authors, manual section).
|
||||
man_pages = [
|
||||
(master_doc, 'kubeflowpipelines', 'Kubeflow Pipelines Documentation',
|
||||
[author], 1)
|
||||
]
|
||||
|
||||
man_pages = [(master_doc, 'kubeflowpipelines',
|
||||
'Kubeflow Pipelines Documentation', [author], 1)]
|
||||
|
||||
# -- Options for Texinfo output ----------------------------------------------
|
||||
|
||||
|
@ -196,11 +146,11 @@ man_pages = [
|
|||
# dir menu entry, description, category)
|
||||
texinfo_documents = [
|
||||
(master_doc, 'KubeflowPipelines', 'Kubeflow Pipelines Documentation',
|
||||
author, 'KubeflowPipelines', 'One line description of project.',
|
||||
'Miscellaneous'),
|
||||
author, 'KubeflowPipelines',
|
||||
'Kubeflow Pipelines is a platform for building and deploying portable, scalable machine learning workflows based on Docker containers within the Kubeflow project.',
|
||||
''),
|
||||
]
|
||||
|
||||
|
||||
# -- Options for Epub output -------------------------------------------------
|
||||
|
||||
# Bibliographic Dublin Core info.
|
||||
|
@ -218,5 +168,37 @@ epub_title = project
|
|||
# A list of files that should not be packed into the epub file.
|
||||
epub_exclude_files = ['search.html']
|
||||
|
||||
# # -- Extension configuration -------------------------------------------------
|
||||
readme_path = os.path.join(
|
||||
os.path.abspath(os.path.dirname(os.path.dirname(__file__))), 'sdk',
|
||||
'python', 'README.md')
|
||||
|
||||
# -- Extension configuration -------------------------------------------------
|
||||
|
||||
def trim_header_of_readme(path: str) -> List[str]:
|
||||
with open(path, 'r') as f:
|
||||
contents = f.readlines()
|
||||
with open(path, 'w') as f:
|
||||
f.writelines(contents[1:])
|
||||
return contents
|
||||
|
||||
|
||||
def re_attach_header_of_readme(path: str, contents: List[str]) -> None:
|
||||
with open(path, 'w') as f:
|
||||
f.writelines(contents)
|
||||
|
||||
|
||||
original_readme_contents = trim_header_of_readme(readme_path)
|
||||
|
||||
re_attach_header_of_readme_closure = functools.partial(
|
||||
re_attach_header_of_readme,
|
||||
path=readme_path,
|
||||
contents=original_readme_contents)
|
||||
|
||||
|
||||
def re_attach_header_of_readme_hook(app: sphinx.application.Sphinx,
|
||||
exception: Optional[Exception]) -> None:
|
||||
re_attach_header_of_readme_closure()
|
||||
|
||||
|
||||
def setup(app: sphinx.application.Sphinx) -> None:
|
||||
app.connect('build-finished', re_attach_header_of_readme_hook)
|
||||
|
|
|
@ -1,206 +0,0 @@
|
|||
# volume-support
|
||||
|
||||
> Alpha
|
||||
>
|
||||
> This kubeflow pipeline volume support has **alpha** status
|
||||
|
||||
Now you can use volume and volume mount to support [tensorboard viewer and other visualize results](https://www.kubeflow.org/docs/pipelines/sdk/output-viewer). following steps is the detail information to do this.
|
||||
|
||||
|
||||
## deploy ml-pipeline-ui to support tensorboard viewer
|
||||
You can write your tensorboard logs to any volume, and view it from pipeline UI.
|
||||
To support this you should:
|
||||
|
||||
1. create config map for tensorboard viewer
|
||||
```bash
|
||||
kubectl apply -f - <<EOF
|
||||
apiVersion: v1
|
||||
data:
|
||||
view-spec-template.json: |-
|
||||
{
|
||||
"spec": {
|
||||
"containers": [{
|
||||
"volumeMounts": [{
|
||||
"name": " your_volume_name",
|
||||
"mountPath": "/your/mount/path"
|
||||
}]
|
||||
}],
|
||||
"volumes": [{
|
||||
"name": " your_volume_name",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "your_pvc_name"
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: ui-view-spec-template-configmap
|
||||
namespace: kubeflow
|
||||
EOF
|
||||
```
|
||||
The purpose of this patch is to specify where to find your tensorboard log data.
|
||||
|
||||
|
||||
2. re-deploy `ml-pipeline-ui` deployment (in KFP multi user mode it may be named `ml-pipeline-ui-artifact`)
|
||||
```bash
|
||||
kubectl patch deployment ml-pipeline-ui -nkubeflow --type strategic --patch '
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: VIEWER_TENSORBOARD_POD_TEMPLATE_SPEC_PATH
|
||||
value: "/config/view_spec_template.json"
|
||||
name: ml-pipeline-ui
|
||||
volumeMounts:
|
||||
- mountPath: /config/view_spec_template.json
|
||||
subPath: view_spec_template.json
|
||||
name: view-template-config
|
||||
volumes:
|
||||
- name: view-template-config
|
||||
configMap:
|
||||
name: ui-view-spec-template-configmap
|
||||
items:
|
||||
- key: view-spec-template.json
|
||||
path: view_spec_template.json
|
||||
'
|
||||
```
|
||||
The purpose of this patch is to let `ml-pipeline-ui` know where to find your tensorboard viewer config.
|
||||
|
||||
After you do this patch, you can write you tensorboard log dir at any point during the pipeline execution into your volume `your_volume_name`, and writing out metadata for the output viewers:
|
||||
```bash
|
||||
metadata = {
|
||||
'outputs' : [{
|
||||
'type': 'tensorboard',
|
||||
'source': volume://your_volume_name/your/tensorboard/logdir,
|
||||
}]
|
||||
}
|
||||
with open('/mlpipeline-ui-metadata.json', 'w') as f:
|
||||
json.dump(metadata, f)
|
||||
```
|
||||
**Note:** `source` must be specified with volume schema which starts with `volume://` and following with `your_volume_name`, and source path `your/tensorboard/logdir` is the path in volume.
|
||||
|
||||
|
||||
Above example mount volume `your_volume_name` to` /your/mount/path`, so the finally path in viewer pod is `/your/mount/path/your/tensorboard/logdir`
|
||||
|
||||
|
||||
## deploy ml-pipeline-ui to support other visualize results
|
||||
`ml-pipeline-ui` deployment (in KFP multi user mode it may be named `ml-pipeline-ui-artifact`) not configured with visualize volume in default. If you want to visualize `Confusion matrix`, `Markdown`, `ROC curve`, `Table` or `Web app` result in pipeline UI, you can do this with below patch code:
|
||||
```bash
|
||||
kubectl patch deployment ml-pipeline-ui -nkubeflow --type strategic --patch '
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
name: ml-pipeline-ui
|
||||
volumeMounts:
|
||||
- mountPath: /your/mount/path
|
||||
name: your_volume_name
|
||||
volumes:
|
||||
- name: your_volume_name
|
||||
persistentVolumeClaim:
|
||||
claimName: your_pvc_name,
|
||||
readOnly: true
|
||||
'
|
||||
```
|
||||
The purpose of this patch is to add volumes `your_volume_name` and volume mounts `/your/mount/path` for visualize results to be read. After you deploy this patch, you can write your visualize data at any pipeline components into volume `your_volume_name` and you may find visualize result in pipeline UI.
|
||||
|
||||
|
||||
**Example:**
|
||||
```bash
|
||||
metadata = {
|
||||
'outputs' : [{
|
||||
'type': 'confusion_matrix',
|
||||
'format': 'csv',
|
||||
'schema': [
|
||||
{'name': 'target', 'type': 'CATEGORY'},
|
||||
{'name': 'predicted', 'type': 'CATEGORY'},
|
||||
{'name': 'count', 'type': 'NUMBER'},
|
||||
],
|
||||
'source': volume://your_volume_name/your/confusion/matrix/path,
|
||||
# Convert vocab to string because for bealean values we want "True|False" to match csv data.
|
||||
'labels': list(map(str, vocab)),
|
||||
}]
|
||||
}
|
||||
with file_io.FileIO('/mlpipeline-ui-metadata.json', 'w') as f:
|
||||
json.dump(metadata, f)
|
||||
```
|
||||
**Note:** `source` must be specified with volume schema which starts with `volume://` and following with `your_volume_name`, and source path `your/confusion/matrix/path` is the path in volume.
|
||||
|
||||
|
||||
Above example mount volume `your_volume_name` to` /your/mount/path`, so the finally path is `/your/mount/path/your/confusion/matrix/path`
|
||||
|
||||
You can also re-deploy `ml-pipeline-ui` with one patch to support tensorboard and other visualize results:
|
||||
```bash
|
||||
kubectl patch deployment ml-pipeline-ui -nkubeflow --type strategic --patch '
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: VIEWER_TENSORBOARD_POD_TEMPLATE_SPEC_PATH
|
||||
value: "/config/view_spec_template.json"
|
||||
name: ml-pipeline-ui
|
||||
volumeMounts:
|
||||
- mountPath: /config/view_spec_template.json
|
||||
subPath: view_spec_template.json
|
||||
name: view-template-config
|
||||
- mountPath: /your/mount/path
|
||||
name: your_volume_name
|
||||
volumes:
|
||||
- name: view-template-config
|
||||
configMap:
|
||||
name: ui-view-spec-template-configmap
|
||||
items:
|
||||
- key: view-spec-template.json
|
||||
path: view_spec_template.json
|
||||
- name: your_volume_name
|
||||
persistentVolumeClaim:
|
||||
claimName: your_pvc_name,
|
||||
readOnly: true
|
||||
'
|
||||
```
|
||||
|
||||
|
||||
## support subpath volume mount
|
||||
If you config subpath under volume mounts, you can use volume schema `volume://your_volume_name/your_volume_mount_sub_path/your/data/path` to distinguish different subpath volume mounts. For example, you may patch your `ml-pipeline-ui` with below code to support other visualize results with subpath volume mount:
|
||||
```bash
|
||||
kubectl patch deployment ml-pipeline-ui -nkubeflow --type strategic --patch '
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
name: ml-pipeline-ui
|
||||
volumeMounts:
|
||||
- mountPath: /your/mount/path
|
||||
subPath: your_volume_mount_sub_path
|
||||
name: your_volume_name
|
||||
volumes:
|
||||
- name: your_volume_name
|
||||
persistentVolumeClaim:
|
||||
claimName: your_pvc_name,
|
||||
readOnly: true
|
||||
'
|
||||
```
|
||||
and you can writing out metadata for the output viewers:
|
||||
```bash
|
||||
metadata = {
|
||||
'outputs' : [{
|
||||
'type': 'confusion_matrix',
|
||||
'format': 'csv',
|
||||
'schema': [
|
||||
{'name': 'target', 'type': 'CATEGORY'},
|
||||
{'name': 'predicted', 'type': 'CATEGORY'},
|
||||
{'name': 'count', 'type': 'NUMBER'},
|
||||
],
|
||||
'source': volume://your_volume_name/your_volume_mount_sub_path/your/confusion/matrix/path,
|
||||
# Convert vocab to string because for bealean values we want "True|False" to match csv data.
|
||||
'labels': list(map(str, vocab)),
|
||||
}]
|
||||
}
|
||||
with file_io.FileIO('/mlpipeline-ui-metadata.json', 'w') as f:
|
||||
json.dump(metadata, f)
|
||||
```
|
||||
because volume mount configured with subpath, so `your_volume_name/your_volume_mount_sub_path` will be concat to match volume schema `volume://your_volume_name/your_volume_mount_sub_path/your/confusion/matrix/path`. It matched, and the finally path is `/your/mount/path/your/confusion/matrix/path`
|
||||
|
|
@ -1,24 +1,17 @@
|
|||
.. Kubeflow Pipelines documentation master file, created by
|
||||
sphinx-quickstart on Wed Mar 27 22:34:54 2019.
|
||||
You can adapt this file completely to your liking, but it should at least
|
||||
contain the root `toctree` directive.
|
||||
Kubeflow Pipelines SDK API Reference
|
||||
====================================
|
||||
|
||||
Kubeflow Pipelines SDK API
|
||||
==========================
|
||||
|
||||
Main documentation: https://www.kubeflow.org/docs/pipelines/
|
||||
|
||||
Source code: https://github.com/kubeflow/pipelines/
|
||||
.. mdinclude:: ../sdk/python/README.md
|
||||
|
||||
.. maxdepth and titlesonly settings ensure TOC items don't expand recursively, bloating the TOC (only applies if :hidden: is removed)
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
:caption: Contents
|
||||
:maxdepth: 1
|
||||
:titlesonly:
|
||||
:hidden:
|
||||
|
||||
self
|
||||
source/kfp
|
||||
|
||||
.. * :ref:`modindex`
|
||||
.. * :ref:`kfp-ref`
|
||||
.. * :ref:`search`
|
||||
|
||||
* :ref:`genindex`
|
||||
Home <self>
|
||||
API Reference <source/kfp>
|
||||
kfp CLI <source/cli>
|
||||
Usage Docs (kubeflow.org) <https://kubeflow.org/docs/pipelines/>
|
||||
Source Code <https://github.com/kubeflow/pipelines/>
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
# Kubeflow Pipelines Feature Stages
|
||||
|
||||
The features in Kubeflow Pipelines fall into three different stages: alpha, beta, and stable.
|
||||
|
||||
## Stage criteria and support levels
|
||||
|
||||
### Alpha
|
||||
* The software is very likely to contain bugs.
|
||||
* The support for a feature may be dropped at any time without notice in advance.
|
||||
* The API may change in incompatible ways in a later software release without notice.
|
||||
* The software is recommended for use only in short-lived testing environments, due to increased risk of bugs and lack of long-term support.
|
||||
* Documentation in https://github.com/kubeflow/pipelines/tree/master/docs (technical writing review not required).
|
||||
|
||||
### Beta
|
||||
* The software is well tested.
|
||||
* The support for a feature will not be dropped, though the details may change.
|
||||
* The schema and/or semantics of objects may change in incompatible ways in a subsequent beta or stable release. When this happens, migration instructions are provided.
|
||||
* The software is recommended for only non-business-critical uses because of potential for incompatible changes in subsequent releases.
|
||||
* Full documentation on user facing channels (kubeflow.org and reference websites).
|
||||
|
||||
### Stable
|
||||
All of the guarantees for Beta and:
|
||||
* No breaking changes without a major version release.
|
||||
* The software is recommended for all uses.
|
||||
|
||||
## Stable Features
|
||||
|
||||
* [SDK DSL](https://github.com/kubeflow/pipelines/tree/master/sdk/python/kfp/dsl) for constructing a pipeline.
|
||||
* [ComponentSpec](https://github.com/kubeflow/pipelines/blob/release-1.0/sdk/python/kfp/components/structures/components.json_schema.json).
|
||||
* [Core APIs](#core-apis)
|
||||
* The following SDK client helper methods (others are in Alpha stage)
|
||||
* [run_pipeline](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html#kfp.Client.run_pipeline)
|
||||
* [create_experiment](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html#kfp.Client.create_experiment)
|
||||
* [get_experiment](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html#kfp.Client.get_experiment)
|
||||
* [wait_for_run_completion](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html#kfp.Client.wait_for_run_completion)
|
||||
* [create_run_from_pipelie_func](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html#kfp.Client.create_run_from_pipeline_func)
|
||||
|
||||
Note, these packages are stable in general, but specific classes, methods, and arguments might be in a different stage. For more information, refer to [Kubeflow Pipelines SDK documentation](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.dsl.html).
|
||||
|
||||
### Core APIs
|
||||
|
||||
| | Upload | Create | Get | List | Delete | Archive | Unarchive | Enable | Disable | Terminate | Retry |
|
||||
|:----------------:|:------:|:------:|:---:|:----:|:------:|:-------:|:---------:|:------:|:-------:|:---------:|:-----:|
|
||||
| Pipeline | ☑️ | ☑️ |☑️|☑️ | ☑️ | | |
|
||||
| Pipeline Version | ☑️ | ☑️ |☑️|☑️ | ☑️ | | |
|
||||
| Run | | ☑️ |☑️|☑️ | ☑️ | ☑️ | ☑️ | | | ☑️ | ☑️ |
|
||||
| Experiment | | ☑️ |☑️|☑️ | ☑️ | ☑️ | ☑️ |
|
||||
|
||||
* Refer to the Kubeflow Pipelines documentation to learn more about:
|
||||
- The [purpose and goals of Kubeflow Pipelines](https://www.kubeflow.org/docs/pipelines/overview/pipelines-overview/) and the [main concepts required to use Kubeflow Pipelines](https://www.kubeflow.org/docs/pipelines/overview/concepts/). For example, what is a pipeline and what is a pipeline run in Kubeflow Pipelines.
|
||||
- [How to manage Kubeflow Pipelines resources using the the Kubeflow Pipelines UI](https://www.kubeflow.org/docs/pipelines/overview/interfaces/).
|
||||
- [How to manage the Kubeflow Pipelines resources using the Kubeflow Pipelines client](https://www.kubeflow.org/docs/pipelines/tutorials/sdk-examples/).
|
||||
- The [Kubeflow Pipelines API](https://www.kubeflow.org/docs/pipelines/reference/api/kubeflow-pipeline-api-spec/). The API reference includes a complete list of the methods and parameters that are available in the Kubeflow Pipelines API.
|
||||
|
||||
## Features in Beta
|
||||
|
||||
* [Job API](https://www.kubeflow.org/docs/pipelines/reference/api/kubeflow-pipeline-api-spec/#tag-JobService)
|
||||
|
||||
| | Upload | Create | Get | List | Delete | Archive | Unarchive | Enable | Disable | Terminate | Retry |
|
||||
|:----------------:|:------:|:------:|:---:|:----:|:------:|:-------:|:---------:|:------:|:-------:|:---------:|:-----:|
|
||||
| Job | | ☑️ |☑️|☑️ | ☑️ | | | ☑️ | ☑️ |
|
||||
|
||||
|
||||
* [Upgrade support for the Kubeflow Pipelines standalone deployment](https://www.kubeflow.org/docs/pipelines/installation/standalone-deployment/#upgrading-kubeflow-pipelines).
|
||||
|
||||
* [Built-in visualizations](https://www.kubeflow.org/docs/pipelines/sdk/output-viewer/).
|
||||
|
||||
* [Pipeline metrics](https://www.kubeflow.org/docs/pipelines/sdk/pipelines-metrics/).
|
||||
|
||||
* [Multi-user isolation](https://www.kubeflow.org/docs/pipelines/multi-user/).
|
||||
|
||||
## Features in Alpha
|
||||
|
||||
* Most of [SDK client helper methods](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.client.html) except those mentioned in stable stage. The helper methods are mainly maintained by the community. These methods can be convenient to use, but they may not provide all the features from the API and they may lack testing. These issues prevent us from moving these methods to Beta stage at this time. For more information, refer to the [SDK client Beta blockers project](https://github.com/kubeflow/pipelines/projects/7).
|
||||
|
||||
We recommend and support the auto-generated client APIs instead. For example,
|
||||
`client.pipelines.list_pipelines()`, `client.runs.list_runs()` and
|
||||
`client.pipeline_uploads.upload_pipeline()`.
|
||||
|
||||
For more information, refer to the [Using the Kubeflow Pipelines SDK](https://www.kubeflow.org/docs/pipelines/tutorials/sdk-examples/) guide for examples of using the SDK, and the [SDK generated API client reference](https://kubeflow-pipelines.readthedocs.io/en/stable/source/kfp.server_api.html).
|
||||
|
||||
* [Step caching](https://www.kubeflow.org/docs/pipelines/caching/).
|
||||
|
||||
* [ML Metadata (MLMD)](https://github.com/google/ml-metadata) UI integration.
|
||||
For example, artifact and execution list and detail pages.
|
||||
|
||||
* [Python based custom visualizations](https://www.kubeflow.org/docs/pipelines/sdk/python-based-visualizations/).
|
|
@ -1,23 +0,0 @@
|
|||
# Kubeflow Pipelines Versioning Policy
|
||||
|
||||
Kubeflow Pipelines version format follows [semantic versioning](https://semver.org/).
|
||||
Kubeflow Pipelines versions are in the format of `X.Y.Z`, where `X` is the major version,
|
||||
`Y` is the minor version, and `Z` is the patch version.
|
||||
|
||||
As a guideline, we increment the:
|
||||
* MAJOR version when we make breaking changes on [stable features](./feature-status.md#stable-features).
|
||||
* MINOR version when we add functionality in a backwards compatible manner.
|
||||
* PATCH version when we make backwards compatible bug fixes.
|
||||
|
||||
In reality, we are not following the guideline strictly. For example, a PATCH version might include a backward compatible new feature that is considered to be low-risk.
|
||||
|
||||
Additionally, we do pre-releases as an extension in the format of `X.Y.Z-rc.N`
|
||||
where `N` is a number. The appendix indicates the Nth release candidate before
|
||||
an upcoming public release named `X.Y.Z`.
|
||||
|
||||
The Kubeflow Pipelines version `X.Y.Z` refers to the version (git tag) of the released
|
||||
Kubeflow Pipelines. Versions include all released artifacts, such as:
|
||||
* `kfp` and `kfp-server-api` python packages.
|
||||
* Install manifests.
|
||||
* Docker images on gcr.io/ml-pipeline.
|
||||
* First party components.
|
|
@ -1,2 +1,5 @@
|
|||
sphinx==3.1.2
|
||||
sphinx_rtd_theme==0.5.0
|
||||
../sdk/python
|
||||
sphinx==5.0.2
|
||||
sphinx-click==4.3.0
|
||||
sphinx-rtd-theme==1.0.0
|
||||
m2r2==0.3.2
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
kfp CLI
|
||||
==========================
|
||||
|
||||
.. contents:: All commands
|
||||
:depth: 4
|
||||
:backlinks: none
|
||||
|
||||
|
||||
.. click:: kfp.cli.cli:cli
|
||||
:prog: kfp
|
||||
:nested: full
|
|
@ -0,0 +1,8 @@
|
|||
kfp.client
|
||||
==========================
|
||||
|
||||
.. automodule:: kfp.client
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:noindex:
|
|
@ -0,0 +1,8 @@
|
|||
kfp.compiler
|
||||
==========================
|
||||
|
||||
.. automodule:: kfp.compiler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:noindex:
|
|
@ -0,0 +1,8 @@
|
|||
kfp.components
|
||||
==========================
|
||||
|
||||
.. automodule:: kfp.components
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:noindex:
|
|
@ -0,0 +1,8 @@
|
|||
kfp.dsl
|
||||
==========================
|
||||
|
||||
.. automodule:: kfp.dsl
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:noindex:
|
|
@ -1,15 +0,0 @@
|
|||
kfp.Client class
|
||||
================
|
||||
|
||||
.. autoclass:: kfp.Client
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
Generated APIs
|
||||
--------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
kfp.server_api
|
|
@ -1,8 +0,0 @@
|
|||
kfp.compiler package
|
||||
====================
|
||||
|
||||
.. automodule:: kfp.compiler
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
|
@ -1,15 +0,0 @@
|
|||
kfp.components package
|
||||
======================
|
||||
|
||||
.. automodule:: kfp.components
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
||||
|
||||
kfp.components.structures subpackage
|
||||
-------------------------------------
|
||||
|
||||
.. toctree::
|
||||
|
||||
kfp.components.structures
|
|
@ -1,21 +0,0 @@
|
|||
kfp.components.structures.kubernetes package
|
||||
============================================
|
||||
|
||||
kfp.components.structures.kubernetes.v1 module
|
||||
----------------------------------------------
|
||||
|
||||
.. automodule:: kfp.components.structures.kubernetes.v1
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
|
||||
.. Empty
|
||||
|
||||
Module contents
|
||||
---------------
|
||||
|
||||
.. automodule:: kfp.components.structures.kubernetes
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -1,14 +0,0 @@
|
|||
kfp.components.structures package
|
||||
=================================
|
||||
|
||||
|
||||
.. automodule:: kfp.components.structures
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
kfp.components.structures.kubernetes
|
|
@ -1,8 +0,0 @@
|
|||
kfp.containers package
|
||||
======================
|
||||
|
||||
.. automodule:: kfp.containers
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
|
@ -1,19 +0,0 @@
|
|||
kfp.dsl package
|
||||
===============
|
||||
|
||||
.. automodule:: kfp.dsl
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
||||
:inherited-members:
|
||||
:exclude-members: Pipeline, OpsGroup, match_serialized_pipelineparam
|
||||
|
||||
.. py:data:: RUN_ID_PLACEHOLDER
|
||||
|
||||
.. py:data:: EXECUTION_ID_PLACEHOLDER
|
||||
|
||||
|
||||
.. toctree::
|
||||
|
||||
kfp.dsl.types
|
|
@ -1,7 +0,0 @@
|
|||
kfp.dsl.types module
|
||||
--------------------
|
||||
|
||||
.. automodule:: kfp.dsl.types
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -1,34 +0,0 @@
|
|||
KFP extension modules
|
||||
========================
|
||||
|
||||
kfp.onprem module
|
||||
-----------------
|
||||
|
||||
.. automodule:: kfp.onprem
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.gcp module
|
||||
--------------
|
||||
|
||||
.. automodule:: kfp.gcp
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.aws module
|
||||
----------------
|
||||
|
||||
.. automodule:: kfp.aws
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.azure module
|
||||
----------------
|
||||
|
||||
.. automodule:: kfp.azure
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
|
@ -1,22 +1,11 @@
|
|||
.. _kfp-ref:
|
||||
|
||||
kfp package
|
||||
===========
|
||||
|
||||
API Reference
|
||||
==========================
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
:maxdepth: 1
|
||||
|
||||
kfp.client
|
||||
kfp.compiler
|
||||
kfp.components
|
||||
kfp.containers
|
||||
kfp.dsl
|
||||
kfp.extensions
|
||||
|
||||
.. automodule:: kfp
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:imported-members:
|
||||
:exclude-members: Client
|
||||
dsl
|
||||
compiler
|
||||
client
|
||||
components
|
||||
registry
|
||||
|
|
|
@ -1,48 +0,0 @@
|
|||
kfp.Client().runs
|
||||
-----------------------------
|
||||
|
||||
.. autoclass:: kfp_server_api.api.run_service_api.RunServiceApi
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.Client().pipelines
|
||||
-----------------------------
|
||||
|
||||
.. autoclass:: kfp_server_api.api.pipeline_service_api.PipelineServiceApi
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.Client().experiments
|
||||
-----------------------------
|
||||
|
||||
.. autoclass:: kfp_server_api.api.experiment_service_api.ExperimentServiceApi
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.Client().jobs
|
||||
-----------------------------
|
||||
|
||||
.. autoclass:: kfp_server_api.api.job_service_api.JobServiceApi
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.Client().pipeline_uploads
|
||||
-----------------------------
|
||||
|
||||
.. autoclass:: kfp_server_api.api.pipeline_upload_service_api.PipelineUploadServiceApi
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
|
||||
kfp.Client().models
|
||||
-----------------------------
|
||||
|
||||
.. automodule:: kfp_server_api.models
|
||||
:members:
|
||||
:undoc-members:
|
||||
:imported-members:
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
kfp.registry
|
||||
==========================
|
||||
|
||||
.. automodule:: kfp.registry
|
||||
:members:
|
||||
:undoc-members:
|
||||
:show-inheritance:
|
||||
:noindex:
|
|
@ -1,6 +1,5 @@
|
|||
# `kfp`: Kubeflow Pipelines SDK (pre-release)
|
||||
|
||||
## Note: This is a pre-release and is not yet stable. Please report bugs and provide feedback via [GitHub Issues](https://github.com/kubeflow/pipelines/issues).
|
||||
> Note: This is a pre-release and is not yet stable. Please report bugs and provide feedback via [GitHub Issues](https://github.com/kubeflow/pipelines/issues).
|
||||
|
||||
Kubeflow Pipelines is a platform for building and deploying portable, scalable machine learning workflows based on Docker containers within the [Kubeflow](https://www.kubeflow.org/) project.
|
||||
|
||||
|
|
|
@ -12,4 +12,8 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__all__ = [
|
||||
'Client',
|
||||
]
|
||||
|
||||
from kfp.client.client import Client
|
||||
|
|
|
@ -12,4 +12,7 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__all__ = [
|
||||
'Compiler',
|
||||
]
|
||||
from kfp.compiler.compiler import Compiler
|
||||
|
|
|
@ -12,6 +12,12 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__all__ = [
|
||||
'load_component_from_text',
|
||||
'load_component_from_file',
|
||||
'load_component_from_url',
|
||||
]
|
||||
|
||||
from kfp.components.yaml_component import load_component_from_file
|
||||
from kfp.components.yaml_component import load_component_from_text
|
||||
from kfp.components.yaml_component import load_component_from_url
|
||||
|
|
|
@ -12,6 +12,37 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__all__ = [
|
||||
'component',
|
||||
'importer',
|
||||
'PipelineArtifactChannel',
|
||||
'PipelineChannel',
|
||||
'PipelineParameterChannel',
|
||||
'pipeline',
|
||||
'PipelineTask',
|
||||
'PipelineTaskFinalStatus',
|
||||
'Condition',
|
||||
'ExitHandler',
|
||||
'ParallelFor',
|
||||
'Artifact',
|
||||
'ClassificationMetrics',
|
||||
'Dataset',
|
||||
'HTML',
|
||||
'Markdown',
|
||||
'Metrics',
|
||||
'Model',
|
||||
'SlicedClassificationMetrics',
|
||||
'Input',
|
||||
'Output',
|
||||
'InputPath',
|
||||
'OutputPath',
|
||||
'PIPELINE_JOB_NAME_PLACEHOLDER',
|
||||
'PIPELINE_JOB_RESOURCE_NAME_PLACEHOLDER',
|
||||
'PIPELINE_JOB_ID_PLACEHOLDER',
|
||||
'PIPELINE_TASK_NAME_PLACEHOLDER',
|
||||
'PIPELINE_TASK_ID_PLACEHOLDER',
|
||||
]
|
||||
|
||||
from kfp.components.component_decorator import component
|
||||
from kfp.components.importer_node import importer
|
||||
from kfp.components.pipeline_channel import PipelineArtifactChannel
|
||||
|
|
|
@ -12,5 +12,9 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
__all__ = [
|
||||
'ApiAuth',
|
||||
'RegistryClient',
|
||||
]
|
||||
from kfp.registry.registry_client import ApiAuth
|
||||
from kfp.registry.registry_client import RegistryClient
|
||||
|
|
Loading…
Reference in New Issue