|
| 1 | +# A SageMath-based computing environment for binder |
| 2 | + |
| 3 | +.. image:: https://beta.mybinder.org/badge.svg |
| 4 | + :target: https://beta.mybinder.org/v2/gh/sagemath/sage-binder-env/master?filepath=index.ipynb |
| 5 | + |
| 6 | +This repository illustrates Binder use cases for |
| 7 | +`SageMath <http://sagemath.org>`_. |
| 8 | + |
| 9 | +.. TOPIC:: What is `Binder <http://mybinder.org>`_? |
| 10 | + |
| 11 | + Have a repository full of Jupyter notebooks? With `Binder |
| 12 | + <http://mybinder.org>`_, you can add a badge that opens those |
| 13 | + notebooks in an executable environment, making your code |
| 14 | + immediately reproducible by anyone, anywhere. |
| 15 | + |
| 16 | +.. TOPIC:: What is `SageMath <http://sagemath.org>`_? |
| 17 | + |
| 18 | + A general purpose, community developed open source software for |
| 19 | + computational mathematics. |
| 20 | + |
| 21 | +## Demo notebooks |
| 22 | + |
| 23 | +This repository provides some simple live demos for SageMath and other |
| 24 | +software included in the SageMath distribution. |
| 25 | + |
| 26 | +- `index.ipynb`_: starter notebook / brief SageMath demo |
| 27 | +- `demo-gap.ipynb`_: brief GAP demo |
| 28 | +- `demo-pari.ipynb`_: brief Pari/GP demo |
| 29 | +- `demo-singular.ipynb`_: brief Singular demo |
| 30 | + |
| 31 | +.. TODO:: |
| 32 | + |
| 33 | + Develop a collection of striking demo notebooks, and link from |
| 34 | + `http://sagemath.org/`. |
| 35 | + |
| 36 | +## Example of binder-enabled repository for SageMath |
| 37 | + |
| 38 | +Have a repository full of Jupyter notebooks using SageMath? It's easy |
| 39 | +to setup Binder to let anyone run them. Just copy the short |
| 40 | +`Dockerfile`_ from this repository, and adapt it to your needs. You |
| 41 | +probably also want to insert the Binder badge in your `README`. |
| 42 | + |
| 43 | +## Computing backend for live documents (Thebe) |
| 44 | + |
| 45 | +Have HTML pages (e.g. documentation) containing chunks of Sage code? |
| 46 | +With `Thebe <https://github.com/minrk/thebelab>`_, it's easy to turn |
| 47 | +them into live code cells that will use Binder and the executable |
| 48 | +environment defined by this repository. |
| 49 | + |
| 50 | +See for example this |
| 51 | +<a href="https://minrk.github.io/thebelab/prompts.html">Thebe example</a>. |
| 52 | + |
| 53 | +For the Sphinx-generated documentation of a SageMath based project, |
| 54 | +you can use the Sphinx extension provided by the |
| 55 | +`Sage package authoring utilities <https://github.com/sagemath/sage-package>`_. |
| 56 | +For an example, see |
| 57 | +`short graphics demo <http://more-sagemath-tutorials.readthedocs.io/en/latest/mocksage/plot/demo.html>`_ |
| 58 | +of |
| 59 | +`More SageMath tutorials <http://more-sagemath-tutorials.readthedocs.io/>`_; |
| 60 | +and click `Activate`. |
| 61 | + |
| 62 | +Note: `Thebe` is similar in principle to `SageMath Cell <http://sagecell.sagemath.org/>`_. |
| 63 | +It introduces additional flexibility by enabling the customization of |
| 64 | +the programming language (kernel), computing backend (e.g. local |
| 65 | +Jupyter server, ...) and executable environment (e.g. via Binder). |
| 66 | +It also targets a much broader community, with the potential to |
| 67 | +relieve the SageMath community from maintaining a custom solution. |
| 68 | +On the other hand it's still relatively recent and quickly evolving |
| 69 | +technology with less settled sustainability. |
| 70 | + |
| 71 | +## Authors |
| 72 | + |
| 73 | +Nicolas M. Thiéry |
| 74 | + |
| 75 | +The demo notebooks for GAP, Singular, and Pari were written by the |
| 76 | +authors of the respective kernels. See the |
| 77 | +[report on their implementation](https://github.com/OpenDreamKit/OpenDreamKit/tree/master/WP4/D4.4). |
| 78 | + |
| 79 | +Contributions most welcome! |
0 commit comments