Home Blog

Embed Power BI reports dashboard in Jupyter notebooks

Embed Power Bi report in Jupyter Notebook
Embed Power Bi report in Jupyter Notebook

In this Tutorials, We are going to learn how to embed PowerBI Reports on Jupyter Notebook. So first of all we will start with Basic requirement for this Task.


  1. Jupyter Notebook
  2. POWER BI Workspace
  3. Libraries :- powerbiclient, DeviceCodeLoginAuthentication, Report, models

So now will start with Jupyter Notebook

Jupyter Notebook is a web based Computing platform. It is also web applications for creating computational documentations

Installation of power BI client:-

pip install powerbiclient 

run the above installation cmd in your command prompt or Notebook to install power bi.

Authenticate to Power BI and acquire an access token

Acquire a token using Device Code flow

To authenticate users on devices or operating systems that don’t provide a web browser, device code flow let’s the user use another device such as a computer to sign in interactively.

By using the device code flow, The application follow  two-step process that for OS and designs

get_access_token() :- Get access token for OAuth2 access to MS PowerBI Shell

from powerbiclient.authentication import DeviceCodeLoginAuthentication
device_auth = DeviceCodeLoginAuthentication()
token_with_device_code = device_auth.get_access_token()

After Running Bunch of Code, we will get message to Sign in for Device Login

–        Click on the Given Link  https://microsoft.com/devicelogin & paste the code that showing on your Screen.

After Clicking on Next Button it will ask to select Microsoft Account and Click On Continue

After Signed in Microsoft Account It will display below message that means we have successfully access Power BI Shell. & make sure you don’t close the Window.

After getting the access from Microsoft We will get Device Authentication message.

After this we are ready embed Power BI Report.

Power BI report embedding widget


  • group_id string – Required. Id of Power BI Workspace
  • report_id string – Optional. Id of Power BI report. auth object – Optional. We have 3 authentication options to embed a Power BI report:
    • Access token (string)
    • Authentication object (object) – instance of Authentication Result (DeviceCodeLoginAuthentication)
    • If not provided, Power BI user will be authenticated using Device Flow authentication


  • object – Report object


After Completing Authentication

  1. Go To Power BI Workspace
  2. Click on Report that you want to Share
  3. Copy the Report and Group from the file URL and paste into Respective Values.
group_id = '2c17405e-d2d8-4293-95eb-acac4009c508’
report_id = '57dda861-7ff0-4a04-b913-39fa4e49ede0’
report = Report(group_id=group_id,report_id=report_id, auth=device_auth)

After Running this Code, you Will get your Report On Jupyter

power bi report

Now we had successfully Embedd a report into the PowerBI Workspace

What is a JWT (JSON Web Token)?

What is a JWT JSON Web Token
What is a JWT (JSON Web Token)

JWT Stands for (JSON Web Token) it a popular mechanism by which we can implementing authentication and authorization of a users in web applications, so basically in JWT token we store user data and the token expire time which will be in encrypted, It can be used in any application to authenticate users. Here’s how we can use JWT Web tokens in ReactJS application:

How Frontend and backend works with JWT Token

  • From Frontend Application we send the login credentials using login form to the backend API server.
  • Then backend API will verify the credentials passed by users exist of database, if exist then backend will generate a JWT token by storing all the user data into the token.
  • Then backend API respond the JWT token back to the frontend.
  • Now to keep user logged into the web application, we need to store the JWT token in browser local storage or as a cookie.
  • Now whenever frontend wants some data from backend, it sends JWT token with request parameter to the backend.
  • The backend verifies if the JWT token passed is valid or no, if JWT token is not expired and is valid then backend will pass the requested data back to the frontend.

Flutter Dart Fold Method to Calculate Sum, Find Smallest & Largest number in a given list

Flutter Dart fold method
Flutter Dart fold method

Hi Guy’s Welcome to Proto Coders Point. In this Flutter dart article let’s checkout How to calculate sum of array list, Find the smallest & largest number in a given list by using list fold method.

Dart fold Syntax

