{"id":14959518,"url":"https://github.com/streamlit/example-app-dbt","last_synced_at":"2025-10-19T07:31:54.694Z","repository":{"id":74322135,"uuid":"424192696","full_name":"streamlit/example-app-dbt","owner":"streamlit","description":null,"archived":false,"fork":false,"pushed_at":"2022-03-17T13:12:42.000Z","size":310,"stargazers_count":7,"open_issues_count":0,"forks_count":8,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-01-29T10:36:44.567Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/streamlit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-03T11:14:25.000Z","updated_at":"2023-11-20T09:10:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"742b17b8-ca63-4f3d-a1ce-24f8ff891f52","html_url":"https://github.com/streamlit/example-app-dbt","commit_stats":{"total_commits":18,"total_committers":1,"mean_commits":18.0,"dds":0.0,"last_synced_commit":"e5b9a6d5058ba0f2a69c95cbd841872f4190b14c"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlit%2Fexample-app-dbt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlit%2Fexample-app-dbt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlit%2Fexample-app-dbt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/streamlit%2Fexample-app-dbt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/streamlit","download_url":"https://codeload.github.com/streamlit/example-app-dbt/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237088550,"owners_count":19253570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-24T13:19:54.432Z","updated_at":"2025-10-19T07:31:54.365Z","avatar_url":"https://github.com/streamlit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\n\n#### Fork 👉 [the DBT app](https://github.com/streamlit/example-app-dbt), follow the installation steps [here](https://github.com/streamlit/example-app-dbt/edit/main/README.md#installation) \u0026 deploy it for free on [Streamlit Cloud](https://streamlit.io/cloud)!🎈\n\n---\n\n# DBT Streamlit Monitoring\n\nThis app is for DBT **Cloud users** who want to be able to share information on how\ntheir jobs are performing, but without granting admin access to DBT Cloud directly.\n\nKudos to the wizards at [Cazoo](https://www.cazoo.co.uk/) for creating it! You can read their blog post [here](https://blog.streamlit.io/dbt-cloud-jobs-with-streamlit/).\n\nThe app allows people to see which jobs:\n - have been completed successfully\n - have failed\n - lets you see the specific steps where a job is falling over\n\n\u003cimg src=\"https://user-images.githubusercontent.com/27242399/158216453-4a05e261-3e17-4ed8-858d-ab23fd17fbc3.png\" width=\"600\"/\u003e\n\nYou'll need to add some secrets specific to your environment, but other than that you\nshould be up and running right out of the box.\n\n## Features\n\n- Supports multiple projects on the same DBT Account\n- RAG Status of jobs\n- Show failed steps, with links to the specific file in your repo\n- Get a view of recent job runs to see if there's an ongoing issue with your job\n\n\n## Installation\n\nInstall and run locally with pipenv (you will need to configure your [secrets.toml file](#secrets.toml) to actually be able to use the app)\n\n```bash\n\u003e\u003e pipenv install\n\u003e\u003e pipenv run app\n```\n\nFor Mac users, watchdog is included as a dev dependency, so you can include watchdog with\n\n```bash\n\u003e\u003e pipenv install -d\n```\n\n## Configuration\n\n### secrets.toml\n\nThe app in its current form assumes the presence of a few things which will be custom to\neach DBT account, and so we put these in secrets.toml inside of .streamlit.\n\nRunning streamlit locally will use these secrets (accessible both as environment variables\nand from streamlit.secrets) and if you decide to deploy onto [Streamlit Cloud](https://streamlit.io/cloud) then you\ncan use the same format to add your secrets directly into the web interface (see screenshot below):\n\n\u003cimg src=\"https://user-images.githubusercontent.com/27242399/158222353-92adffd0-4a73-4cc8-8481-38b6bc5a001d.png\" width=\"600\"/\u003e\n\nYou can see an example file in `.streamlit/example_secrets.toml`. You will need to copy this file/rename it to `.streamlit/secrets.toml` if you want to use it\n\n - `ACCOUNT_ID` - your DBT account id\n\n - `API_TOKEN` - your DBT API key (for very obvious reasons we don't commit this to version control).\n\n - `DASHBOARD_USER` / `DASHBOARD_PASS` - username/password for the authorisation. If you are always using the app locally, you likely will not require this, but can be useful if you want to host the app on an internal/external web page.  (NOTE: We **do not** recommend using this for securing an app long term, and you should use a proper SSO backed auth like okta, google, jumpcloud etc which would be much more robust)\n\n - `PROJECT_MAPPING` - This is mapping that links specific DBT project ids to a plain English name for displaying in the app. The project mapping is used to drive the select boxes that allow you pick specific projects to drill down to (if you have multiple projects of course).\n\n - `PROJECT_REPO_URL_MAPPING` - This is a mapping that maps the dbt adapter you are using (ie, `redshift`) to the git repository where the code is stored, so you can view the queries of tables/tests that have failed in the browser\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamlit%2Fexample-app-dbt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstreamlit%2Fexample-app-dbt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstreamlit%2Fexample-app-dbt/lists"}