question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RFC Only update Emscripten and Python version at the same time

See original GitHub issue

Proposal

Starting with Pyodide v0.22.0 we should only update Emscripten at the same time as we update Python.

Motivation

Until https://github.com/emscripten-core/emscripten/issues/15917 is resolved, every Emscripten update is assumed to be an ABI break. If we are going to move towards allowing people to build and deploy their own wheels, it would be annoying for them to have to rebuild every time

Alternatives

Projects have build a new wheel whenever we update Emscripten. They can check the appropriate Emscripten version via repodata.json:info.platform. The correct Python version is also exposed via repodata.json:info.python. We should make a github action to build against a given Pyodide version that uses repodata.json to determine the appropriate version. If the projects use a continuous deployment system, then they can easily specify a range of Pyodide versions to build and deploy wheels for.

Issue Analytics

  • State:open
  • Created a year ago
  • Comments:9 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
wolfvcommented, Aug 9, 2022

@ryanking13 thanks for the ping. We will have a “empty” package that specifies the ABI version of the emscripten compiler that was used to compile the package (the emscripten_abi 3.1.18 package). Since only one emscripten_abi package can be installed at the same time, this will force all packages in a given environment to have used the same compiler.

We will be able to do this within the same Python version and across Python versions as the SAT solver will find the best solutions (those that maximize version numbers).

Technically this is implemented as a “run_exports” from the emscripten compiler package. That means, that the empty emscripten_abi package is always automatically added to the run-dependencies of the package.

1reaction
rthcommented, Aug 9, 2022

Technically our major releases are minor releases

I know but it still feels weird to call them minor releases )

Read more comments on GitHub >

github_iconTop Results From Across the Web

FAQ — Emscripten 3.1.26-git (dev) documentation
¶ Emscripten requires a recent-enough version of Python. An older Python version, like 2. * , will not support the print statement by...
Read more >
[Python-checkins] gh-95451: Update docs for wasm32-emscripten ...
includes/wasm-notavail.rst + There are only two ways to have a program on a single processor do "more than one thing at a time."...
Read more >
RFC Add micropip redirect API · Issue #9 · pyodide ... - GitHub
We've been fretting pretty hard about this over on jupyterlite, as we have some wontfix upstream stuff that we must patch around. To...
Read more >
Nixpkgs 22.11 manual - NixOS
Nix expressions describe how to build packages from source and are collected in the nixpkgs repository. Also included in the collection are Nix...
Read more >
Zstandard - Real-time data compression algorithm
Decompression speed is preserved and remain roughly the same at all settings, a property shared by most LZ compression algorithms, such as [zlib]...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found