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 .
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>=2.0.0b26 - The Flyte SDK v2
- 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
Metadata
Release files for flyteplugins-union 0.3.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.3.0.tar.gz | 87.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flyteplugins_union-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 215.0 kB
Release files / flyteplugins_union-0.3.0.tar.gz
| Download URL | flyteplugins_union-0.3.0.tar.gz |
|---|---|
| Size | 87.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6f108f591b42d20f400c7d1887d9fa03e31132d4aa5c35f0b4dde10838512f74
|
|
BLAKE2b-256 checksum How to use checksums |
62ef0f0d8d987f510ebc92b1e65e36976deb4d93c654f1f6842103b770d80d7c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / flyteplugins_union-0.3.0-py3-none-any.whl
| Download URL | flyteplugins_union-0.3.0-py3-none-any.whl |
|---|---|
| Size | 128.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc2cf2458cd27089848f83e71882773b1251964a11f4df9064376a1029ebe9ab
|
|
BLAKE2b-256 checksum How to use checksums |
8dab722522b876801a160383692fdac2215086d939e60d1fe19d4f67edb3a0e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|