Skip to content

Releases: AustralianBioCommons/gen3-dataops-toolkit

v2.1.2

Choose a tag to compare

@JoshuaHarris391 JoshuaHarris391 released this 15 Jul 06:18

Bug-fix release, found by the first tag-push data release on the platform.

Fixes

  • athena:GetWorkGroup AccessDenied in CodeBuild — awswrangler defaults to the primary workgroup, which the platform's workgroup-scoped roles deny. AthenaConfig gains an optional workgroup, and g3dt release write runs every query in the env's SSM-published workgroup.
  • Model→database search scoped to the envfind_db_for_model no longer scans every Glue database in the account: g3dt release write restricts it to the env's own silver/gold DBs (from SSM), making release rows deterministic in shared accounts.

Full Changelog: v2.1.1...v2.1.2

v2.1.1

Choose a tag to compare

@JoshuaHarris391 JoshuaHarris391 released this 15 Jul 05:55

Bug-fix release, found by the first on-box run of 2.1.0.

Fixes

  • NoRegionError on the EC2 job box — botocore only honours AWS_DEFAULT_REGION, not AWS_REGION, so on a box provisioned by CDK user-data (which exports AWS_REGION and has no ~/.aws/config) every SSM/S3 session failed to resolve a region. The resolver and the S3 study-registry fallback now build their boto3 sessions with the g3dt.yaml marker's region explicitly; a moto regression test reproduces the box's exact environment.

Full Changelog: v2.1.0...v2.1.1

v2.1.0

Choose a tag to compare

@JoshuaHarris391 JoshuaHarris391 released this 15 Jul 03:08

The dbt data-release surface: this release makes the platform's CodeBuild pipelines fully name-free (june refactor doc 06).

Features

  • g3dt release write — records the dbt data-release manifest in the env's Iceberg releases ledger. Resolves the release DB/table, table location, Athena output and region from SSM, so the buildspec passes only --env, the tag-derived version, and the commit SHA. Idempotent; --dry-run prints the resolved target and the INSERT SQL without writing (bf4b029)
  • g3dt pipeline status / g3dt pipeline logs [--follow] — watch the dbt CodePipeline/CodeBuild by their SSM-published names, mirroring the g3dt jobs UX; --follow tails the latest build's CloudWatch stream to a terminal status (bf4b029)
  • g3dt config dbt-env — emits shell exports of every dbt setting (workgroup, Athena output, region, bronze/silver/gold DBs, s3_data_dirs) from the env's SSM tree, powering the env_var()-parameterised gen3-dbt-template: eval "$(g3dt config dbt-env --env test)" && dbt build. Emits G3DT_DBT_TARGET=local when your marker has a profile for the env, selecting the named-profile dbt target for laptop runs (7815a0f)
  • release_writer gains a callable run(...) core and --dry-run support

Full Changelog: v2.0.0...v2.1.0

v2.0.0

Choose a tag to compare

@JoshuaHarris391 JoshuaHarris391 released this 15 Jul 01:06

First release of gen3-dataops-toolkit (g3dt) — the operations CLI of the Gen3 DataOps platform.

g3dt operates Gen3 AWS data-pipeline environments deployed by gen3-aws-data-pipeline: every resource name is resolved live from AWS SSM Parameter Store, so the same wheel operates any project with only a tiny local bootstrap marker.

Features

  • SSM-first configuration — a cached, typed resolver reads the per-environment tree (/{project}/{env}/...) published by cdk deploy; no AWS resource name is compiled into the package (87f06f8)
  • g3dt.yaml bootstrap marker replaces all local config: project/region/default env, optional per-env AWS profiles and study registry; the registry can also live at s3://<metadata-bucket>/config/studies.yaml so the EC2 job box needs no local setup
  • Disconnect-safe EC2 dispatch via SSM Run Command — instance id and log destinations resolve from the target env's own tree, making cross-environment dispatch structurally impossible; watch with g3dt jobs logs --follow
  • Self-contained wheel — the operational service scripts ship inside the package and receive settings as G3DT_* environment variables; a bare pip install is a complete install (no repo clone, git, or poetry anywhere at runtime)
  • Command surface: dict, synth, metadata, delete, k8s, indexd, ec2, jobs, config — including config show/diff as the pre-job safety check and typed-confirmation guards on all destructive/production paths
  • CI + release automation — pytest with moto-backed AWS mocks and a project-identity guard; GitHub Releases publish to PyPI (7a45e69)

Provenance & versioning

Ported (working tree only) from acdc-aws-etl-pipeline. Versions ≤ 1.2.0 on PyPI are the legacy acdc_aws_etl_pipeline package, which continues to operate the legacy ACDC pipeline unchanged.

Full Changelog: https://github.com/AustralianBioCommons/gen3-dataops-toolkit/commits/v2.0.0