All Projects → sagemath → sage-binder-env

sagemath / sage-binder-env

Licence: GPL-2.0 License
A SageMath-based computing environment for binder

Programming Languages

Jupyter Notebook
11667 projects

Projects that are alternatives of or similar to sage-binder-env

mercury
Mercury - data visualize and discovery with Javascript, such as apache zeppelin and jupyter
Stars: ✭ 29 (+70.59%)
Mutual labels:  jupyter, notebook
python ml tutorial
A complete tutorial in python for Data Analysis and Machine Learning
Stars: ✭ 118 (+594.12%)
Mutual labels:  jupyter, notebook
observable-jupyter
Embed visualizations and code from Observable notebooks in Jupyter
Stars: ✭ 27 (+58.82%)
Mutual labels:  jupyter, notebook
Applied Reinforcement Learning
Reinforcement Learning and Decision Making tutorials explained at an intuitive level and with Jupyter Notebooks
Stars: ✭ 229 (+1247.06%)
Mutual labels:  jupyter, notebook
colab-badge-action
GitHub Action that generates "Open In Colab" Badges for you
Stars: ✭ 15 (-11.76%)
Mutual labels:  jupyter, notebook
Beakerx
Beaker Extensions for Jupyter Notebook
Stars: ✭ 2,594 (+15158.82%)
Mutual labels:  jupyter, notebook
docker-stacks
Ready-to-run Docker images containing Jupyter applications
Stars: ✭ 6,573 (+38564.71%)
Mutual labels:  jupyter, notebook
Awesome Jupyterlab Extension
😎 A curated list of awesome Jupyterlab extension projects. 🌠 Detailed introduction with images.
Stars: ✭ 198 (+1064.71%)
Mutual labels:  jupyter, notebook
2021 course dev-rougier
NumFocus Academy - Matplotlib (beginner)
Stars: ✭ 54 (+217.65%)
Mutual labels:  jupyter, notebook
biojupies
Automated generation of tailored bioinformatics Jupyter Notebooks via a user interface.
Stars: ✭ 96 (+464.71%)
Mutual labels:  jupyter, notebook
Jupyterlab templates
Support for jupyter notebook templates in jupyterlab
Stars: ✭ 223 (+1211.76%)
Mutual labels:  jupyter, notebook
dmind
jupyter notebook 的思维导图插件
Stars: ✭ 21 (+23.53%)
Mutual labels:  jupyter, notebook
Paperboy
A web frontend for scheduling Jupyter notebook reports
Stars: ✭ 221 (+1200%)
Mutual labels:  jupyter, notebook
Ipython
Official repository for IPython itself. Other repos in the IPython organization contain things like the website, documentation builds, etc.
Stars: ✭ 15,107 (+88764.71%)
Mutual labels:  jupyter, notebook
Best Of Jupyter
🏆 A ranked list of awesome Jupyter Notebook, Hub and Lab projects (extensions, kernels, tools). Updated weekly.
Stars: ✭ 200 (+1076.47%)
Mutual labels:  jupyter, notebook
ipychart
The power of Chart.js with Python
Stars: ✭ 48 (+182.35%)
Mutual labels:  jupyter, notebook
Signals And Systems Lecture
Continuous- and Discrete-Time Signals and Systems - Theory and Computational Examples
Stars: ✭ 166 (+876.47%)
Mutual labels:  jupyter, notebook
Pixiedust node
Jupyter magic to allow Node.js code to run in a notebook
Stars: ✭ 177 (+941.18%)
Mutual labels:  jupyter, notebook
Hello-Kaggle-Guide-KOR
Kaggle을 처음 접하는 사람들을 위한 문서
Stars: ✭ 140 (+723.53%)
Mutual labels:  jupyter, notebook
pytest-notebook
A pytest plugin for regression testing and regenerating Jupyter Notebooks
Stars: ✭ 35 (+105.88%)
Mutual labels:  jupyter, notebook

A SageMath-based computing environment for binder

This repository illustrates Binder use cases for SageMath.

What is Binder?

Have a repository full of Jupyter notebooks? With Binder, you can add a badge that opens those notebooks in an executable environment, making your code immediately reproducible by anyone, anywhere.

What is SageMath?

A general purpose, community developed open source software for computational mathematics.

Demo notebooks

This repository provides some simple live demos for SageMath and other software included in the SageMath distribution.

TODO

Develop a collection of striking demo notebooks, and link from http://sagemath.org/, maybe as try.sagemath.org.

Examples of binder-enabled repository for SageMath

Have a repository full of Jupyter notebooks using SageMath? It's easy to setup Binder to let anyone run them. Just copy the short Dockerfile from this repository, and adapt it to your needs. You probably also want to insert the Binder badge in your READ ME.

Examples: - Some live slides for a talk - A research paper logbook

Computing backend for live documents with Thebe

Have HTML pages (e.g. documentation) containing chunks of SageMath code? With Thebe, it's easy to turn them into live code cells that will use Binder and the executable environment defined by this repository.

See this Thebe example.

For the Sphinx-generated documentation of a Sage based project, you can use the Sphinx extension provided by the Sage package authoring utilities. For an example, see this demo page, and click Activate.

Note: Thebe is similar in principle to SageMath Cell. It introduces additional flexibility by enabling the customization of the programming language (kernel), computing backend (e.g. local Jupyter server, ...) and executable environment (e.g. via Binder). It also targets a much broader community, with the potential to relieve the SageMath community from maintaining a custom solution. On the other hand it's still relatively recent and quickly evolving technology with less settled sustainability. Also the SageMath Cell has been optimized to be more reactive on startup and reduceapt resource consumption. Those optimizations have not yet been ported to Thebe+binder.

See also thebe.rst for additional reader-oriented notes.

Extending the sagemath Docker image

The sample Dockerfile in this repository is based on the official sagemath/sagemath Docker image. It includes Sage itself, and all the software packages typically included in a standard Sage installation, though not everything (in particular not optional Sage SPKGs, or other system software packages).

So in order to install additional Sage SPKGs it is possible to include a line like:

RUN sage -i <spkg-name>

in the Dockerfile. Note, due to a current shortcoming in the official Docker image it is also necessary to install the make system package before running sage -i. See the next section.

Installing additional system packages

To add additional software packages a couple more steps are involved, albeit relatively simple. The thing to understand about the sagemath/sagemath image is that by default it puts you in a user called sage, so in order to install system packages it is necessary, when extending the image, to first switch back to the root user. Then, because the image is based on Ubuntu, the apt-get command can be used to install Ubuntu packages. The canonical way to do this in a Dockerfile involves updating the APT cache, installing the packages, and then cleaning up the APT cache again all within a single command (this is in order to keep cache files out of the image):

USER root
RUN apt-get -qq update \
 && apt-get -qq install -y --no-install-recommends <packages-to-install> \
 && apt-get -qq clean
USER sage

Finally, just make sure toward the end of the Dockerfile that you switch the image user back to sage (so that when users run the container they are not running it as root.

Authors

Nicolas M. Thiéry E. Madison Bray

The demo notebooks for GAP, Singular, and Pari were written by the authors of the respective kernels. See the report on their implementation.

Contributions most welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].