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.0.tar.gz (187.5 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.0-py3-none-win_amd64.whl (34.7 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.5.0-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.0.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.5.0.tar.gz
  • Upload date:
  • Size: 187.5 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.0.tar.gz
Algorithm Hash digest
SHA256 4f29b295c1485bd8c339800aa175493b667f585583d6ac1abccb348b36aacdce
MD5 8bec9632cb5abe9763a785f3ee269edf
BLAKE2b-256 c3bfc28d0d4482e24fd8384c2db9f00304e1378a409189460bd6f5b2e3dcd830

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 a8119d1ea13c3dae30e43b88caa68e292a157d32e205b83c4759c8b5a9dd54f7
MD5 a1e25779a8743927e07df032efa3f441
BLAKE2b-256 3d56de311cca1b03ee5ed4aa91cda459791894a1de070247d83f48cbc806e59a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83fd2f58118801673a7af00f92e7f433f71d431544218872e536bca4e2021c0c
MD5 ef96a28869b38b8c4572668a72a59a4c
BLAKE2b-256 23779d3603777950198c1e08cd674a61dd5f01f502fbe873a4499abe502e0faa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9c854545e4334b093c46f72c61f85c277ed85aa94aee77a3b06a9212a078f377
MD5 932d2ee9f9e23084dc632fbd011cb6e1
BLAKE2b-256 f2ea794a719a9aad965b8fcb92df60ade1470be798f34884ec8194b9bf70558f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f09728781515d2d154051df9b2410ade13959afefc58ae43a7a663f676fb23dd
MD5 ecd7e88a82eb0479262cef9acebdd733
BLAKE2b-256 709f99661f731ec67998fc2a5ead85f9e43524ab75b4eef92564dfa1f707a8d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 57fb62bd35db9a7e3cec08b6a1e502a2554b62c427d3c5f3fa219f8f26b3fe30
MD5 2d30a823ef7b9634f827e5f07beb31e2
BLAKE2b-256 a7806b07736172ebc0218eb36c547fc5d6074448da592246644de2878e84a621

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