Skip to main content

Announcing Power BI in Jupyter notebooks

Headshot of article author Amit Shuster

We’re excited to announce the release of Power BI in Jupyter notebooks.

You can now tell compelling data stories with Power BI in Jupyter notebooks. Get your Power BI analytics in a Jupyter notebook with the new powerbiclient Python package.

The new package lets you embed Power BI reports in Jupyter notebooks easily. You’ll be able to export data from visuals in a Power BI report to the Jupyter notebook for in-depth data exploration. You can also filter the report for quick analysis or use bookmarks to apply a saved view.

You can install the Power BI Client for Jupyter from PyPI and find the open-sourced Python package and associate TypeScript widget on GitHub.

Watch our latest on-demand session – Embed actionable analytics everywhere with Power BI Embedded, for a Power BI in Jupyter notebook demo!

Embed Power BI in Jupyter GIF
For a quick peek into how to use the package in your application, check out the example below.

Install the package using pip:

pip install powerbiclient

Or if you use JupyterLab:

pip install powerbiclient
jupyter labextension install @jupyter-widgets/jupyterlab-manager

Open your notebook and add the following:

  1. Import Report class and models from the package:
    from powerbiclient import Report, models
  2. Authenticate against Power BI using Azure AD:
    # Import the DeviceCodeLoginAuthentication class to authenticate against Power BI
    from powerbiclient.authentication import DeviceCodeLoginAuthentication
    # Initiate device authentication
    device_auth = DeviceCodeLoginAuthentication()
  3. Set the workspace ID and report ID you’d like to embed:
  4. Create an instance of Power BI report and load the report to the output cell:
    report = Report(group_id=group_id, report_id=report_id, auth=device_auth)

You can also authenticate against Power BI using an embed token. To do this, pass the embed token and set the token type to Embed when creating the Power BI report instance:

report = Report(group_id=group_id, report_id=report_id, access_token=access_token, token_type=models.TokenType.Embed.value)

If you want to try this experience, you should definitely check out the demo notebook. For instructions on how to run the demo, check out the demo notebook section in the README file.

The package documentation can be found in the GitHub repository wiki.

We greatly appreciate any feedback, so we can continue to improve the integration with Jupyter notebooks. Try it out, and let us know if you have any feedback using this survey.
Power BI Embedding in Jupyter Notebooks - Get started guide