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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

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

File metadata

  • Download URL: flyteplugins_union-0.4.0.tar.gz
  • Upload date:
  • Size: 159.7 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.0.tar.gz
Algorithm Hash digest
SHA256 f8d247b4830cf69ad3c0c310b20b438d4402a204186525657c8e0e9ee3d2a9b4
MD5 9f9868f131d754c7ed7ba5c78efad537
BLAKE2b-256 c9b3dcd63cd6883700b502bb8a2b8223fdb8c919e5a12cd4c96c660e4c142ce5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.0-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 8f287832bb3e65638f6b64df8c836912c2e59ecc5232df13d20b996e762635ff
MD5 bac576e1ad32c2800a328f428926c94f
BLAKE2b-256 3608610012c91de491dc72ba0d22bdab6cecd789d01b77fd0669cb034ed19425

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.0-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a37a91b6af19f1c23fa11d80b73cf81223ee4e236715691fdb6a12bd663a115a
MD5 64bfee0f7bf8a4aa441722e940c1c9d8
BLAKE2b-256 a45514ea44269a96a69b4102d36c0822e2df50f95cf9d65a6ccb0767e54938fc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.0-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 721ce5598dc20871f24118e488cd1ae9ee479e939196a9c37eb98e37aea4147d
MD5 d8cddbe91820cea0ea0a05a8291cb194
BLAKE2b-256 9c91a0d8063718e8f2721c34bd4d20bb2be063587030305ce023f4c73a50efc1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2409ce115d3fae12c22ec3dba30cf94f8e18e1ce44741c874e7553956b653729
MD5 e3110b89d6309ebfb8265fa8690f3cc9
BLAKE2b-256 f8fddf6711c0361d09889223733a3b79f953eacf552ff59b0275965dc2d8232f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.0-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 fef71e538789ca823eb45aef293d791201399b004ded4a10b0db9d852302ecd3
MD5 dcd8287257d1c3fc70d1311c4acf4676
BLAKE2b-256 79df7d0159a6380d97ee8d99a2b70a4af6fa97fa08419de8a498dd3cf7dd1e45

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