Skip to content

Quickstart

In Progress

This post will walk you through building a simple Seek app using Seek Build Tools (SBT). See Installation Guide for instructions on how to install SBT.

Create project directory

Run the command sbt init <project-name> to create a new project directory with the necessary basic structure.

project-name/
├── .env
├── models/
├── helpers/
├── sources/
└── pymodules/

Configure your project

Next, run sbt init-config to interactively create a sbtconf.toml file with the necessary configs to run your project. This includes snowflake credentials and an Insight Cloud API key. See API Keys for more information on how to create an API key.

Define your sources

Define your sources in a file called sources.yml in the sources/ directory. Read more about sources.

Create your first model

Now we are going to create our first model. Let's create the config first. Create a new file called config.yml in the models/ directory.

models/config.yml
models:
  - name: my_first_model
    config:
      language: sql
      materialized: table

Now we will create the model definition. Create a new file called my_first_model.sql in the models/ directory.

models/my_first_model.sql
select *
from {seek.sources[data_vendor.inbound_data_table]}

Let's test running that model by executing sbt run-model my_first_model.

If you see the output of the query, you have successfully created your first model!

Insert Screenshot etc of call output

Create your first python model

Great, now let's create a python model that takes that preprocessing and does something really cool to it.

Create python model example config

Create python model example code

Time to test that model with another sbt run-model my_python_model.

Create your first app

Finally, let's create an app that runs both of these models in order.

In our yaml file, add the following chunk:

apps:
  - name: my_first_app
    requires:
      - my_first_model
      - my_python_model
    config:
      sigma_workbook_id: 4RyJMRqYkqnAFNxxdmugma
      sigma_db_attribute: test_db
      freshness_query: fresh

Finally, let's run the app with sbt run-app my_first_app.

You should see output like the below and congratulations, you have successfully built your first app with Seek!

Enhance your app

There are a ton more features of the Seek platform that you can explore. They give your users rich ability to interact with your app.

Add data visualizations

To learn how to integrate a sigma dashboard into your app so your customers have powerful data visualization curated to them, read that section.

Upload and publish your app

That's a whole new section...go read there too.