{"id":13706260,"url":"https://github.com/pbi-tools/pbi-tools","last_synced_at":"2025-05-05T20:30:49.049Z","repository":{"id":38080299,"uuid":"268323791","full_name":"pbi-tools/pbi-tools","owner":"pbi-tools","description":"Power BI DevOps \u0026 Source Control Tool","archived":false,"fork":false,"pushed_at":"2025-03-06T10:17:04.000Z","size":16216,"stargazers_count":340,"open_issues_count":159,"forks_count":62,"subscribers_count":23,"default_branch":"main","last_synced_at":"2025-03-06T11:25:56.612Z","etag":null,"topics":["dataops","devops","pbix","power-bi","source-control"],"latest_commit_sha":null,"homepage":"https://pbi.tools/cli","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pbi-tools.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["pbi-tools"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"lfx_crowdfunding":null,"custom":null}},"created_at":"2020-05-31T16:55:24.000Z","updated_at":"2025-03-06T10:17:04.000Z","dependencies_parsed_at":"2024-07-23T17:36:31.990Z","dependency_job_id":"6cbbd12e-0e52-41ec-be84-46de907a2e81","html_url":"https://github.com/pbi-tools/pbi-tools","commit_stats":null,"previous_names":[],"tags_count":52,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbi-tools%2Fpbi-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbi-tools%2Fpbi-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbi-tools%2Fpbi-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pbi-tools%2Fpbi-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pbi-tools","download_url":"https://codeload.github.com/pbi-tools/pbi-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252570885,"owners_count":21769742,"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":["dataops","devops","pbix","power-bi","source-control"],"created_at":"2024-08-02T22:00:53.636Z","updated_at":"2025-05-05T20:30:49.044Z","avatar_url":"https://github.com/pbi-tools.png","language":"C#","funding_links":["https://github.com/sponsors/pbi-tools"],"categories":["C# #"],"sub_categories":[],"readme":"# pbi-tools\n\n![ci.yml](https://github.com/pbi-tools/pbi-tools/actions/workflows/CI.yml/badge.svg)\n\n`pbi-tools` is a command-line tool bringing source-control features to Power BI. It works alongside Power BI Desktop and enables mature enterprise workflows for Power BI projects.\n\nAn example project is available here: \u003chttps://github.com/pbi-tools/adventureworksdw2020-pbix\u003e\n\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/pbi-tools/pbi-tools)](https://github.com/pbi-tools/pbi-tools/releases/latest)\n[![Twitter Follow](https://img.shields.io/twitter/follow/mthierba)](https://twitter.com/mthierba) [![Join the chat at https://gitter.im/pbi-tools/general](https://badges.gitter.im/pbi-tools/general.svg)](https://gitter.im/pbi-tools/general?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n- Twitter Hashtag: [#pbitools](https://twitter.com/search?q=%23pbitools\u0026src=typed_query)\n\n## User Notes\n\n- See \u003chttps://pbi.tools/cli/\u003e\n\n## Developer Notes\n\n### Build System\n\n- All build targets are implemented using [FAKE](https://fake.build/).\n- Dependencies are managed using [Paket](https://fsprojects.github.io/Paket/).\n- Main entry point for all build tasks is `.\\build.cmd`.\n- The [fake-cli](https://fake.build/fake-commandline.html) tool is installed as a [local .NET Core Tool](https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools#install-a-local-tool), see [.config\\dotnet-tools.json](./.config/dotnet-tools.json). The `build.cmd` script handles the tool installation.\n\n### Prerequisites\n\n- Visual Studio 2022 17.2 or later (for MSBuild dependencies), incl C# 11 Preview\n- .Net 4.7.2 Targeting Pack\n- .Net 9.0 SDK\n- Power BI Desktop x64 (Must be installed in default location for local development: `C:\\Program Files\\Microsoft Power BI Desktop\\`)\n\n### List Build Targets\n\n    dotnet fake build --list\n\nSimply running the build script without any arguments will also list the available targets.\n\nOn Windows:\n\n    ./build.cmd\n\nOn Linux:\n\n    ./build.sh\n\n### Versioning\n\nThe project strictly adheres to [SemVer v2](https://semver.org/) for release versioning. The build system uses the first entry in [RELEASE_NOTES.md](./RELEASE_NOTES.md) to inject version numbers into build artifacts.\n\n### Diagnostics\n\n- Log output can be controlled using the environment variable `PBITOOLS_LogLevel`.\n- Allowed values are:\n  - Verbose\n  - Debug\n  - Information\n  - Warning\n  - Error\n  - Fatal\n- The default is ***Information***, which is also effective when an unknown/invalid option has been specified.\n\n### Build\n\n    .\\build.cmd Build\n\n### Run Tests\n\n    .\\build.cmd Test\n\n### Run All Targets (Build, Publish, Test, UsageDocs, Pack)\n\n    .\\build.cmd Pack\n\n### Run only the specified build target\n\n    .\\build.cmd UsageDocs -s\n    dotnet fake build -s -t SmokeTest\n\n### Install Dependencies\n\n    dotnet paket install\n\n_That is generally not needed as the `build.cmd` script takes care of fetching dependencies. However, it could be useful to run this manually on a fresh clone or after making changes in the `paket.dependencies` file._\n\n### Update Specific Dependency to latest version (ex: AMO)\n\n    dotnet paket update Microsoft.AnalysisServices\n    dotnet paket update Microsoft.AnalysisServices.AdomdClient\n\n### Updating All Dependencies (NuGet)\n\n    dotnet paket update\n    dotnet paket update -g Fake-Build\n\n### Find outdated dependencies\n\n    dotnet paket outdated -g Main\n\n### Invoke Build script directly\n\n    dotnet fake {...}\n    dotnet fake -t Build\n    dotnet fake --version\n\n### Extract embedded sample PBIX with local build version and using default settings\n\n    .\\pbi-tools.local.cmd extract '.\\data\\Samples\\Adventure Works DW 2020.pbix'\n\n### Extract embedded sample PBIX with local build version and 'Raw' serialization mode, into custom output folder\n\n    .\\pbi-tools.local.cmd extract '.\\data\\Samples\\Adventure Works DW 2020.pbix' -extractFolder '.\\data\\Samples\\Adventure Works DW 2020 - Raw' -modelSerialization Raw\n\n### Enable Debug logging (PowerShell)\n\n    $env:PBITOOLS_LogLevel = \"Debug\"\n\n### Fast local build (no clean)\n\n    .\\build.cmd Publish -s\n    .\\build.cmd Pack -s\n\n### Invoke CI Build target locally\n\n    $env:PBITOOLS_IsLocalBuild = \"false\"\n    .\\build.cmd CI-Build\n\n## Git Submodules\n\n### Clone with submodules\n\n    git clone --recurse-submodules https://github.com/pbi-tools/pbi-tools.git\n\n### Init \u0026 Update\n\n    git submodule update --init\n\n### Pulling in Upstream Changes\n\n    git submodule update --remote\n\n### Clone specific single branch into named folder, with submodules\n\n    git clone -b Release/1.0.0-beta.9 --single-branch --recurse-submodules https://github.com/pbi-tools/pbi-tools.git ./1.0.0-beta.9\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbi-tools%2Fpbi-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpbi-tools%2Fpbi-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpbi-tools%2Fpbi-tools/lists"}