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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.6.0a1-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.6.0a1.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.6.0a1.tar.gz
  • Upload date:
  • Size: 206.8 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.6.0a1.tar.gz
Algorithm Hash digest
SHA256 e9de777f2a369b45e619dca8417446763f3f21636399710268b1bcc0d1ed77fb
MD5 dcfb6907acfcc4e121c508992f125ae2
BLAKE2b-256 e8ae9253e248828630dce4cb782fe1f34a0692df1efdbae61c399df2f7a327a9

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.6.0a1-py3-none-win_amd64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0a1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 11d4d2edfbd7f96ab35d9936a02f420f5a7fbc9814d85390bd3a7d701d73a38a
MD5 a8e093f9e4414de20db2a2ffb1c7000a
BLAKE2b-256 433e6e47cefc4b7dbee8f034caa7dd978f03f3c6c1e003d83c3741eada6621d4

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.6.0a1-py3-none-manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0a1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f0de0ebb2523bd207d1eca8e446d2f920959a61aa795d400e28d5a8414655961
MD5 20d9f6391e92658c1163018abe2ce4df
BLAKE2b-256 54483503f1f382c6dc816fbae5fa934463eafaa8534846f0664afb5928f63844

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.6.0a1-py3-none-manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0a1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cab052936619cf4126968901fe32351a315d0613536ce81e1f1e830facc8c6d9
MD5 a62aa234c7bfb214e518b61eb73b5941
BLAKE2b-256 a5bca03bf51a556137709e1a0ab38bb635c3cbd3796c14270824ddd3f7c4234e

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.6.0a1-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0a1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 64a5514dab70dbac77dfe98447b5aff8990eaeaa74e7e151a4040c8bf82d719e
MD5 516ddfa3eb82b4ce56ebd563500e188e
BLAKE2b-256 858e1ca92d167c3ce3c6f01f6278495fd839ddd720558b0d015ad0d713c0d361

See more details on using hashes here.

File details

Details for the file flyteplugins_union-0.6.0a1-py3-none-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0a1-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 46e7e7da12b27ad33de626287a2ec7774ae3bd10a049b0dca58a729efbc01677
MD5 348551e51cc9209041c8a3c3fd390cc7
BLAKE2b-256 daae5123179083b81a0f52cbf71c04bda40896525ded3fc4fde69f3b2fd3e8a9

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