Skip to main content

Dagster integration with evidence.dev

Project description

dagster-evidence

Dagster integration with Evidence, enabling you to orchestrate Evidence.dev dashboard projects as Dagster assets.

architecture

Installation

# Basic installation
uv add dagster-evidence

# With specific data source support
uv add "dagster-evidence[duckdb]"           # DuckDB support
uv add "dagster-evidence[bigquery]"         # BigQuery support
uv add "dagster-evidence[gsheets]"          # Google Sheets support
uv add "dagster-evidence[github-pages]"     # GitHub Pages deployment

# Install multiple extras
uv add "dagster-evidence[duckdb,bigquery,github-pages]"

Features

  • Automatic asset discovery: Automatically generates Dagster assets from Evidence project sources
  • Build and deployment: Builds Evidence projects and deploys them to your hosting platform
  • Customizable translation: Extend the translator to customize how Evidence sources map to Dagster assets
  • Type-safe configuration: Pydantic-based configuration with YAML support
  • Source change detection: Optional sensors to detect changes in upstream data sources

Supported Data Sources

  • DuckDB
  • MotherDuck
  • BigQuery
  • Google Sheets

Need additional source types? You can extend the translator to add custom sources, or contribute to the project!

Deployment Support

Currently Implemented:

  • GitHub Pages: Deploy to GitHub Pages with automatic git push
  • Custom commands: Run any custom deployment script or command

Need another deployment target? Open an issue and tag @milicevica23 with your deployment requirements.

Quick Start

Component Configuration (YAML)

# defs.yaml
type: dagster_evidence.EvidenceProjectComponentV2
attributes:
  evidence_project:
    project_type: local
    project_path: ./my-evidence-project
    enable_source_assets_hiding: true
    enable_source_sensors: false
    project_deployment:
      type: github_pages
      github_repo: my-org/my-dashboard
      branch: gh-pages

Advanced Usage

Custom Translator

You can customize how Evidence sources are translated to Dagster assets:

from dagster_evidence import DagsterEvidenceTranslator, EvidenceSourceTranslatorData
import dagster as dg

class MyTranslator(DagsterEvidenceTranslator):
    def get_asset_spec(self, data):
        if isinstance(data, EvidenceSourceTranslatorData):
            # Custom logic for source assets
            return dg.AssetSpec(
                key=dg.AssetKey(["custom", data.query.name]),
                kinds={"evidence", data.source_content.connection.type},
            )
        return super().get_asset_spec(data)

Contributing

Contributions are welcome! Please see the main repository's contribution guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dagster_evidence-0.2.1.tar.gz (25.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dagster_evidence-0.2.1-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

Details for the file dagster_evidence-0.2.1.tar.gz.

File metadata

  • Download URL: dagster_evidence-0.2.1.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dagster_evidence-0.2.1.tar.gz
Algorithm Hash digest
SHA256 d87a32542efc64caf8e2f093cc59b4e815e9d98c9c9f306d764cfc5189925724
MD5 28c094a3ccdae6c30098faaf463be6ca
BLAKE2b-256 e9f3fe07521cf0b95452026a1b4bb1d13f3fa58e269b6aca22e3704112bcc20a

See more details on using hashes here.

File details

Details for the file dagster_evidence-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: dagster_evidence-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for dagster_evidence-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f7b0a13a3292baec3ddca6c4975db60c0cb1e96829e769e602fe37b569dd9021
MD5 897791537ddb1a268f0d00334a12b7a8
BLAKE2b-256 b2dc78af3bf2fd447ce779996c38fbbc972a234bcd18810ce20a27a63690b532

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page