HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
wasmerio
wasmer
Rust2018–2026
wasmerio / wasmer

wasmer

🚀 Fast and lightweight sandboxes for your apps and AI agents

34Distinct people
56Mentions
0Explicit recommenders
21.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

🚀 Fast and lightweight sandboxes for your apps and AI agents

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year56 dated mentions

Observed mentions: 2018-12-08 03:04:12 UTC to 2026-01-29 03:41:46 UTC.

0369122018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 3 mentions; 1 submissions, 2 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 12 mentions; 2 submissions, 10 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments20222023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 9 mentions; 1 submissions, 8 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC312
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC12210
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC606
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC1019
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC10010
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC918
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC303
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC110

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Lightweight sandboxes for your apps and AI agents Run with the CLI ¡ Embed with the SDK ¡ Try in your browser Wasmer runs your apps in fast, secure, and lightweight sandboxes: locally, in the cloud, or in your browser. Secure by default. You control file, network, and environment access. Lightweight. Fast startup with a small memory footprint. Ready to run. Python, JavaScript, Bash, and more from the registry. Embeddable. Add sandboxes to your app with the Wasmer SDK. Run your first sandbox Install the CLI on macOS or Linux: curl https://get.wasmer.io -sSfL | sh Windows and other installation options Windows (PowerShell) iwr https://win.wasmer.io -useb | iex Homebrew (macOS / Linux) brew install wasmer See the installation guide for more options. Run Python in a sandbox: wasmer run python/python -- -c "print('Hello from Wasmer')" Hello from Wasmer Or try a shell command and Cowsay: wasmer run wasmer/bash -- -c "echo 'Hello from Wasmer'" wasmer run syrusakbary/cowsay -- "Hello from Wasmer" Wasmer downloads the package and caches it for future runs. Use -- to separate Wasmer options from the arguments passed to your program. To work with local files, grant access to a directory with --volume; enable host networking with --net when your program needs it. See the CLI guide for details. No installation needed: open wasmer.sh to try a sandbox in your browser. Wasmer SDK Create a sandbox, choose your tools, and run code directly in your app with the Wasmer SDK. Install the SDK JavaScript / TypeScript (Node.js 20 or newer): npm install @wasmer/sdk Rust The Rust SDK currently uses a source dependency. Clone wasmerio/wasmer-sdk, then point your application at its rust directory: [dependencies] wasmer-sdk = { path = "../wasmer-sdk/rust" } tokio = { version = "1", features = ["macros", "rt-multi-thread"] } Follow the Rust setup guide for the required toolchain and workspace patches. Crates.io publishing is currently disabled. Python python -m pip install wasmer-sdk The SDK's Python wheels support macOS and Linux on Intel and ARM64. See the Python guide. Swift (iOS and macOS) Use Swift 6 or newer. The SDK supports macOS 12+ and iOS 27+; iOS apps require Xcode 27 or newer. Add the package to your Package.swift dependencies: .package( url: "https://github.com/wasmerio/wasmer-sdk.git", revision: "wasmer-sdk-swift-v0.4.0" ) Then add the product to your target's dependencies: .product(name: "WasmerSDK", package: "wasmer-sdk") In Xcode, you can instead add the repository URL, select wasmer-sdk-swift-v0.4.0 as a revision, and choose the WasmerSDK product. SwiftPM downloads the prebuilt macOS binaries and iOS runtime resources. For iOS, set the deployment target to iOS 27.0 and allow local networking in your app's Info.plist: <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsLocalNetworking</key> <true/> </dict> Both platforms use import WasmerSDK and the same API. On iOS, the SDK manages a hidden WKWebView; your app does not need to display one. See the Swift guide and iOS setup guide for more details. Run code in a sandbox JavaScript / TypeScript Save this as sandbox.mjs: import { Wasmer } from "@wasmer/sdk/node"; const wasmer = new Wasmer(); const sandbox = await wasmer.sandboxes.create({ packages: ["python/python@=3.13.20"], }); const output = await sandbox .command("python", ["-c", "print('Hello from Wasmer')"]) .run(); console.log(output.text()); Run it with node sandbox.mjs. Python executes inside the sandbox; you don't need Python installed on the host. See the JavaScript guide. Python example Save this as sandbox.py: import asyncio from wasmer_sdk import Wasmer async def main(): wasmer = Wasmer() sandbox = await wasmer.sandboxes.create( packages=["python/python@=3.13.20"], ) output = await sandbox.command( "python", ["-c", "print('Hello from Wasmer')"] ).run() print(output.text()) asyncio.run(main()) Run it with python sandbox.py. See the Python guide. Swift example (iOS and macOS) Use this code in an async throws context: import WasmerSDK let wasmer = try Wasmer() let sandbox = try await wasmer.sandboxes.create( packages: ["python/python@=3.13.20"] ) let output = try await sandbox.command( "python", ["-c", "print('Hello from Swift!')"] ).run(timeout: 30) print(try output.text()) See the Swift guide for embedding in an iOS or macOS app and more examples. JavaScript in the browser Use the same JavaScript sandbox API with the @wasmer/sdk/browser import. Execution happens in the browser. Your page needs cross-origin isolation (Cross-Origin-Opener-Policy: same-origin and Cross-Origin-Embedder-Policy: require-corp) for worker-backed execution. Follow the browser setup guide or explore wasmer.sh. Rust example use wasmer_sdk::{Result, Wasmer}; #[tokio::main] async fn main() -> Result<()> { let wasmer = Wasmer::new()?; let sandbox = wasmer .sandboxes() .create() .package("python/python@=3.13.20") .await?; let output = sandbox .command("python") .args(["-c", "print('Hello from Wasmer')"]) .run() .await?; println!("{}", output.text()?); Ok(()) } See the Rust guide for workspace setup and more examples. Go further Build more with the sandbox API: Commands. Run code and capture output. Processes. Stream output and manage long-running tasks. Files. Read and write the sandbox workspace. Tools. Combine languages and packages in one sandbox. Services. Run servers with explicit network access. The SDK is currently alpha. See the language guides for platform support and capabilities, and the SDK examples for Python scripts, an Edge.js HTTP server, PostgreSQL, and multiple tools sharing one sandbox. Software you can run Start with packages from the registry: Software Package Python python/python JavaScript / Node.js-compatible app
Read the full README on GitHub

