{"id":28470980,"url":"https://github.com/datnguye/snowbim","last_synced_at":"2025-07-01T21:32:28.953Z","repository":{"id":50755680,"uuid":"370374018","full_name":"datnguye/snowbim","owner":"datnguye","description":"Python CLI tool to refresh schema of  Power BI tabular model file (.bim) from Snowflake database","archived":false,"fork":false,"pushed_at":"2021-06-19T10:21:43.000Z","size":38,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-07T10:07:23.578Z","etag":null,"topics":["powerbi","schema","snowflake","tabular-model"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/datnguye.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":["paypal.me/datnguyenit09"]}},"created_at":"2021-05-24T14:07:42.000Z","updated_at":"2024-01-15T10:58:12.000Z","dependencies_parsed_at":"2022-09-02T17:00:05.933Z","dependency_job_id":null,"html_url":"https://github.com/datnguye/snowbim","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/datnguye/snowbim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datnguye%2Fsnowbim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datnguye%2Fsnowbim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datnguye%2Fsnowbim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datnguye%2Fsnowbim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/datnguye","download_url":"https://codeload.github.com/datnguye/snowbim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/datnguye%2Fsnowbim/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263039381,"owners_count":23404168,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["powerbi","schema","snowflake","tabular-model"],"created_at":"2025-06-07T10:07:23.392Z","updated_at":"2025-07-01T21:32:28.886Z","avatar_url":"https://github.com/datnguye.png","language":"Python","funding_links":["paypal.me/datnguyenit09"],"categories":[],"sub_categories":[],"readme":"# snowbim\n[![CircleCI](https://circleci.com/gh/datnguye/snowbim.svg?style=svg)](https://github.com/datnguye/snowbim#readme)\n\nThis is to do something awesome between snowflake database and Power BI tabular model file (.bim).\n\nThose are:\n* Refresh tables (key: name)\n* Refresh table's columns (key: name)\n* Refresh table's partitions (key: power-query or name)\n\nSupported Models:\n* Compatibility Level: 1550\n* Default Power BI Data Source Version: powerBI_V3\n\nWe make use of [dbt (data build tool)'s profile](https://docs.getdbt.com/dbt-cli/configure-your-profile) to configure the Snowflake connection.\n\u003e Therefore, PLEASE MAKE SURE you've already managed to create 1 dbt profiles.yml file.\n\nInstallation:\n```\npython -m pip install snowbim --upgrade\n\n# dependencies\npython -m pip install snowflake-connector-python[pandas]\n\n# check version\npython -m snowbim --version\n```\n\n\n## Usage\n```\npython -m snowbim --help\n```\n\nIf you don't use --profile-dir argument, by default, it will look for profiles.yml in the user home folder:\n* Windows:  %userprofile%/.dbt/profiles.yml\n* Linux:    ~/.dbt/profiles.yml\n\nSample commands:\n* To create new model.bim file:\n```\npython -m snowbim --bim \"/path/to/model.bim\" --db \"YOUR_SF_DB_NAME\" --schema \"YOUR_SF_SCHEMA_NAME\"\n# model.bim will be created after above command\n```\n\n* To upgrade existing model.bim file:\n```\npython -m snowbim --bim \"/path/to/model.bim\" --db \"YOUR_SF_DB_NAME\" --schema \"YOUR_SF_SCHEMA_NAME\"\n# model.bim will be overidden after above command\n```\n\n* To upgrade existing model.bim file but output to a new model_upgrade.bim file:\n```\npython -m snowbim --bim \"/path/to/model.bim\" --out \"/path/to/model_upgrade.bim\" --db \"YOUR_SF_DB_NAME\" --schema \"YOUR_SF_SCHEMA_NAME\"\n# model_upgrade.bim will be created after above command\n```\n\n\u003e NOTE: If schema is up-to-date, .bim file will not be created or modified.\n\n\n## Development Enviroment\nVirtual enviroment:\n```\npython -m venv env\n```\n\nActivate virtual env:\n```\nWindows: \t.\\env\\Scripts\\activate\nLinux:\t\tsource env/bin/activate\n```\n\nInstall dependencies:\n```\npip install -r requirements.txt\n```\n\n\n## TODO:\n* Adding schema list\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatnguye%2Fsnowbim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatnguye%2Fsnowbim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatnguye%2Fsnowbim/lists"}