Skip to main content

Better stored procedure management

Project description

Contributors Forks Stargazers Issues LinkedIn


⚙️ 🚀

Sprocketship

Better stored procedure management

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. License

About The Project

sprocketship makes it easy to develop, manage, and deploy stored procedures in Snowflake. Using the language of your choosing, you can write the contents of your stored procedure separately from its configurations (e.g., EXECUTE AS, RETURN TYPE, etc.).

Built With

(back to top)

Getting Started

Installation

pip install sprocketship

Usage

Currently, sprocketship expects a .sprocketship.yml file and a procedures/ directory at the same level in a directory structure.

├── dbt_models
│   ├── customers.sql
│   ├── products.sql
├── procedures
│   ├── admin
│   │   ├── create_database_writer_role.js
│   │   ├── create_database_reader_role.js
│   ├── development
│   │   ├── create_temp_database.js
└── .sprocketship.yml

The yaml path to each procedure in the sprocketship.yml should follow that of the paths to their corresponding files in the procedures/ directory.

procedures:
  development:
    - name: create_temp_database
      replace_if_exists: true
      database: {{ env.get('SNOWFLAKE_DATABASE') }}
      schema: {{ env.get('SNOWFLAKE_SCHEMA') }}
      ...

  admin:
    - name: create_database_reader
      replace_if_exists: true
      database: {{ env.get('SNOWFLAKE_DATABASE') }}
      schema: {{ env.get('SNOWFLAKE_SCHEMA') }}
      ...

    - name: create_database_writer
      replace_if_exists: true
      database: {{ env.get('SNOWFLAKE_DATABASE') }}
      schema: {{ env.get('SNOWFLAKE_SCHEMA') }}
      ...

From here, simply run

$ sprocketship liftoff

from the project directory (or provide the directory, e.g. sprocketship liftoff my/directory/path) and sprocketship will launch your stored procedures into the given directory.

License

Distributed under the MIT License. See LICENSE for more information.

(back to top)

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

sprocketship-0.0.9.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

sprocketship-0.0.9-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file sprocketship-0.0.9.tar.gz.

File metadata

  • Download URL: sprocketship-0.0.9.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for sprocketship-0.0.9.tar.gz
Algorithm Hash digest
SHA256 6b7ce6861ae460fe13c37f383e30a9d576151248735fd1207e2f4e1e543527f8
MD5 54535a8eb4ca05e647e0f8b3d5eedab6
BLAKE2b-256 3b1fef5adaa427009cf67f6258034539521481c76a9ad94df0f6976077386506

See more details on using hashes here.

File details

Details for the file sprocketship-0.0.9-py3-none-any.whl.

File metadata

File hashes

Hashes for sprocketship-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 b5da500abd285eb253a742c9b07a95965a3c631a41396a77743655e79ede1d3d
MD5 4fd12a368513d4501ad2ac3eef769a1d
BLAKE2b-256 49a34cb4830060872504549da29ee28f91b0a3fdac54e7ec790346c9a9c84d27

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