Commit Graph

2290 Commits

Author SHA1 Message Date
Gyeongjae Choi 587a73fa14
PKG Add XGBoost (#2537)
Co-authored-by: Hood Chatham <roberthoodchatham@gmail.com>
2022-06-07 17:49:57 +09:00
Gyeongjae Choi 184c6d5bed
Disable cursor blinking in the REPL if `noblink` is specified (#2666)
e.g. https://pyodide.org/en/latest/console.html?noblink
2022-06-06 17:14:29 -07:00
Liumeo 9b76b7a4ee
Add gmpy2 and its dependencies (#2665)
Add gmpy2 and its dependencies libmpc, libmpfr and libgmp. 
gmpy2 is an optional dependency of SymPy.
2022-06-05 19:09:15 -07:00
Gyeongjae Choi efaa65b5b8
Use strict mode for pytest-asyncio (#2663) 2022-06-05 10:29:43 +02:00
Alexey Ignatiev a6ef2ef378
python-sat 0.1.7.dev17 (#2661) 2022-06-05 10:28:59 +02:00
Gyeongjae Choi 0c63457b37
Remove tzdata from the build step (#2658) 2022-06-03 08:51:41 +09:00
Hood Chatham fdb0a3581d
MAINT Update the packages.json info to include emscripten version and pyodide version (#2655) 2022-06-03 08:40:46 +09:00
Hood Chatham 95b1194945
Enable Wasm BigInt (#2643)
This enables WASM_BIGINT while maintaining (hypothetical) Safari 14 support
by shimming BigInt64Array and BigUint64Array if they are missing. I think the
last time we tried to enable WASM_BIGINT was before #2019 so our chances
are significantly better this time.

This will fix dynamic linking bugs and yields a minor reduction in code size.
2022-06-02 10:09:54 -07:00
Hood Chatham 0aafb5dd12
DOCS Add info about pytest marks and run_in_pyodide (#2652)
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
2022-06-02 10:07:12 +09:00
Hood Chatham 6a0d66a5d7
MAINT Update gitignore for tools/symlinks (#2657) 2022-06-01 13:17:13 -07:00
Ryan Russell 42d33407ca
DOCS Fix Typos (#2656)
Fixed 2 typos.
2022-05-31 16:06:06 -07:00
Hood Chatham cabf75516b
DOCS Update the description of the linting process (#2651)
Co-authored-by: Gyeongjae Choi <def6488@gmail.com>
Co-authored-by: Roman Yurchak <rth.yurchak@gmail.com>

[skip ci]
2022-05-31 14:00:37 +02:00
Hood Chatham c5f3a48e15
MAINT Define loadPackage in _compat rather than pyodide_js (#2654) 2022-05-31 13:58:50 +02:00
Hood Chatham 70133410d8
Fix run_in_pyodide to return values and update tests (#2653) 2022-05-31 13:58:33 +02:00
pre-commit-ci[bot] 5d1aff3262
[pre-commit.ci] pre-commit autoupdate (#2649)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-05-30 21:44:25 -07:00
Hood Chatham d3758cbc5e
Convert more typeconversions tests to use run_in_pyodide (#2646) 2022-05-30 21:00:46 -07:00
Hood Chatham 0003993956
MAINT Convert some jsproxy tests to using run_in_pyodide (#2647) 2022-05-30 21:00:29 -07:00
Hood Chatham 6976ea69f4
MAINT Update side modules to use SIDE_MODULE_LDFLAGS (#2650)
It causes trouble when these flags get out of sync, cf
WASM_BIGINT branch #2643
2022-05-30 21:00:11 -07:00
Hood Chatham 951681cfba
MAINT Improve debug settings in Makefile.envs (#2648) 2022-05-30 17:16:55 -07:00
Gyeongjae Choi 74a89826ce
TST Add Playwright for an auxiliary testing framework (#2091) 2022-05-31 08:17:47 +09:00
Hood Chatham 6c7e3d03f0
MAINT Remove pywasmcross rule to drop libs and includes from HOST_INSTALL_DIR (#2644)
This rule is out of date, we intend to ensure that HOST_INSTALL_DIR
consists of cross-build packages which have the right libs and includes
so they can be used.
2022-05-29 23:04:59 -07:00
Hood Chatham 4d9de20622
FIX Handle large lengths and negative lengths in hiwire_get_length (#2627) 2022-05-29 19:27:30 -07:00
Hood Chatham cfdb77f642
ENH Add support in micropip for installing binary wheels (#2591)
We use `packaging.tags.sys_tags` to get the list of supported tags
then use `packaging.utils.parse_wheel_filename` to get the set of
tags the current wheel implement then check if one of the wheel's
tags is a supported tag. This is a fully accurate check method and
could also catch things like abi3 wheels that are compatible with
multiple Python versions.
2022-05-29 19:00:10 -07:00
Hood Chatham 2f4f258bb5
MAINT Use target sysconfigdata rather than host sysconfigdata when cross compiling (#2516)
sysconfig.py uses the environment variable `_PYTHON_SYSCONFIGDATA_NAME`
to decide where to look for the sysconfig data file with info about the compile target.
We also need to separately insure that our sysconfig data file is on the path. We
don't want the rest of our target stdlib on the path, so I made an extra sysconfigdata
folder, copied the sysconfig data into it, and put it on the path.
2022-05-29 18:59:10 -07:00
Hood Chatham 8ab07acadd
ENH Add support for pickling JsException (#2631) 2022-05-29 18:31:49 -07:00
Gyeongjae Choi a11f72e145
Simplify the version bump process (#2587) 2022-05-30 10:26:40 +09:00
Hood Chatham 9b968ae219
MAINT Convert more typeconversions tests to use run_in_pyodide (#2640) 2022-05-29 17:07:31 -07:00
josephrocca 415681dae9
DOCS Improve package build instructions (#2633) 2022-05-29 10:01:12 -07:00
Ryan Russell 57100ab604
docs(various): Typo fixes (#2641) 2022-05-29 09:45:45 -07:00
Roman Yurchak a749c4ee38
Add spinner + better attribution in REPL (#2635) 2022-05-29 10:37:09 +02:00
Hood Chatham 798da1796e
Add loadDynlib to micropip._compat (split off from #2591) (#2639) 2022-05-28 23:06:51 -07:00
Hood Chatham f3c844514e
MAINT Use new run_in_pyodide features for some type conversions tests (#2632)
This should improve the tests by quite a lot:

  *  assertions get formatted automatically
  *  many fewer doubly / triply nested eval strings
  *  IDE support for code formatting, syntax highlighting 
     (the IDEs are pretty confused about other stuff but still...)

Also, messing around with these type conversions tests is a
good way to find lots of bugs, cf my other PRs from 2022-05-27.
2022-05-28 21:18:08 -07:00
echorand (Amit Saha) 377bb50c14
Fix support for extras in micropip (#2584)
Fix for #2535

See explanation:
https://gist.github.com/amitsaha/df2141e7e798d946ae559bf34e74ab42
2022-05-28 12:43:17 -07:00
Hood Chatham bd24933b81
MAINT Fail test if hiwire_get_value is called on an invalid JsRef (#2629)
Hitting this code path should be an unconditional test failure.
2022-05-27 22:08:51 -07:00
Hood Chatham 73fd96c6b5
FIX hiwire_get_value invalid key in to_js (#2630)
This fixes the test failure surfaced in #2629.
2022-05-27 19:29:11 -07:00
Hood Chatham 119590da58
FIX Rather than fatally failing, throw away errors in check methods (#2628)
This fixes the following error:

> ```
> Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers.
> The cause of the fatal error was:
> PythonError: OverflowError: Python int too large to convert to C ssize_t
> ```

located by hypothesis, produced by:

```
from pyodide import create_proxy; create_proxy(range(1<<31))
```
2022-05-27 15:21:09 -07:00
Hood Chatham d818f410c4
Use tblib to pickle errors in `run_in_pyodide` (#2619) 2022-05-27 12:28:46 -07:00
Hood Chatham 806e5dff61
MAINT improve isolation for micropip tests (#2623)
I added a new `wheel_base` fixture which creates a new temporary
directory and mocks `site.getsitepackages()` to return it. I also removed
the `WHEEL_BASE` global variable from micropip and instead calculate
it each time in `micropip.install`.
2022-05-26 18:16:24 -07:00
Hood Chatham ce3c90339c
MAINT `run_in_pyodide` fallback to not using pytest if it's not available (#2622) 2022-05-26 18:15:27 -07:00
Hood Chatham 45ee8ee62c
Add support for inner run_in_pyodide functions (#2618) 2022-05-26 14:27:07 -07:00
Hood Chatham cb65f45f12
MAINT Remove `driver_timeout` argument from `run_in_pyodide` in favor of `pytest.mark.driver_timeout` (#2615) 2022-05-26 14:26:24 -07:00
Henry Schreiner 5523d539bf
chore(types): fill out remaining partial types (#2612) 2022-05-25 20:31:04 -07:00
Hood Chatham 36dee13657
MAINT run_in_pyodide function should take selenium fixture as an explicit argument (#2617)
This updates run_in_pyodide to assume that the first argument of the function will be a selenium fixture.
2022-05-25 19:47:43 -07:00
Hood Chatham 0bc8d975b4 Forgot to remove this print statement 2022-05-25 16:18:42 -07:00
Hood Chatham 1eab80ea40
MAINT Add pytest.mark.xfail_browsers and use it to reduce boilerplate (#2616)
Use a decorator to indicate which browsers we want to xfail test. 
This works for `run_in_pyodide` as well as normal tests.
2022-05-25 13:34:40 -07:00
Hood Chatham 8ed430d300
Allow using other decorators with `@run_in_pyodide` (#2541)
Allow using `pytest.mark.xfail`, `pytest.mark.parametrize`, hypothesis,
and other decorators in `run_in_pyodide` tests
2022-05-25 10:31:26 -07:00
pre-commit-ci[bot] af972267c7
[pre-commit.ci] pre-commit autoupdate (#2597)
updates:
- [github.com/hadialqattan/pycln: v1.3.2 → v1.3.3](https://github.com/hadialqattan/pycln/compare/v1.3.2...v1.3.3)
2022-05-25 08:40:03 +02:00
Hood Chatham 2513a89616
Update Emscripten binary wheels to include Emscripten platform tags (#2610) 2022-05-25 08:39:33 +02:00
Hood Chatham a525c54d66
MAINT Use ordinary asyncio.gather in micropip tests (#2611) 2022-05-24 20:29:04 -07:00
Henry Schreiner 693ee011c4
fix(types): removing implicit generics (#2595)
* fix(types): removing implicit generics

* fix(types): address feedback
2022-05-24 19:06:31 -07:00