Skip to main content

Concordia

concordia-logo

Bring harmony to your data stack.

What is it? • How it Works • Features • Getting Started • Usage • Configuration

What is Concordia? Concordia is a command-line interface (CLI) tool that automates the creation and maintenance of Looker views, ensuring they are always in sync with your BigQuery data warehouse. It establishes your BigQuery/Dataform schema as the single source of truth and propagates its structure and documentation directly into your Looker project.

If you've ever had to:

  • Manually create a new LookML view for every new table in your warehouse.
  • Update a LookML dimension because a column name changed in BigQuery.
  • Copy and paste column descriptions from a dbt/dataform model into a Looker view.
  • Notice that the documentation in Looker is out of date with the real-world table.

...then Concordia is the tool for you.

How it Works

Concordia operates on a simple, unidirectional data flow. It reads the metadata (column names, data types, descriptions) directly from your BigQuery tables and views and uses that information to generate clean, consistent, and documented LookML view files.

Dataform/BigQuery (Source of Truth) -> Concordia -> Looker .view Files

This ensures that your semantic layer in Looker is a perfect reflection of your transformation layer in the data warehouse, eliminating drift and manual effort.

Key Features

Automated View Generation: Create a complete, well-structured LookML view from a BigQuery table or view with a single command.

  • Documentation Sync: Automatically pulls column descriptions from BigQuery and populates the description tag in your LookML dimensions.
  • Convention over Configuration: Uses smart naming conventions (e.g., for primary and foreign keys) to generate better LookML.
  • Intelligent Defaults: Automatically adds a count measure, hides key fields, and creates a set for drill fields.
  • Simple Configuration: A single concordia.yml file manages all project settings.
  • Secure Authentication: Leverages existing Dataform credentials files or Google Application Default Credentials (ADC) so you don't have to manage new secrets.

Getting Started

  1. Installation (Placeholder for installation instructions, e.g., pip install concordia-cli)
  2. Initialization Navigate to the root of your analytics repository and run: concordia init. This will create a concordia.yml file in your project. This is where you will configure the tool.

Configuration

All configuration is handled in the concordia.yml file.

# concordia.yaml - Example Configuration

connection:
  # (Recommended) Dataform credentials file; falls back to Google ADC if missing
  dataform_credentials_file: "./.df-credentials.json"
  project_id: "my-gcp-project"
  location: "europe-west2"
  datasets:
    - "marts"
    - "finance"
  # Optional: include BigQuery views in addition to base tables
  include_table_types: ["BASE TABLE", "VIEW"]

looker:
  project_path: "./looker_project/" # Path to your local Looker git repo
  views_path: "views/base/base.view.lkml" # Path for generated base view
  connection: "bigquery-prod" # Looker connection name

model_rules:
  naming_conventions:
    pk_suffix: "_pk"
    fk_suffix: "_fk"
    # Optional: translate unsupported characters so generated names stay LookML-safe
    character_replacements:
      ":": "_" # only letters/numbers/underscores are allowed after replacement

  defaults:
    measures: [count]
    hide_fields_by_suffix: ["_pk", "_fk"]

  type_mapping:
    - bq_type: "TIMESTAMP"
      lookml_type: "dimension_group"
      lookml_params:
        { type: "time", timeframes: "[raw, time, date, week, month]" }
    - bq_type: "INTEGER"
      lookml_type: "dimension"
      lookml_params: { type: "number" }
    # ... and so on

Validation rules that matter

  • View and field names must be limited to letters, numbers, and underscores. If your warehouse names contain other characters, add a character_replacements mapping (e.g., ":" -> "_") under model_rules.naming_conventions; otherwise generation fails fast with a clear error.
  • Generated LookML is parsed with the lkml library when available (see lkml.load examples) to catch malformed output early. If the installed version cannot parse, a warning is emitted and generation continues.

Usage

//TODO

Metadata

Release files for concordia-cli 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for concordia-cli 0.3.0
File Size Uploaded
concordia_cli-0.3.0.tar.gz 45.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for concordia-cli 0.3.0
File Interpreter ABI Platform
concordia_cli-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 98.1 kB

Release files / concordia_cli-0.3.0.tar.gz

Download URL concordia_cli-0.3.0.tar.gz
Size 45.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a2888f8e294853f161849125c2d56e05dd80f248111c9856a70141092b528d7a
BLAKE2b-256 checksum
How to use checksums
1bad9aec4f5ace336b59cd011996ed22c149dacbea46b3e5e768bd4bf7fbad2c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release files / concordia_cli-0.3.0-py3-none-any.whl

Download URL concordia_cli-0.3.0-py3-none-any.whl
Size 52.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08c3d297febe3a5c0cc3f9a222556394aa4a0025467f33df616b7d816b1d6ec5
BLAKE2b-256 checksum
How to use checksums
1eb0ef478c4628422ff89f3876ddcb7c841c68b696d14c8aaac65bb799a4e674
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page