webassembly-language-runtimes
Nuitka
webassembly-language-runtimes | Nuitka | |
---|---|---|
6 | 94 | |
316 | 10,921 | |
1.9% | 2.8% | |
7.1 | 10.0 | |
16 days ago | 7 days ago | |
Shell | Python | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
webassembly-language-runtimes
-
Why Are Tech Reporters Sleeping on the Biggest App Store Story?
> so I wonder if there's something holding back Python + WASM
Yes. The problem is that may python libraries involve compilation of c, rust or other native languages that themselves need a WASM toolchain configured to cross compile to WASM correctly, and potentially patches to support the platform.
This toolchain support is coming though. See pyodide.org for one example.
But if you just want to grab python.wasm from somewhere and run it on the cli, take a look at something like https://github.com/vmware-labs/webassembly-language-runtimes...
-
Show HN: Metatype – an open-source, low-code API platform for developers
WMWare labs [1] managed to compile Python/Ruby/PHP into WASM distribution. This works if you want to run the language interpreter but is limited when you want your WASM runtime (host) to run in parallel of your own program. This leads to the creation of the "reactor" concept by the community [2].
In the python WASI reactor, we load the libpython compiled for WASM and add a Rust reactor layer. Currently, it supports dynamic registration of Python lambdas and we are working on adding support for whole functions/packages.
[1] https://github.com/vmware-labs/webassembly-language-runtimes
-
Extending web applications with WebAssembly and Python
The Python builds from the WebAssembly language runtimes [0] project target the WebAssembly System Interfaces (WASI) [1]. It allows the Python interpreter to interact with resources like the filesystem.
Many server-side Wasm runtimes supports WASI out of the box. For the browser, you need to provide a polyfill to emulate these resources like the one provided by the WASI team [2].
Regarding SQLite, these builds include libsqlite so you should be able to use it :)
- [0] https://github.com/vmware-labs/webassembly-language-runtimes
- [1] https://wasi.dev/
- [2] https://wasi.dev/polyfill/
-
FaaS in Go with WASM, WASI and Rust
Hello salaboy
Of course getting and gems etc gets weird in wasm..
Anyway, thanks to VMware labs for publishing interpreter wasm builds, people can play around. https://github.com/vmware-labs/webassembly-language-runtimes...
Random, but enjoy.
-
WebAssembly: Docker Without Containers
Hey! A WasmLabs team member here :). We're planning to port several runtimes as part of our WebAssembly Language Server initiative [1]. Porting things to Wasm+WASI is sometimes challenging. There are some deep-dives in our blog around this topic [2].
[1] https://github.com/vmware-labs/webassembly-language-runtimes...
[2] https://wasmlabs.dev/articles/php-wasm32-wasi-port/
Nuitka
-
Py2wasm – A Python to WASM Compiler
Thanks for the feedback! I'm Syrus, main author of the work on py2wasm.
We already opened a PR into Nuitka to bring the relevant changes upstream: https://github.com/Nuitka/Nuitka/pull/2814
We envision py2wasm being a thin layer on top of Nuitka, as also commented in the article.
From what we gathered, we believe that there's usefulness on having py2wasm as a separate package, as py2wasm would also need to ship the precompiled Python distribution (3.11) for WASI (which will not be needed for the other Nuitka use cases), apart of also shipping other tools that are not directly relevant for Nuitka
-
Python Is Portable
This is a good place to mention https://nuitka.net/ which aims to compile python programs into standalone binaries.
-
We are under DDoS attack and we do nothing
For Python, you could make a proper deployment binary using Nuitka (in standalone mode – avoid onefile mode for this). I'm not pretending it's as easy as building a Go executable: you may have to do some manual hacking for more unusual unusual packages, and I don't think you can cross compile. I think a key element you're getting at is that Go executables have very few dependencies on OS packages, but with Python (once you've sorted the actual Python dependencies) you only need the packages used for manylinux [2], which is not too onerous.
[1] https://nuitka.net/
[2] https://peps.python.org/pep-0599/#the-manylinux2014-policy
-
Faster Blogging: A Developer's Dream Setup
glee is rich in blogging features but has some drawbacks. One of the main drawbacks is its compatibility with multiple operating systems and system architectures. We lost one potential customer due to glee incompatibility in macOS. Another major issue is the deployment time. We built the first version of glee entirely in Python and used nuitka, nuitka compiles Python programs into a single executable binary file. We need to create three separate stages for creating executable binaries for Windows, Mac, and Linux in deployment, and it takes around 20 minutes to complete.
-
Python 3.13 Gets a JIT
There is already an AOT compiler for Python: Nuitka[0]. But I don't think it's much faster.
And then there is mypyc[1] which uses mypy's static type annotations but is only slightly faster.
And various other compilers like Numba and Cython that work with specialized dialects of Python to achieve better results, but then it's not quite Python anymore.
[0] https://nuitka.net/
[1] https://github.com/python/mypy/tree/master/mypyc
-
Briefcase: Convert a Python project into a standalone native application
Nuitka deals pretty well with those in general: https://nuitka.net/
-
Ask HN: How does Nuitka (Python compiler) work?
Hi HN,
Has anyone explored Nuitka [1] and developed understanding from a blank slate?
Is there any toy version of this, so that one can start playing with the language translation concepts?
Is there any underlying theory/inspiration upon which this project is built?
Are there any similar projects, in say other languages?
[1] https://github.com/Nuitka/Nuitka
-
Why not tell people to “simply” use pyenv, poetry or anaconda
That's more of cultural problem in the Python community.
If I provide an end user software to my client written an Python (so not a backend, not a lib...), I will compile it with nuitka (https://github.com/Nuitka/Nuitka) and hide the stack trace (https://www.bitecode.dev/p/why-and-how-to-hide-the-python-st...) to provide a stand alone executable.
This means the users don't have to know it's made with Python or install anything, and it just works.
However, Python is not like Go or Rust, and providing such an installer requires more than work, so a huge part of the user base (which have a lot of non professional coders) don't have the skill, time or resources to do it.
And few people make the promotion of it.
I should write an article on that because really, nobody wants to setup python just to use a tool.
- Python cruising on back of c++
-
Is cython a safe option for obfuscate a python project?
As for a simpler option, you could use a "compiler": https://github.com/Nuitka/Nuitka
What are some alternatives?
go-pdfium-wasm
PyInstaller - Freeze (package) Python programs into stand-alone executables
browser_wasi_shim - A WASI shim for in the browser
pyarmor - A tool used to obfuscate python scripts, bind obfuscated scripts to fixed machine or expire obfuscated scripts.
python-wasi-reactor - Python WASI reactor runtime.
PyOxidizer - A modern Python application packaging and distribution tool
whiz - Modern DAG/tasks runner for multi-platform monorepos with live reloading, env management, pipes, and more in a tabbed view.
py2exe - modified py2exe to support unicode paths
runwasi - Facilitates running Wasm / WASI workloads managed by containerd
false-positive-malware-reporting - Trying to release your software sucks, mostly because of antivirus false positives. I don't have an answer, but I do have a list of links to help get your code whitelisted.
lade - Automatically load secrets from your preferred vault as environment variables or files, and clear them once your shell command is over.
py2app