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

Uploaded Python 3Windows x86-64

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

Uploaded Python 3macOS 11.0+ ARM64

flyteplugins_union-0.4.3-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.3.tar.gz.

File metadata

  • Download URL: flyteplugins_union-0.4.3.tar.gz
  • Upload date:
  • Size: 180.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.4.3.tar.gz
Algorithm Hash digest
SHA256 d057e422b51efe735707549397949043d21476817af1fbf7d8887711e8395fd2
MD5 6ee982548ee2702da5b1a898e6326b7c
BLAKE2b-256 51050d432ff027b6d872f504dc94d1872e9348f3316520ceb74662e281d05acf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.3-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 dd524a097372460fee549130cdbb74e754efa93a8d5db29df5f1568bb18f7d99
MD5 08b950882ed0873faf26160dcfa1b198
BLAKE2b-256 c1e9cb4ceb615fc37db4fc4c3d8d7b51981f3c7a5c5cb339e7ec63b6938935bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.3-py3-none-manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2883275a1d31c048ab057b2d7d2f9b46de3414b119fa1f0310c5984864e21617
MD5 d40687b5c9e003be584c62263c093924
BLAKE2b-256 819fbbd88985140b0505c71a55b06a607b979dea24566b1c97363d3b7d2f0f50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.3-py3-none-manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e6e2fffad4180e8163078a3c9b3762df2a1489a2268eaf28176b573f0c04fea7
MD5 a68de2b406cc5bf6a90fd266a419ab58
BLAKE2b-256 dae99e88b744b5f2963a197ea2a05243eb57de6752fe7ecc8ca34ddbe95f6324

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.3-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ae5d7242f56af5877f133f4985f386c6625b19984334f4f794d268847d039c5
MD5 57ace3df55979efe4c901ff1e84cfabe
BLAKE2b-256 634b3b63d71fbe63052952b29c3075265b2f4da1440031fa926042f3182e665b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for flyteplugins_union-0.4.3-py3-none-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 552636338d38e32b0a32a84e28cc39fe91571b05e82ff0b2c73f31d540f253e2
MD5 ad62c85aa7d6e2cd69f65bb708efbc2d
BLAKE2b-256 c12acd4d0d9ca7b9adf8d2e34658e583d6f8dbf1a5e8267111b12eb947270c05

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