dagster project scaffold now has an option to create dagster projects from templates with excluded files/filepaths.
[ui] Filters in the asset catalog now persist when navigating subdirectories.
[ui] The Run page now displays the partition(s) a run was for.
[ui] Filtering on owners/groups/tags is now case-insensitive.
[dagster-tableau] the helper function parse_tableau_external_and_materializable_asset_specs is now available to parse a list of Tableau asset specs into a list of external asset specs and materializable asset specs.
[dagster-looker] Looker assets now by default have owner and URL metadata.
[dagster-k8s] Added a per_step_k8s_config configuration option to the k8s_job_executor, allowing the k8s configuration of individual steps to be configured at run launch time (thanks @Kuhlwein!)
[dagster-fivetran] Introduced DagsterFivetranTranslator to customize assets loaded from Fivetran.
[dagster-snowflake] dagster_snowflake.fetch_last_updated_timestamps now supports ignoring tables not found in Snowflake instead of raising an error.
Bugfixes
Fixed issue which would cause a default_automation_condition_sensor to be constructed for user code servers running on dagster version < 1.9.0 even if the legacy auto_materialize: use_sensors configuration setting was set to False.
Fixed an issue where running dagster instance migrate on Dagster version 1.9.0 constructed a SQL query that exceeded the maximum allowed depth.
Fixed an issue where wiping a dynamically partitioned asset causes an error.
[dagster-polars] ImportErrors are no longer raised when bigquery libraries are not installed #25708
Documentation
[dagster-dbt] A guide on how to use dbt defer with Dagster branch deployments has been added to the dbt reference.
1.9.0 (core) / 0.25.0 (libraries)
Major changes since 1.8.0 (core) / 0.24.0 (libraries)
Automation
Declarative Automation, the system which enables setting per-asset AutomationConditions, is no longer experimental. We now recommend using this system in all cases where asset-centric orchestration is desired. A suite of built-in static constructors have been added for common usecases, such as AutomationCondition.on_missing() (which can fill in missing partitions of assets as soon as upstream data is available), and AutomationCondition.all_deps_blocking_checks_passed() (which can prevent materialization of assets until all upstream blocking checks have passed).
You can now assign AutomationConditions to asset checks, via the automation_condition parameter on @asset_check or AssetCheckSpec.
You can now assign AutomationConditions to observable source assets, via the automation_condition parameter on @observable_source_asset.
[experimental] You can now define custom subclasses of AutomationCondition to execute arbitrary Python code in the context of a broader expression. This allows you to compose built-in conditions with custom business logic.
The target arguments on schedules and sensors are now marked stable, allowing a stable way for schedules and sensors to target asset selections without needing to define a job.
Integrations
Introduced a slate of integrations with business intelligence (BI) tools, enabling dashboards, views, and reports to be represented in the Dagster asset graph.
A rich set of metadata is now automatically collected by our suite of ELT integrations.
The dagster/table_name metadata tag, containing the fully-qualified name of the destination model, has been added for Airbyte, dlt, Fivetran and Sling assets.
The dagster/row_count metadata tag, containing the number of records loaded in the corresponding run, has been added for dlt and Sling assets.
The dagster/column_schema metadata tag, containing column schema information of the destination tables, has been added for Fivetran assets.
Column lineage information is now collected for Sling assets.
dagster-pipes are replacing the now deprecated Step Launchers as the new recommended approach for executing remote Spark jobs. Three new Pipes clients for running Spark applications on Amazon Web Services have been added:
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps dagster from 1.8.9 to 1.9.1.
Changelog
Sourced from dagster's changelog.
... (truncated)
Commits
d574e0a
1.9.148d207a
[graphql] handle config mapped resources (#25793)779a48b
Respectauto_materialize_use_sensors
(#25769)ca81311
Check if asset graph has asset before getting it (#25776)fa5f29b
fix backfill_id migration query issue where query was repeated appended with ...3cef6ad
partial revert - stop threaded check of alembic version (#25754)ac12227
make sure we stamp the correct alembic revision for newly initialized DBs (#2...203f223
Add table name filter type (#25346)e950425
dlift 22197ee9
comment out dliftDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show