Future<S> fold<S>(initialValue,<function>( S previous, T element ){
// your operation here

In Flutter dart fold method, accept 2 parameters i.e. first-> initialValue & second -> a function that content 2 parameter (Previous & a element from the list). Here the previous value will be initialValue & will only change when programmer wants to & element will item from a list basically it keep changing in a loop.

Let’s Understand the Fold Method using below Examples

1. Calculate the Sum of List Element

In below code, The initial value will be first item from the list i.e. 3, Now in first loop value of sums = 3 and ele = 3 so 3+3=6, then in next iteration sums = 6 and ele = second item from the list i.e. 4, so 6 + 4 = 10, and then in third iteration value of sums get updated to sums = 10 and ele = next item i.e. ele = 5, so 10 + 5 = 15. like this the loop gets iterating until the end of the list item and we get addition of list as 18.

void main(){
  final numbers = [3,4,5,1,2];
  final sum = numbers.fold(numbers.first,(sums,ele){
   return sums + ele;
  print(sum);  // 36

2. Find the largest number in list using fold method

In below code, To find the greatest number from a given list. Here initialValue is the first item from the list and it automatically assumed a max i.e. the largest element, and ele = 3 that keep are changing on each iteration, In the loop we check if the max < ele, if true then max is set to ele and thus we get the largest number from the given list.

void main(){
  final numbers = [3,4,5,1,2,4,2,1,4,7,0];
  final largest = numbers.fold(numbers.first,(max,ele){
   if (max < ele){
     max = ele;
    return max;
  print(largest);  // 7 

3. Find the smallest number in list using fold method

In below code, To find the lowest number from a given list. Here initialValue is the first item from the list and it automatically assumed a min i.e. the smallest element, and ele = 3 that keep are changing on each iteration, In the loop we check if the min > ele, if true then min is set to ele and thus we get the smallest number from the given list.

void main(){
  final numbers = [3,4,5,1,2,4,2,1,4,7,-1];
  final smallest = numbers.fold(numbers.first,(min,ele){
   if (min > ele){
     min= ele;
    return min;
  print(smallest);  // -1

Introduction of Flutter flow

flutter flow
Now build a complete flutter using online flutter flow

You’re probably already familiar with Flutter, Google’s incredibly useful UI toolkit that has simplified the process of creating apps. FlutterFlow, a drag-and-drop interface created by two former Google engineers that makes the creation of mobile apps for both iOS and Android, was released in May 2021, making things even simpler.

Everything you need to know about Flutter Flow, including its definition, features, advantages, and cost, will be covered in this article. But first, let’s take a quick look at our favorite Flutter to provide you with some context.

What is flutter flow?

Flutter Flow is a visual development platform that allows developers and designers to build mobile and web applications without having to write code manually. It utilizes a drag-and-drop interface, allowing users to create UI elements and connect them together with data sources and events. The platform generates the Flutter code in the background, which can be exported and further customized if needed. Flutter Flow also supports collaboration, version control, and integration with other development tools.

Two former Google engineers founded Flutter Flow to serve as a third-party visual app builder for the Flutter framework. It was showcased at Google I/O and is supported by Y Combinator.


As we’ve already mentioned, FlutterFlow is a drag-and-drop mobile app development tool that runs in the browser. This implies that you don’t need to write any code in order to create amazing custom apps in less than an hour. Consider it the Wix or GoDaddy of mobile applications.

The 2.0 version of the interface, which was released at the start of October, is already available. Without giving away its features, there isn’t much more we can say, so let’s get started!


  1. UI elements and templates – You can choose from over 50 screen templates, over 40 pre-built widgets, and numerous third-party connectors (like Braintree and Google AdMob) to save time.
  2. User authentication – Integrating Firebase, Google, and Facebook logins only requires dragging a button.
  3. Development for both iOS and Android – You can simultaneously create apps for iOS and Android without writing any code.
  4. The ability to create apps without writing any code may seem obvious, but it is by far FlutterFlow’s most alluring feature.
  5. Guided troubleshooting – You can easily avoid and fix potential issues with real-time feedback and error correction.
  6. Guided troubleshooting – You can easily avoid and fix potential issues with real-time feedback and error correction.
  7. Obtain the source code You are in charge of your own work, and it’s simple to download the clear, understandable source code for your mobile application.
  8. Firebase makes it simple for you to set up data infrastructure and connect to live data, allowing you to build up and add live data to your app.

How to build Flutter App using flutterflow:

To get Flutterflow started, you’ll need the following: https://flutterflow.io/

1) Project Dashboard

2) Navigation Menu

3) UI Builder

Create project in flutter flow

Yes, you can follow these steps to create your first app in FlutterFlow:

1): Create a new project after creating an account on the FlutterFlow website (https://flutterflow.io).

2): When you are in the project, a canvas will appear on the right side of the screen, where you can drag and drop different widgets to build the user interface (UI) of your app. Pick a widget from the left-side panel and drag it onto the canvas to get started.

3): Once you’ve added a few widgets, you can customize them by selecting them and using the options in the Properties panel on the right side of the screen. You can also add new pages to your app by clicking the “Add Page” button in the top-left corner of the screen.

4): Use the Actions panel on the left side of the screen to add functionality to your app. You can include actions like going to a different page, submitting a form, or calling an API here.

5): By selecting the “Preview” button in the top-right corner of the screen, you can view a preview of your app at any time. By doing so, a new tab will open up where you can view how your app functions and appears.

6): When you’re satisfied with your app, click the “Publish” button in the top-right corner of the screen to make it public. Your app’s code will then b

e generated, which you can download or upload right away to a hosting platform.

7): Congratulations on creating your first FlutterFlow app!


Because FlutterFlow is a no-code/low-code platform, you can create apps without knowing any programming languages. However, having a basic understanding of concepts like UI design and app functionality can be useful. FlutterFlow does provide a variety of tutorials and documentation to assist you in getting started.

Project Dashboard

Project management is aided by FlutterFlow’s Dashboard page.

From this screen, you can add new projects, duplicate existing ones, and get rid of them.

flutter flow dashboard

A) : Project

Any project you’ve created on FlutterFlow can be easily accessed from here. To begin a brand-new project, click the Create Project button.

B) : Resource

You can find a number of helpful resources that can help you when creating apps in FlutterFlow by selecting th

e Resources icon. You can use video lessons to learn about any concept, and if you encounter any difficulties, feel free to use the community forum.

C) : Account

If you want to check your account information or upgrade to a different FlutterFlow Plan to get access to more features, the Account page can be helpful.

D) : Logout

