-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor show graph, allow for explicit calling of formats, add interactive widget for Jupyter #176
base: main
Are you sure you want to change the base?
Conversation
5118db8
to
87923c7
Compare
It takes longer to create the graph widget, but once created, it renders much faster. Using the 16 bit nand computer as an example "large" graph, Preview has issues showing the png, whereas the widget displays it fluidly. Note that the blurring and tearing is NOT gif recording artifacts, but due to Preview. During the mouse shaking, Preview is frozen (the spinning pinwheel is displayed but doesn't show on the recording). |
723d2bc
to
c1d7eae
Compare
b4b4cb0
to
ae89775
Compare
Note that I'm planning on moving this to daggre so that we can use the interactive visualization outside of Jupyter. |
csp/showgraph.py
Outdated
image.show() | ||
|
||
|
||
def show_graph_graphviz(graph_func, *args, graph_filename=None, interactive=False, **kwargs): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
interactive is unused
…active widget for jupyter Signed-off-by: Tim Paine <[email protected]>
ec7ef09
to
25df545
Compare
…via graphviz by default Signed-off-by: Tim Paine <[email protected]>
25df545
to
0ed0c52
Compare
As per title.
Allows for explicit calling of:
show_graph_pil
show_graph_graphviz
Adds:
show_graph_widget
: uses ipydagred3 which was written explicitly for use withcsp
Modifies:
show_graph
to check if in Jupyter, and if so, either use the new widget display or return theDigraph
for inline viewingA small unrelated change is included: Replacing base
Exception
insymphony.py
andprofiler.py
withRuntimeError
andModuleNotFoundError
, respectively.