Giter VIP home page Giter VIP logo

sage-binder-env's Introduction

A Binder repo for SageMath computing environment

This repository is a Binder repo based on SageMath. To access a computing environment created by Binder using SageMath kernel, click on this badge

image

An example Binder repo for SageMath

Have a repository full of Jupyter notebooks using SageMath? It's easy to set up Binder to let anyone run them. Just fork this repo, put your notebooks in the notebooks directory, and modify this README.rst to your needs. In particular, you probably want to modify this line:

:target: https://mybinder.org/v2/gh/...

with ... filled with the name of your forked repo. This makes the Binder badge use your repo to create the computing environment.

Extending the Dockerfile

The Dockerfile is based on the Docker image:

FROM ghcr.io/sagemath/sage-binder-env:10.3

which contains the latest stable version of Sage.

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.

Authors

Nicolas M. Thiéry, E. Madison Bray, and Kwankyu Lee

sage-binder-env's People

Contributors

kwankyu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sage-binder-env's Issues

Available Kernels

I note that I can use SageMath 8.9, and request it in Dockerfile to run a notebook from CoCalc, but then the user still has to manually select the kernel on binder launch. I did not find out how to launch a notebook with octave kernel.

It might be useful to desccribe in ReadMe what are the available kernels and how they are to be requested in Dockerfile

Fix image building via conda on mybinder

I was curious to see whether the new conda package for Sage would enable the deployement of SageMath Jupyter notebooks on mybinder. That would be a really cool feature.

It seems to go a long way. However building the mybinder image currently fails during the installation of conda packages:

Taken from: http://mybinder.org/status/nthiery/test-binder-sage:

sage-7.5.1-np1 100% |###############################| Time: 0:00:00 5.78 MB/s
sage-7.5.1-np1 100% |###############################| Time: 0:00:00 4.40 MB/s
sage-7.5.1-np1 100% |###############################| Time: 0:00:00 3.46 MB/s
Extracting packages ... [ ]| | 0% [bdw-gc ]| | 0% [cliquer ]| | 1% [fftw ]|# | 2% [gf2x ]|# | 3% [gmp ]|## | 5% [gsl ]|### | 6% [jpeg ]|### | 7% [libgcc ]|#### | 8% [lrcalc ]|##### | 10% [nauty ]|##### | 11% [openssl ]|###### | 12% [perl ]|###### | 13% [planarity ]|####### | 15% [rw ]|######## | 16%
An unexpected error has occurred, please consider sending the following traceback to the conda GitHub issue tracker at: https://github.com/conda/conda/issues
Include the output of the command 'conda info' in your report.
Traceback (most recent call last):
File "/home/main/anaconda2/bin/conda-env", line 6, in
sys.exit(main()) File "/home/main/anaconda2/lib/python2.7/site-packages/conda_env/cli/main.py", line 68, in main
return args_func(args, parser)
File "/home/main/anaconda2/lib/python2.7/site-packages/conda/cli/main.py", line 146, in args_func
args.func(args, p)
File "/home/main/anaconda2/lib/python2.7/site-packages/conda_env/cli/main_create.py", line 100, in execute
installer.install(prefix, pkg_specs, args, env)
File "/home/main/anaconda2/lib/python2.7/site-packages/conda_env/installers/conda.py", line 17, in install
plan.execute_actions(actions, index, verbose=not args.quiet) File "/home/main/anaconda2/lib/python2.7/site-packages/conda/plan.py", line 539, in execute_actions
inst.execute_instructions(plan, index, verbose)
File "/home/main/anaconda2/lib/python2.7/site-packages/conda/instructions.py", line 149, in execute_instructions
cmd(state, arg) File "/home/main/anaconda2/lib/python2.7/site-packages/conda/instructions.py", line 63, in EXTRACT_CMD
install.extract(config.pkgs_dirs[0], arg)
File "/home/main/anaconda2/lib/python2.7/site-packages/conda/install.py", line 485, in extract
t.extractall(path=path) File "/home/main/anaconda2/lib/python2.7/tarfile.py", line 2078, in extractall
self.extract(tarinfo, path) File "/home/main/anaconda2/lib/python2.7/tarfile.py", line 2115, in extract
self._extract_member(tarinfo, os.path.join(path, tarinfo.name))
File "/home/main/anaconda2/lib/python2.7/posixpath.py", line 73, in join
path += '/' + bUnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 15: ordinal not in range(128)
could not build image nthiery-test-binder-sage: Error: build failed for imageName: nthiery-test-binder-sage
registering template for nthiery-test-binder-sage

Any clue?

cc: @embray

Embedded Videos not shown

A youtube video embedded into a markdown cell in a Jupyter Notebook in Cocalc is not shown when displayed in Binder. It is shown in Cocalc and in the static nbviewer page.
Also other pages embedded through iframes are shown as blankframes with an empty html document as content.

Unable to install a package

I tried to install a package, sirocco, and I got this.

Step 17/24 : RUN /sage/sage -i sirocco
 ---> Running in 8c950112eff7
/sage/src/bin/sage: line 226: /sage/build/bin/sage-site: No such file or directory

After commenting the line of installing I checked that the folder build does not exist. Without installing the package, it works really nice and fast. Best, Enrique

Use binder for reviewing trac tickets

I have been working on enabling CircleCI/GitLabCI in the sagemath repository. As one application, I am now playing with automatically setting up sage-binder-env branches from CI for every build. My idea is that this could allow people to include a "launch on binder" badge on trac tickets so that code changes can be tried out by reviewers without actually having to build the code.
Have you considered such an application? What do you think about it?

ThreeJS and JSMol nbextensions give 404

Reported by @marcinofulus. When plotting in 3d, these urls (and possibly more) give 404s:

  • /hub/nbextensions/threejs/three.min.js
  • /hub/nbextensions/threejs/OrbitControls.js
  • '/hub/nbextensions/jsmol/JSmol.min.js`

The files seem to be correctly symlinked in /home/sage/sage/local/share/jupyter/nbextensions/, I haven't had time to debug yet.

ThreeJS seems to have the same problem in the SageMath version packaged for Debian/Ubuntu (JSmol is not available in Debian).

Change default branch to main

@dimpase

Hi Dima,

I added workflows that automatically (every day) updates the Dockerfile to use the latest (stable and develop) version of Sage.

As we refresh this repo, I thought changing the default branch name from "master" to "main" fits the trend. I added a new branch "main", which is the same with the master branch except the name.

So I suggest to change the default branch to "main". I don't have right to do that. If you disagree, it is okay too, just let me know.

Thanks for your attention.

Sagemath and binder do not work together (neither docker nor conda)

I made several tries to work with sagemath and mybinder with no success:

  • Docker with sagemathinc/cocalc:latest used to work, it does not any more for me.
  • Tried also with cocalc-lite, same thing.
    In both cases basically the same error as in this post
    I tried the conda approach both the tests and one of my repos (not explained in the readme, just disable docker file and copy environment.yml. In this case binder session is opened but sage kernel is not connected. Running sage in the terminal gives the error in this other post.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.