Skip to main content

Union SDK - Proprietary extensions for Flyte

Project description

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.5.0+ >=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 code
  • flyteplugins/union/cli/ - CLI command plugins that extend the Flyte CLI
  • flyteplugins/union/utils/ - Shared utility functions
  • flyteplugins/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:

  1. Create a new file in src/flyteplugins/union/cli/
  2. Define your click commands
  3. Register the entry point in pyproject.toml
  4. Shared resources (protobufs, utilities) are available in flyteplugins.union.internal.* and flyteplugins.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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flyteplugins_union-0.5.1.tar.gz (187.7 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

flyteplugins_union-0.5.1-py3-none-win_amd64.whl (34.7 MB view details)

Uploaded Python 3Windows x86-64

flyteplugins_union-0.5.1-py3-none-macosx_11_0_arm64.whl (34.0 MB view details)

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.5.1-py3-none-macosx_10_15_x86_64.whl (35.9 MB view details)

Uploaded Python 3macOS 10.15+ x86-64

File details

Details for the file flyteplugins_union-0.5.1.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.5.1.tar.gz
  • Upload date:
  • Size: 187.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for flyteplugins_union-0.5.1.tar.gz
Algorithm Hash digest
SHA256 5a64a49d0263ce5bfc3b451acc63d759df04aa0bff9cc86547f6c31e61984deb
MD5 fb70bb2d9d140adddee128a7f13cb8a6
BLAKE2b-256 3e10641286ec6d9364dee8e7f30417bc17382044e900b748161b80e252e9715c

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.5.1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.5.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 355dc93452b74746ac54d3292df22bd27dc0b265cf40f77d0ec21c212a141f56
MD5 9fdc1c52a9c2a7f9eef3a1c7e6e5e609
BLAKE2b-256 7864da1bab6e60db0fee6726b4304af689b4ddb21238b27f2b56bef0949a4fbf

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.5.1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.5.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8f3592a824fbedc2ad659556a9f02331326f8c51038a3f12d6c4254ec2318e69
MD5 3e87c2800d6690377ca6687851ffde93
BLAKE2b-256 654c63f7b30fd96742efca7d4c1a74a030d48803335f4a4d2947fa311f83eb85

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.5.1-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.5.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30173c2f05a53942ae8d5617e92bf1be10ee00d55cd55581ec779a71559c319a
MD5 3e994902a2558748b2b9be54e957722c
BLAKE2b-256 5054fd25010d6e85d34ccecf6253442fb435db7e47f966645b40928a2c393baf

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.5.1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.5.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5305c226efba373f42d238c304300ca9109cdf0e70515dbf4c9623fe0c7a8ecf
MD5 25692580b5e0a4f09046189d0a6df69f
BLAKE2b-256 8bf3efc960a284d87a26351908747e78b15a5aaea068b2964e79678cb1cdfcf1

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.5.1-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.5.1-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 dd0535ea9704c70b40aa1815542afb3801ae10c20c90018fd125975b7a6c6dff
MD5 f47a3143bf4d60ff2dbae3b84d208541
BLAKE2b-256 a805f4939a6e83f8607b2370214ffc203763ae088398682cabbf7b7c42dcb7d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page