You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Add empty 'outputs' and 'execution_count' to two code cells in
sentinel_graph_examples.ipynb (cells 7 and 9). nbformat 4 requires
both keys on every code cell; nbsphinx errored with
AttributeError: outputs during RTD's sphinx-build, killing the docs
build after the pytz import was resolved upstream.
- Add azure.core.* and azure.identity to mypy.ini ignore_missing_imports.
Mirrors the existing azure.kusto.* entry. Without these, mypy 1.20
flags the 'azure.core.credentials' and 'azure.identity' imports in
sentinel_graph.py / sentinel_graph_types.py as missing stubs, failing
python-lint-types CI on every Python version.
Verified locally: ruff/mypy/pytest all green; nbformat.validate passes;
'import graphistry' loads cleanly.
Copy file name to clipboardExpand all lines: demos/demos_databases_apis/microsoft/sentinel/sentinel_graph_examples.ipynb
+12-8Lines changed: 12 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -53,17 +53,17 @@
53
53
" # personal_key_secret='YOUR_KEY_SECRET'\n",
54
54
")\n",
55
55
"\n",
56
-
"print(\"✓ Graphistry configured\")"
56
+
"print(\"\u2713 Graphistry configured\")"
57
57
]
58
58
},
59
59
{
60
60
"cell_type": "markdown",
61
61
"metadata": {},
62
-
"source": "## Discover Available Graph Instances\n\nUse `sentinel_graph_list()` to see what graph instances are available in your tenant. You only need a placeholder `graph_instance` for this call — the value is not used by the list endpoint."
62
+
"source": "## Discover Available Graph Instances\n\nUse `sentinel_graph_list()` to see what graph instances are available in your tenant. You only need a placeholder `graph_instance` for this call \u2014 the value is not used by the list endpoint."
63
63
},
64
64
{
65
65
"cell_type": "code",
66
-
"source": "g = graphistry.configure_sentinel_graph(\n graph_instance=graph_instance_name,\n credential=credential,\n response_formats=[\"Graph\"] # default; use [\"Table\", \"Graph\"] to also get raw tabular data\n)\n\nprint(f\"✓ Sentinel Graph configured for instance: {graph_instance_name}\")",
66
+
"source": "g = graphistry.configure_sentinel_graph(\n graph_instance=graph_instance_name,\n credential=credential,\n response_formats=[\"Graph\"] # default; use [\"Table\", \"Graph\"] to also get raw tabular data\n)\n\nprint(f\"\u2713 Sentinel Graph configured for instance: {graph_instance_name}\")",
67
67
"metadata": {},
68
68
"execution_count": null,
69
69
"outputs": []
@@ -83,13 +83,15 @@
83
83
" credential=credential\n",
84
84
")\n",
85
85
"\n",
86
-
"print(\"✓ Sentinel Graph configured\")"
86
+
"print(\"\u2713 Sentinel Graph configured\")"
87
87
]
88
88
},
89
89
{
90
90
"cell_type": "code",
91
91
"metadata": {},
92
-
"source": "query = \"\"\"\nMATCH (n)-[e]->(m)\nRETURN *\nLIMIT 50\n\"\"\"\n\nviz = g.sentinel_graph(query)\nprint(f\"Query returned {len(viz._nodes)} nodes and {len(viz._edges)} edges\")\n\nviz.plot()"
92
+
"source": "query = \"\"\"\nMATCH (n)-[e]->(m)\nRETURN *\nLIMIT 50\n\"\"\"\n\nviz = g.sentinel_graph(query)\nprint(f\"Query returned {len(viz._nodes)} nodes and {len(viz._edges)} edges\")\n\nviz.plot()",
0 commit comments