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.14.0.tar.gz (222.5 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.14.0-py3-none-any.whl (295.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flytekit-0.14.0.tar.gz
  • Upload date:
  • Size: 222.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.9.0

File hashes

Hashes for flytekit-0.14.0.tar.gz
Algorithm Hash digest
SHA256 2372a7cf99775fbb0ca47a7846cf22ba329c7936f7bbd731ff1909bdbf24e0d9
MD5 0f4b881c75dbbb13921e67c4070d8bd8
BLAKE2b-256 925495f52aaa696f65576b90a452736f4f60503c0d52a6cc9521276defadf68a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flytekit-0.14.0-py3-none-any.whl
  • Upload date:
  • Size: 295.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/49.2.1 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.9.0

File hashes

Hashes for flytekit-0.14.0-py3-none-any.whl
Algorithm Hash digest
SHA256 25907684a66980ba2a8b39f7b72d71065e67fe79f19ff144120bb6aa67168a89
MD5 de8890ebb8e2263445b40979e71f08bc
BLAKE2b-256 6aa1bf997fef688303115f07af9ea619d27856c914e58791a3e8b86e5b5b2e08

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