Hakowan
Hakowan is a 3D data visualization grammar. It is inspired by the grammar of graphics, and it is designed for easily creating beautiful 3D visualizations.
Install
Hakowan relies on Lagrange for geometry processing and supports three rendering backends:
| Backend | Description | Extra |
|---|---|---|
| WebGL (default) | Interactive browser viewer — ships with base install | (none) |
| Mitsuba | Photorealistic offline renderer | hakowan[mitsuba] |
| Blender | Cycles/EEVEE renderer (requires Python 3.13) | hakowan[blender] |
# WebGL only (default)
pip install hakowan
# Mitsuba backend
pip install hakowan[mitsuba]
# Blender backend (Python 3.13 required)
pip install hakowan[blender]
# All backends
pip install hakowan[mitsuba,blender]
# Add deterministic headless snapshots and multi-view observations
pip install "hakowan[observe]"
playwright install chromium
# Optional dataframe and geometry adapters
pip install "hakowan[data]"
# Agent integration is distributed separately
pip install "hakowan-mcp"
Note that Hakowan requires Python 3.11 and above (Python 3.13 for the Blender backend).
To check which backends are available in your environment:
import hakowan as hkw
print(hkw.list_backends())
Quick start
The following example renders an interactive HTML viewer using the WebGL backend:
import hakowan as hkw
layer = (
hkw.layer("mesh.obj")
.mark(hkw.mark.Surface)
.channel(material=hkw.material.Diffuse(reflectance="orange"))
)
result = hkw.render(layer, filename="viewer.html", backend="webgl")
# Open viewer.html in any modern browser
Agent integration
Hakowan's provider-neutral agent integration is maintained separately in
Hakowan/hakowan-mcp. It exposes
Hakowan's deterministic inspection, schema, validation, compilation, rendering,
observation, camera-fitting, and patch APIs to Copilot, Oh My Pi, and other MCP
hosts without adding model-provider dependencies to this package.
Documentation
@software{hakowan,
title = {Hakowan: A 3D Data Visualization Grammar},
version = {0.6.0},
year = 2026,
}
Release files for hakowan 0.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| hakowan-0.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / hakowan-0.6.0-py3-none-any.whl
| Download URL | hakowan-0.6.0-py3-none-any.whl |
|---|---|
| Size | 770.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
5d2c527cdccc5157f7d082da184d5a642e347b7ece01ee0f7fde3d5815f1db2e
|
|
BLAKE2b-256 checksum How to use checksums |
bc3cedc2ee55e47d36920455216db6dd7d872eb5ff1dd7749415693264f65ae6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 26, 2026.
Transparency log