snow streamlit deploy¶

Deploys a Streamlit app defined in the project definition file (snowflake.yml). By default, the command uploads environment.yml and any other pages or folders, if present. If you don’t specify a stage name, the streamlit stage is used. If the specified stage does not exist, the command creates it. If multiple Streamlits are defined in snowflake.yml and no entity_id is provided then command will raise an error.

Syntax¶

snow streamlit deploy
  <entity_id>
  --replace
  --open
  --project <project_definition>
  --env <env_overrides>
  --connection <connection>
  --host <host>
  --port <port>
  --account <account>
  --user <user>
  --password <password>
  --authenticator <authenticator>
  --private-key-file <private_key_file>
  --token-file-path <token_file_path>
  --database <database>
  --schema <schema>
  --role <role>
  --warehouse <warehouse>
  --temporary-connection
  --mfa-passcode <mfa_passcode>
  --enable-diag
  --diag-log-path <diag_log_path>
  --diag-allowlist-path <diag_allowlist_path>
  --format <format>
  --verbose
  --debug
  --silent
Copy

Arguments¶

entity_id

ID of streamlit entity.

Options¶

--replace

Replace the Streamlit app if it already exists. Default: False.

--open

Whether to open the Streamlit app in a browser. Default: False.

-p, --project TEXT

Path where Snowflake project resides. Defaults to current working directory.

--env TEXT

String in format of key=value. Overrides variables from env section used for templates. Default: [].

--connection, -c, --environment TEXT

Name of the connection, as defined in your config.toml file. Default: default.

--host TEXT

Host address for the connection. Overrides the value specified for the connection.

--port INTEGER

Port for the connection. Overrides the value specified for the connection.

--account, --accountname TEXT

Name assigned to your Snowflake account. Overrides the value specified for the connection.

--user, --username TEXT

Username to connect to Snowflake. Overrides the value specified for the connection.

--password TEXT

Snowflake password. Overrides the value specified for the connection.

--authenticator TEXT

Snowflake authenticator. Overrides the value specified for the connection.

--private-key-file, --private-key-path TEXT

Snowflake private key file path. Overrides the value specified for the connection.

--token-file-path TEXT

Path to file with an OAuth token that should be used when connecting to Snowflake.

--database, --dbname TEXT

Database to use. Overrides the value specified for the connection.

--schema, --schemaname TEXT

Database schema to use. Overrides the value specified for the connection.

--role, --rolename TEXT

Role to use. Overrides the value specified for the connection.

--warehouse TEXT

Warehouse to use. Overrides the value specified for the connection.

--temporary-connection, -x

Uses connection defined with command line parameters, instead of one defined in config. Default: False.

--mfa-passcode TEXT

Token to use for multi-factor authentication (MFA).

--enable-diag

Run Python connector diagnostic test. Default: False.

--diag-log-path TEXT

Diagnostic report path. Default: <temporary_directory>.

--diag-allowlist-path TEXT

Diagnostic report path to optional allowlist.

--format [TABLE|JSON]

Specifies the output format. Default: TABLE.

--verbose, -v

Displays log entries for log levels info and higher. Default: False.

--debug

Displays log entries for log levels debug and higher; debug logs contain additional information. Default: False.

--silent

Turns off intermediate output to console. Default: False.

--help

Displays the help text for this command.

Usage notes¶

This command creates a Streamlit app object in the database and a schema configured in the specified connection.

The command uploads local files to a specified stage and creates a Streamlit app using those files. You must specify the main Python file and query warehouse. By default, the command uploads the environment.yml and pages/ folder if present. The Streamlit app is created in the database and schema configured in the specified connection.

If you don’t specify a stage name, the streamlit stage is used. If the specified stage does not exist, the command creates it. You can modify the behavior by using command line options.

If you specify the --replace option, the command uploads new files and overwrites existing files. It does not remove any files already on the stage.

Examples¶

snow streamlit deploy demo_app --replace
Copy
Streamlit successfully deployed and available under https://app.snowflake.com/myorg/myacc/#/streamlit-apps/JDOE.PUBLIC.DEMO_APP