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 .

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>=2.0.0b26 - The Flyte SDK v2
  • 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.4.2.tar.gz (165.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.4.2-py3-none-win_amd64.whl (34.6 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.4.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.4.2.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.4.2.tar.gz
  • Upload date:
  • Size: 165.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.4.2.tar.gz
Algorithm Hash digest
SHA256 3ef17b1588d540c6822ed6df7aa3a208009a1aab399088207159f96981d709f2
MD5 03d21fc8db441aa059a0dcdd0f195678
BLAKE2b-256 b5f5eaa95de2cb5d704ef7c0ee069cf7431d530c95a07f9bbf8008e36e204b4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.2-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 c9b2dae90586baa29bd45648ddabc7e4f6bb92c7575b39236c10579cd8dc18af
MD5 d6002594c3ed8d54bcb4f8f9a2fd34ef
BLAKE2b-256 09cd453ee0a4300392622fda23bbcdd982078e5edeeb8f0a2587ca1b174a4135

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.2-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b3228943fc24f2f386eb5c1ce42a3f7521d81467358c130af8ffa2bb4e499ad9
MD5 5eb473e3dcc4def19e4414ac72a652d3
BLAKE2b-256 ae27783d5c2234e4ffade208ba591e6ba87a5195d54d0f9c773fc3650ebad625

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.2-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7b766a4e1e3ad45ab254c8adf3a9f161097b14daa92efe6324ea6970e46c71b3
MD5 5f662cbe7bd6be8682a2000f49799551
BLAKE2b-256 4e3859cba1dcbda3f3aeef1ec089e742d7f43aef3d39dd667593510828e0e372

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.2-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8d6b536086def857ed31513bd984d77511bef194773f2f77bb4360aa81d30e9c
MD5 b8d9b325dc6ae14634d88e5c79c8b531
BLAKE2b-256 3d58f0ac34e297e5f303a70751cb2e73b5ca9e75ac6241f274bda48800a0e0d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.2-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 66853596504dabe1b63ec4507b584925bdfbbd67878a73758b6951036515a654
MD5 bcab333785530a769b473563e055800f
BLAKE2b-256 f720337de3ba61b0c5aeee80adf81ff6187202ac016b3a9d2430056d0d09032f

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