Skip to main content

A Snowflake object transcription library for capturing Snowflake objects

Project description


snowmad: a snowflake transcription library

PyPI Latest Release Package Status License

What is it?

Snowmad is a Python package that provides utilities to transcribe snowflake objects. Currently transcribing objects form Snowflake to Terraform and transcribing objects from Snowflake to another Snowflake account is the primary focus of this package. The goal of this package is to cut down on writing one off scripts or manually wirting ddl for copying snowflake objects.

Main Features

  • Terraform
    • Transcribe snowflake users, roles, and role grants to terraform format
    • Currently terraform can import state, but cannot generate a config file from the imported state
    • To be used with snowflake provider (snowflake-labs/snowflake)
  • Snowflake Accounts
    • Copy databse objects ddl from one Snowflake account to another
    • Copy account level objects from one account to another including: warehouses, users, roles, and grants

Where to get it

The source code is currently hosted on GitHub at: https://github.com/PrestonBlackburn/snowmad

Binary installers for the latest released version are available at the Python Package Index (PyPI)

# PyPI
pip install snowmad

Dependencies

  • pandas - for data handling
  • snowflake.connector (with pandas addon, "snowflake-connector-python[pandas]") - for connecting to snowflake accounts and loading object data to dataframes
  • configparser - for handling snowflake account input data
  • cryptography - for accessing accounts via rsa key
  • snowflake connector

License

MIT

Documentation

See the current documentation on the wiki page

Outputs

  • roles text file
    • contains snowflake roles in terraform "snowflake_role" resource format
  • users text file
    • contains snowflake users in terraform "snowflake_user" resource format
  • grants text file
    • contains snowflake grants for roles in terraform "snowflake_role_grants" resource format

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

snowmad-0.0.4.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

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

snowmad-0.0.4-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file snowmad-0.0.4.tar.gz.

File metadata

  • Download URL: snowmad-0.0.4.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for snowmad-0.0.4.tar.gz
Algorithm Hash digest
SHA256 6b2295d6defee4e11489203b060573334cd76afa931c1d833ba5cd81c7f15536
MD5 f69a0ff55580217e98a0a600f0b17ae3
BLAKE2b-256 aa023bb568d0e5b06d029bb567e7066168c381123c4a9efd44b024fcbaeae710

See more details on using hashes here.

File details

Details for the file snowmad-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: snowmad-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for snowmad-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 167cfca8c8f8bdce6cdda30e1fe57ba28fc1c89904981d3d216cdeed489b8b31
MD5 3a921082931354766084d3febe97c8a0
BLAKE2b-256 26c6f846f320eb7e1d3e0ee50fc56d284620ad8a50573356455224333ff89ea2

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