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.29.0.tar.gz (12.4 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.29.0-cp310-abi3-win_amd64.whl (7.7 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.29.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.5 MB view details)

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

forge3d-1.29.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (8.3 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

forge3d-1.29.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (12.6 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.29.0.tar.gz.

File metadata

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

File hashes

Hashes for forge3d-1.29.0.tar.gz
Algorithm Hash digest
SHA256 1a1c9e71470a39132fc16ff5f6928efa88d6e1d1ea5d1963483e4534d6f7de18
MD5 ce20b264bbfde16a6508194be015e5f2
BLAKE2b-256 0f7f5469632e55aed47b8590319a8e004d1cfd2b0217b7d6ff5259d1f7e0630c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge3d-1.29.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 7.7 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.29.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 84b02790749a33fcdc0e5445a8bb1abf8f21e15940de72ea0a37ea9e4f48f7af
MD5 7bf6f269ccb2997eade8145bcf794dfb
BLAKE2b-256 665f58110c29275b31a8cdbebbe294eb97ddd572abb38d34fa4e3b2ad2fbec38

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.29.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3b88549cb36c5943c6b8bc4938875b59fea751dfc85157288a75a3a9a8534bde
MD5 2edd085638e40427c983bf94cfa892f5
BLAKE2b-256 f3324cf5de82178d72bec28ee702dc6a6fc59da6d5d1e5e87971970325050553

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.29.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 03e540f8b9fbfa657e8f3d6b24cec50958341637f73f940928cf99bc01fecb5d
MD5 f2288102325e115c091708c43eb1a4fd
BLAKE2b-256 ebea6db049fc29ac3c27c5e67b1cc45bd38d55726a67255223ae5a70a2472f00

See more details on using hashes here.

File details

Details for the file forge3d-1.29.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.29.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 c5aa84452485e1b34942113e009054007ab13fcbe8de1078db3c1550e4e3fbad
MD5 2f23c4240852734ca83b3c21e5568cb7
BLAKE2b-256 824b14294e7bccb73242b2bf118aa5aabcd7b8bbec77d40e39506c3e53d2ce37

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