Skip to main content

forge3d: Rust/WebGPU 3D maps with diagnostics, labels, 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.24.0.tar.gz (2.7 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.24.0-cp310-abi3-win_amd64.whl (7.1 MB view details)

Uploaded CPython 3.10+Windows x86-64

forge3d-1.24.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (7.8 MB view details)

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

forge3d-1.24.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.24.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.24.0.tar.gz.

File metadata

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

File hashes

Hashes for forge3d-1.24.0.tar.gz
Algorithm Hash digest
SHA256 1dfb28f5fd78c176b4d74a23cde1337e238a624974f39cbd7590b50f4762d745
MD5 03dc7f007bf295b526609cea13f685d8
BLAKE2b-256 a550a3a8c0ec77fd06abb07977ec05cc62ab7486f0179391b3ece8d20e21eb01

See more details on using hashes here.

File details

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

File metadata

  • Download URL: forge3d-1.24.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.24.0-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 c262c7bbc0596cadf732b4e7d0e3f7773c1b3335ecab0651de09057a1ce1bf94
MD5 1561b9e316ac05c2d48a48a3ae5d968a
BLAKE2b-256 6cb1637cdb6bbf8de33e90e8079e591de51ceabc08977d9afdc60c665c4cfd68

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.24.0-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ab3b38a1ac99f1df53f2a1df75b075b972ae0663393b2dfb82bfadbaeb4deaf
MD5 24a15091e21aadf45ff3eec8f1895317
BLAKE2b-256 db621d387416916fe4d9a8fe31e874106c6a22a0d119051d21ece40a76e2cec3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for forge3d-1.24.0-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 771e571a26654ba4fcb4b298474730f004b14326ab505503f62cf8d554d8c1e1
MD5 5ef44e5faf2199533d71e6293dfacf19
BLAKE2b-256 690920c8fc3f7a504f3605a89ccae7ab45ae664be995ce707048bb6048c3c2a0

See more details on using hashes here.

File details

Details for the file forge3d-1.24.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.24.0-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 139bd73ec3fea552fb2e3fd94a2ababb7b89a8ad8cf54d4af09ab74faf80914d
MD5 6533e5c6fc462b863064319edb574d3e
BLAKE2b-256 f02135cf02096e01b5aaa14e251b18d848756ce6a6ee06e1c4aaa9863f065ef0

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