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.1.tar.gz (159.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.1-py3-none-win_amd64.whl (34.6 MB view details)

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.4.1-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.1.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.4.1.tar.gz
  • Upload date:
  • Size: 159.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.1.tar.gz
Algorithm Hash digest
SHA256 03adb0eee5aaf67d968aaf53d5a3e4e30f01bbb2de7ab8c5a72d459fd78061b7
MD5 d79ebe730be574ef26a6ff0565a75bef
BLAKE2b-256 1677a5159bccb88c6fc0bc91e959e7ce30d2469f4fa27b4ac817054ec757a3a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.1-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 d3a29e0296c853b123cbb622b3179ed810ed2b4bfa9bd9e50233c1a081549800
MD5 7370ae6da65dfc8c007e17158e368702
BLAKE2b-256 93097b46c2f12818fd43742300b948ebc8b7ff30b15afc5e4f0b0de1eec56378

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.1-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e4656b2895870b69bc6b369f4793a2c1947f419a456205ae37afba950a82dcd
MD5 bd871cbc67d5de2f04f1947f956993b4
BLAKE2b-256 e9d1b81bd32d44ed841a79461c0f229ddd6b883d75ddacc4bf049b68c093842b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.1-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c59f47773d646ab25ad6ece13ba26bb37f07a8821d89dfd442ecf527d69cc5a
MD5 b0f9522d69a66f3f96612d940aa182ca
BLAKE2b-256 bcd1852163f5f44e96783819385ea8443c77157238c6a9c472fd2dcc16a2276c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.1-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3b0b7f9f3015c8318e4daa96c6ebfdf35e655eb33adc9bd6f01687b6a4a74c6f
MD5 6c60f96dd2be78d7b143bd7c340aa6ee
BLAKE2b-256 978069548902ac4e42f18c4e60087a4a15fbfe50b5bdc160c2a43e83d44e05b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.1-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fba6aba335e0858bd5e1b2d5c5d64ecc7c22711728a951405747a088d430de35
MD5 6c566d5befa52aca514efe76392e21da
BLAKE2b-256 e693a595269bad18d30d9ead85fe87e1cf81667494fe72c137dc3d98a83432d8

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