Skip to content

Installing & Upgrading the Tools

CS Tools is a command line utility written in Python which connects to your ThoughtSpot cluster through the REST APIs.

Don't have Python installed yet?

Python 3.9 or greater is required to install CS Tools!

If you've never worked directly with Python before, chances are it is not installed on your computer.

In PowerShell, try typing python --version. In order for CS Tools to run appropriately, this version must be greater than the requirement above.

If you do not have python installed, or your version is not greater than the above version, you can install it by going to Python's downloads website.

🚨 During Install, Make sure you check Customize Installation and add Python to your PATH. 🚨

More than likely, you have multiple versions of Python bundled with your distribution.

In Terminal, try typing python --version.

If it comes back with something like Python 2.7.18, try again with python3 --version. In order for CS Tools to run appropriately, this version must be greater than the requirement above.

If your version of python is not greater than the above version, you can install it by going to Python's downloads website.

More than likely, you have multiple versions of Python bundled with your distribution.

Try typing python --version.

If it comes back with something like Python 2.7.18, try again with python3 --version. In order for CS Tools to run appropriately, this version must be greater than the requirement above.


Before upgrading, you should consult with your system administration team to understand if it's acceptable to install multiple versions on this hardware.

One alternative for installing multiple system-level python distributions is pyenv.


First Time Install

The CS Tools bootstrapper will install or upgrade your isolated CS Tools environment. After the first install, you will be able to run upgrades from directly within the CS Tools application.

Don't have access to the outside internet?

You still have options! We offer an offline binary to install, but require a bit of information first.

Run the following python command to gather your environment information -- we'll need the first few lines.

python -m sysconfig

Reach out to the CS Tools team on Discussions with this information so we can help you get started.

Your platform

Windows

The new Windows Terminal runs CS Tools beautifully.

Mac OS

The default terminal app is limited to 256 colors. We recommend installing a newer terminal such as iterm2, Kitty, or WezTerm.

Linux (all distros)

All Linux distros come with a terminal emulator that can run CS Tools.

Follow the steps below to get CS Tools installed on your platform.

Open up Windows Terminal or Powershell.

Find the copy button to the right of the code block.

powershell -c "IRM https://raw.githubusercontent.com/thoughtspot/cs_tools/master/cs_tools/updater/_bootstrapper.py | python - --install"

To open Powershell

Press the Windows key   Win   and type Powershell, then hit enter   Enter

Open up a new Terminal window.

Find the copy button to the right of the code block.

curl \
    --silent --show-error --location-trusted \
    https://raw.githubusercontent.com/thoughtspot/cs_tools/master/cs_tools/updater/_bootstrapper.py \
    | python3 - --install # (2)!

  1. These are the longhand form of the -sSL flags.
  2. The curl response is sent or "piped" to python for install.
command not found: python3

If you see this error in your terminal, try using python instead of python3 above.

We strongly recommend against this option. Your ThoughtSpot cluster is a production system serving your entire user community. While CS Tools is not a resource-hungry application and only runs for short periods of time, it should ideally be run from another machine.

Find the copy button to the right of the code block.

curl \
    --silent --show-error --location-trusted \
    https://raw.githubusercontent.com/thoughtspot/cs_tools/master/cs_tools/updater/_bootstrapper.py \
    | python3 - --install # (2)!

  1. These are the longhand form of the -sSL flags.
  2. The curl response is sent or "piped" to python for install.
command not found: python3

If you see this error in your terminal, try using python instead of python3 above.

If you want to run CS Tools from a serverless environment, you can skip installing from the bootstrapper and instead install the python package directly.

Here are some examples.

actions-workflow.yaml

name:
  Extract data with CS Tools.

on:
  schedule:
    # Runs every day at 3:15 AM UTC
    - cron: "15 3 * * *"

jobs:
  extract_data_from_thoughtspot:

    # Configure Environment Variables for CS Tools configuration
    env:
      CS_TOOLS_THOUGHTSPOT__URL: ${{ secrets.THOUGHTSPOT_URL }}
      CS_TOOLS_THOUGHTSPOT__USERNAME: ${{ secrets.THOUGHTSPOT_USERNAME }}
      CS_TOOLS_THOUGHTSPOT__SECRET_KEY: ${{ secrets.THOUGHTSPOT_SECRET_KEY }}
      # CS_TOOLS_TEMP_DIR: ...

    runs-on: ubuntu-latest
    steps:

    - name: Set up Python 3.12
      uses: actions/setup-python@v4
      with:
        python-version: 3.12

    - name: Install a specific version of CS Tools
      run: python -m pip install https://github.com/thoughtspot/cs_tools/archive/v1.5.0.zip[cli]

    # --config ENV:   tells CS Tools to pull the information from environment variables.
    - name: Run your CS Tools Command
      run: "cs_tools config check --config ENV:"

Upgrading from a recent version?

Try using CS Tools itself!

Try running CS Tools by typing..

cs_tools self info --anonymous

Where can I reach out for help?

CS Tools is maintained by our Solutions Consultants with contributions from you, our customers!

You should not raise a Support Case in order to get the proper help.

👋 Please join us on Github Discussions.


Configure CS Tools

CS Tools supports being run against many different platforms. Configuration files represent a way to define a specific user interacting with ThoughtSpot programmatically.

This can be helpful if you maintain both a Production and Non-Production environment, or if you operate as a center of excellence and want to provide your domain managers with programmatic access to the portion of ThoughtSpot.

Read on to the next section to learn about how to set up a configuration file.