Skip to main content

snowbim

This is to do something awesome between snowflake database and Power BI tabular model file (.bim).

Those are:

  • Refresh tables (key: name)
  • Refresh table's columns (key: name)
  • Refresh table's partitions (key: name)

Supported Models:

  • Compatibility Level: 1550
  • Default Power BI Data Source Version: powerBI_V3

We make use of dbt (data build tool)'s profile to configure the Snowflake connection.

Therefore, PLEASE MAKE SURE you've already managed to create 1 dbt profiles.yml file.

Installation:

python -m pip install snowbim --upgrade

# dependencies
python -m pip install snowflake-connector-python[pandas]

# check version
python -m snowbim --version

Usage

python -m snowbim --help

If you don't use --profile-dir argument, by default, it will look for profiles.yml in the user home folder:

  • Windows: %userprofile%/.dbt/profiles.yml
  • Linux: ~/.dbt/profiles.yml

Sample commands:

  • To create new model.bim file:
python -m snowbim --bim "/path/to/model.bim" --db "YOUR_SF_DB_NAME" --schema "YOUR_SF_SCHEMA_NAME"
# model.bim will be created after above command
  • To upgrade existing model.bim file:
python -m snowbim --bim "/path/to/model.bim" --db "YOUR_SF_DB_NAME" --schema "YOUR_SF_SCHEMA_NAME"
# model.bim will be overidden after above command
  • To upgrade existing model.bim file but output to a new model_upgrade.bim file:
python -m snowbim --bim "/path/to/model.bim" --out "/path/to/model_upgrade.bim" --db "YOUR_SF_DB_NAME" --schema "YOUR_SF_SCHEMA_NAME"
# model_upgrade.bim will be created after above command

NOTE: If schema is up-to-date, .bim file will not be created or modified.

Development Enviroment

Virtual enviroment:

python -m venv env

Activate virtual env:

Windows: 	.\env\Scripts\activate
Linux:		source env/bin/activate

Install dependencies:

pip install -r requirements.txt

TODO:

  • Adding schema list
  • Support AZ Synapse connector

Release files for snowbim 1.0.12

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snowbim 1.0.12
File Size Uploaded
snowbim-1.0.12.tar.gz 7.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snowbim 1.0.12
File Interpreter ABI Platform
snowbim-1.0.12-py3-none-any.whl Python 3 none any Details

Total release size: 17.8 kB

Release files / snowbim-1.0.12.tar.gz

Download URL snowbim-1.0.12.tar.gz
Size 7.9 kB
Tags Source
SHA-256 checksum
How to use checksums
226b10e5611472c5c31123ec5f68d739787bf5c686446e72bdf0f2c837f8cf62
BLAKE2b-256 checksum
How to use checksums
8c9004811b50018d00eb4445c91b2e1e2b5dccbef20d9bfc876cef66dd4a1aed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.8

Release files / snowbim-1.0.12-py3-none-any.whl

Download URL snowbim-1.0.12-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ccbbc7201a474c2e906f19e7ea730d7c8bf5934d50f402b1bac8300dc9d7ef41
BLAKE2b-256 checksum
How to use checksums
71be042fd9ca988c9d55d16a58b8382c4029c71679eb3611b52fd02c53f64f44
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.3.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.0 CPython/3.7.8

Release history Release notifications | RSS feed

This release

1.0.12 This release

2 release files

1.0.11

2 release files

1.0.10

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page