18 comments

[ 3.1 ms ] story [ 50.0 ms ] thread
CoCalc is an amazing thing they’ve also built which does real time collaborative Jupyter notebooks,

https://cocalc.com

along with full LaTeX suite, Sage of course, X11 desktops, etc. It can be deployed trivially as a container to boot.

We use it at work for debugging small snippets, e.g. "why does this loop kill performance?".

Throw in Jitsi for talking/videoing while doing that and we don't really need anything else 'enterprise'.

I switched CoCalc from using appear.in to Jitsi a few months ago (when appear.in removed similar functionality), and Jitsi has been really amazing. There were some issues with Jitsi involving using too much CPU, but they've been fixed.
thanks for CoCalc and your prolific open source work; it sets a technical, academic and moral standard to aspire to.
That's not what the ticket is about. The main part of sagemath is sagelib a python/cython library, and the ticket is about making this part pip-installable. Sagemath the whole package depends on many non-python programs and it won't ever be possible or desirable to make this all pip-installable.

OTOH we have done a ton of work making sagemath apt-get installable, and that works since about 2 years ago.

Ah, I think I understand... Thanks for clarifying. I'm used to thinking of Sage as the thing that does `from sage.all import ...` But I also understand that there are lots of things in Sage relying on libraries like GAP or Magma.

So it sounds like this wouldn't necessarily guarantee that what you import from sagelib will necessarily be available or configured to work with sagelib, unless that piece you've imported has all python dependencies. Is that right?

Really I'm just hoping to be able to use some of the algebra modules (specifically Clifford algebra) without installing all of sagemath.

It seems like for a lot of modules that should be possible, and then for a lot of other modules it wouldn't be. Am I understanding this right?

The idea of being able to write packages python packages that depend on sagelib (yet live on pypi.org) is very exciting, and I feel that it could push the quality and consistency of sagelib by drawing new contributors (e.g. from the greater scipy ecosystem).

For a long time, I've been sad that I couldn't write python packages that depend on sage stuff without limiting their working environment to a full-blown sage environment.

So the thought of this becoming a reality is pretty exciting to me!

P.S. could someone change the title to "Sagelib is slowly moving toward being pip-installable" ?

You can email the mods to fix the title. Probably better to just stick to the guidelines about titles to begin with. Most things that are hard to title (tweets, bits from the middle of some mailing list thread, raw issue tracker items, etc) also tend to make poor submissions anyway.
> this wouldn't necessarily guarantee that what you import from sagelib will necessarily be available or configured to work with sagelib, unless that piece you've imported has all python dependencies. Is that right?

No, not really - what you can import will be working, whether via python bindings in sagelib, or external ones. The corresponding ongoing challenge of sagelib/sagemath development is to un-vendor a lot of components currently bundled in. Debian has managed this in their own not very portable way.

(comment deleted)
Is there a program, free or otherwise, that lets you to do various algebraic manipulations, like:

- complete the square

- factorise something out

- expand something out

- etc

Doing that stuff by hand can get tedious.

I find that Sympy's simplify() often doesn't do what I want. WolframAlpha often understands what I want better. It seems like it would need non-trivial work on the UI front.

My go-to for these things is wolframalpha.com, mainly for ease of access, and the natural language interface means I don't have to remember any syntax. You can input queries like "complete the square ax^2 + bx + c" or "derivative of exp(x^3)" and get solutions, it's a real timesaver. Also, for vector/matrix derivatives, http://www.matrixcalculus.org/ is amazing.
Maxima (maxima.sf.net) is one way to do that (and a lot more). I even have it on my Android phone.
Any readers here who are active Sage users?

I last used it in 2012 and have not heard much since then.

I use it for various all-purpose calculations. It works well for me.
I started Sage, and worked on it a huge amount 2004-2012, but less so recently (due to working mostly on CoCalc). Actual contributions to and work on Sage by the community have gone UP a lot since 2012, as this plot (https://github.com/sagemath/sage/graphs/contributors) at Github shows. Much of that work is from research mathematicians that are adding large swaths of important functionality (e.g., in differential manifolds) to Sage. But there's also a very welcome push for quality, e.g., the number one recent contributor, fchapoton, has been fixing every little detail in the codebase revealed by https://lgtm.com/ and other tools, and there's also been a lot of work to fully transition Sage to Python 3 (which is difficult since so much is written in Cython and make nontrivial use of comparisons).

I would have likely made Sage pip-installable from day 1 if I had known that pip would turn out to be so popular. It was really unclear what was going on with Python packaging 15 years ago. I'm really glad that one package manager (pip) has become so good at this point.

Sure; sage is a mainstay amongst cryptography engineers.