diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 3480ad5f5..6937d09f2 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,6 +46,29 @@ repos: - repo: local hooks: + - id: strip-name-from-package-lock + name: Strip 'name' fields from package-lock.yml (unsupported in dbt 1.8) + entry: | + python -c " + import yaml, sys + lock_file = 'elementary/monitor/dbt_project/package-lock.yml' + with open(lock_file) as f: + data = yaml.safe_load(f) + changed = False + for pkg in data.get('packages', []): + if 'name' in pkg: + del pkg['name'] + changed = True + if changed: + with open(lock_file, 'w') as f: + yaml.dump(data, f, default_flow_style=False, sort_keys=False) + print(f'Removed unsupported name fields from {lock_file}') + sys.exit(1) + " + language: system + files: package-lock\.yml$ + pass_filenames: false + - id: verify-dbt-project-packages-lock name: Verify internal dbt project package lock entry: | diff --git a/elementary/monitor/dbt_project/package-lock.yml b/elementary/monitor/dbt_project/package-lock.yml index f5a10517d..04c733e82 100644 --- a/elementary/monitor/dbt_project/package-lock.yml +++ b/elementary/monitor/dbt_project/package-lock.yml @@ -1,8 +1,6 @@ packages: - - name: dbt_utils - package: dbt-labs/dbt_utils + - package: dbt-labs/dbt_utils version: 0.8.6 - - name: elementary - package: elementary-data/elementary + - package: elementary-data/elementary version: 0.23.0 sha1_hash: 0edc67beba193ced6784779894083b5af00f73ec diff --git a/pyproject.toml b/pyproject.toml index 2e46ba5c6..f7577e4ee 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "elementary-data" -version = "0.23.0" +version = "0.23.1" description = "Data monitoring and lineage" authors = ["Elementary"] keywords = ["data", "lineage", "data lineage", "data warehouse", "DWH", "observability", "data monitoring", "data observability", "Snowflake", "BigQuery", "Redshift", "data reliability", "analytics engineering"] @@ -76,7 +76,10 @@ fabric = ["dbt-fabric"] fabricspark = ["dbt-fabricspark"] sqlserver = ["dbt-sqlserver"] vertica = ["dbt-vertica"] -all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-clickhouse", "dbt-athena-community", "dbt-trino", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver", "dbt-vertica"] +# dbt-fabricspark is excluded due to broken upstream dependencies (azure-cli pre-release pins). +# dbt-vertica is excluded because it pins dbt-core==1.8.5, forcing the entire resolution to dbt 1.8. +# Both are still available as individual extras (e.g. pip install elementary-data[vertica]). +all = ["dbt-snowflake", "dbt-bigquery", "dbt-redshift", "dbt-postgres", "dbt-databricks", "dbt-spark", "dbt-athena-community", "dbt-trino", "dbt-clickhouse", "dbt-duckdb", "dbt-dremio", "dbt-fabric", "dbt-sqlserver"] [build-system] requires = ["poetry-core>=1.0.0"]