This release is a pre-release and may not be stable for production use.
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.1.0b0
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.1.0b0.tar.gz | 24.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flyteplugins_union-0.1.0b0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.6 kB
Release files / flyteplugins_union-0.1.0b0.tar.gz
| Download URL | flyteplugins_union-0.1.0b0.tar.gz |
|---|---|
| Size | 24.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fe73aa5e4e1d38acfd9fcccb4525e0cc4fe00ea42c11e6054d4eb9ba2e37b5d0
|
|
BLAKE2b-256 checksum How to use checksums |
3e9b4952252c8c4550c8d9014c50898b7c93e7d181f832dbbbeba108f0cedb0c
|
| 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.1.0b0-py3-none-any.whl
| Download URL | flyteplugins_union-0.1.0b0-py3-none-any.whl |
|---|---|
| Size | 3.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8ac790ce1e49792be65aa58c598e2a462a8db522a70e399dd02142ad75b9e3d0
|
|
BLAKE2b-256 checksum How to use checksums |
1f6a6bd6090e54540800ac489df69905c009bea902f6896053e040b78ac83207
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|