Skip to main content

Object management automation tool for Snowflake

Project description

SnowDDL

PyPI Getting Started Pytest

SnowDDL is a declarative-style tool for object management automation in Snowflake.

It is not intended to replace other tools entirely, but to provide an alternative approach focused on practical data engineering challenges.

You may find SnowDDL useful if:

  • complexity of object schema grows exponentially, and it becomes hard to manage;
  • your organization maintains multiple Snowflake accounts (dev, stage, prod);
  • your organization has multiple developers sharing the same Snowflake account and suffering from conflicts;
  • it is necessary to generate some part of configuration dynamically using Python;

Main features

  1. SnowDDL is "stateless".
  2. SnowDDL can revert any changes.
  3. SnowDDL supports ALTER COLUMN.
  4. SnowDDL provides built-in "Role hierarchy" model.
  5. SnowDDL re-creates invalid views automatically.
  6. SnowDDL simplifies code review.
  7. SnowDDL supports creation of isolated "environments" for individual developers and CI/CD scripts.
  8. SnowDDL strikes a good balance between dependency management overhead and parallelism.
  9. SnowDDL configuration can be generated dynamically in Python code.
  10. SnowDDL can manage packages for Java and Python UDF scripts natively.

Quick links

Introduction videos

Mini-roadmap

  • placeholders in YAML configs (done)
  • documentation for dynamic config generation in Python ("advanced mode") (done)
  • video tutorials (done, but more tutorials are coming in future)
  • full test coverage for all object types and transformations

Issues? Questions? Feedback?

Please use GitHub "Issues" to report bugs and technical problems.

Please use GitHub "Discussions" to ask questions and provide feedback.

Created by

Vitaly Markov, 2025

Enjoy!

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

snowddl-0.65.2.tar.gz (153.8 kB view details)

Uploaded Source

Built Distribution

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

snowddl-0.65.2-py3-none-any.whl (281.1 kB view details)

Uploaded Python 3

File details

Details for the file snowddl-0.65.2.tar.gz.

File metadata

  • Download URL: snowddl-0.65.2.tar.gz
  • Upload date:
  • Size: 153.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for snowddl-0.65.2.tar.gz
Algorithm Hash digest
SHA256 6eb6f6ebee7947155b4201fbf2635a05d3dfc41c2a5c05ab522c21727eb769d9
MD5 69db6f8ed4981aea3162bf0459887a85
BLAKE2b-256 d6c437c4d85f693c760d8bbbb6e427cf372eaeee5bc5acb2f982c039a1e20eca

See more details on using hashes here.

File details

Details for the file snowddl-0.65.2-py3-none-any.whl.

File metadata

  • Download URL: snowddl-0.65.2-py3-none-any.whl
  • Upload date:
  • Size: 281.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.0

File hashes

Hashes for snowddl-0.65.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5b613f7baaa9d82b377b8d417263d50a5d72a6aedaad3e1836db3def34c0b5e1
MD5 69954c10ec137dd3b5888415ecebe41b
BLAKE2b-256 c5caeaeda05412c3ae677c4f09f9cb0f96ed01a2f61dcf76b52c734d7b8efc02

See more details on using hashes here.

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