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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: sprocketship-0.0.8.tar.gz
  • Upload date:
  • Size: 5.3 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.8.tar.gz
Algorithm Hash digest
SHA256 6e12dc67df0913eb758246ce094153cb5dc8b11f9ae2365ba70c1c29f1772d55
MD5 e92a4975d14df16ac069804ed902f3ef
BLAKE2b-256 4a047c484c3ebcb486d63df55c9b565a680f305b65c0193826f913351ba314d3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for sprocketship-0.0.8-py3-none-any.whl
Algorithm Hash digest
SHA256 a039d8dddfd619842e3deaa1b28efdda48cafd3b61c3ee807116c94dafbca5dc
MD5 935f140b09a5587aed2e0efd90beb252
BLAKE2b-256 a5b9a7c794d365758d9c7b56fa40f98dddd7c65171e39c0641866c4433947e94

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