You can check your account information on the Account page or upgrade to a more feature-rich FlutterFlow Plan by doing so.

Navigation Menu

The leftmost menu on your FlutterFlow project page is the Navigation Menu.

It offers navigation to pages for adding project features like the Firestore database, setting up API calls, uploading image assets, and integrating, as well as access to the project’s user interface builder and widget tree.

UI Builder

You can build and customize your app using the Flutter Flow UI Builder tab. The UI elements (also referred to as widgets) that you can use to create the layout of your app are all listed on this page.

Flutter flow project UI builder

1) It displays the user interface for a mobile device, where elements can be dropped onto the canvas to be added there.

2)  Widget :

It displays the user interface for a mobile device, where elements can be dropped onto the canvas to be added there.

3) Properties Panel :

You can modify the selected Widget’s appearance in the Properties Panel by changing elements like visibility, padding, alignment, and other widget-specific properties (e.g., Label Text of a TextField widget).

4) Toolbar :

The tool bar includes some helpful information, such as the canvas size, as well as a button labeled “Project problems” that indicates any issues brought on by the design or settings of your project.


  • There are more than 50 available templates.
  • Drag and drop visual builder functionality.
  • To enhance your app, you can use GitHub, Firebase, Open AI, and other services.
  • Software can be created from designs with ease.
  • Apps for iOS and Android can be created simultaneously.


  • No restrictions were in place.

What is FlutterFlow used for?

With FlutterFlow, you can create visual mobile apps without writing any code. It is a browser-based drag and drop interface. The most well-liked cross-platform developer framework, Google’s Flutter, is built upon by a visual builder that enables Nymbl to create apps more quickly, simply, and with less code.


The platform has a free version that you can use to get started, and it also offers premium plans that start at $12 per month.

FlutterFlow offers three different plans based on your needs and financial situation. Let’s look at them now:

Free Plan

You are able to create, preview, and operate mobile apps with the free plan. A UI builder with pre-built widgets, Firebase integration, third-party integrations, screen templates, run mode, team collaboration, and custom functions are all included.

