Skip to main content

Union Flyte Plugin

Proprietary extensions and features for Flyte, providing Union-specific functionality.

Installation

uv pip install flyteplugins-union

For development:

uv pip install -e .

Flyte compatibility

flyteplugins-union builds on flyte SDK internals that can change between flyte minor releases, so each release pins flyte to a single minor line. Install a flyteplugins-union release built for your flyte minor:

flyteplugins-union Requires flyte
0.5.0+ >=2.5.7,<2.6.0
0.4.3 >=2.5.0,<2.6.0
0.4.0 – 0.4.2 >=2.3.0,<2.5.0
0.3.0 >=2.1.0,<2.5.0

See COMPATIBILITY.md for the rationale and how the pin tracks new flyte releases.

Features

API Key Management

Create and manage API keys for headless authentication with Union.

Create an API Key

flyte create api-key admin --name my-api-key

This will create OAuth application credentials and output an API key that can be used for headless authentication.

Example output:

Client ID: serverless-1-myorg-my-api-key
The following API key will only be shown once. Be sure to keep it safe!
Configure your headless CLI by setting the following environment variable:

export FLYTE_API_KEY="<base64-encoded-credentials>"

Using the API Key

Set the generated API key as an environment variable:

export FLYTE_API_KEY="<your-api-key>"

Then use the Flyte CLI as normal - it will authenticate using the API key instead of prompting for interactive login.

Architecture

The Union SDK is structured as follows:

  • flyteplugins/union/internal/ - Proprietary protobuf definitions and generated code
  • flyteplugins/union/cli/ - CLI command plugins that extend the Flyte CLI
  • flyteplugins/union/utils/ - Shared utility functions
  • flyteplugins/union/remote/ - Union-specific remote objects

Plugin System

The SDK registers CLI plugins via entry points in pyproject.toml:

[project.entry-points."flyte.plugins.cli.commands"]
"create.api-key" = "flyteplugins.union.cli.api_key:create_api_key"
"delete.api-key" = "flyteplugins.union.cli.api_key:delete_api_key"
"get.api-key" = "flyteplugins.union.cli.api_key:get_api_key"

This makes Union commands available seamlessly through the Flyte CLI.

Dependencies

  • flyte - The Flyte SDK v2 (pinned to a single minor; see Flyte compatibility)
  • rich-click>=1.8.0 - For CLI formatting

Development

To add a new CLI plugin:

  1. Create a new file in src/flyteplugins/union/cli/
  2. Define your click commands
  3. Register the entry point in pyproject.toml
  4. Shared resources (protobufs, utilities) are available in flyteplugins.union.internal.* and flyteplugins.union.utils.*

Iterating

Commands to rebuild and reinstall this plugin (into the flyte-sdk venv presumably). From this folder:

python -m build --wheel

From your flyte-sdk venv:

uv pip install --prerelease=allow --force-reinstall --no-deps --no-index --find-links /Users/ytong/go/src/github.com/unionai/flyteplugins-union/dist flyteplugins-union

Download files

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

Source Distribution

flyteplugins_union-0.7.0.tar.gz (199.3 kB view details)

Uploaded Source

Built Distributions

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

flyteplugins_union-0.7.0-py3-none-win_amd64.whl (34.7 MB view details)

Uploaded Python 3Windows x86-64

flyteplugins_union-0.7.0-py3-none-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.7.0-py3-none-macosx_10_15_x86_64.whl (35.9 MB view details)

Uploaded Python 3macOS 10.15+ x86-64

File details

Details for the file flyteplugins_union-0.7.0.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.7.0.tar.gz
  • Upload date:
  • Size: 199.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for flyteplugins_union-0.7.0.tar.gz
Algorithm Hash digest
SHA256 cc84b34178375bde573eeba350fdf097179b36bfbd231d7bf69675d22d3563c3
MD5 148034a6e68917ffd083c727c40ed876
BLAKE2b-256 97a88ab31e330ba78cca13cb4016fccf024e27c00c17e3d473e8eaa935aaee30

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.7.0-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.7.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 75e9e0c3ca7078524db9cbce8066b8bc78110353c9613d5844bcfb9505f1a9b1
MD5 7c2b228040fbd600ec5cca07a8e4f712
BLAKE2b-256 961cdf0c854fad0046a1607d13ac47227fae49bf07e52f1c9df921de8bc5e216

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.7.0-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.7.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8b09e9cce5ff90be4e6c639edb6d08998c38e2c302a1f631246f9dbd042ecd33
MD5 c7b51bd5304bf45debc6aca3cf6792f5
BLAKE2b-256 0df823ec3a71bde534ec0077b2eb52c29d51d90d0d7521c9ba1fcc38ca212521

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.7.0-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.7.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ef3c52bc4a103296f497aad46f4bfccc014e37467215075666d071924bb1702e
MD5 878ff262b43f907a58d30cbb77f198f9
BLAKE2b-256 fb46bd54a42f89391a85df79a7ed658570509a5e25a00564f4e1d6b259b3aae1

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.7.0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.7.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6428a3133fe8b3a806f2967b19c63e3ce446fdd591273043c8097ab790d0fa62
MD5 2ff41a0ff9e8d8c8c69a4c8919e8ad27
BLAKE2b-256 6779560e96b404f71e1e90099f00a3ce87968e72500167afb8efc4f2b829c61a

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.7.0-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.7.0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 d752b05e2286ef400976ff09dd5d9101918ca00255c706a858c929d2e9f7475e
MD5 8b67103764d88f13e383a68ed67e8beb
BLAKE2b-256 e0bbd490ec1cd1890aa44b8f8841910dfae524e4a424a8c71b8f9dd81ab340d2

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 Sentry Error logging StatusPage Status page