Skip to main content

🚧 This project is in active beta development. This means the API is unstable, features may be added or removed, and breaking changes are likely to occur frequently and without notice as the design is refined.

pipeline coverage release pypi license

TerrainGen

A high-performance scientific terrain generation tool for interplanetary bodies.

Blue Moon MK1 SN101 lander at Connecting Ridge, with Mons Malapert in the background, split between the source elevation model and TerrainGen's upscaled terrain

Blue Moon MK1 SN101 lander at Connecting Ridge near the lunar south pole, with Mons Malapert in the background. Left: the 5 m/px LOLA elevation models as they are. Right: the same terrain upscaled by TerrainGen.

TerrainGen can:

  • Generate synthetic terrain from scratch, or add fine detail to existing elevation models.
  • Populate craters and boulders from cumulative size-frequency distributions.
  • Model each crater's profile, age, degradation, irregularity.
  • Bake small boulders into the heightmap, and generate procedural 3D boulder models for the large ones.
  • Produce synthetic albedo maps with crater ejecta and rays that fade with crater age.
  • Read GeoTIFF elevation and albedo maps, and ICQ, OBJ, glTF and STL shape models.
  • Write GeoTIFF heightmaps and albedo, material and photometry maps, crater and boulder lists as CSV or JSON, and terrain, boulder and body meshes as glTF, OBJ or STL.
  • Model complex geologic features such as complex and secondary craters, boulder ejecta fields, dunes and wind ripples, layered strata terraced into benches and cliffs, fractured bedrock pavement, wind-carved ventifacts, and sand pooled in lows or trailing behind boulders.
  • Be extended through base classes in C++ or Python with custom size-frequency distributions, crater ages, profiles and degradation, albedo, sources, and layers.
  • Perform GPU-accelerated operations for generating noise, craters, boulders, albedo, and more.
  • Generate deterministic results for the same seed on any grid, point query or thread count.
  • Integrate into simulations and other external workflows.

We also provide:

  • A C++17 library with Python bindings and minimal dependencies.
  • Smart and tested defaults for various surface features.
  • A command-line interface that generates terrain from JSON configuration files.
  • A GUI for editing configurations and viewing the results in 3D.
  • Examples in C++, Python and JSON.
  • A standalone demo that streams TerrainGen detail into a planetary-scale renderer on the GPU while navigating around the Moon.
  • Example integrations with third-party tools such as Project Chrono, NASA Trick, IsaacLab, and Newton.

For more information on the concepts behind TerrainGen and the API, see our latest documentation.

Quick Start

We recommended getting started by installing terraingenpy from PyPi and running the GUI.

pip install terraingenpy
terraingen --gui

Requirements

  • Linux (Ubuntu 22.04 or newer), macOS 14 or newer, or Windows 10 or newer, on x86_64 or arm64.
  • Python 3.10 or newer for the Python package.
  • Optional: a Vulkan, CUDA or Metal driver for GPU acceleration. Run terraingen backends to see what is available.

Installation

Releases

Every release has the CLI, library, headers and CMake package for each platform, and .deb packages for Ubuntu and Debian. The dev pre-release is built from main on every push.

Building from Source

You need CMake 3.22 or newer and a C++17 compiler (tested with GCC 11, Clang 14, Apple Clang 15 and MSVC 2022). CMake fetches everything else.

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j 8
cmake --install build --prefix /usr/local

To build the Python package from source, run pip install . instead.

Docker

docker run --rm ghcr.io/alexmaietta/terraingen:latest terraingen --help

The latest tag is the newest release, and each release is also tagged with its version without the v, such as 0.2.0 and 0.2. The dev tag follows main.

Getting Started

Python

import terraingen

# A flat 513 x 513 grid with 2 m pixels
ground = terraingen.FlatSource(513, 513, 2.0)

# Fractal noise 40 m high with an 800 m wavelength
fractal = terraingen.FractalParams(seed=1, wavelength=800.0, amplitude=40.0)
noise = terraingen.NoiseLayer(fractal)
relief = terraingen.NoiseRelief([noise])

terrain = terraingen.TerrainGenerator(ground, [relief])
heights = terraingen.evaluate(terrain)
terraingen.write_geotiff("terrain.tif", heights)

C++

find_package(terraingen REQUIRED)
target_link_libraries(app PRIVATE terraingen::terraingen)
#include <terraingen/terraingen.h>

int main() {
    // Fractal noise 40 m high with an 800 m wavelength
    terraingen::NoiseLayer noise;
    noise.fractal.seed = 1;
    noise.fractal.wavelength = 800.0f;
    noise.fractal.amplitude = 40.0f;

    terraingen::SyntheticTerrainParams relief;
    relief.layers = {noise};

    // A flat 513 x 513 grid with 2 m pixels, plus the noise
    terraingen::TerrainGenerator terrain;
    terrain.source = std::make_shared<terraingen::FlatSource>(513, 513, 2.0);
    terrain.layers.push_back(std::make_shared<terraingen::NoiseRelief>(relief));

    terraingen::Raster<float> heights = terraingen::Evaluate(terrain);
    terraingen::WriteGeoTiff("terrain.tif", heights);
}

