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.
Metadata
Release files for dagster-evidence 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| dagster_evidence-0.2.1.tar.gz | 25.0 kB | Without provenance | Details for dagster_evidence-0.2.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| dagster_evidence-0.2.1-py3-none-any.whl | Python 3 | none | any | Details for dagster_evidence-0.2.1-py3-none-any.whl |
Total release size: 54.3 kB
Release files / dagster_evidence-0.2.1.tar.gz
| Download URL | dagster_evidence-0.2.1.tar.gz |
|---|---|
| Size | 25.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d87a32542efc64caf8e2f093cc59b4e815e9d98c9c9f306d764cfc5189925724
|
|
BLAKE2b-256 checksum How to use checksums |
e9f3fe07521cf0b95452026a1b4bb1d13f3fa58e269b6aca22e3704112bcc20a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / dagster_evidence-0.2.1-py3-none-any.whl
| Download URL | dagster_evidence-0.2.1-py3-none-any.whl |
|---|---|
| Size | 29.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f7b0a13a3292baec3ddca6c4975db60c0cb1e96829e769e602fe37b569dd9021
|
|
BLAKE2b-256 checksum How to use checksums |
b2dc78af3bf2fd447ce779996c38fbbc972a234bcd18810ce20a27a63690b532
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Security for dagster-evidence 0.2.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.