What Hacker News says

56 sources
It seems the issue was not up to date, thanks for pointing it out (just commented in Github to make it clear for future readers). Wasmer supports most of the Wasm-C-API, with some exceptions for APIs that are not that common to use: finalize, hostref and threads (tables just had some quirks on the implementation that we had to polish, but is generally implemented [1]). https://github.com/wasmerio/wasmer/blob/main/lib/c-api/tests... If you are interested in running any of these cases using Wasmer via the Wasm-C-API please let us know... it should be mostly trivial to add support! [1] https://github.com/wasmerio/wasmer/blob/main/lib/c-api/src/w...
In I Wrote a WebAssembly VM in C
wasmer is a software to run a wasm binary locally like an app. wasm is a web standard supported by browsers and lets this wasm binary run in the browser. Also, the project called "wasmer" that is discussed in this thread is https://github.com/wasmerio/wasmer and not wasmer-js that you link to.
In Wasmer 5.0
There don't seem to be many write-ups on this concept. The best reference seems to be existing implementations: Wasmer's implementation of metering[0] just traps when it runs out of fuel. WasmEdge's implementation of interruptibility[1] checks a flag and stops execution if it's set. While neither of these support resuming execution after the deadline, replacing the halt with a call to a signal dispatcher should work. Wasmtime has two different implementations of interrupting execution that both support resuming[2]. The fuel mechanism[3] is deterministic but the epoch mechanism[4] is more performant. If you're free to pick your runtime, I'm sure you could configure Wasmtime into doing what you want. [0]: https://github.com/wasmerio/wasmer/blob/master/lib/middlewar... [1]: https://github.com/WasmEdge/WasmEdge/pull/910 [2]: https://docs.rs/w
Read the rest
In Should you be scared of Unix signals? (2016)
While I respect their point of view, I do not agree that banning bounties in OSS projects is the right way of approaching it, and as such we haven't complied to it. Specially since this is a bounty for a real need that we have at Wasmer. Furthermore, we also took their post constructively and added two more points on the bounty issue [1] that we believe should solve most of their concerns: * Wasmer will manage the work and have at most one person or team working on it at a time. Anyone interested on the work should reply here and organization of the work will be done by the Wasmer team * Partial work that actually works will be rewarded accordingly (for example, the libc layer, or the Zig layer itself) Of course, the fact that they banned any further conversation from the disagreement doesn't make specially easy to see if such an approach
Read the rest
In Wasmer – Run, Publish and Deploy any code, anywhere
The "different point of view" here seems like you're determined to interact with their community in a way they've explicitly asked you not to [0]: > Please don’t use bounties to incentivize Zig development. They explained their reasoning extensively: - Bounties foster competition at the expense of cooperation. - Bounties are an utterly simplistic way of dealing with the business management side of creating software: - Instead of scouting for a suitable candidate, you’re letting battle royale dynamics pick a winner for you, at the expense of everybody who’s going to lose the competition. - Instead of creating a clear contract where you take on some of the risk, you implicitly put the entirety of the risk on the contestants (eg partial solutions don’t get any payout). - Instead of allocating time and resources to proper due
Read the rest
diligence, you instead penalize any form of thoughtfulness in favor of reckless action (eg a solution just needs to pass a test suite). - Instead of planning for the full lifecycle of software, which also includes maintenance, you end up with a quickly bitrotting artifact that is of no practical use to anybody. - Instead of spreading unease to all the people involved, it would be preferable you instead learned how to do business properly. - On projects less radical than Zig, you might also put pressure on the development team to accept the winning submission, which, given the above, will probably not be the most well-thought-out and maintainable solution. You responded by moving the request to your own repo, with the following disclaimer [1]: > Info: while ideally the PR should be merged into Zig master, is not a necessary requirement to receive the bounty. As long as a fork exists that fulfills the requirements laid out before, the bounty will be awarded To an outsider, this looks like you slapped a new name on the exact thing the Zig team asked you to stop. Do you feel your new request adaquately addresses the team's issues? [0] https://ziglang.org/news/bounties-damage-open-source-project... [1] https://github.com/wasmerio/wasmer/issues/4218
In Wasmer – Run, Publish and Deploy any code, anywhere
I respectfully disagree with the take that Bounties damages Open Source Projefts, which I also respectfully communicated to the Zig leadership team. After my communication they banned me from participating in their community (I quote from them "You're not welcome anymore on our GH repo nor any other community managed directly by us."). For those interested, we moved the sponsorship work to the Wasmer repo, so those who want to work on it can do it freely. https://github.com/wasmerio/wasmer/issues/4218
In Bounties Damage Open Source Projects
No longer does Wasm/WASI need JS host! There are many spec-compliant runtimes built for environments from tiny embedded systems up to beefy arm/x86 racks: - https://github.com/bytecodealliance/wasm-micro-runtime - https://github.com/bytecodealliance/wasmtime - https://github.com/wasmerio/wasmer - https://github.com/tetratelabs/wazero - https://github.com/extism/extism (disclaimer, my company's project - makes wasm easily embeddable into 16+ programming languages!)
In Val, a high-level systems programming language
> you will need to ship it with some mechanism that allows running CGI over http (kind of Apache or Nginx) Is wasmer stable and secure enough to be exposed to abuse of the entire Internet? > your container would be bigger than the Wasmer package The first Google hit for "docker php nginx" is https://hub.docker.com/r/trafex/php-nginx - they claim their Docker image is 40 MB compressed, whereas Wasmer for amd64 (latest from https://github.com/wasmerio/wasmer/releases) is a 80 MB tar.gz (unpacks to 300 MB tar). Even with larger images, like the `wordpress` image (200 MB), the size is neglible. > Because of that, Docker containers will have the downside of: being able to run only in one chipset/OS You probably don’t need to care about architectures other than amd64 and arm64. Both are supported by the trafex/php-nginx and wordpress Docker ima
Read the rest
ges. > (even if you use state of the art for running them, aka Firecracker, you still get 250ms vs < 1ms with Wasmer) Starting a fresh VM for every request doesn’t make sense, so this difference wouldn’t matter in real life.
In Announcing WCGI: WebAssembly and CGI

Showing the 15 most recent of 56 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.