Skip to main content

A command-line, continuous integration tool for Looker and LookML.

Project description

CircleCI codecov downloads

What is Spectacles?

Spectacles is a continuous integration tool for Looker and LookML. Spectacles runs validators which perform a range of tests on your Looker instance and your LookML. Each validator interacts with the Looker API to run tests that ensure your Looker instance is running smoothly.

From the command line, you can run the following validators as subcommands (e.g. spectacles sql):

SQL validation - tests the sql field of each dimension for database errors

Assert validation - runs Looker data tests

Content validation - tests for errors in Looks and Dashboards

Linting (coming soon)

Installation

Spectacles CLI is distributed on PyPi and is easy to install with pip:

pip install spectacles

📣 You can also use Spectacles as a full-service web application! Check out our website to learn more.

Documentation

You can find detailed documentation for the CLI and web app on our docs page: docs.spectacles.dev.

Why we built this

Occasionally, when we make changes to LookML or our data warehouse, we break downstream experiences in Looker:

  • Changing the name of a database column without changing the corresponding sql field in our Looker view, leaving our users with a database error when using that field
  • Adding an invalid join to an explore that fans out our data, inflating a key metric that drives our business without realising
  • Editing LookML without remembering to check the Content Validator for errors, disrupting Dashboards and Looks that our users rely on
  • Giving a new dimension a confusing name, causing other developers in our team to spend extra time trying to figure out how it should be used

We believe in the power of testing and continuous integration for analytics. We believe that automated tests should catch these errors before they're ever pushed to production.

We wanted a single tool to perform these checks for us, so we built Spectacles to enhance the business intelligence layer of analytics CI pipelines.

Community

Have a question or just want to chat Spectacles or Looker? Join us in Slack.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spectacles-1.0.0.tar.gz (29.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

spectacles-1.0.0-py2.py3-none-any.whl (40.6 kB view details)

Uploaded Python 2Python 3

File details

Details for the file spectacles-1.0.0.tar.gz.

File metadata

  • Download URL: spectacles-1.0.0.tar.gz
  • Upload date:
  • Size: 29.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.6

File hashes

Hashes for spectacles-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1c298c5fe8067c09eb35e1dba9fa96b4451adfa063fdf9d3dc7ebde32cccdf88
MD5 e15d1e0182032f06561d71925b11384c
BLAKE2b-256 a9588ca60a615bd33e270713fcb684690044145655796872c82f24914f0f2a36

See more details on using hashes here.

File details

Details for the file spectacles-1.0.0-py2.py3-none-any.whl.

File metadata

  • Download URL: spectacles-1.0.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.25.1 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.6

File hashes

Hashes for spectacles-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a9eb8f5b2406ada4d9255a64cf734aa0e72bb27be8bf7404abf472289b19ae50
MD5 7540032cd0d86e6601f5d1500d3f4edd
BLAKE2b-256 6187e2f7f8141302ba3a875c4e30747ad7cad830c751596f0667c127b7b0d71c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page