/avalanche

Avalanche is an Elixir Snowflake Connector built on top of the Snowflake SQL API v2.

Primary LanguageElixirApache License 2.0Apache-2.0

Avalanche

CI hex.pm version hex.pm license Last Updated

Avalanche is an Elixir Snowflake Connector built on top of the Snowflake SQL API v2.

Features

  • Submit SQL statements for execution.

  • Check the status of the execution of a statement.

  • Cancel the execution of a statement.

  • Manage your deployment (e.g. provision users and roles, create tables, etc.)

Installation

def deps do
  [
    {:avalanche, "~> 0.1.0"}
  ]
end

Acknowledgments

Avalanche is built on top of Req & Finch - thank you!

Documentation

Documentation is automatically published to hexdocs.pm on release. You may build the documentation locally with

MIX_ENV=docs mix docs

Running tests

You can run unit tests with:

mix test

To set up and run the integration tests, you need to:

  • cp .env.test .env.test.local and adjust the existing variables accordingly.
  • obtain a private key and add it to the the .env.test.local file if you wish to run tests that use the priv_key auth strategy
  • obtain a SNOWFLAKE_OAUTH_ACCESS_TOKEN if you wish to run tests that use the token auth strategy

You can run all tests and integration tests with:

SNOWFLAKE_OAUTH_ACCESS_TOKEN=your_token mix test --include integration

Contributing

Issues and PRs are welcome! See our organization CONTRIBUTING.md for more information about best-practices and passing CI.