Skip to main content

forge3d: Rust/WebGPU 3D maps with P1 asset layers, diagnostics, labels, 3D Tiles review, and reproducible scene 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.25.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.25.0-cp310-abi3-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.25.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.25.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.25.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.25.0.tar.gz.

File metadata

  • Download URL: forge3d-1.25.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.25.0.tar.gz
Algorithm Hash digest
SHA256 c0fb8f64f75dc56062a4e228de10a5cd1ae7f2da77ec2a80c32f953acc1ee4cf
MD5 20ab3af934820cbb7b73e2a0073120b9
BLAKE2b-256 a6e275e344ff24409d142efb280f313e0662f969b20477aa88b002eb7060f6fa

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge3d-1.25.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.25.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f3733d721c88f2d868248b43147120431f63ffbf1af88fbfe6ec1d6adf703f95
MD5 5981b37f4b8151ad44b90552f6bea281
BLAKE2b-256 a74c33351bd7ffde1054e23de02cc3f26e92b8bf40edc8a4f8ea0f1af980e64c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.25.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cbbf89bce054a920346c06c2d184c11bd800b7414b01bed316e0e01759b8eab0
MD5 9816f168500243d97755896e30bdeb40
BLAKE2b-256 07db5437a96f3e36ee35fb11a96f32093a73f605c27be681494e313786d2a352

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.25.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8137552717105c6ed7dc179a4253a6e13a14c8a5b9c93faca0b8aa34728fb278
MD5 5c8dbc6f2ff7d38ce5e2220c3cf42bff
BLAKE2b-256 756ac1866cc86836bdf725a86f3355474cc12884221cc02ba8f6f57777093cbe

See more details on using hashes here.

File details

Details for the file forge3d-1.25.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.25.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 99d365cec8c72b0d856fc755e656bea844de319880eda3d0dda272dfd6c8fe51
MD5 26462392c841eb35d35305728a6a5b61
BLAKE2b-256 47645b4e47a4f09c2b155ffec3548ee87cc5df88f3389a89a3f29959211d8a3f

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