itkwasm
Python interface to itk-wasm WebAssembly (Wasm) modules.
What it is and what it does
itkwasm is a Python binding layer for the itk-wasm project, which compiles the Insight Toolkit (ITK) image processing algorithms to WebAssembly. It lets you call those compiled algorithms from Python code without reimplementing them. The package handles the interface between Python and the WebAssembly runtime (via wasmtime), managing data marshalling and function dispatch.
The package is in beta and targets developers and researchers who want to use ITK's imaging and visualization capabilities in Python but benefit from the portability and performance characteristics of WebAssembly-compiled code. It supports Python 3.9 through 3.13 and has low installation friction as a pure-wheel distribution.
Use it for:
- Run ITK image processing pipelines compiled to WebAssembly from within a Python application
- Integrate medical imaging algorithms into Python data science workflows without native C++ compilation
- Prototype imaging analysis using WebAssembly modules while maintaining Python's ease of use
- Build cross-platform imaging tools that leverage ITK's algorithm library via WebAssembly
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides a Python interface to run itk-wasm WebAssembly modules, enabling image processing and analysis algorithms compiled to WebAssembly to be called from Python.
Yes, if you need to call ITK imaging algorithms from Python and want the portability of WebAssembly. The package is actively maintained, has no known vulnerabilities, uses a permissive license, and installs easily. The beta status and lack of detailed documentation on module availability are minor concerns for exploratory use.
Install
itkwasm on PyPI
pip
pip install itkwasmuv
uv add itkwasmpoetry
poetry add itkwasmInstalling itkwasm
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with a release 9 days old and recent commits. Depends on wasmtime for WebAssembly runtime support, plus standard utilities like numpy and platformdirs.
License in practice
Licensed under Apache License 2.0, a permissive license that allows commercial and private use with minimal restrictions—you must include the license and note any modifications you make.
Quickstart
pip install itkwasm
import itkwasm
# Call a WebAssembly-compiled imaging function via the itkwasm interface
Requires Python 3.9 or later; wasmtime must be available on the system to execute WebAssembly modules.
Verify before relying
- Which specific itk-wasm modules are available through this interface and how they are discovered or loaded
- Whether this package works in browser/Pyodide environments or only native Python
- Performance characteristics and typical latency of calling WebAssembly functions from Python
Package facts
| License | Apache License Version 2.0, January 2004 https://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 5 — importlib-metadata, numpy, platformdirs, typing-extensions, wasmtime |
| Maintenance | actively maintained — 9 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,944/month — #14,764 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: itkwasm-1.0b200-py3-none-any.whl
Keywords: imaging, itk, visualization
Tags
More Scientific/Engineering packages
NumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
pandaspandas provides fast, flexible data structures…
permissive · top 100 on PyPI
scipyscipy provides numerical algorithms for…
permissive · top 100 on PyPI
scikit-learnscikit-learn provides a comprehensive Python…
permissive · top 1,000 on PyPI
dilldill extends Python's pickle module to…
permissive · top 1,000 on PyPI
multiprocessMultiprocess is an enhanced fork of Python's…
permissive · top 1,000 on PyPI
wasmerExecutes WebAssembly modules from Python with a…
permissive · top 15,000 on PyPI
itk-numericsitk-numerics provides Python bindings for ITK's…
permissive · top 15,000 on PyPI
itk-segmentationProvides Python bindings for ITK's segmentation…
permissive · top 15,000 on PyPI
itk-filteringitk-filtering provides Python bindings for…
permissive · top 15,000 on PyPI
wasmtimeEmbeds the Wasmtime WebAssembly runtime in…
unclear · top 5,000 on PyPI
itk-coreitk-core provides Python bindings to the…
permissive · top 15,000 on PyPI
itkITK provides N-dimensional scientific image…
permissive · top 15,000 on PyPI
qwasmDecodes and disassembles WebAssembly binary…
permissive · top 15,000 on PyPI
wasmer-compiler-craneliftProvides the Cranelift compiler backend for…
permissive · top 15,000 on PyPI
pyodide-pyProvides core interpreter functionality for…
copyleft · top 15,000 on PyPI