Skip to content
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

Add package phitigra: Graph editor that works with Jupyter #30540

Closed
slel opened this issue Sep 9, 2020 · 21 comments
Closed

Add package phitigra: Graph editor that works with Jupyter #30540

slel opened this issue Sep 9, 2020 · 21 comments

Comments

@slel
Copy link
Member

slel commented Sep 9, 2020

This ticket is about providing the graph editor https://pypi.org/project/phitigra, which works in Jupyter (Jupyter Notebook and JupyterLab).

This is part of

Related:

CC: @boothby @jasongrout @qed777 @nthiery @nvcleemp @rbeezer @rkirov @rlmill @slel @williamstein @zerline @jcamp0x2a @jfraymond @dimpase @dcoudert

Component: user interface

Keywords: graph_editor

Author: Matthias Koeppe

Branch: aca5732

Reviewer: David Coudert

Issue created by migration from https://trac.sagemath.org/ticket/30540

@slel slel added this to the sage-9.2 milestone Sep 9, 2020
@slel
Copy link
Member Author

slel commented Sep 9, 2020

comment:1

I cc-ed a lot of people who have had historical involvement with this topic.

If you mind, email me to un-cc you (un-cc-ing yourself would have the
opposite effect of subscribing you forever to updates on this ticket).

@slel

This comment has been minimized.

@slel
Copy link
Member Author

slel commented Sep 9, 2020

comment:2

And if I forgot someone who wanted to be cc-ed, it's easy: just cc yourself.

@nthiery
Copy link
Contributor

nthiery commented Sep 9, 2020

comment:3

Candidates could be francy, bqplot, networkx+matplotlib.
A promising one:

https://blog.jupyter.org/interactive-graph-visualization-in-jupyter-with-ipycytoscape-a8828a54ab63

@nvcleemp
Copy link
Member

comment:4

Some nice features would be:

  • ability to disable any automatic layouting: not as annoying as an editor that keeps moving vertices while you're trying to construct a complicated graph
  • ability to have a layout-only mode: if you have a graph, you might want to change the layout without accidentally changing the graph structure

Probably some more, but these are the first two I could think of.

@slel
Copy link
Member Author

slel commented Sep 10, 2020

comment:5

Replying to @nvcleemp:

Some nice features would be:

  • ability to disable any automatic layouting: not as annoying as an editor that keeps moving vertices while you're trying to construct a complicated graph
  • ability to have a layout-only mode: if you have a graph, you might want to change the layout without accidentally changing the graph structure

Probably some more, but these are the first two I could think of.

The "CS academy" graph editor (not sure about the license -- I'm asking them)
has those features. There's a button "Force" to let some force reshape the graph,
and buttons "Draw", "Edit", "Delete", "Config" that stop the movement to let
the user edit the graph. There's also a text column on the left where one can
manually edit the graph vertices and edges.

@slel

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Oct 24, 2020
@mkoeppe
Copy link
Contributor

mkoeppe commented Feb 13, 2021

comment:9

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@jfraymond
Copy link

comment:10

Hello,

I just see this ticket.
Last year I started to (occasionally) develop a graph editor for sage using ipycanvas and ipywidgets, that can be found in the following repository:
https://gitlab.limos.fr/jfraymon/phitigra

It is not completely finished (and the code could/will be improved) but it is functional: one can draw a graph and export it, zoom in/out, change vertex colors, use layout algorithms, etc.

I did not make a ticket here to include it in sage because it depends on external libraries (ipycanvas and ipywidgets) and I thought it would be annoying to review (also it is still work in progress).

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 14, 2021
@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 30, 2022

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 30, 2022

Commit: aca5732

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 30, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

aca5732build/pkgs/phitigra: New

@mkoeppe

This comment has been minimized.

@mkoeppe
Copy link
Contributor

mkoeppe commented Mar 30, 2022

Author: Matthias Koeppe

@mkoeppe mkoeppe changed the title Provide graph editor that works with Jupyter Add package phitigra: Graph editor that works with Jupyter Mar 30, 2022
@dcoudert
Copy link
Contributor

dcoudert commented Apr 2, 2022

Reviewer: David Coudert

@dcoudert
Copy link
Contributor

dcoudert commented Apr 2, 2022

comment:17

I tried to install phitigra and it works well with jupyter on safari/macOS 12.12.1. Quite easy to use to edit basic graphs.

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 2, 2022

comment:18

Thanks!

@vbraun
Copy link
Member

vbraun commented Apr 3, 2022

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 4, 2022

comment:20

Follow-up: #33639 Replace sage.graphs.graph_editor with a call to phitigra

@mkoeppe
Copy link
Contributor

mkoeppe commented Apr 4, 2022

Changed commit from aca5732 to none

@jfraymond
Copy link

comment:21

Great, thank you for this addition! I'm glad to see there is interest for my graph editor.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants