Polyaxon CLI

Polyaxon upload is GA

polyaxon ops upload and polyaxon run -u commands are now available in all Polyaxon distributions. This is one of the features that v0 users have requested after migrating or trying the new Polyaxon v1 series.

The new upload command not only brings all features required for faster experimentation and iteration with Polyaxon, but it is also more optimized than its old version, the new upload does not trigger a rebuild process, instead, it injects the uploaded code or artifacts directly into the user’s main container, which saves a lot of time.

In v0, users would use the upload command to upload code and sometimes data as well, in v1 we made this process easier, you can decide where your uploads need to be located, instead of polyaxon run -u you would use polyaxon run -u-to PATH_TO_USE.

The new upload command has several additional qualities, it is not dependent anymore on the start process, users can use the command to upload artifacts even after an operation is done. For instance, users might need to attach extra artifacts to an experiment, or might want to upload some updated version of their code to resume the same experiment. Users can also upload from and to a different location on the root path of their operations.

Finally, we made the upload logic directly on PolyaxonClient instead of the CLI, which should allow users to upload information programmatically via upload_artifact and upload_artifacts on the run client. In v0, users were copying the logic from the CLI to use it in their code for programmatic upload in Python.

Polyaxon CLI configurations

Although Polyaxon v1 has reduced the number of misconfigurations significantly by introducing sensible defaults for Polyaxon CE and by reducing the complexity of the initial setup, first-time users are still having, from time to time, issues configuring the CLI to talk to Polyaxon Gateway. In v1.3.2 we turned off the compatibility check by default to stop showing the message inciting users to install new versions and made that process optional if users decide to check for new versions via:

> polyaxon version --check

Current cli version: 1.4.0.


-------  -----
VERSION  1.4.0
DIST     ce
-------  -----

Compatibility versions:

--------  -----------------------------------
cli       {'min': '1.2.0', 'latest': '1.4.1'}
platform  {'min': '1.2.0', 'latest': '1.4.0'}
agent     {'min': '1.2.0', 'latest': '1.4.0'}
ui        {'min': '1.2.0', 'latest': '1.4.0'}
--------  -----------------------------------
New version of CLI (1.4.1) is now available. To upgrade run:
    pip install -U polyaxon

We also deprecated polyaxon config -l in favor of a more global sub-command polyaxon config show

> polyaxon config show

Client config:

---------------------------------  -------------------
POLYAXON_HOST                      POLYAXON_HOST
POLYAXON_API_VERSION               v1
POLYAXON_DEBUG                     False
POLYAXON_IS_MANAGED                False
POLYAXON_IS_OFFLINE                False
POLYAXON_K8S_IN_CLUSTER            False
POLYAXON_NO_OP                     False
POLYAXON_TIMEOUT                   20.0
POLYAXON_INTERVAL                  5.0
POLYAXON_VERIFY_SSL                True
POLYAXON_ARCHIVES_ROOT              /tmp/plx/archives
POLYAXON_NO_API                    False
---------------------------------  -------------------

CLI config:

Version 1.4.1
-------  -----
VERSION  1.4.0
DIST     ee
-------  -----

User config:

EMAIL  xxx
NAME  xxx

Changing clusters will automatically reconfigure the CLI to point to the right host and invalidate any stale configuration about auth or current user.

Current owner and project

What organization should be used by default? This was confusing for both CE and Cloud users. For instance, starting a new operation or getting information about a project or an operation, users would try -p PROJECT_NAME and then -p OWNER/PROJECT_NAME. In v1.4, the CLI/Client will automatically use the configured organization for the user, in CE that would be default, in Cloud and EE that would the one configured on the profile, if a user has access to a single organization, that organization will be the default owner.

CLI for Component Hub and Model registry

We added all required commands to the CLI for managing your components and models via:

polyaxon hub --help


polyaxon registry --help

Learn More about Polyaxon

This blog post just goes over a couple of features that we shipped since our last product update, there are several other features and fixes that are worth checking. To learn more about all the features, fixes, and enhancements, please visit the release notes.

Polyaxon continues to grow quickly and keeps improving and providing the simplest machine learning abstraction. We hope that these updates will improve your workflows and increase your productivity, and again, thank you for your continued feedback and support.