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.1
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.1.tar.gz | 60.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flyteplugins_union-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 157.3 kB
Release files / flyteplugins_union-0.2.1.tar.gz
| Download URL | flyteplugins_union-0.2.1.tar.gz |
|---|---|
| Size | 60.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89fd8babbe610ce640380de8909de47e6321e56194d7f526e429954d5a7e3a8a
|
|
BLAKE2b-256 checksum How to use checksums |
d022ef9ae5ab864b01dae7b38ce14065dfa130ec34c3c1500d09d7161fb8b767
|
| 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.1-py3-none-any.whl
| Download URL | flyteplugins_union-0.2.1-py3-none-any.whl |
|---|---|
| Size | 97.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d340bcbe9c387962b73f88f066d70b63a82817850d6bc739fa1773a4e289f882
|
|
BLAKE2b-256 checksum How to use checksums |
9023421209097d46b97a9fa5822f402bfcbad7915c1161a6b0407822957906c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|