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.2.tar.gz (212.0 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.2-py3-none-win_amd64.whl (34.7 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.7.2-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.2.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.7.2.tar.gz
  • Upload date:
  • Size: 212.0 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.2.tar.gz
Algorithm Hash digest
SHA256 06a1e04518e46f39384d062da1117d63f2864172f704b9e2e13869c412c22ee2
MD5 b175c341b9c93f434eee434c0e05d62c
BLAKE2b-256 8e3881661326aba6e1816e9b6c0e900ab616a7ffe02e10443fc1ed34d9b55d84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 279eaa082cb17ab90702f6a8f45b70cdda0bccdae6564fe7a8aa13785af15c7f
MD5 76eb43f52011eb4dc984c70ea99153aa
BLAKE2b-256 0eb654202ceb54b1a043cfdbc8d02d5eaed6c554341ce923253a8ef64ea39cda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 15a0f4af62885576069737431add549013fde19ebad8ad1cc016b157781bc055
MD5 e1960a8930639393f278dcd03fb29d86
BLAKE2b-256 fbef024a0954daebd5064b494e0792ec0784dc444ea90845e2ba0194a1a38b7a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b50d9396cb80029759912fda95e010dfc29e6879b9522f1169095b8840fb0e05
MD5 af4e0bd82604597e001c90ec89492072
BLAKE2b-256 4985b7f1ae12165648b772fbc184878d2957951bac09eb5a7d297369eed35f1b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 365c632701fb42c580bb1338a95487b819454a23c4a57e627fdba94333d9c84d
MD5 5ccc2ffd4fa8e15c809f4eb1a5665ba1
BLAKE2b-256 21ad91e72189550deb7256553e8907ca0ebc833172b1d35f98fb42df3085ef38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.2-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 288f5573cdaafe4d16011f647aacb5b8bca755dcf3e89910b9474f954a12431c
MD5 e4a18193ee88b2b2675e57bdf4e6a9e2
BLAKE2b-256 834b2c778135dab13245391d9af99db2a271a6ad6a950fbf306a2e7dac41ba0a

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