Skip to main content

forge3d: Rust/WebGPU offline 3D maps with P2 material/VT diagnostics, advanced labels, large-scene summaries, and reproducible bundles

Project description

forge3d

Python-first terrain and scene rendering on top of Rust + WebGPU.
Interactive viewer, offscreen rendering, overlays, point clouds, notebooks, and production outputs.

PyPI Python 3.10+ License Docs


forge3d hero render

Install

pip install forge3d

Optional extras:

pip install "forge3d[jupyter]"   # notebook widget support
pip install "forge3d[datasets]"  # on-demand sample datasets
pip install "forge3d[all]"       # everything

Quick Start

import forge3d as f3d

dem_path = f3d.fetch_dem("rainier")

with f3d.open_viewer_async(terrain_path=dem_path, width=1440, height=900) as viewer:
    viewer.set_z_scale(0.1)
    viewer.set_orbit_camera(phi_deg=28, theta_deg=49, radius=5400, fov_deg=42)
    viewer.set_sun(azimuth_deg=302, elevation_deg=24)
    viewer.snapshot("rainier.png", width=1920, height=1080)

What forge3d Covers

Open-source workflow:

  • Interactive terrain viewing through open_viewer_async() and ViewerHandle
  • Terrain snapshots from GeoTIFF or numpy DEM inputs
  • Raster overlays, vector overlays, labels, and camera automation
  • LAZ/COPC/EPT point-cloud loading
  • COG access, CRS helpers, datasets, presets, and notebook widgets
  • Native/offscreen rendering with Scene, Session, TerrainRenderer, and TerrainRenderParams
  • Geometry, mesh, vector, SDF, path-tracing, lighting, and terrain scatter helpers

Pro workflow:

  • MapPlate, Legend, ScaleBar, and NorthArrow for cartographic composition
  • SVG/PDF vector export
  • Building import pipelines for GeoJSON, CityJSON, and 3D Tiles workflows
  • Mapbox-style import and scene bundles

Documentation Map

Examples

The repo ships a broad set of runnable examples in examples/, including:

  • interactive terrain scenes and raster overlays
  • Mapbox-style, labels, and picking demos
  • point-cloud and building viewers
  • camera animation and terrain camera rigs
  • COG streaming and offscreen terrain rendering
  • pure-Python composition examples and notebooks

Run any script with python examples/<name>.py --help when it exposes CLI options.

License

The open-source core is released under Apache-2.0 OR MIT. Pro-gated 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.26.0.tar.gz (2.8 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.26.0-cp310-abi3-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.26.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.9 MB view details)

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

forge3d-1.26.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.26.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (11.4 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.26.0.tar.gz.

File metadata

  • Download URL: forge3d-1.26.0.tar.gz
  • Upload date:
  • Size: 2.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for forge3d-1.26.0.tar.gz
Algorithm Hash digest
SHA256 31c927f46aead8adedc2ac25a1586c44b09b730cf9ccc9af1c8b2407fbcce471
MD5 e1fc4b3b27e4ecc949019c5740d824f7
BLAKE2b-256 b1014d97f6fbfff6894db5dd00e327afa56059457a8df97d5c3e074bc96251d6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for forge3d-1.26.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 dc18ef332df23c7e3d76aff532caf02cc4c9255ab52088126e2bd014471706a6
MD5 c2d9ac64896282dcd48939a06a46bc45
BLAKE2b-256 d60b1522b96c01eb932661053b6bb82ef2333252fd66def60a17d165111fb789

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.26.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a4923611b860da28e3bfca84b8235169e5984a1859b41d9babece5cee0dcff89
MD5 bdc66edc7286bc5b00cf822c1605f9a0
BLAKE2b-256 5fdc1096f444830be5e34605797bb7096d19a2b15f50f7199d324b833cf1af79

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.26.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5895a98d6ce89166c8bb564581a0953bbfe959e40348b8234b1e2bdc15e3805a
MD5 274fc08860234ea7f0e8f038abfec9dd
BLAKE2b-256 79c535f3e01ea61d1a9f778ebeb77b132dfb01bb33e82d461eb94c1b1824f851

See more details on using hashes here.

File details

Details for the file forge3d-1.26.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.26.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 2bf72d43b4633cb9d8346b340accdfc41b8fd85db1facbd99124e7cb65004a10
MD5 d555fb51d1f2f89622ad5b92604c8fe0
BLAKE2b-256 ef452e7cfb73fd004728219ab8238f7ca9e69c532d567f2159d662ad982c2ea6

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