Skip to main content

forge3d: Rust/WebGPU offline 3D maps with Rust-first GIS vector, rasterization, mask, thematic, CRS, affine, windowing, and reprojection support

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.30.0.tar.gz (2.9 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.30.0-cp310-abi3-win_amd64.whl (9.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.30.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.3 MB view details)

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

forge3d-1.30.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

forge3d-1.30.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (15.9 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.30.0.tar.gz.

File metadata

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

File hashes

Hashes for forge3d-1.30.0.tar.gz
Algorithm Hash digest
SHA256 8fafdaa21b6ff9cbd6e31fe3c5fa5209b40cf9fac50a145e93cdb4f281dc0deb
MD5 8dc429984a09bd51baf247ba7723c414
BLAKE2b-256 e575fa6361d5a00cbbe7100b896deebae04f9acd66b3fc1b4b951e9185debee0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge3d-1.30.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 9.4 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.30.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c295bf96acad7de80995f13a94d675215a5d3789dbe665842b9f7d812cdf1989
MD5 1987378b58e851a63ea9691087866017
BLAKE2b-256 847030fc4abf3501be600a3076897be3df4c9eb51652574158b63d6c9ca69355

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.30.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2abbbb2efa949e173904c3ad8ce5c3774eb110cf609e8b690b500013c602d560
MD5 b5148f51f77b996e0216b7923cc1714a
BLAKE2b-256 f1c1e1cd3e65c08e3d4b0b7ba3744aaffbbed1bfdc85b0489cee4054189bf5c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.30.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 483e38ed19c29db85dc7008a41c47193b63eef67fe6245cb73a9175d457a206b
MD5 d899f90b7b82543de6ab28c8c1752e7e
BLAKE2b-256 a441e63f705150144ae74f366f61466157087eb1f82eedced23b70c92e6a0e2a

See more details on using hashes here.

File details

Details for the file forge3d-1.30.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.30.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 2046a4832155bf45f5cbcc46692556d33e97c9af96b09bfd0b445f8c391ad0f7
MD5 d28e892aaccab54706a22ed33fe8f952
BLAKE2b-256 19ef8d38ed5c3d8b59d20e28973bcdb6f66648379a369613e345f64908c1f735

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