Francy arose from the necessity of having a lightweight framework for building interactive graphics, generated from GAP, running primarily on the web, specially in Jupyter environments. An initial attempt to re-use XGAP and port it was made, but the lack of a standardized data exchange format between GAP and the graphics renderer, and the simplistic initial requirements of the project were the basis for the creation of a new GAP package. Take a look at Francy functionality on these Jupyter Notebooks.
Francy has potentially many applications and can be used to provide a graphical representation of data structures, allowing one to navigate through and explore properties or relations of these structures. In this way, Francy can be used to enrich a learning environment where GAP provides a library of thousands of functions implementing algebraic algorithms as well as large data libraries of algebraic objects. FrancyMonoids and SubgroupLattice are some example packages using Francy.
Francy provides an interface to draw graphics using objects. This interface is based on simple concepts of drawing and graph theory, allowing the creation of directed and undirected graphs, trees, line charts, bar charts and scatter charts. These graphical objects are drawn inside a canvas that includes a space for menus and to display informative messages. Within the canvas it is possible to interact with the graphical objects by clicking, selecting, dragging and zooming.
This package requires the GAP packages JupyterKernel, json and uuid, all of which are distributed with GAP by default. Francy requires Jupyter to be installed on your system. Please note that you need to run the installation commands from the same python version Jupyter is installed on. Currently, Francy is supported only on Jupyter Lab, if you want to use it on the old Jupyter Notebooks, please install the latest supported version: v1.2.4. In order to install or update Francy, please run the following command to download the latest version available from https://pypi.org/:
mcmartins@local:~$ pip install -U jupyterlab-francy
Francy requires a rendering package to display graphics. Francy provides by default 3 Renderers based on D3.js, Vis.js and Graphviz, for rendering the semantic model representations produced by the GAP package. The renderers can be switched at any time using the user interface, by selecting 'Settings > Renderers' in the main menu. This library is distributed both as a browser module and as a Jupyter Lab extension. This library can be used in Jupyter Lab, using the JupyterKernel and the MIME type 'application/vnd.francy+json' to render the document. Please check the JavaScript Documentation for more information.
generated by GAPDoc2HTML