Dear Sage developers, At the AIM/ICMS workshop ``Online databases: from L-functions to combinatorics'' last week, Jason Bandlow and myself had fun writing a prototype for a simple LMFDB-style web application allowing to explore Sage. There it is!
Sage Explorer ------------- Sage Explorer is a tool for exploring Sage objects and connections between them. It displays a Sage object, some relevant information about this object, and links to related objects (those that can be obtained using a method of the object). One central feature of the tool is to make it easy to configure which piece of information is relevant, typically depending on the semantic of the object. https://github.com/jbandlow/sage-explorer https://explore.sagemath.org (some day) You can find some screen shots of Sage Explorer in action at: https://github.com/jbandlow/sage-explorer/wiki/Screenshots How to install and run it ------------------------- You need Sage installed (http://sagemath.org). Then, in any directory of your choice, run the following shell commands: git clone https://github.com/jbandlow/sage-explorer.git cd sage-explorer sage -python sage_explorer and connect to the URL that is mentioned (typically http://127.0.0.1:5000/) WARNING: AT THIS POINT NO STEP HAS BEEN TAKEN TOWARD SECURITY By choosing appropriate url's, the user can trivially run any sage command -- and in particular any shell command -- on the server under the web server's uid. Use locally or at your own risks. Motivation for this prototype ----------------------------- The purpose was to evaluate whether such a tool could be written as a thin view layer above Sage, and how much the semantic information available in Sage was useful and sufficient for that purpose. Implementation -------------- Sage Explorer is currently implemented as a standalone flask web-site. It indeed a thin layer: 300 lines of infrastructure code, 150 lines of html jinja templates, 60 lines of config. As desired, the infrastructure is completely generic and allows for exploring any Sage object. The object-dependent configuration (what are the important properties that should be displayed) is quite concise, and does not depend on the rendering detail (no html). It actually could be used as is to build an heavy weight application instead of a web interface. The only prerequisite for a contributer to expand it is to know the mathematics of the object to be displayed and how to call the appropriate Sage commands to compute its properties. Future ------ The two authors are unlikely to lead further development of this tool, since they don't have a strong need for it themselves. If you think this is useful, patches and take overs are more than welcome! We have set up developers mailing list: sage-explorer-...@googlegroups.com The most urgent feature would be to use, say, the single-cell server as backend to handle the security and then run it publicly, typically on http://explore.sagemath.org/. For more, see the TODO file in the git repository. Enjoy your exploration! Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en. For more options, visit https://groups.google.com/groups/opt_out.