Commit Graph

1035 Commits

Author SHA1 Message Date
Marc Abramowitz ac76220b59 Enable building sqlite3 into cpython (#352)
* Enable building sqlite3 into cpython
2019-03-26 08:44:21 -04:00
Michael Droettboom b95b6692f8
Merge pull request #358 from msabramo/patch-3
CHANGELOG.md: soupseive => soupsieve
2019-03-22 12:24:29 -04:00
Marc Abramowitz 7591202dfb
CHANGELOG.md: soupseive => soupsieve 2019-03-21 23:10:57 -07:00
Michael Droettboom cda2682ac7 Bump version: 0.9.0 → 0.10.0 2019-03-21 13:44:19 -04:00
Michael Droettboom ff5ccdfca6 Backfill the CHANGELOG for 0.10.0 2019-03-21 13:43:27 -04:00
Michael Droettboom 629df0f583
Merge pull request #343 from mdboom/simple-interactive-testing
Partially address #338: Provide simple method for interactive testing
2019-03-21 13:37:20 -04:00
Michael Droettboom 629f3dfd0b
Merge pull request #2 from msabramo/simple-interactive-testing-js-multiline-string
Use JS multi-line string for Python code
2019-03-21 12:18:43 -04:00
Michael Droettboom f1b2d3bf39
Merge pull request #355 from msabramo/run_docker-configurable
Allow configuring run_docker ports using env vars
2019-03-21 12:15:24 -04:00
Marc Abramowitz 4e1ae73793 Use JS multi-line string for Python code
so that the Python code looks nicer and is less error-prone to edit.
2019-03-21 08:57:43 -07:00
Michael Droettboom b3d48aa5f1
Merge pull request #354 from msabramo/html5lib
Add html5lib
2019-03-21 11:49:48 -04:00
Michael Droettboom 5a9f474717 Only print console when done with a code chunk 2019-03-21 11:37:47 -04:00
Marc Abramowitz 30b69116e0 Allow configuring run_docker ports using env vars
This allows changing various `run_docker` settings using env vars. The
primary one that I wanted was the ability to easily set the system port
used so that I could run two pyodide containers.

Before when running a second instance of `./run_docker`:

```
$ ./run_docker
docker: Error response from daemon: driver failed programming external connectivity on endpoint quirky_banach (45f5dd12606ac5d732a311ef3f3c378e359bbbd406a1c65915a300ec413eaf25): Bind for 0.0.0.0:8000 failed: port is already allocated.
```

With this PR:

```
$ PYODIDE_SYSTEM_PORT=8001 ./run_docker
root@29308e720856:/src#
```

I also broke the `docker run` command on to multiple lines (which I find
more readable; hopefully others agree) and added an `exec` to the
command, so the shell process on the host doesn't have to hang around
waiting for the container to exit.
2019-03-21 07:49:50 -07:00
Marc Abramowitz 9402c8bd08 Add html5lib 2019-03-20 23:41:47 -07:00
Michael Droettboom c73c37e6ce Reset stdout/stderr buffers each time 2019-03-19 16:52:54 -04:00
Michael Droettboom 0ceeff6588 Improve console handling. Remove broken matplotlib-sideload 2019-03-19 15:56:11 -04:00
Michael Droettboom a6e9017cc8
Merge pull request #348 from msabramo/patch-2
Link to @dgym
2019-03-19 13:52:10 -04:00
Marc Abramowitz 990fbaa578
Link to @dgym 2019-03-18 21:33:32 -07:00
Michael Droettboom c9c47523b9
Merge pull request #339 from msabramo/pygments
Add pygments package
2019-03-18 08:45:19 -04:00
Michael Droettboom 8dd5c599f6
Merge pull request #341 from msabramo/beautifulsoup4
Add beautifulsoup4 (w/ soupsieve)
2019-03-18 08:44:55 -04:00
Michael Droettboom 29b1420601
Merge pull request #342 from msabramo/docutils
Add docutils
2019-03-18 08:44:43 -04:00
Marc Abramowitz c4e1a4140a Add beautifulsoup4 (w/ soupsieve)
Example:

If you do:

```js
languagePluginLoader.then(() => {
  // pyodide is now ready to use...
  pyodide.loadPackage('beautifulsoup4').then(() => {
    pyodide.runPython(`
text = """
<div>
  <!-- These are animals -->
  <p class="a">Cat</p>
  <p class="b">Dog</p>
  <p class="c">Mouse</p>
</div>
"""

from bs4 import BeautifulSoup
import soupsieve
soup = BeautifulSoup(text, 'html.parser')

print(soup.select('p:is(.a, .c)'))
    `);
  });
});
```

then the output is:

```
[<p class="a">Cat</p>, <p class="c">Mouse</p>]
```
2019-03-15 14:49:58 -07:00
Marc Abramowitz ea09d5004e Add pygments package 2019-03-15 10:10:59 -07:00
Michael Droettboom 7441d5250e Partially address #338: Provide simple method for interactive testing
This adds a basic repl-like console webpage that can be used for
testing of the local pyodide install.

It removes the broken examples based on standalone iodide.
2019-03-15 12:54:08 -04:00
Michael Droettboom 0a92640d8b
Merge pull request #340 from msabramo/bleach
Add bleach
2019-03-15 11:37:44 -04:00
Marc Abramowitz d14eee1161 Add docutils
Example: If you do this:

```js
languagePluginLoader.then(() => {
  // pyodide is now ready to use...
  pyodide.loadPackage('docutils').then(() => {
    pyodide.runPython(`
import docutils.core

print(docutils.core.publish_string("\`Python <http://www.python.org/>\`_ is **cool**!", writer_name='html5', settings_overrides={'embed_stylesheet': False}).decode('utf-8'))
    `);
  });
});
```

then the output is:

```
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta charset="utf-8"/>
<meta name="generator" content="Docutils 0.14: http://docutils.sourceforge.net/" />
<title>&lt;string&gt;</title>
<link rel="stylesheet" href="/lib/python3.7/site-packages/docutils/writers/html5_polyglot/minimal.css" type="text/css" />
<link rel="stylesheet" href="/lib/python3.7/site-packages/docutils/writers/html5_polyglot/plain.css" type="text/css" />
</head>
<body>
<div class="document">
<p><a class="reference external" href="http://www.python.org/">Python</a> is <strong>cool</strong>!</p>
</div>
</body>
</html>
```
2019-03-15 08:14:58 -07:00
Michael Droettboom 89eca5f5b7 Bump version: 0.8.2 → 0.9.0 2019-03-15 11:12:17 -04:00
Marc Abramowitz e92ba1c901 Add bleach
for sanitizing HTML. Example:

```js
languagePluginLoader.then(() => {
  // pyodide is now ready to use...
  pyodide.loadPackage('bleach').then(() => {
    pyodide.runPython(`
import bleach

print(bleach.clean('There is good stuff <script>and bad stuff</script> in here.'))
    `);
  });
});
```

leads to the output:

```
There is good stuff &lt;script&gt;and bad stuff&lt;/script&gt; in here.
```
2019-03-15 00:44:51 -07:00
Michael Droettboom fe8f091d8a
Merge pull request #336 from mdboom/rebuild-package-on-depchange
Automatically rebuild packages if any patches or extra files change
2019-03-14 10:23:28 -04:00
Michael Droettboom 650d321bd9 Fix fresh build 2019-03-14 08:52:28 -04:00
Michael Droettboom bdee21895a
Merge pull request #337 from mdboom/cleanup
Clean up the downloaded file if it's corrupted
2019-03-14 07:43:03 -04:00
Michael Droettboom 04b7f73718 Clean up the downloaded file if it's corrupted 2019-03-13 15:01:35 -04:00
Michael Droettboom 8f6e1bab09 Automatically rebuild packages if any patches or extra files change 2019-03-13 14:50:18 -04:00
Michael Droettboom f5140c8abd
Merge pull request #333 from mdboom/fix-apply-on-pyproxy
Fix #332: Make pyproxy.apply work
2019-03-13 14:44:36 -04:00
Michael Droettboom 1b111df298 Fix destroy 2019-03-13 11:32:46 -04:00
Michael Droettboom 33e51f5904 Fix destroy() 2019-03-12 18:04:47 -04:00
Michael Droettboom 17cd31dce3 Fix #332: Make pyproxy.apply work 2019-03-12 17:11:40 -04:00
Roman Yurchak 584c61edc9
Merge pull request #331 from mdboom/mkpkg
Add a mkpkg tool to make new packages.
2019-03-12 08:58:34 +01:00
Michael Droettboom de7cb8f4f2
Merge pull request #330 from mdboom/sympy
Fix #327: Add sympy support
2019-03-01 08:27:31 -05:00
Michael Droettboom 1b867058ab Add a mkpkg tool to make new packages. 2019-02-28 18:43:26 -05:00
Michael Droettboom 4e4162fbf4 Fix #327: Add sympy support 2019-02-28 18:38:49 -05:00
Michael Droettboom 930b8e2bbe
Merge pull request #326 from mdboom/cdecimal
Build the _decimal C module.
2019-02-28 10:30:32 -05:00
Michael Droettboom 8d61da9480
Merge pull request #325 from mdboom/as_nested_list
Fix #316: Add convenience function for converting from nested Arrays
2019-02-28 10:30:20 -05:00
Michael Droettboom 1b031347a3 Build the _decimal C module 2019-02-25 11:29:59 -05:00
Michael Droettboom d5493955d8 Fix #316: Add convenience function for converting from nested Arrays 2019-02-25 08:32:03 -05:00
Michael Droettboom 63b6ba23e8 Bump version: 0.8.1 → 0.8.2 2019-02-21 20:42:12 -05:00
Michael Droettboom f3fcf034ad
Merge pull request #323 from mdboom/fix-matplotlib
Fix matplotlib wasm backend after undefined attribute behavior changed
2019-02-21 20:41:49 -05:00
Michael Droettboom 2f3a727eab Add test for wasm_backend. Fix PDF test. 2019-02-21 18:26:42 -05:00
Michael Droettboom 45d1449209 Include plt.show() in test 2019-02-21 18:17:24 -05:00
Michael Droettboom 68de9439cd Fix matplotlib wasm backend after undefined attribute behavior changed 2019-02-21 18:09:16 -05:00
Michael Droettboom 8da4b1f5f1 Bump version: 0.8.0 → 0.8.1 2019-02-21 14:59:49 -05:00