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.0.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.0-py3-none-any.whl (29.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dagster_evidence-0.2.0.tar.gz
  • Upload date:
  • Size: 25.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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.0.tar.gz
Algorithm Hash digest
SHA256 574344c80ae284aa173be31934d62c6df80e7b9f6891ac040a0d7ba4709aee65
MD5 88b17cba94e4996a56ed11bbf719cead
BLAKE2b-256 2b2b6340da61e6101ece1f9fa4e8a3243f9592a2b3c54691a79af203c06f8ac5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dagster_evidence-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 29.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5860314c73891055d63c38fb6f76005d229bd9da875da89d2ef6303ca54d0389
MD5 b05ff7acfef5718923cebee427456902
BLAKE2b-256 fa1d07b739b47032a0084d84b80b783f752b7df10f440a316f63a338641ae3c8

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