Skip to main content

forge3d: Rust/WebGPU core with PyO3 bindings

Project description

forge3d

GPU-accelerated 3D terrain rendering for Python.
Built in Rust with WebGPU. Pre-built wheels — no Rust toolchain required.

PyPI Python 3.10+ License Docs


forge3d hero render

This image was generated with 5 lines of Python. Load a DEM, launch the GPU viewer, position the camera, and capture a publication-quality snapshot. No shaders to write. No OpenGL boilerplate. Just pip install forge3d.

import forge3d

with forge3d.open_viewer_async(terrain_path="rainier.tif") as viewer:
    viewer.set_orbit_camera(phi_deg=225, theta_deg=35, radius=1.2)
    viewer.set_sun(azimuth_deg=315, elevation_deg=32)
    viewer.snapshot("render.png", width=3840, height=2160)

Install

pip install forge3d

Need Jupyter widgets or tutorial datasets?

pip install "forge3d[jupyter]"     # ViewerWidget for notebooks
pip install "forge3d[datasets]"    # on-demand sample DEMs, CityJSON, COPC
pip install "forge3d[all]"         # everything

Gallery


PBR terrain

Landcover overlay

LiDAR point cloud

Sun & shadow control

GeoPackage labels

CityJSON buildings

Vector overlays

Camera animation

Map plate compositor

See the full gallery →

What You Get

Open Source (Apache-2.0 / MIT)

Everything you need to go from raw elevation data to a rendered 3D scene:

  • Interactive viewer — real-time orbit, pan, zoom via a Rust/WebGPU subprocess controlled from Python over IPC
  • Terrain rendering — load GeoTIFFs or numpy arrays, PBR materials, 100+ colormaps
  • Vector overlays — GeoJSON/GeoPackage polygons, lines, and labels projected onto terrain
  • Point clouds — COPC and LAZ files with millions of points, colored by elevation or classification
  • 3D Tiles — stream OGC 3D Tiles tilesets directly into the viewer
  • CRS reprojection — automatic coordinate transforms via PROJ + pyproj
  • Camera animation — keyframed flyover paths with frame-by-frame export
  • Jupyter integrationViewerWidget embeds the viewer inline in notebooks
  • High-res snapshots — up to 8K PNG export from any camera angle

Pro

Professional cartography and production workflows:

  • Map plate compositor — legends, scale bars, north arrows, multi-panel layouts
  • SVG / PDF export — publication-ready vector output
  • 3D buildings — GeoJSON, CityJSON, and 3D Tiles import with roof inference and PBR materials
  • Mapbox Style Spec — load and apply Mapbox-compatible styles
  • Scene bundles — save and share complete .forge3d scene packages
  • Get a Pro key →

Tutorials

Two tracks depending on your background:

Jupyter

from forge3d.widgets import ViewerWidget

widget = ViewerWidget(terrain_path="dem.npy")
widget.set_camera(phi_deg=225, theta_deg=35, radius=1.2)
widget.set_sun(azimuth_deg=315, elevation_deg=32)
widget.snapshot()  # renders inline

Links

Documentation  ·  API Reference  ·  GitHub  ·  PyPI

License

Open-source core released under Apache-2.0 OR MIT. Pro features require a commercial license key set with forge3d.set_license_key(...).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forge3d-1.13.0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

forge3d-1.13.0-cp310-abi3-win_amd64.whl (7.0 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

forge3d-1.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

forge3d-1.13.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (10.7 MB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file forge3d-1.13.0.tar.gz.

File metadata

  • Download URL: forge3d-1.13.0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for forge3d-1.13.0.tar.gz
Algorithm Hash digest
SHA256 376c43da04bea1b67e6baa44297199f9a22165a015d984d70b85012b915ecfec
MD5 613ec522e9ff798f23f3f8099d3e1987
BLAKE2b-256 9673d19d9328168d0293e9ab6277e7c21e2e653509ba9646c1d7e34dad58ee43

See more details on using hashes here.

File details

Details for the file forge3d-1.13.0-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: forge3d-1.13.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 7.0 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for forge3d-1.13.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7d33efce6b56041a593565ece5e52bf2b339a31e15699336abfe0fcc9441a448
MD5 f60b8cbd2d6da747097fe1aaf2497d48
BLAKE2b-256 85a77acf795d799455c2ca788ba9aa064f4a29275dc30fd2d9a990c499319e18

See more details on using hashes here.

File details

Details for the file forge3d-1.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for forge3d-1.13.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37fd175d275dc942fe860538f91c762d7c0883e40a3133efc85019d203be82ba
MD5 a9be210029830a7535bab87b438fe78b
BLAKE2b-256 ac4c7196641c4d494206542a17fd15f6acba269598d4166c3d74ed132e6b76cd

See more details on using hashes here.

File details

Details for the file forge3d-1.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for forge3d-1.13.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 774c8df2b8b545802d291a2f46f987f0913969ddbde870b4fcb2c769b2c766cc
MD5 921b17101a818e31eebec5678f2e3ae0
BLAKE2b-256 a44841f63d906fa5392e8dd3f9d63a9038756ef2187a4118376635a1c619caba

See more details on using hashes here.

File details

Details for the file forge3d-1.13.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for forge3d-1.13.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 53d81f77d871b8c73136f396513fad887a9a0ab517b836fc5a786a19705d0650
MD5 4832be4aba8f40e8671b8be87eb079f3
BLAKE2b-256 9a95007846504cbd7f565b0dc889ce9c6f823040aa0e9b838ea6346f9f66ec9d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page