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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.7.1-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.1.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.7.1.tar.gz
  • Upload date:
  • Size: 200.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.1.tar.gz
Algorithm Hash digest
SHA256 bf61e6fd31427b6fd9897197bb6314d5d684ab64f5065eaec231cb0bc081fe59
MD5 97d869239a03fe1737a5d84f89703484
BLAKE2b-256 98e0c2efddc57b39b10ec4ca4f74e6ae89be2fa61c5ad9cd864bb341033a0408

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 5c6b733db312b3fdd17d1090fcc5c77f1b2117be0e0d991bbf5c43602c1f8c52
MD5 8ebddca82c3ba803f4a2786955520d15
BLAKE2b-256 efb53d46f2030ae288aac3ef2d09cc818529885d9cb2b12e75fb71d9eda1c85d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 91fb4ace4bd676544de94823b25d0203190501812ae7e3a68acc4ae47ff854fc
MD5 72af9d5bfdffb7a87a100c72690d95ed
BLAKE2b-256 2358244eb9a9c49f6846bc27173fc492b77b765062456de985998f65fa59d347

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9b35590612ef8f55ad671b531e646743e960b86561fba94034a169e8bbbe0861
MD5 1ae5cbf9f1f8821606f1e1cfe99f06d9
BLAKE2b-256 b5b2bbc543bdceb87583e2f79b9c0fd6470cfe2d1ab192d290cd5b25e3b8d70d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b4d566cabe26c779813684ec463ab5ab5de490ac777b04285238faefb2efdb60
MD5 1b45a48c6016acfac0194b9bddd974e3
BLAKE2b-256 c725230cdc1ccb1068634b1d93ae1ba1e1211ad828ee970d42457d8dd05b9d2f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.7.1-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 4b29a3fbebd6e273d0f897bd9cf280fcad964e5916616660869d7ecd61c30782
MD5 42af61e0da681295072199ca31e82371
BLAKE2b-256 478b6eff7ee00370be6cd3049a6f89205a647db07631bfccb42b72d639ddeea9

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