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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.5.2-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.2.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.5.2.tar.gz
  • Upload date:
  • Size: 190.3 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.2.tar.gz
Algorithm Hash digest
SHA256 3ef6f58de9a5e491c941b99e3c987053418fc8262803791a81b85974a9f3f1b4
MD5 417a45e84463064bb42d85a831fde2e4
BLAKE2b-256 2fcc800fcd88f5c5c79d697c16af9d8031177fdcf71e40f6932b5e1af2662388

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 0c82a11b70c4f26755b38a22055c9cc5243a3253496cba0f2e2fa16a19e573d2
MD5 8dbfc16e7afee74fce5454e29372cc69
BLAKE2b-256 bf3e5a06379c663bc937942c8c3a4e100ff27638fc8bd20bb2f80dcbdefcb5d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52b94e800d00d8a13bb0fc299d8afa5a7eadc76b46570aaa6c081fceec4bdc53
MD5 fda044cdf34ae6f963082c7201ef2fc1
BLAKE2b-256 7f0c9e52b343cb592b8e0c7963678ca31a7e5bc63d1409d29a65d46dc35d3513

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a889e7f36e2e473bede297272e91c3d48aec1205911501cd9602b7737dc283d3
MD5 6c00c72870eaeb5e1915d8674322061b
BLAKE2b-256 ef1b6765e23f88a31a4acf70ab7c58d46da532aab41931092fbd195389ce12ed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8d06f2c42ddda32100bd619cb7367a3d36331a5fd97b9d95f4368411e0ee226
MD5 fe404d449ead64d2e555957fa30c89c7
BLAKE2b-256 24c9cbbfde7cd147a58711288f0a8ac5dac803d682f937df96f1541df21322c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.5.2-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 e8d97fb74225d2f268048e5a79aaca2310562c6ba90788a9cec37d0f8eda7f3e
MD5 26544c98054f652291dad41a22e493e0
BLAKE2b-256 02aec27af1236ddc173ca719d0ed4ec2b9c2b7dd81866b2fb1d6011ca0d43c52

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