Commit Graph

2336 Commits

Author SHA1 Message Date
John Wason 3b5dc92ac6
Add basic RobotRaconteur tests (#2826)
This PR adds a couple basic sanity tests for the Robot Raconteur package.
2022-07-02 19:15:42 -07:00
Hood Chatham 61c062f5aa
Remove replace_libs (#2822)
We don't use this feature anymore.
2022-07-02 06:53:16 -07:00
Hood Chatham b0a28579bf
Fix pywasmcross when pyodide_build is installed out of tree (#2824)
Symlinking cc to pywasmcross.py only works if pywasmcross.py has
execute permissions. When we install the package with pip, it will not
set execute permissions on pywasmcross.py. It does set execute flags
on entrypoints. Thus, define an entrypoint called _pywasmcross which
calls pywasmcross.main. If a script called _pywasmcross exists, we are
using an out-of-tree install so symlink cc to _pywasmcross. Otherwise,
we should be in tree and pywasmcross.py should have the execute flag
set, so symlink cc to pywasmcross.py.

On the other side, if __main__.__file__ is in a folder named pyodide_build
or bin we are being invoked normally, otherwise we are being invoked via
a symlink.
2022-07-01 22:00:27 -07:00
Gyeongjae Choi e7ad0ce944
Fix GHA timeout on firefox test (#2820)
For some reason, the recent playwright-python update (v.1.23.0)
made this test slower on firefox, which results in a CI timeout.
2022-07-01 21:59:14 -07:00
Hood Chatham 52287a179d
More work on create_xbuildenv to allow building numpy (#2811)
This is more WIP on create_xbuildenv. I am including some of the WASM_LIB_DIR
but not all of it to keep size in check. The current cross build environment that we
would upload/download is 20mb.

To use this, we need an extra CLI entrypoint which I am working on.
2022-07-01 11:20:45 -07:00
Hood Chatham b485100b42
Update numpy to v1.23.0 (#2819) 2022-07-01 07:13:36 -07:00
Gyeongjae Choi 6ca76fb725
Drop deprecated APIs (#2817) 2022-07-01 16:57:15 +09:00
Hood Chatham c5636c02a1
Add type annotations to many functions (#2810) 2022-06-29 23:08:46 -07:00
Gyeongjae Choi 5935e5c7f9
Add sqlite3 binary to the docker image (#2807) 2022-06-30 13:22:03 +09:00
Hood Chatham 207bd9252e
Package: add termcolor (#2809)
Termcolor doesn't have a wheel on pypi and doesn't look very maintained.
It is used by pytest-sugar.
2022-06-29 20:32:13 -07:00
Hood Chatham a7d7cd51b5
Add test coverage for bool(JsProxy) and fix some cases (#2803)
Resolves #2802 and several other oddities in the behavior of bool.
2022-06-29 20:30:24 -07:00
Hood Chatham 9b7693a95a
ENH Pass pywasmcross environment more carefully (#2738)
This is on top of #2734. Other build environments cannot be trusted to pass our
environment variables down #2736. We store key variables into a json file in a 
temporary directory with the symlinks. If these variables are not in `os.environ`
we load them from disk.

In addition to the added generality, this also has the advantage that it makes it 
much easier to debug specific compiler invocations from the build script because
the environment is stored to disk (that is, if we override the deletion of the
temporary directory by manually adjusting the code).
2022-06-29 17:52:09 -07:00
Hood Chatham 1ffe2af2fa
Add pytest-benchmark (#2799) 2022-06-29 10:47:01 -07:00
Hood Chatham f209485eda
Fix some details in the debug build (#2804) 2022-06-29 08:52:32 +09:00
Hood Chatham 5fd96f9b27
Try again with deploying debug version (#2801)
I guess there has to be some trial and error with these. Since we
can't link `pyodide.asm.js` in the deploy docker image, we do it in
a separate step after `build-packages`. Because we have hard
coded `dist` everywhere, it's a little bit awkward building into
`dist-debug`. I do some rearrangements with `cp` and `mv` to hack
around this.
2022-06-28 10:16:23 -07:00
Hood Chatham 516364e468
Move more functions into submodules of pyodide (#2790)
This resolves #2689.
2022-06-28 06:31:58 -07:00
Hood Chatham 46d75f3272
Deploy a debug version of Pyodide to the CDN (#2800) 2022-06-28 08:04:55 +02:00
Hood Chatham 49807b699c
ENH Add flag to run bash script in cross build environment (#2734)
This script will run with the target environment variables and
sysconfigdata and with the pywasmcross compiler symlinks.
Any changes to the environment will persist to the main build
step but will not be seen in the post step (or anything else
done outside of the cross build environment). The working
directory for this script is the source directory.
2022-06-27 21:05:53 -07:00
Hood Chatham 61ef0813ad
Micropip: Improve error message when attempting to load wheel with wrong platform (#2783)
If the wheel is an Emscripten wheel of the wrong version, give the expected
 version and the wheel version. Otherwise, complain about platform mismatch.
2022-06-27 20:59:53 -07:00
Hood Chatham deb344cd37
Update Rust nightly version (#2792)
Yesterday's nightly includes rust-lang/rust#98149 which allows us to remove the
PIC setting. This also means we won't ever have to put -Zbuild-std back in.
2022-06-26 21:21:34 -07:00
John Wason 810be8869f
Add Robot Raconteur package to Pyodide (without wasm-exceptions) (#2794)
This PR adds the Robot Raconteur Pyodide package, which is a modified version
of Robot Raconteur designed to run in the Pyodide environment, using WebSockets
for communication. See robotraconteur/robotraconteur for the full version of the
package. Robot Raconteur is used to communicate with robots and other automation
components, and has a large library of drivers and packages: robotraconteur/robotraconteur-directory.
It is used as the bases for PyRI, a robotics programming environment: 
https://github.com/pyri-project/pyri-core/blob/master/README.md. Using a bridge, this package can
also be used to communicate with ROS2 networks: robotraconteur-contrib/robotraconteur_ros2_bridge
2022-06-26 21:17:58 -07:00
Hood Chatham 761b6320ba
Move eval functions to pyodide.code submodule (#2787)
This raises a deprecation warning the first time such a function is used. Work towards #2689.
2022-06-25 21:20:22 -07:00
Hood Chatham e4397994f1
Export repodata.json in node config (#2784) 2022-06-24 21:22:00 -07:00
Hood Chatham 63516c3e83
Add Python version to repodata (#2786) 2022-06-24 21:21:26 -07:00
Hood Chatham 598688eeba
Trigger pypi deploy from circleci (#2782) 2022-06-24 21:19:04 -07:00
Gyeongjae Choi 33c53aa74b
Update libtiff url (#2781)
Fix #2780

We can revert the URL when we have a newer certifi in our docker image.
2022-06-24 13:06:10 -07:00
Hood Chatham cd40765cc1 Revert "0.21.0a2"
This reverts commit c540ce9b9c.
2022-06-24 08:05:36 -07:00
Hood Chatham c540ce9b9c
0.21.0a2
This has to be alpha2 because I seem to have accidentally
published an alpha1 to npm.
2022-06-24 06:15:13 -07:00
Hood Chatham 5fde2ae0a8
Add continuous deployment to npm (#2776) 2022-06-23 22:51:43 -07:00
Hood Chatham 19b2dcf77b
Fix error message for invalid exports meta.yaml key (#2777) 2022-06-23 21:23:47 -07:00
Hood Chatham f3e8836902
Update emscripten to v3.1.14 (#2775) 2022-06-23 15:51:06 -07:00
Hood Chatham 9aa179a520
Rearrange changelog (#2774) 2022-06-23 14:11:25 -07:00
David Lechner 6b3a68f94f
Don't log every exception. (#2773)
We don't need to emit a console warning every time a Python exception
is wrapped in a JavaScript exception. Users can catch and log the exception
themselves if they need to log it.

Compiling with `DEBUG_F` enables the original noisy behavior.
2022-06-23 14:10:02 -07:00
Hood Chatham 55a53df4a5
Update libffi tag (#2772)
Since the Emscripten update, libffi can support closures with up to 1000 arguments.
2022-06-23 12:05:40 -07:00
Hood Chatham 23c5587cfb
ENH Add micropip support for loading wheels from emfs (#2767) 2022-06-23 11:59:47 -07:00
John Wason 8bfce92986
Add noop "bind" function to PyProxyCallableMethods (#2769)
This pull request adds a noop "bind" function to PyProxyCallableMethods in 
pyproxy.ts. Some libraries like Vue will call "bind" on functions passed as event 
handlers. Adding a no-op bind will prevent this error.
2022-06-23 09:36:51 -07:00
Hood Chatham b01cc1a800
ENH Allow specifying a custom lock file (#2645)
This option is intended to be used with micropip.freeze. A user can
save the lockfile generated by micropip.freeze and load that lock
file while using the rest of the files from the CDN.
2022-06-23 09:33:53 -07:00
Hood Chatham fac51bdcf0
Default to -sSIDE_MODULE=2 in packages (#2712)
Drops the size of the dist directory from 271mb to 226 mb which is a 17% size reduction.
2022-06-23 07:15:21 -07:00
Gyeongjae Choi 929d296a09
PKG Add libtiff (#2762) 2022-06-23 16:15:43 +09:00
Hood Chatham 8c8109f1df
Remove make-int-return-values patch (#2770) 2022-06-22 20:35:10 -07:00
Gyeongjae Choi d4eabea5da
Bump yt version to 4.0.4 (#2768)
The removed patch was upstreamed:
https://github.com/yt-project/yt/pull/3833
2022-06-22 20:34:05 -07:00
pre-commit-ci[bot] f5925944a2
[pre-commit.ci] pre-commit autoupdate (#2751)
updates:
* github.com/pre-commit/mirrors-clang-format: v14.0.4-1 → v14.0.5
* github.com/pre-commit/mirrors-prettier: v2.6.2 → v2.7.1
2022-06-22 11:14:45 -07:00
Gyeongjae Choi b65247dc40
Bump opencv-python version to 4.6.0.66 (#2761) 2022-06-22 11:13:24 -07:00
Hood Chatham f4f179fee8
Update packages (#2758)
Everything is up to date except:
* yt
* opencv-python
2022-06-22 11:12:05 -07:00
Hood Chatham 1624e4a624
Fix micropip package loading from file:// in node (#2759)
The node native fetch doesn't support file:// yet and nor does node-fetch but we
want micropip to support it anyways.
2022-06-22 11:10:51 -07:00
Hood Chatham 57651cf6ce
MAINT improve CI size listing (#2765)
Remove permissions junk and sort files so it is easier to compare between different runs.
2022-06-22 11:03:37 -07:00
Gyeongjae Choi f9b1d84d6b
Bump matplotlib version to 3.5.2 (#2760)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-06-22 15:20:54 +09:00
Hood Chatham cdc59accf3
DOCS Edits and updates (#2756) 2022-06-21 20:15:37 -07:00
Hood Chatham a86ea97ac7
DOCS Some updates to release instructions (#2748) 2022-06-21 20:13:44 -07:00
Gyeongjae Choi 1acc3b5b01
Fix micropip error when a package contains invalid version (#2754) 2022-06-22 09:22:32 +09:00