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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: flyteplugins_union-0.6.0b0.tar.gz
  • Upload date:
  • Size: 191.9 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.0b0.tar.gz
Algorithm Hash digest
SHA256 76ce4434afb3255d0245d94af6acf4603f9a81b53ef19d2bff0383917463cc33
MD5 0964af6c411b427df8c38dffeb47dc6b
BLAKE2b-256 9e7dc88cfb312d23361c9dcb880201257c980be2e6d3e28ab900270f490e9594

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0b0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 75c40edbe344c5649334cfab39474e0f87135e66627e37517687f74692d19b5d
MD5 dc9573cbca6ad60ac807007a9bc875d0
BLAKE2b-256 0d4268ed68c970260c38bf82fea0ab64bb73b279b4dd21f272b754ab721ae3bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0b0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9ba1926b7cf375a6ccc6705a5bf7ca2f8f6bd5e242b0610ae6500d52db050a27
MD5 f66e0f2a53aea70465bb7e8c4924a391
BLAKE2b-256 d104a2091b3e0bacf195f0b12a9597eac7b0be91cc27f8d258a331c8b4e0867e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0b0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b553893e3c4fee771957b73bd3bee1087d0e05cc11f7e814947e45980a34adc
MD5 668899c6f633bb6df290cb1f43e4f9a0
BLAKE2b-256 a62ed92b144769f4fd1bf2568ad66806da26ba84156bff34e670529fa32645e3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0b0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c3d91dfc38f2dbb71a6e4e69d53e710c0fdccf974188ba015b93e074206e91e1
MD5 f25b8fe9509f2db43a65c2571bf07264
BLAKE2b-256 d451a838ed6ef75b3be148739b81be64b6e5c12105a7d6c16192c5196882ffb2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.6.0b0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 f1c0f3ba9439d073f945b8fec3956a408d98edd92ece99c80ec14b909b4d29ac
MD5 c72bd87f72bdb5be738cc8a049ada352
BLAKE2b-256 3f5a731579e51a739310d7a9a27668ba53d9d202b0b636b17ce497463c4f0837

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