3LC Environment Variables#

3LC supports the use of environment variables for controlling a variety of settings and configuration options. Relevant environment variables are described in the specific sections of the documentation where they apply, but they are also gathered here for convenient reference.

Environment variables must generally be set in the environment before running the 3lc command or calling import tlc from Python code to take effect.

In the tables below, environment variables with an asterisk (*) are part of the 3LC Configuration system, which generally means they control settings that may also be affected by other input mechanisms (e.g. config file, command-line arguments, etc.).

3LC Key Activation#

3LC must be activated with either an API key or a license key, depending on which deployment is being used.

Environment Variable

Description

TLC_API_KEY*

Set the API key or provide the location of a file containing the API key to use to activate 3LC, used with the 3LC SaaS deployment. See also the API Key page for details.

TLC_LICENSE*

Set the license key or provide the location of a file containing the license key to use to activate 3LC; used with the 3LC Enterprise Customer Managed deployment. See also the Licensing page for details.

3LC File Locations#

By default, 3LC stores its various files at platform-specific locations on your system as described in Default File Locations. The following environment variables can be used to override the defaults.

Environment Variable

Description

TLC_DEFAULT_ROOT_DIR

Set the default root directory to ensure that all 3LC files are stored by default under a single root directory rather than across the various platform-specific locations. Note that the other environment variables listed may effect this behavior since they can be used to control the location of specific 3LC files.

TLC_CONFIG_FILE

Set an explicit location for the 3LC configuration file to use instead of the default.

TLC_LOGFILE*

Set an explicit location for the 3LC log file to use instead of the default.

TLC_LOGLEVEL*

Set the log level to use for 3LC.

TLC_CONFIG_PROJECT_ROOT_URL*

Set an explicit root location to use for 3LC projects instead of the default.

TLC_CONFIG_PROJECT_SCAN_URLS*

Provide a comma-separated list of URLs to scan for 3LC projects, in addition to those found at the project root location.

TLC_CONFIG_EXTRA_TABLE_SCAN_URLS*

Provide a comma-separated list of URLs to scan for 3LC tables, in addition to those found by scanning through projects at the project root location and project scan URLs. Note that this option exists for legacy reasons and will not be relevant for most users.

TLC_CONFIG_EXTRA_RUN_SCAN_URLS*

Provide a comma-separated list of URLs to scan for 3LC runs, in addition to those found by scanning through projects at the project root location and project scan URLs. Note that this option exists for legacy reasons and will not be relevant for most users.

3LC Aliases#

3LC aliases are described in Sharing 3LC Tables and Runs, and the instructions for Setting Aliases include how to do so using environment variables.

Environment Variable

Description

TLC_ALIAS_...

Set an alias for a particular path, e.g. TLC_ALIAS_PROJECT_DATA="/data/project".

3LC Object Service Configuration#

There are several environment variables that apply specifically to running the 3LC Object Service using the 3lc service command.

Environment Variable

Description

TLC_SERVICE_HOST*

Specify the host address to bind to for the Object Service server.

TLC_SERVICE_PORT*

Specify the port to bind to for the Object Service server.

NGROK_TOKEN

Specify the token to use with the NGrok reverse proxy integration when the --ngrok argument is provided to the 3lc service command. See here for details on using NGrok with the Object Service.

Miscellaneous 3LC Configuration#

Environment Variable

Description

TLC_DISPLAY_PROGRESS*

Whether to display progress bars or not. The option can be either 0 or 1, where 0 means no progress bars and 1 means progress bars.

Cloud Storage Integrations#

3LC has integrations to support reading and writing data on various cloud storage backends. Those integrations are affected by environment variables specific to the cloud storage backend (e.g. AWS_..., GOOGLE_..., AZURE_...). See URL Details for details.