Standard Plan

All of the features from the free FlutterFlow plan are also included in the standard plan, along with sample apps, the ability to create and download an APK, and the ability to download the source code for the mobile apps you create. This programme costs $30 per month.

Pro Plan

All of the aforementioned features, as well as unique APIs, GitHub and Codemagic integration, and the Firebase Content Manager, are included in the pro plan. This plan has a monthly fee of $70.

For you to decide whether either of the paid options is the best fit for your project, both come with a free trial.

Thanks for reading……

Have a wonderful day!!!!!!!!!

How to calculate sum of list elements in dart – flutter

Sum of Array Element in flutter Dart
Sum of Array Element in flutter Dart.

In this Flutter dart article, Let’s go through different way through which we can calculate sum of array element. In dart array are called as list, let’s checkout how to perform addition of all the elements in a given dart list.

There are many ways by which we can get sum of array element in dart i.e by using normal loop like for loop or by using dart inbuild functions.

Sum of list using dart for loop

void main(){
  final numbers = [1,4,2,3,6,4,2,1,4,5,0];
  var sum = 0;
  for(var i=0;i<numbers.length;i++){
    sum += numbers[i];

Sum addition of array element using dart forEach loop

void main(){
  final numbers = [3,4,5,1,2,4,2,1,4,7,0];
  var sum = 0;
      sum += val;

Sum of array list using reduce function

void main(){
  final numbers = [3,4,5,1,2,4,2,1,4,7,0];
  var sum = numbers.reduce((a,b)=>a+b);

Addition of all element in dart list using collection package sum function

import 'package:collection/collection.dart';

void main() {
  final numbers = [1, 150, 10, 134, 5, 8];
  var sum = numbers.sum;

Flutter Text TypeWritter Typing Animation Effect

Type Writter Text Typing Animation Effect

Hi Guy’s, Welcome to Proto Coders Point. In this Flutter Article let’s learn how to apply typewritter typing animation effect to flutter text widget.

The Typewriter text effect is an animation where a text is been typed automatically letter by letter, and it feels like the text is been typed one by one.

This kind of animation effect on text is used when you want to grab attention on your app user and make them focus on the Text that is appearing on the screen.

Video Tutorial

Flutter TypeWritter Text Effect – Source Code

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  Widget build(BuildContext context) {
    return MaterialApp(
      // Remove the debug banner
      debugShowCheckedModeBanner: false,
      title: 'Proto Coders Point',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      home: const TypeWritterText(),

class TypeWritterText extends StatefulWidget {
  const TypeWritterText({Key? key}) : super(key: key);

  State<TypeWritterText> createState() => _TypeWritterTextState();

class _TypeWritterTextState extends State<TypeWritterText> {

  int _currentIndex = 0;
  int _currentCharIndex = 0;

  final List<String> _strings = [
    "Welcome to ProtoCodersPoint.com",
    "Get Programming Solution Here",
    "And more...",

  void _typeWrittingAnimation(){
     if(_currentCharIndex < _strings[_currentIndex].length){
       _currentIndex = (_currentIndex+1)% _strings.length;
       _currentCharIndex = 0;
     setState(() {


     Future.delayed(const Duration(milliseconds: 50),(){

  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: const Text("Proto Coders Point"),
        body: Center(
          child: Container(
            padding: const EdgeInsets.all(20),
            width: double.infinity,
            child:  Align(
              alignment: Alignment.centerLeft,
              child: Text(
                style: TextStyle(
                    fontSize: 24,
                    fontStyle: FontStyle.italic,
                    fontWeight: FontWeight.bold),
        floatingActionButton: FloatingActionButton(
          onPressed: _typeWrittingAnimation,
          child: const Icon(Icons.play_arrow),
flutter text typing animation effect
flutter text typing animation effect

The logic to make text to be typed letter by letter on the screen is by using substring() method.

Here we have a function _typeWrittingAnimation, that keeps on calling itself after every milliseconds say 100 milliseconds, We have 2 integer variable _currentIndex & _currentCharIndex. The _currentCharIndex gets incremented by 1 until it is not end of the string, once the currentCharIndex reaches the end of the string,The _currentIndex is set to next List Item String in the given list.

Recommended Book