Skip to main content

Transform YAML: move meta under config.meta

Project description

MetaMove: Automate Your dbt 1.10 Migration

⚠️ dbt 1.10 Deprecation Notice: Starting with dbt 1.10, meta and tags properties must be moved under a config block. This tool automates that migration for you.

🎯 What This Does For You

If you're using dbt (Core or Cloud) and upgrading to version 1.10, you'll start seeing deprecation warnings for your YAML files. This is because dbt is changing how meta and tags should be structured in your project files.

Instead of manually updating hundreds of YAML files, MetaMove does it automatically while preserving your comments and formatting.

Before & After Example

Before:

models:
  - name: my_model
    meta:
      owner: "Data Team"
    tags: ["core", "customer"]
    columns:
      - name: id
        meta:
          is_primary_key: true
        tags: ["identifier"]

After:

models:
  - name: my_model
    config:
      meta:
        owner: "Data Team"
      tags: ["core", "customer"]
    columns:
      - name: id
        config:
          meta:
            is_primary_key: true
          tags: ["identifier"]

🚀 Quick Start

For Mac Users

  1. Download the latest binary from GitHub Releases
  2. Make it executable:
    chmod +x metamove
    
  3. Run it:
    ./metamove --help
    

For Everyone Else

The easiest way to install is with pipx:

pip install pipx  # if you don't have it
pipx install metamove
metamove --help

💡 Why Use This?

  • Save Hours: No more manual file editing
  • Zero Risk: Preserves all your comments and formatting
  • Complete: Handles all your YAML files, including nested structures
  • Smart: Intelligently merges existing config blocks
  • Safe: Creates backups before making changes

🔧 Technical Details

The tool handles:

  • meta and tags at any nesting level (including inside columns)
  • Existing config blocks (merges new values in)
  • All YAML types (dict, list, scalar)
  • YAML comments and whitespace formatting
  • Proper placement following dbt precedence rules

📚 Learn More

🤝 Contributing

Found a bug or have an idea? Open an issue or submit a pull request!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

metamove-0.2.0.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

metamove-0.2.0-py3-none-any.whl (4.7 kB view details)

Uploaded Python 3

File details

Details for the file metamove-0.2.0.tar.gz.

File metadata

  • Download URL: metamove-0.2.0.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for metamove-0.2.0.tar.gz
Algorithm Hash digest
SHA256 f48e08bbaa00c470eb5908953ac90a594a93aaa9b0ac6ef50875c8745b509e20
MD5 8b7927182bfa318cd3346244f8c963ad
BLAKE2b-256 bf713680b8e7fb7308d12fe9f3872c2015eb859f4c81f426c4ecadd09f7180d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for metamove-0.2.0.tar.gz:

Publisher: release.yml on lightdash/metamove

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file metamove-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: metamove-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 4.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for metamove-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87eedc8ca52ebea38c11aeba1702443c9d2f5ebedb4bd88e54384bfc1adb78c0
MD5 e6660d0f4761f970175630583ce90756
BLAKE2b-256 60de9ba6980dbdb75d1db9bed119a8f1a3ba800e48aa498fa11fb69770af8b6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for metamove-0.2.0-py3-none-any.whl:

Publisher: release.yml on lightdash/metamove

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page