Posts by Thorsten Beier

Mixed R and Python workflows in the browser with Emscripten-Forge

Programming languages like R or Python have their own package management systems, which are typically language-specific. Native extensions often came as an afterthought, by allowing the platform-specific binaries to be bundled within a package. However, this model limits reuse and shared binary dependencies across packages from different ecosystems.

Read more ...


Major updates

When emscripten-forge started, packages where build hosted on a quetz packge server. Now we moved to prefix.dev

Read more ...


Emscripten is now a proper package

So far, the emscripten package was a bit of a hack. It relied on a text file ~.emsdkdir in the home directory which contained the directory of the emscripten installation. This was not very nice, because it was hard to build packages for several emscripten versions.

Read more ...


Rust/PyO3 Support

Finally, we have added support for Rust/PyO3/maturin packages. This allows to build packages like * cryptography, pydantic-core and pycrdt.

Read more ...


Local builds with pixi

Setting up a local build environment for emscripten-forge used to be a very complicated process with many dependencies and many steps. But with the usage of pixi this has become trivial!

Read more ...


Goodby boa, welcome rattler-build

When emscripten-forge was started, we relied on https://github.com/mamba-org/boa which is a conda-build like tool but using more of mamba then conda. This was always a bit brittle and we had to maintain a fork of boa to make it work with emscripten-wasm32. Testing did not work at all, because test dependencies could only be specified for the target_platform and not for the host_platform, ie only for emscripten-wasm32 and not for linux-64 (or any other host platform). This means there was no sane way to install the “emulators” to run the wasm code on the host platform. Also the error messages were not very helpful and the code was hard to understand.

Read more ...