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.2.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.2.0.tar.gz | 46.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flyteplugins_union-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 124.2 kB
Release files / flyteplugins_union-0.2.0.tar.gz
| Download URL | flyteplugins_union-0.2.0.tar.gz |
|---|---|
| Size | 46.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26d338d7f379a14cf3ecac9c54f458f837bf53de5c48130c7c85073000082474
|
|
BLAKE2b-256 checksum How to use checksums |
75ee6d501abbfb9ced56f5a1b033ae0f50a5bf3e20fba4820007b378489624c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / flyteplugins_union-0.2.0-py3-none-any.whl
| Download URL | flyteplugins_union-0.2.0-py3-none-any.whl |
|---|---|
| Size | 77.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
82b20b28f6eb7a3f7cc9b28755b2481b288da38af5d947c6b14b5f8bef4b3a66
|
|
BLAKE2b-256 checksum How to use checksums |
bd5ce82f8554191a5e79e57ade6fc7ea73998d80411acb2890305e0477fdf455
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|