## Python
- [X] Naming conventions as per development standards
- [X] Summary for each method
- [X] Modularization done - Same code is not repeated across functions and files
- [X] Commented code is removed from all files
- [X] Code commenting is done properly
- [X] Methods are standalone and less error prone (i.e. does not use external(not passed as arguments or not initialized inside method definition) variables)
- [X] Used PascalCase for class names
- [X] Used lower_case words separated by underscore (snake_case) for variables and methods
- [X] Used ALL_CAPS separated by underscore for constant variables
- [X] Used one leading underscore only for internal methods and instance variables (i.e. protected)
- [ ] Used two leading underscores to denote class-private names
- [X] Used lowercase words not separated by underscore for all modules
- [X] Implemented exception handling
- [X] Used hash "#" for single/multi line comments
- [X] Used """ Some Comment """ (text encapsulated by 3 inverted commas) for DOCSTRING
- [X] DOCSTRING contains all the parameters (i.e. Summary line, Use case (if appropriate), Args, Return type and semantics, unless None is returned)
## Testing
- [X] Are the test cases executed? (Yes, kernel side test cases)
- [X] Are there 0 build errors and warnings?
Related work items: #539204, #543328
## In this PR:
- Implemented global authentication to handle multiple embedding scenarios (DeviceCodeLoginAuthentication as default)
- Implemented token refresh (expiration listener on frontend and update token on Python kernel side)
Related work items: #527715, #537725, #538182
The `export_data` is a wrapper function for the async `_export_data` method which returns the async task
Note: It currently returns a task which user need to get the result manually
Note 2: We'll raise a separate PR for test cases
Related work items: #493945, #496486
# In this PR:
- Implemented Power BI report embedding
- Added methods to:
- set report embed config (i.e. `set_embed_config()`)
- set height and width of the cell where the widget is initialized (i.e. `set_dimensions()`)
## General
|Check| Yes/No/NA |
|:------|:------:|
| Are the build scripts passing? | Yes |
| Are open errors/warning details shared with the reviewer? | NA |
| Are there 0 violations to applicable coding guidelines? | Yes |
| Does the app have a consistent exception management setup? | NA |
| Source code does not contain any commented code | Yes |
| Is testing performed and results captured in ADO? | No |
| Are all the external packages/libraries are installed from an online package manager? | Yes |
Related work items: #475603, #483825