Skip to main content

Flyte SDK for Python

Project description

Flytekit

PyPI version fury.io PyPI download day PyPI download month PyPI format PyPI implementation Codecov

Python Library for easily authoring, testing, deploying, and interacting with Flyte tasks, workflows, and launch plans. To understand more about flyte refer to,

Installation

Flytekit is designed for minimal footprint, and thus some features must be installed as extras.

Base Installation

This is the lightest-weight SDK install. This installation includes everything you need to interact with Flyte.

Modules include:

  1. The full Flyte IDL and an additional model layer for easier extension of the data model.
  2. gRPC client for communicating with the platform.
  3. Implementations for authoring and extending all Flyte entities (including tasks, workflows, and launch plans).

Tools include:

  1. flyte-cli (Command-Line Interface for Interacting with the Flyte Platform)
  2. pyflyte (Command-Line tool for easing the registration of Flyte entities)
pip install flytekit

Plugin Installation

Spark

If @spark_task is to be used, one should install the spark plugin.

pip install "flytekit[spark]" for Spark 2.4.x
pip install "flytekit[spark3]" for Spark 3.x

Schema

If Types.Schema() is to be used for computations involving large dataframes, one should install the schema extension.

pip install "flytekit[schema]"

Sidecar

If @sidecar_task is to be used, one should install the sidecar plugin.

pip install "flytekit[sidecar]"

Pytorch

If @pytorch_task is to be used, one should install the pytorch plugin.

pip install "flytekit[pytorch]"

TensorFlow

If @tensorflow_task is to be used, one should install the tensorflow plugin.

pip install flytekit[tensorflow]

Full Installation

To install all or multiple available plugins, one can specify them individually:

pip install "flytekit[sidecar,spark,schema]"

Or install them with the all or all-spark2.4 or all-spark3 directives which will install all the plugins and a specific Spark version. Please note that all currently defaults to Spark 2.4.x. In a future release (starting 0.15.x), all will be switched to use Spark 3.x.

pip install "flytekit[all]"

Development

Recipes

$ make
Available recipes:
  setup        Install requirements
  fmt          Format code with black and isort
  lint         Run linters
  test         Run tests
  requirements Compile requirements

Setup (Do Once)

virtualenv ~/.virtualenvs/flytekit
source ~/.virtualenvs/flytekit/bin/activate
make setup

Formatting

We use black and isort to autoformat code. Run the following command to execute the formatters:

source ~/.virtualenvs/flytekit/bin/activate
make fmt

Testing

Unit Testing

source ~/.virtualenvs/flytekit/bin/activate
make test

Updating requirements

Update requirements in setup.py, or update requirements for development in dev-requirements.in. Then, validate, pin and freeze all requirements by running:

source ~/.virtualenvs/flytekit/bin/activate
make requirements

This will re-create the requirements.txt and dev-requirements.txt files which will be used for testing. You will have also have to re-run make setup to update your local environment with the updated requirements.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flytekit-0.15.6.tar.gz (231.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

flytekit-0.15.6-py3-none-any.whl (301.1 kB view details)

Uploaded Python 3

File details

Details for the file flytekit-0.15.6.tar.gz.

File metadata

  • Download URL: flytekit-0.15.6.tar.gz
  • Upload date:
  • Size: 231.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.9

File hashes

Hashes for flytekit-0.15.6.tar.gz
Algorithm Hash digest
SHA256 fc024e0f7b004fb6ef5bf78bc635d5320d40c194fd775bcf47e432064b322bf6
MD5 e51adee010de20f41e63952972dec12e
BLAKE2b-256 f3788132ef3cb65028c52c35b9d1fb93db05a82033c122a005af98718495476a

See more details on using hashes here.

File details

Details for the file flytekit-0.15.6-py3-none-any.whl.

File metadata

  • Download URL: flytekit-0.15.6-py3-none-any.whl
  • Upload date:
  • Size: 301.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.54.0 CPython/3.8.9

File hashes

Hashes for flytekit-0.15.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c8a48f3c2bfb291e01413f24636293aa27e1a93f1ae91487418c000789decd03
MD5 6762f01413cca81a245614c1a8e0299d
BLAKE2b-256 3965232a8882242ec859b167ff9d89ccae2039840f23b30dc924963640facdef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page