Giter VIP home page Giter VIP logo

dbt-metadata-utils's Introduction

dbt-metadata-utils

Parse dbt artifacts, enrich them, and search them with Algolia.

Check the online demo at https://dbt-metadata-utils.guitton.co/

Prerequisites

All you will need is:

  • your already existing dbt project in a git repository locally
  • clone dbt-metadata-utils on the same machine than your dbt project
  • create one Algolia account (and API key)
  • create one Algolia app inside that account
  • create .env file following .env.example and fill in your config values from the Algolia dashboard

For the dbt project, we will use one of the example projects listed on the dbt docs: the jaffle_shop codebase.

Local Usage

For testing things out with this project, one option is to work in your local environment.

Install the dependencies (in a virtual environment) with the following command:

make install

Then index records into your Algolia search index:

make update-git-metadata
make update-index

Finally, start the search webapp:

make run

Docker-compose Usage

Whether you want a way to deploy dbt-metadata-utils in production or if simply you're running into issues, you can start the project using docker-compose:

docker-compose up
open http://localhost:8080

Development

make develop

dbt-metadata-utils's People

Contributors

louisguitton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

dbt-metadata-utils's Issues

Add docker compose setup

Add docker-compose setup to ease the time of Windows users

  • python base image runs make update-git-metadata with a volume for static files
  • npm base image runs npm build like I do for github pages with a volume for static files
  • nginx image serves static files from python and npm images

kudos @larsjohanssonblank

dbt snapshots are not supported?

Hi Louis,

I'm following your guide in this post to build a search engine for my dbt project, but currently I'm stuck at make update-git-metadata and make update-index. The error messages I have are in this form:

nodes -> snapshot.internal_analytics.snapshot_src_pipedrive_organizations -> resource_type
  value is not a valid enumeration member; permitted: 'model', 'analysis', 'test', 'operation', 'seed', 'source' (type=type_error.enum; enum_values=[<DbtResourceType.model: 'model'>, <DbtResourceType.analysis: 'analysis'>, <DbtResourceType.test: 'test'>, <DbtResourceType.operation: 'operation'>, <DbtResourceType.seed: 'seed'>, <DbtResourceType.source: 'source'>])

Does this mean that snapshots are not supported yet?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.