Metadata-Version: 2.1
Name: flytekit
Version: 0.18.2
Summary: Flyte SDK for Python
Home-page: https://github.com/lyft/flytekit
Maintainer: Flyte Org
Maintainer-email: admin@flyte.org
License: apache2
Platform: UNKNOWN
Classifier: Intended Audience :: Science/Research
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Requires-Dist: flyteidl (<0.20.0,>=0.18.50)
Requires-Dist: wheel (<1.0.0,>=0.30.0)
Requires-Dist: pandas (<2.0.0,>=1.0.0)
Requires-Dist: pyarrow (<4.0.0,>=2.0.0)
Requires-Dist: click (<8.0,>=6.6)
Requires-Dist: croniter (<4.0.0,>=0.3.20)
Requires-Dist: deprecated (<2.0,>=1.0)
Requires-Dist: python-dateutil (<=2.8.1,>=2.1)
Requires-Dist: grpcio (<2.0,>=1.3.0)
Requires-Dist: protobuf (<4,>=3.6.1)
Requires-Dist: pytimeparse (<2.0.0,>=1.1.8)
Requires-Dist: pytz (<2018.5,>=2017.2)
Requires-Dist: keyring (>=18.0.1)
Requires-Dist: requests (<3.0.0,>=2.18.4)
Requires-Dist: responses (>=0.10.7)
Requires-Dist: six (<2.0.0,>=1.9.0)
Requires-Dist: sortedcontainers (>=1.5.9<3.0.0)
Requires-Dist: statsd (<4.0.0,>=3.0.0)
Requires-Dist: urllib3 (<1.26,>=1.22)
Requires-Dist: wrapt (<2.0.0,>=1.0.0)
Requires-Dist: retry (==0.9.2)
Requires-Dist: dataclasses-json (>=0.5.2)
Requires-Dist: natsort (>=7.0.1)
Requires-Dist: dirhash (>=0.2.1)
Requires-Dist: docker-image-py (>=0.1.10)
Provides-Extra: all
Requires-Dist: pyspark (>=3.0.0) ; extra == 'all'
Requires-Dist: k8s-proto (<1.0.0,>=0.0.3) ; extra == 'all'
Requires-Dist: numpy (<2.0.0,>=1.14.0) ; extra == 'all'
Requires-Dist: pandas (<2.0.0,>=0.22.0) ; extra == 'all'
Requires-Dist: pyarrow (<4.0.0,>2.0.0) ; extra == 'all'
Requires-Dist: hmsclient (<1.0.0,>=0.0.1) ; extra == 'all'
Requires-Dist: papermill (>=1.2.0) ; extra == 'all'
Requires-Dist: nbconvert (>=6.0.7) ; extra == 'all'
Requires-Dist: ipykernel (>=5.0.0) ; extra == 'all'
Requires-Dist: sagemaker-training (<4.0.0,>=3.6.2) ; extra == 'all'
Provides-Extra: all-spark2.4
Requires-Dist: pyspark (<3.0.0,>=2.4.0) ; extra == 'all-spark2.4'
Requires-Dist: k8s-proto (<1.0.0,>=0.0.3) ; extra == 'all-spark2.4'
Requires-Dist: numpy (<2.0.0,>=1.14.0) ; extra == 'all-spark2.4'
Requires-Dist: pandas (<2.0.0,>=0.22.0) ; extra == 'all-spark2.4'
Requires-Dist: pyarrow (<4.0.0,>2.0.0) ; extra == 'all-spark2.4'
Requires-Dist: hmsclient (<1.0.0,>=0.0.1) ; extra == 'all-spark2.4'
Requires-Dist: papermill (>=1.2.0) ; extra == 'all-spark2.4'
Requires-Dist: nbconvert (>=6.0.7) ; extra == 'all-spark2.4'
Requires-Dist: ipykernel (>=5.0.0) ; extra == 'all-spark2.4'
Requires-Dist: sagemaker-training (<4.0.0,>=3.6.2) ; extra == 'all-spark2.4'
Provides-Extra: hive_sensor
Requires-Dist: hmsclient (<1.0.0,>=0.0.1) ; extra == 'hive_sensor'
Provides-Extra: notebook
Requires-Dist: papermill (>=1.2.0) ; extra == 'notebook'
Requires-Dist: nbconvert (>=6.0.7) ; extra == 'notebook'
Requires-Dist: ipykernel (>=5.0.0) ; extra == 'notebook'
Provides-Extra: sagemaker
Requires-Dist: sagemaker-training (<4.0.0,>=3.6.2) ; extra == 'sagemaker'
Provides-Extra: schema
Requires-Dist: numpy (<2.0.0,>=1.14.0) ; extra == 'schema'
Requires-Dist: pandas (<2.0.0,>=0.22.0) ; extra == 'schema'
Requires-Dist: pyarrow (<4.0.0,>2.0.0) ; extra == 'schema'
Provides-Extra: sidecar
Requires-Dist: k8s-proto (<1.0.0,>=0.0.3) ; extra == 'sidecar'
Provides-Extra: spark
Requires-Dist: pyspark (<3.0.0,>=2.4.0) ; extra == 'spark'
Provides-Extra: spark3
Requires-Dist: pyspark (>=3.0.0) ; extra == 'spark3'

# Flytekit

[![PyPI version fury.io](https://badge.fury.io/py/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
[![PyPI download day](https://img.shields.io/pypi/dd/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
[![PyPI download month](https://img.shields.io/pypi/dm/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
[![PyPI format](https://img.shields.io/pypi/format/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
[![PyPI implementation](https://img.shields.io/pypi/implementation/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
![Codecov](https://img.shields.io/codecov/c/github/flyteorg/flytekit?style=plastic)
[![PyPI pyversions](https://img.shields.io/pypi/pyversions/flytekit.svg)](https://pypi.python.org/pypi/flytekit/)
[![Docs](https://readthedocs.org/projects/flytekit/badge/?version=latest&style=plastic)](https://flytekit.rtfd.io)


Python Library for easily authoring, testing, deploying, and interacting with Flyte tasks, workflows, and launch plans. To understand more about Flyte please refer to,
 - [Flyte homepage](https://flyte.org)
 - [Flyte core repository](https://github.com/flyteorg/flyte)

## Installation

Flytekit is the core extensible library to author Flyte workflows and tasks and interact with Flyte Backend services. Flyte plugins can be installed separately. 

### Base Installation

```bash
pip install flytekit
```

### Simple getting started

```python
from flytekit import task, workflow

@task(cache=True, cache_version="1", retries=3)
def sum(x: int, y: int) -> int:
    return x + y

@task(cache=True, cache_version="1", retries=3)
def square(z: int) -> int:
    return z*z

@workflow
def my_workflow(x: int, y: int) -> int:
    return sum(x=square(z=x),y=square(z=y))
```

### Learn Flytekit by example using
- [Learn flytekit by examples](https://flytecookbook.readthedocs.io/)
- [Flytekit API documentation](http://flytekit.readthedocs.io/)
- [Flyte documentation Hub](http://flytekit.readthedocs.io/)

### Contributions and Issues
Please see the [contributor guide](https://docs.flyte.org/projects/flytekit/en/latest/contributing.html) and file issues against the main [Flyte repo](https://github.com/flyteorg/flyte/issues).

### Plugins:
Refer to [plugins/README.md](plugins/README.md) for a list of available
plugins. There may be plugins outside of this list, but this list is maintained
by the core maintainers.


