Python Embeddable Distribution (PED)

Python Distribution

In the original SDK, Alteryx Designer uses a Miniconda installation with virtual environments to run Python SDK plugins. However, this results in a folder that is 2.5 GB and contains 86,000 files. The Designer install now comes with an embedded Python distribution (about 15 MB) that is used by Designer’s out-of-process manager to run the Python SDK Plugin, which is now bundled as a shiv artifact.

Packaging Python SDK Plugin and Creating YXI

To leverage the PED, we bundle the Python SDK plugins into a .pyz file using shiv, which you can run directly with the PED. The .pyz format is a Python zipapp, part of PEP 441.

To package the plugin workspace, use the SDK command ayx_plugin_cli create-yxi. Once you create the YXI, you can install it and use it from Designer. The plugins inside of the YXI have a manifest.json that dictates which Python version Designer will use to run the Python SDK Plugin. For now, the version is set to 3.8, but support for more versions will be added in the future.

External Links