Skip to main content

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

Project description

spectacles

CircleCI codecov

What is spectacles?

spectacles is a command-line, 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. You can run spectacles locally during LookML and content development, or you can run it in production as a continuous integration pipeline.

You can run the following validators as subcommands (e.g. spectacles sql):

Installation and documentation

spectacles is distributed on PyPi and is easy to install with pip:

pip install spectacles

You can find detailed documentation on our website spectacles.dev.

Why we built this

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

  • We change 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.
  • We add an invalid join to an explore that fans out our dataa, inflating a key metric that drives our business without realising.
  • We make changes to LookML without remembering to check the Content Validator for errors, disrupting Dashboards and Looks that our users rely on
  • We give 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 continuous integration for analytics. We believe that automated testing should catch these errors before they are ever pushed to production. Automated testing allows developers to maintain their speed of development high, without compromising on the quality of their code or the quality data they produce.

We wanted a single tool to perform these checks for us and establish baseline performance expectations for our Looker instances. We built spectacles to enhance the business intelligence layer of analytics CI pipelines.

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-0.1.1.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

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

spectacles-0.1.1-py2.py3-none-any.whl (20.9 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

  • Download URL: spectacles-0.1.1.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.3

File hashes

Hashes for spectacles-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d202c9dc397f47e26937979753911690ac679e3f6b5466c8a4b1b4f67562e4cb
MD5 886fded2486c394505fba1c9eae9d948
BLAKE2b-256 3f7e638ef7a2b196fe6fd76f09bd7c83324f8658711b86e889fdfd8084e97414

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spectacles-0.1.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 20.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.37.0 CPython/3.7.3

File hashes

Hashes for spectacles-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 60722aa163f08d9e7d3330d71d4ed2c8050b2fca4d2cdcaf0885c97ad0c536a4
MD5 28c5e6b1fd56e2ea9a556773124ef0a8
BLAKE2b-256 6e2c04eb435aa91270c12116e60735d67922a4331814c733e0c813e03c2250b0

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