Conversation
|
Can you share the code sample in the PR? (Trouble accessing link, and discussion should be here) |
|
@vaimdev @DataBoyTX This looks strange from a dev UX layer, afaict: DemoIf I understand correctly, the below is the intended setup: cell 1: clear_output()
graphistry.databricks_sso_login_init()cell 2: clear_output()
graphistry.databricks_sso_login(server="test-2-40-74-dbt.grph.xyz", org_name="louiedev")cell 3: clear_output()
graphistry.databricks_sso_wait_for_token()cell 4: g.plot()DiscussionI understand wanting new underlying primitives, but how to expose it to users should be minimal, clean, integrated, smart defaults, etc
Examples of a two-cell: |
|
This PR should also include sample ipynb + docs updates. Sounds like we need to iterate first on interface definitions tho. The current is https://pygraphistry.readthedocs.io/en/latest/demos/demos_databases_apis/databricks_pyspark/graphistry-notebook-dashboard.html Maybe dashboards or auth should split out? |
graphistry/pygraphistry.py
Outdated
| class DatabricksHelper(): | ||
|
|
||
| @staticmethod | ||
| def sso_repeat_get_token(repeat, wait): |
There was a problem hiding this comment.
public methods should have .rst-friendly docstrs
There was a problem hiding this comment.
also, we're trying to make all new code mypy-typed
There was a problem hiding this comment.
ok, noted. I will add them in.
4 cells instead of 2, mainly because each cell will only display the output at the end of running of 1 cell. Previously, there are a few logic written into 1 cell and the output only be displayed after the cell is run which make the messages looks strange,
clear_output() is not necessary, can be removed.
Mainly for databricks dashboard but tested in both databricks notebook and databricks dashboard. |
graphistry/pygraphistry.py
Outdated
| try: | ||
| PyGraphistry.refresh() | ||
| except Exception: | ||
| pass |
There was a problem hiding this comment.
this error case handling may need thinking?
graphistry/pygraphistry.py
Outdated
| def databricks_sso_login_init(wait=20): | ||
| from IPython.display import display, HTML, clear_output | ||
|
|
||
| def init_login(wait): |
|
suggestion from Leo: Show a message on Graphistry server, when SSO login from pygraphistry |
…ich originally just a refresh()
… will be displayed.
|
@vaimdev FYI ci lint issues |
Yes, noted, added some debugging code, now it is done and cleaning up code. |
|
Loom videos to demo the changes Databricks Notebook Log in - https://www.loom.com/share/2313bb86ef454a9f9d55c1535c785457?sid=42f46537-f726-4a89-a98d-96f762e0cf51 Dashboard |
graphistry/pygraphistry.py
Outdated
| @staticmethod | ||
| def sso_repeat_get_token(repeat: int = 20, wait: int = 5): | ||
| """ Function to repeatly call to obtain the jwt token after sso login | ||
| Function to obtain the JWT token after SSO login |
There was a problem hiding this comment.
@sabizmil can you check all public method docstr as these show up in the readthedocs?
Spelling, grammar, docstr types, and examples, following format of the rest
There was a problem hiding this comment.
Updated in the latest commit
sabizmil
left a comment
There was a problem hiding this comment.
Left comments with updated message content.
|
@vaimdev @sabizmil @DataBoyTX i'm updating |
@lmeyerov , my side I am still updating the code with documentation with lower priority because focus on the entitlement Saas. I'll suggest you landed your cleaned up version first |
|
@vaimdev can you update from @DataBoyTX any more to do to land? this has been drifting and seems worth putting in? |
An attempt to improve UI/UX to the databricks dashboard with SSO usage
Added a few helper functions, so that the databricks dashboard can keep a simpler flow and UX.
Example databricks notebooks that utilize the new helper functions
https://dbc-ac10efa1-77c5.cloud.databricks.com/editor/notebooks/3715908489050384?o=7408253037638600#command/1247495116400904
3 pre-steps for the SSO login using the helper functions (with different cells), followed by the actual plotting python code