Dagster integration with evidence.dev
Project description
dagster-evidence
Dagster integration with Evidence, enabling you to orchestrate Evidence.dev dashboard projects as Dagster assets.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
574344c80ae284aa173be31934d62c6df80e7b9f6891ac040a0d7ba4709aee65
|
|
| MD5 |
88b17cba94e4996a56ed11bbf719cead
|
|
| BLAKE2b-256 |
2b2b6340da61e6101ece1f9fa4e8a3243f9592a2b3c54691a79af203c06f8ac5
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5860314c73891055d63c38fb6f76005d229bd9da875da89d2ef6303ca54d0389
|
|
| MD5 |
b05ff7acfef5718923cebee427456902
|
|
| BLAKE2b-256 |
fa1d07b739b47032a0084d84b80b783f752b7df10f440a316f63a338641ae3c8
|