CLI Configuration

Installation

Install the Plotly Cloud CLI with:

pip install "dash[cloud]"

Verify the installation:

plotly --help

Authentication

Interactive Login

For local development, authenticate via browser:

plotly user login

This opens your browser to complete the login flow. Your credentials are stored locally and reused for subsequent commands.

To check who you’re logged in as:

plotly user whoami

To log out:

plotly user logout

API Key Authentication

For CI/CD and automated environments, use an API key instead:

plotly --api-key "your_api_key_here" app publish --name my-app

Or set the PLOTLY_API_KEY environment variable:

export PLOTLY_API_KEY="your_api_key_here"

Project Configuration: plotly-cloud.toml

When you first publish an app with plotly app publish, the CLI creates a plotly-cloud.toml file in your project directory:

name = "my-app"
app_id = "94d0e2ff-189f-4b3a-846d-a846d52c43cb"
app_url = "87decf4b-2f4e-4902-b9d7-dc92068e7197"
Field Description
name The app name on Plotly Cloud.
app_id Unique identifier for the app. Used by commands like app status.
app_url The subdomain where the app is hosted (i.e., https://<app_url>.plotly.app). On first publish, this is assigned as a UUID.

This file is how the CLI knows which app to operate on for commands like app status and subsequent publishes.

Important: Commit this file to version control so that CI/CD pipelines and collaborators deploy to the same app.

You can also point to a different config file with --config:

plotly app publish --config path/to/my-config.toml

Custom App URLs

On first publish, the CLI assigns a UUID as the app_url (e.g., 132b458c-b201-461d-a82c-f0c2fb905b44.plotly.app). On paid plans, you can set a human-readable URL by editing app_url in plotly-cloud.toml and re-publishing:

name = "my-app"
app_id = "94d0e2ff-189f-4b3a-846d-a846d52c43cb"
app_url = "my-app"
plotly app publish

The app becomes available at https://my-app.plotly.app. Custom URLs are not available on the free tier.

Deploying to a Team

If you’re a member of multiple teams, specify the target team with --team. You can find the team name by running:

plotly user teams

Then pass it to publish:

plotly app publish --name my-app --team my-team-name

Re-publishing

To update a published app, run plotly app publish again from the same project directory. The CLI reads app_id from plotly-cloud.toml and updates the existing app in place. You don’t need to pass --name again after the first publish.

App Visibility

Published apps are private by default. Only you and your team members can access the app URL. You can change visibility settings in Plotly Cloud.