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

Uploaded Source

Built Distribution

snowddl-0.35.0-py3-none-any.whl (242.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for snowddl-0.35.0.tar.gz
Algorithm Hash digest
SHA256 9d8f0cfb240c6a4458138133c2c910413d432fd543c01be9e117d1dc4bbf8dc4
MD5 cd54eeafa6b3c5f859a31a51ff6b8944
BLAKE2b-256 444737a5e428a9c5bee6c9f5d345ddbd88fc13f6b02744c780e5b13ecb7841e8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snowddl-0.35.0-py3-none-any.whl
  • Upload date:
  • Size: 242.7 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.35.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fc2925c17370ece1862f7db8b6c76e9e5e714fe2621a305a52ea52404eba0361
MD5 74f4a12f788a2947768e7be77fb8a231
BLAKE2b-256 cb9a4bd1d1cad1cbdf07728f9fa5eb2b54c001bb3b17ce2d8329c88e4c33774a

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