Examples

examples/ has the same terrains as JSON configurations, C++ programs and Python scripts, covering basic terrains, craters, boulders, albedo, planets, and DEM detail:

terraingen examples/config/craters/example_craters_simple.json

Demos

demos/ has larger showcases, such as terrain over a whole asteroid built from the Itokawa shape model.

Contributing

Contributions are welcome. See CONTRIBUTING.md for how to build, test and submit changes.

Documentation

The documentation is built with MkDocs and Doxygen from docs/. Run make -C docs build to build it locally.

Code Coverage

The coverage report is updated on every push to main. To generate it locally:

cmake -S . -B build-coverage -DTERRAINGEN_COVERAGE=ON -DCMAKE_BUILD_TYPE=Debug
cmake --build build-coverage -j 8 --target coverage

Citation

If you use TerrainGen for published research, please cite:

@software{maietta_terraingen,
  author  = {Maietta, Alex},
  title   = {{TerrainGen}: An open-source scientific terrain generation suite for planetary surfaces},
  url     = {https://github.com/alexmaietta/terraingen},
  version = {0.2.0},
  license = {BSD-3-Clause},
  year    = {2026}
}

License

TerrainGen is licensed under the BSD 3-Clause License.

Third-party code and assets keep their own licenses, listed in third_party/README.md.

Acknowledgements

TerrainGen draws inspiration from existing lunar terrain generation tools:

Name Organization Availability Capabilities Limitations
synthterrain NASA Ames Open source (Apache-2.0) Crater and boulder populations from size-frequency distributions, crater profiles and DEMs on flat terrain Doesn't generate surface detail or upscale existing DEMs, not actively contributed to.
lunasynth NASA JPL Open source (Apache-2.0) Adds craters and boulders to a lunar base DEM, down to 1 cm pixels, and renders images under varying camera and sun positions Project is not actively-maintained
DLES Terrain Crafting NASA JSC Not publicly released (paper) Enhances LOLA and NAC-derived DEMs of the lunar south pole to 20 cm with synthetic craters and boulders, including hand-placed craters from imagery Not publicly released, relies on manual crater counting, stamps craters from four template shapes, leaves blending rings around craters and smooth interpolated ground between them, and doesn't produce albedo maps.
PANGU University of Dundee / STAR-Dundee Commercial (free for ESA projects) Multi-resolution planet and asteroid surfaces from real or fractal DEMs with statistical craters and boulders; GPU camera, LiDAR and thermal sensor simulation Requires a paid license outside ESA projects, and ships as standalone command-line tools and GUIs rather than a library to integrate into a project.

Metadata

Release files for terraingenpy 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for terraingenpy 0.2.0
File Size Uploaded Provenance
terraingenpy-0.2.0.tar.gz 2.2 MB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for terraingenpy 0.2.0
File
terraingenpy-0.2.0-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_x86_64.whl CPython 3.12 abi3 Linux glibc 2.34+ x86-64 Details
terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_aarch64.whl CPython 3.12 abi3 Linux glibc 2.34+ ARM64 Details
terraingenpy-0.2.0-cp312-abi3-macosx_11_0_x86_64.whl CPython 3.12 abi3 macOS 11.0+ x86-64 Details
terraingenpy-0.2.0-cp312-abi3-macosx_11_0_arm64.whl CPython 3.12 abi3 macOS 11.0+ ARM64 Details
terraingenpy-0.2.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ x86-64 Details
terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.34+ ARM64 Details
terraingenpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl CPython 3.11 CPython 3.11 macOS 11.0+ x86-64 Details
terraingenpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
terraingenpy-0.2.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ x86-64 Details
terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.34+ ARM64 Details
terraingenpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl CPython 3.10 CPython 3.10 macOS 11.0+ x86-64 Details
terraingenpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details

Total release size: 71.3 MB

Release files / terraingenpy-0.2.0.tar.gz

Download URL terraingenpy-0.2.0.tar.gz
Size 2.2 MB
Tags Source
SHA-256 checksum
How to use checksums
9afe316935cfeb253bdb36f075c3c4d846d60366ee4b6ddaf46eb0d1d563fb82
BLAKE2b-256 checksum
How to use checksums
a5f65f03119c15c9a63f1d0e05cbf208d0a7c8988370c4ddd02d49e5fa7d2583
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp312-abi3-win_amd64.whl

Download URL terraingenpy-0.2.0-cp312-abi3-win_amd64.whl
Size 4.2 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
33ed0cbbfc22cbd9a2d7a3de3a5c86c579e91a226fe1c0b3e5f8ffb2fceffce4
BLAKE2b-256 checksum
How to use checksums
6388d5803ccdef6800a233d2132d97ae088031c4ecb93d71e07307ee68ba1ed4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_x86_64.whl
Size 5.5 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
d49a008779ed9bac3838fa433b92095eff03ac489d6d14ecaecad71e15dadfcd
BLAKE2b-256 checksum
How to use checksums
4b046f8ca659c25f0dc0c714d9a178588b040a718de7e5c7446a3fa513573f9b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.2.0-cp312-abi3-manylinux_2_34_aarch64.whl
Size 5.0 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
ffe6ac0a9f3e50a6c43451a1b78b7a27be7c1aca85c974016e51d4d7772d92e8
BLAKE2b-256 checksum
How to use checksums
87c5e576502bdeccb7c2aa9df541b222fed20e5204c1a5e1a1a8a8710bc6f6cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp312-abi3-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.2.0-cp312-abi3-macosx_11_0_x86_64.whl
Size 4.2 MB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
a4ec508bde69ac9d8c1118160cc96d39f411a7aaf68eb8a549d2ef668d2dae28
BLAKE2b-256 checksum
How to use checksums
a4f5e4d1f1a0fc688bfc643116a1f7974d945f80f1350d3a02fa8aaa9594c07a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp312-abi3-macosx_11_0_arm64.whl

Download URL terraingenpy-0.2.0-cp312-abi3-macosx_11_0_arm64.whl
Size 4.2 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ea16d17c01628244ccd6a45475d90822297ff2afd4fa0c211d4e3bfe03209a96
BLAKE2b-256 checksum
How to use checksums
607ca707792a6448bf41f3d2a3caf359bf0e58022413d89d0ffc68b4a5d49c45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp311-cp311-win_amd64.whl

Download URL terraingenpy-0.2.0-cp311-cp311-win_amd64.whl
Size 4.2 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
f20a2c497c1753d2014216fcf7ee218f67948180a32b56a24676409b79338a52
BLAKE2b-256 checksum
How to use checksums
0f20bbb7c76d5d97beac5765a76d997d8b6b94e91985359614b1771e4d38f382
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Size 5.5 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
189f4ed689b27ee304bf78068214797a15f4299aa1104bd1303253043bec1782
BLAKE2b-256 checksum
How to use checksums
24d7a4c923514b7342d2f9a449c6b074b1f81bcfe0805f84ef617b85a617aaa4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.2.0-cp311-cp311-manylinux_2_34_aarch64.whl
Size 5.0 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
7ab3d1a02f2520c0ef3961dcfa11667eeb5b02c65bcd5a5148698f6bd19d1c10
BLAKE2b-256 checksum
How to use checksums
d6a6311a4ba7b50e512ecd0379fc290dbf60435d5411702948a0b6d9cc42e584
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.2.0-cp311-cp311-macosx_11_0_x86_64.whl
Size 4.2 MB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
f0f6cb12e812ecc94214d71703eb150945da1619e51b7acae0cc74ab462b37c1
BLAKE2b-256 checksum
How to use checksums
691635b7aaf7f503b755c48026eec133f540e9d0d9e6925463a80213a1998b20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl

Download URL terraingenpy-0.2.0-cp311-cp311-macosx_11_0_arm64.whl
Size 4.2 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
ba32ddf4befe03190549f6bf8c51cf691479c7af4687d7795612768f2284f635
BLAKE2b-256 checksum
How to use checksums
817ec5b7a3ae99c55c27cbb5e7e9e8150f50b3e7a1af318c1cdbc531b1c8df35
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp310-cp310-win_amd64.whl

Download URL terraingenpy-0.2.0-cp310-cp310-win_amd64.whl
Size 4.2 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
21530e9943b2838b407f68f340798ccb74d728863ca0b63900f89c7c6ae9228a
BLAKE2b-256 checksum
How to use checksums
7c40ceaa157684ccf1d57e4b1a5e91429f32a4ed791d8742beb106a162723a6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Size 5.5 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
5adb2c2aafb81be0987628ca73764fdb9b091aa05ff8c24237e8852806b406e0
BLAKE2b-256 checksum
How to use checksums
d91485ab0d0e121794c5a025bf92110cc399602d648039c79f276c120199bdd4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.2.0-cp310-cp310-manylinux_2_34_aarch64.whl
Size 5.0 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
2d0cf81362074c928359a7a49105a68270c4a8718fec24910c37b59a5ecabe9c
BLAKE2b-256 checksum
How to use checksums
2a3df5a69ef031e096eb2642d6783d048f63e80c0b676d4e03ab7b80bd3a9c45
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.2.0-cp310-cp310-macosx_11_0_x86_64.whl
Size 4.2 MB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
e5942780375132a6ac1e8ee974b0cd0fe2ed38bc95160c1df90856f8f7ecaa8e
BLAKE2b-256 checksum
How to use checksums
ea57b30bfcdedb4ed5bf89332085210c8b74fe2184b1f7c8319684532d49088d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Release files / terraingenpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl

Download URL terraingenpy-0.2.0-cp310-cp310-macosx_11_0_arm64.whl
Size 4.2 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fd43595b2180e3a9140902643d83ee633b64da148e9a0fc94de952e58d14ef59
BLAKE2b-256 checksum
How to use checksums
8ebe32fe0a50d06d4832d279b0936f22b75c6d3b87d16dbf6275881bdcad9fe8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

Security for terraingenpy 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 16 files in this release have been uploaded with provenance metadata.

Select from 16 files

Attestation for terraingenpy-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page