sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.35k stars 461 forks source link

Meta-ticket: Web assembly (wasm) and Pyodide #34539

Open mkoeppe opened 2 years ago

mkoeppe commented 2 years ago

The modularization effort (#29705) makes it easy to port and deploy portions of Sage to new platforms. Here we target Web Asssembly (wasm). This enables integration with Javascript in the browser, interactive online documentation, etc.

Porting to Pyodide

Other technologies

CC: @williamstein

Component: porting

Issue created by migration from https://trac.sagemath.org/ticket/34539

mkoeppe commented 2 years ago
comment:1

Actually also need cysignals, this will need technical work.

mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1 +1,9 @@
-https://pyodide.org/en/stable/project/changelog.html#version-0-21-0 added `gmpy2`, so there is a good chance that we can make the modularized distributions sagemath-objects, sagemath-categories available.
+Needed for sagemath-objects, sagemath-categories:
+
+- `gmpy2` [available since pyodide 0.21.0](https://pyodide.org/en/stable/project/changelog.html#version-0-21-0)
+- `cysignals`
+
+
+Reference:
+- https://pyodide.org/en/stable/development/new-packages.html#building-python-wheels-out-of-tree
+
mkoeppe commented 2 years ago

Description changed:

--- 
+++ 
@@ -1,7 +1,11 @@
-Needed for sagemath-objects, sagemath-categories:
+1. Platform-independent wheels for pure Python distribution packages sagemath-environment, sagemath-repl, sage-docbuild. (Currently we only publish sdists, but micropip needs wheels.)
+
+2. Needed for sagemath-objects, sagemath-categories:

 - `gmpy2` [available since pyodide 0.21.0](https://pyodide.org/en/stable/project/changelog.html#version-0-21-0)
 - `cysignals`
+
+3. Candidate for the first useful package: sagemath-polyhedra (#32432)

 Reference: