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.12.0+ | >=2.10.0,<2.11.0 |
| 0.11.x | >=2.6.7,<2.9.0 |
| 0.8.2 – 0.10.9 | >=2.6.7,<2.7.0 |
| 0.8.0 – 0.8.1 | >=2.6.3,<2.7.0 |
| 0.7.2 | >=2.5.20,<2.7.0 |
| 0.5.0 – 0.7.1 | >=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 codeflyteplugins/union/cli/- CLI command plugins that extend the Flyte CLIflyteplugins/union/utils/- Shared utility functionsflyteplugins/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:
- Create a new file in
src/flyteplugins/union/cli/ - Define your click commands
- Register the entry point in
pyproject.toml - Shared resources (protobufs, utilities) are available in
flyteplugins.union.internal.*andflyteplugins.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
Release files for flyteplugins-union 0.12.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flyteplugins_union-0.12.0.tar.gz | 395.1 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| flyteplugins_union-0.12.0-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| flyteplugins_union-0.12.0-py3-none-manylinux2014_x86_64.whl | Python 3 | none | Linux glibc 2.17+ x86-64 | Details |
| flyteplugins_union-0.12.0-py3-none-manylinux2014_aarch64.whl | Python 3 | none | Linux glibc 2.17+ ARM64 | Details |
| flyteplugins_union-0.12.0-py3-none-macosx_11_0_arm64.whl | Python 3 | none | macOS 11.0+ ARM64 | Details |
| flyteplugins_union-0.12.0-py3-none-macosx_10_15_x86_64.whl | Python 3 | none | macOS 10.15+ x86-64 | Details |
Total release size: 146.9 MB
Release files / flyteplugins_union-0.12.0.tar.gz
| Download URL | flyteplugins_union-0.12.0.tar.gz |
|---|---|
| Size | 395.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ddb4001db3df625ba229154d61400496b8c1bb736e1729ac4a476e40c191bafb
|
|
BLAKE2b-256 checksum How to use checksums |
98680d84b3c87150215abc62ccbfd7b80784b547918640c5a050b3dc2bc96c30
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / flyteplugins_union-0.12.0-py3-none-win_amd64.whl
| Download URL | flyteplugins_union-0.12.0-py3-none-win_amd64.whl |
|---|---|
| Size | 34.9 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ac290e363ea5e5a18207b0aeca275132243ed9e1229f7b8c4128dff45d1be67f
|
|
BLAKE2b-256 checksum How to use checksums |
d6efa90066430d1392270445543f237a8b5a91212a459848cf106f11a7ab6779
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / flyteplugins_union-0.12.0-py3-none-manylinux2014_x86_64.whl
| Download URL | flyteplugins_union-0.12.0-py3-none-manylinux2014_x86_64.whl |
|---|---|
| Size | 21.8 MB |
| Tags | Linux glibc 2.17+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
900bbd3af662853c15f1bb264aa2673b94933ef9ed2fdc644802b8fdb5c17016
|
|
BLAKE2b-256 checksum How to use checksums |
ada9309d92d34bbcf68a5a51704262d4b580abb92409dc456093a45b518b9eac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / flyteplugins_union-0.12.0-py3-none-manylinux2014_aarch64.whl
| Download URL | flyteplugins_union-0.12.0-py3-none-manylinux2014_aarch64.whl |
|---|---|
| Size | 19.4 MB |
| Tags | Linux glibc 2.17+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
5c7b8cf142116f711c0d9d1215bb2fd37a26f0d1e68ec0f512494c71dfa5f83e
|
|
BLAKE2b-256 checksum How to use checksums |
e02d5de33a18c69b5630368eb7ffb8d1f949b275d3be4319660aacd2d80b2cad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / flyteplugins_union-0.12.0-py3-none-macosx_11_0_arm64.whl
| Download URL | flyteplugins_union-0.12.0-py3-none-macosx_11_0_arm64.whl |
|---|---|
| Size | 34.3 MB |
| Tags | Python 3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
aceb05da2c4c70762b7c61459a7712856e5a131a7303b5be0d4f2dfd44f1ff04
|
|
BLAKE2b-256 checksum How to use checksums |
a11fedc36b5b8984a73dd0178353c49e94e71fb177750d8565a6f9d213fe2239
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / flyteplugins_union-0.12.0-py3-none-macosx_10_15_x86_64.whl
| Download URL | flyteplugins_union-0.12.0-py3-none-macosx_10_15_x86_64.whl |
|---|---|
| Size | 36.2 MB |
| Tags | Python 3 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
db18f65fd84823e4eb228926e939a619f9741ce061d16598e0d9dabed3764090
|
|
BLAKE2b-256 checksum How to use checksums |
45663dd1124702353eb3104db9786fa5ba995346c6006e5e68661a96f5b63007
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|