Code Monkey home page Code Monkey logo

Comments (10)

robert-dodier avatar robert-dodier commented on June 17, 2024 1

PR #45 resolves this issue.

from maxima-jupyter.

robert-dodier avatar robert-dodier commented on June 17, 2024

Tony, I think that makes a lot of sense, but unfortunately I can't promise to work on that. Is that something you want to work on? If so I encourage you to go ahead, I'll be glad to incorporate patches or pull requests as you see fit.

from maxima-jupyter.

psychemedia avatar psychemedia commented on June 17, 2024

@robert-dodier I made a quick attempt yesterday but didn't get very far. I've not had success with running the Dockerised maxima-jupyter kernels either. The whole Lisp thing, environments etc are alien to me, so even trying to figure out the simplest debugging takes time... I'll try to have another go when I get a chance... (Use context is that folk I know use Maxima in a course and are thinking about migrating to notebooks, but they want to keep on using Maxima. I was hoping to be able to run an off-the-shelf demo to show them how it might look... I'll see if they can help me get a build script running...)

from maxima-jupyter.

robert-dodier avatar robert-dodier commented on June 17, 2024

What platform are those folks using? If they are using Windows, I'm not sure what's involved in getting maxima-jupyter to run; I don't have a Windows system available to work on. But for Linux, I'm pretty sure that I've figured out how to get a working maxima-jupyter setup in a straightforward, consistent way, and we might be able to relatively easily construct a binary .deb package. (Linux + .deb or .rpm packages is what I'm familiar with -- Docker is new to me.) For MacOS, might be somewhere between Windows and Linux.

from maxima-jupyter.

psychemedia avatar psychemedia commented on June 17, 2024

I'm guessing Windows, but that's a distractor... The real aim is to have a version running on a remote, Linux based Jupyter notebook platform (something we could be running as a service under JupyterHub on a cloud host.)

If you have a Linux set-up that works from scripts, it should be easy enough (?!) to add the config files to this repo that would allow it to run using MyBinder (docs). The build process automatically inserts a Jupyter notebook server into the built image and automatically launches it when you "run" a repo on MyBinder.

Any required Linux packages listed in an apt.txt file are automatically installed, as are any required Python pip packages listed in requirements.txt. A postBuild file contains Linux command line commands that are to be run once the packages are installed.

For example, in this repo that builds a gnuplot kernel using metakernel, the build process:

  • uses a default Jupyter notebook server setup;
  • installs gnuplot from apt.txt;
  • installs matplotlib and numpy from requirements.txt;
  • builds the kernel from automatically running the setup.py file;
  • uses the postBuild file to add the kernel to the automatically installed notebook server's list of available kernels (python -m gnuplot_kernel install --user).

See other examples of Binder configs here: https://github.com/binder-examples .

One advantage of "binderising" the repo in this way is it lets folk try the kernel out at the click of a button via MyBinder; a second advantage is that they could also run it in a local docker container by simply firing off the command: jupyter repo2docker https://github.com/robert-dodier/maxima-jupyter on their own computer, assuming it's running docker.

from maxima-jupyter.

robert-dodier avatar robert-dodier commented on June 17, 2024

Thanks for the info about MyBinder. I think its feasible to binderify the maxima-jupyter installation process. The process requires a few shell commands (e.g. ./configure, make, make install to compile Maxima). How can we handle shell commands in MyBinder? Thanks for the info, I appreciate it.

from maxima-jupyter.

psychemedia avatar psychemedia commented on June 17, 2024

Shell commands can be run via the postBuild file after installs using apt.txt and requirements.txt or environment.yml. MyBinder actually uses repo2docker underneath so those docs provide more details about the naming / expected contents of config files. You can also go off-piste with a Dockerfile (docs).

from maxima-jupyter.

yitzchak avatar yitzchak commented on June 17, 2024

I just about have this solved. Still needs some cleanup before a PR and plots are currently broken. See https://mybinder.org/v2/gh/yitzchak/maxima-jupyter/binder

Also solves #9 since I had to use a Dockerfile.

from maxima-jupyter.

robert-dodier avatar robert-dodier commented on June 17, 2024

Hi Tarn, thanks a lot for working on the Dockerfile for Maxima. Seems to work as expected (except for plots as you noted) when I try the link you posted. Great work, I think this will help others a lot.

from maxima-jupyter.

yitzchak avatar yitzchak commented on June 17, 2024

Thanks for trying it out, Robert. Plots should work now. I'll try to get code highlighting to work next.

from maxima-jupyter.

Related Issues (20)

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.