Skip to content

feat: add dbt manifest parsing#10

Merged
florian-drouet merged 4 commits intomainfrom
feature/add-dbt-manifest-parsing
May 27, 2025
Merged

feat: add dbt manifest parsing#10
florian-drouet merged 4 commits intomainfrom
feature/add-dbt-manifest-parsing

Conversation

@florian-drouet
Copy link
Copy Markdown
Owner

No description provided.

@florian-drouet florian-drouet requested a review from Copilot May 27, 2025 10:13
@florian-drouet florian-drouet self-assigned this May 27, 2025
@florian-drouet florian-drouet added the enhancement New feature or request label May 27, 2025
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds support for parsing and caching a dbt manifest to enhance the accuracy of Tableau SQL reports by filtering columns based on your dbt models.

  • Introduces a manifest cache resolver in utils.py for adding, replacing, or deleting a manifest.json
  • Implements DbtManifestParser to extract table names from a dbt manifest and integrates it into TableauWorkbook
  • Filters reported columns in OutputFormatting by the cached dbt table names

Reviewed Changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
tableau_sql_parser/utils.py New resolve_manifest_path function for caching manifest
tableau_sql_parser/tableau_workbook.py Accepts manifest_path, invokes DbtManifestParser
tableau_sql_parser/output_formatting.py Adds filter_dbt_manifest and filters columns by manifest
tableau_sql_parser/dbt_manifest_parser.py New parser class extracting dbt model/source names
tableau_sql_parser/cli.py Hooks up manifest resolution and passes path to workbook
tableau_sql_parser/init.py Defines APP_NAME and CACHE_FILENAME constants
pyproject.toml Version bumped to 0.3.1
README.md Instructions for using the manifest cache
Comments suppressed due to low confidence (2)

tableau_sql_parser/tableau_workbook.py:25

  • The code uses os.path.normpath but os is not imported in this file. Add import os at the top to avoid a NameError.
self.filename = os.path.normpath(filename)

tableau_sql_parser/dbt_manifest_parser.py:5

  • There are no unit tests covering DbtManifestParser behaviors (loading, extraction of nodes/sources). Adding tests for both valid and missing manifest scenarios would improve confidence.
class DbtManifestParser:

Comment thread tableau_sql_parser/output_formatting.py Outdated
Comment thread tableau_sql_parser/dbt_manifest_parser.py Outdated
@florian-drouet florian-drouet merged commit d8130e8 into main May 27, 2025
3 checks passed
@florian-drouet florian-drouet deleted the feature/add-dbt-manifest-parsing branch May 27, 2025 10:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants