Skip to main content

forge3d: Rust/WebGPU offline 3D maps with local GIS raster metadata and GeoTIFF write 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.27.0.tar.gz (12.3 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.27.0-cp310-abi3-win_amd64.whl (7.3 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.27.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (8.1 MB view details)

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

forge3d-1.27.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (7.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

forge3d-1.27.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (11.8 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.27.0.tar.gz.

File metadata

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

File hashes

Hashes for forge3d-1.27.0.tar.gz
Algorithm Hash digest
SHA256 91e4a9c3936c011f4edcc5e419372113bdd7657f713d1d91c81f7d9c26955335
MD5 c71a8da0d828875b899fc8277ab70539
BLAKE2b-256 57298f0825c8de892360c462acbf32f988d66e78408db6c500238d571b6d70ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge3d-1.27.0-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 7.3 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.27.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 6f26986c38fc782a44ba3d60e2d9243601a9fe50750a43600dfd3743f2e42166
MD5 28d168e95ca998a96daa907e5ae68418
BLAKE2b-256 a9a52fd5ffc4b9cdec0f14fdc27db60b7789b14f63437fa29a9f23d51adb2462

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.27.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f966e93c18d287918dc8bf3941d5a17411b76683a7974b0059243cb080146e47
MD5 6b100e73be84f81d5c0622d029dfa966
BLAKE2b-256 4e28acba4689ba54192da0d5703202f475577058b110878116a47f8e8ba75efb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.27.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7c8f0384bbf9403cdb1e3a83e37a0fe32e80178a3c824ad75853f62d1682b028
MD5 3d9cf5d49c434162545af6e48e9628d3
BLAKE2b-256 15dd8058cff192e0d56a1bcf40bf4cf18b0e760b4b3022f37835cd442085caf1

See more details on using hashes here.

File details

Details for the file forge3d-1.27.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.27.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 fe22329fb9c7bee7abae3a0b4a33f514f8768f672d58697d2319a2101de0b200
MD5 63db91649d220e3621371070378014b0
BLAKE2b-256 0331eb1ffff13ffb00300bb5d922be6b9def5095c0f83f417db61e1fc4a36bfa

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