Looker

Developers

Starting June 2022, API 3.x is deprecated. Read our deprecation notice to see how this affects you.

Get familiar with our SDKs

Learn how to authenticate our SDK and API or dive into quickstart examples for the language of your choice.

Looker SDK For Python

The Looker SDK for Python provides a convenient way to communicate with the Looker API available on your Looker server. The library requires python3.6+ and is annotated using the typing module.

DISCLAIMER: This is a beta version of the Looker SDK, using a completely new code generator developed by Looker. Implementations are still subject to change, but we expect most SDK method calls to work correctly. If you run into problems with the SDK, please feel free to report an issue, and please indicate which language SDK you're using in the report.

Basic Usage

import looker_sdk
# For this to work you must either have set environment variables or created a looker.ini as described below in "Configuring the SDK"
sdk = looker_sdk.init31() # or init40() for v4.0 API
my_user = sdk.me()
# output can be treated like a dictionary
print(my_user["first_name"])
# or a model instance (User in this case)
print(my_user.first_name)
# input methods can take either model instances like WriteUser
sdk.create_user(
body=looker_sdk.models.WriteUser(first_name="Jane", last_name="Doe")
)
# or plain dictionaries
sdk.create_user(body={"first_name": "Jane", last_name: "Doe"})
print(my_user["first_name"])

Sample Project Setup

Install python 3.8. We highly recommend using pyenv to install different versions of python. Mac users should use homebrew to install pyenv:

brew install pyenv

Follow the remaining steps 3 - 5 of the github checkout steps otherwise your python3.8 installation may break.

Now you’re ready to install python 3.8:

pyenv install 3.8.2

We’ll use pipenv (fantastic virtualenv manager) to manage project dependencies.

brew install pipenv

Create a project directory

mkdir looker-sdk-example

Set python3.8 as the base interpreter for this directory

cd looker-sdk-example/
pyenv local 3.8.2

Install looker_sdk using pipenv

pipenv --python 3.8.2 install --pre looker_sdk

Configuring the SDK

The SDK supports configuration through a .ini file on disk as well as setting environment variables (the latter override the former).

Note: The .ini configuration for the Looker SDK is a sample implementation intended to speed up the initial development of python applications using the Looker API. See this note on Securing your SDK Credentials for warnings about using .ini files that contain your API credentials in a source code repository or production environment.

In order to configure the SDK client, create a “looker.ini” file to reference during client.setup()

[Looker]
# Base URL for API. Do not include /api/* in the url
base_url=https://self-signed.looker.com:19999
# API 3 client id
client_id=YourClientID
# API 3 client secret
client_secret=YourClientSecret
# Set to false if testing locally against self-signed certs. Otherwise leave True
verify_ssl=True

Note: If the application using the Looker SDK is going to be committed to a version control system, be sure to ignore the looker.ini file so the API credentials aren’t unintentionally published.

For any .ini setting you can use an environment variable instead. It takes the form of LOOKERSDK_<UPPERCASE-SETTING-FROM-INI> e.g. LOOKERSDK_CLIENT_SECRET

Code Examples

Build on Examples and Tutorials

Python SDK Examples

Source code examples and projects that use SDKs to communicate with the Looker API.

Language Specific Content

Content related to the language that is currently selected or generic content that works for all languages.

Data from a Look to a Block

The Get Look Data Block contains an API call for retrieving the results of a Look.

API

OverviewGetting StartedInteractive ReferenceAdvanced UsageExamples & SamplesArticles & Tutorials

Embedding

OverviewGetting StartedEmbed SDKAdvanced EmbeddingTroubleshooting

Actions

OverviewGetting StartedWriting Custom ActionsExamples & Samples

Extensions

OverviewGetting StartedAPI ReferenceExamples & Samples

Components

OverviewGetting StartedDocumentation Visualization Components

Marketplace

OverviewGetting StartedVisit the MarketplaceCustom Viz BuilderArticles & Tutorials

Community

EventsForumsOpen Source

© 2023 Looker Data Sciences, Inc.
Privacy | Terms | Cookies