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, 2024

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.34.4.tar.gz (132.9 kB view details)

Uploaded Source

Built Distribution

snowddl-0.34.4-py3-none-any.whl (242.6 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for snowddl-0.34.4.tar.gz
Algorithm Hash digest
SHA256 82b262f6d3364db113503c5c130c7ce44dafefb43787f5f390a07cadfbd16811
MD5 2c22a654ddcec076741014304fd228ae
BLAKE2b-256 5a393c57c0727054411c8ab7cc37dac57d34d0207a44b2e4eeb62b369640d8fa

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for snowddl-0.34.4-py3-none-any.whl
Algorithm Hash digest
SHA256 7b34625a71be15d8520c9d8375544917c7333a0b84bbf76f88c8782de2995a21
MD5 0a10ba2725b9336676ff352dd41062ac
BLAKE2b-256 6f79936d18650d46517beaf7bdcf1206dec5e8147f53e596e92e49b8793448b6

See more details on using hashes here.

Supported by

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