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
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
Streamlit successfully deployed and available under https://app.snowflake.com/myorg/myacc/#/streamlit-apps/JDOE.PUBLIC.DEMO_APP