Skip to main content

A package to refresh power bi model .bim file

Project description

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

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

snowbim-1.0.12.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

snowbim-1.0.12-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

Details for the file snowbim-1.0.12.tar.gz.

File metadata

  • Download URL: snowbim-1.0.12.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for snowbim-1.0.12.tar.gz
Algorithm Hash digest
SHA256 226b10e5611472c5c31123ec5f68d739787bf5c686446e72bdf0f2c837f8cf62
MD5 20aa1a157de8ae304d7190a53264c2f5
BLAKE2b-256 8c9004811b50018d00eb4445c91b2e1e2b5dccbef20d9bfc876cef66dd4a1aed

See more details on using hashes here.

File details

Details for the file snowbim-1.0.12-py3-none-any.whl.

File metadata

  • Download URL: snowbim-1.0.12-py3-none-any.whl
  • Upload date:
  • Size: 9.9 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for snowbim-1.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 ccbbc7201a474c2e906f19e7ea730d7c8bf5934d50f402b1bac8300dc9d7ef41
MD5 f73249592915d112e516f7a4cf3d9f1f
BLAKE2b-256 71be042fd9ca988c9d55d16a58b8382c4029c71679eb3611b52fd02c53f64f44

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