Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

🚧 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.
  • 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, tile or thread count.
  • Integrate into simulations and other external workflows.

We also provide:

  • A modular C++ 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, 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 latest pre-release is built from main on every push.

Building from Source

You need CMake 3.22 or newer and a C++20 compiler (GCC 11, Clang 14, Apple Clang 15 or 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 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.Terrain(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::Terrain 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, DEM detail and tiles:

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.1.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.1.1.dev25

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.1.1.dev25
File Size Uploaded Provenance
terraingenpy-0.1.1.dev25.tar.gz 2.0 MB With provenance Details

Built distributions (wheels)

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

Total release size: 56.3 MB

Release files / terraingenpy-0.1.1.dev25.tar.gz

Download URL terraingenpy-0.1.1.dev25.tar.gz
Size 2.0 MB
Tags Source
SHA-256 checksum
How to use checksums
c36d6aa4c223ca3d09d2b255fbb9ab2c0c502f9a45613ff4a95d71bdc0a638a2
BLAKE2b-256 checksum
How to use checksums
feae158c797b03be521f9feea67e28d13de189d4d3f14eb201c2c34a59911fcb
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp312-abi3-win_amd64.whl

Download URL terraingenpy-0.1.1.dev25-cp312-abi3-win_amd64.whl
Size 3.1 MB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c2c942728a1cde1e388f0ebd5957983b48d18be24c5dbddce5a2b9ec76511b89
BLAKE2b-256 checksum
How to use checksums
e5e83d72db5709260adb3896f00f5b225f8e5d2b2c6d2b36c8e76b0b684756d9
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp312-abi3-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp312-abi3-manylinux_2_34_x86_64.whl
Size 4.3 MB
Tags CPython 3.12 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
1e9e055cc696f79492a09a430f8fbc40d2a3675460e528b9b4d4a1e10114ba0f
BLAKE2b-256 checksum
How to use checksums
3d8b3ce3ea4cde307e3efcec43ff996222f5c6d66a766a35a067d33509f4d1f5
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp312-abi3-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.1.1.dev25-cp312-abi3-manylinux_2_34_aarch64.whl
Size 3.9 MB
Tags CPython 3.12 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
478f6cb3c3c924c57cd6a035c2b3e7feef2a85623a76191646b2449d51e75a58
BLAKE2b-256 checksum
How to use checksums
591e81966165dcecf89bb9d21dc80908fca24f10ed9c880285c6532d8bd48b77
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp312-abi3-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp312-abi3-macosx_11_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.12 abi3 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
09d60c54d3a1338cd0528887124831d38d98f5f3b7f8ee807b534d068d84f861
BLAKE2b-256 checksum
How to use checksums
4351267668e8f0db8680292fbfa2b498144b5875e63a4c1075b615bd78c04976
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp312-abi3-macosx_11_0_arm64.whl

Download URL terraingenpy-0.1.1.dev25-cp312-abi3-macosx_11_0_arm64.whl
Size 3.3 MB
Tags CPython 3.12 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
e7158386a9d766d84d1f63554cc461d941cae4ec6029ce69c4792a01d299db36
BLAKE2b-256 checksum
How to use checksums
ec9216ae29e511ec3b077147236c4101166c6423c4c4cc0e00a8c2d8f9b0f3ff
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp311-cp311-win_amd64.whl

Download URL terraingenpy-0.1.1.dev25-cp311-cp311-win_amd64.whl
Size 3.1 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
88cf590acd4330cc9829ca54f0a50619423d78924196ba94bb65929c7115881c
BLAKE2b-256 checksum
How to use checksums
f9acd6821fd4afb6e3a0c6fb022c8dde4040b393e1100e807b7af9684d494b67
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp311-cp311-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp311-cp311-manylinux_2_34_x86_64.whl
Size 4.4 MB
Tags CPython 3.11 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ae1df62d0023e77edef10dec5c35f9d92950ce2007bc744e48140c7e1ca36fb0
BLAKE2b-256 checksum
How to use checksums
9e843e2cd1cdaeee15573774ac5b2d8f47045ce6debcb7dcfbda5fb3a4b13984
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp311-cp311-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.1.1.dev25-cp311-cp311-manylinux_2_34_aarch64.whl
Size 3.9 MB
Tags CPython 3.11 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
39dd7194e7119e36a4fd8854d5292c7713149751d16009db8c21bf9243a16541
BLAKE2b-256 checksum
How to use checksums
888c258d3c44833ad161d074a9e14952df0ffdf0e8f578123963d0d63f78de2a
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp311-cp311-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp311-cp311-macosx_11_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.11 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
06a05398ce982e639ca8346edbc1f0eb832dcfeb3fb1baa0347251dc2724a67a
BLAKE2b-256 checksum
How to use checksums
43117cecee337d75cbea687a7a1fefc7447fbded1f5fa25ab519b4a71d4760aa
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp311-cp311-macosx_11_0_arm64.whl

Download URL terraingenpy-0.1.1.dev25-cp311-cp311-macosx_11_0_arm64.whl
Size 3.3 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
480f3682b2586bf5518be49d4b5dc8f3ffbeb54307404c864d914d483c3d1e6b
BLAKE2b-256 checksum
How to use checksums
ad12556982b1f111de8468dd1cc0efad6d24b6147fe5968ca5e7ec3f8996bf49
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp310-cp310-win_amd64.whl

Download URL terraingenpy-0.1.1.dev25-cp310-cp310-win_amd64.whl
Size 3.1 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
771c0ff173fff4ec9f0522d233d3bec983401c56c8418b49687332cf22b49d18
BLAKE2b-256 checksum
How to use checksums
ca2979410154d6f75640099d19fd72caaa15e3b9f66b590fa66cbaf5770502b3
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp310-cp310-manylinux_2_34_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp310-cp310-manylinux_2_34_x86_64.whl
Size 4.4 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64
SHA-256 checksum
How to use checksums
ab9b5c63c78a5a48e027563d64420822f40a78da84fc20753a49cd002383ad72
BLAKE2b-256 checksum
How to use checksums
d54877f7539434e3bfcfa6cf293a3f043528ab7794e9c758a44f98027287984e
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp310-cp310-manylinux_2_34_aarch64.whl

Download URL terraingenpy-0.1.1.dev25-cp310-cp310-manylinux_2_34_aarch64.whl
Size 3.9 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64
SHA-256 checksum
How to use checksums
af0024967d1530c3d1e0e678ae121c77241fa3ea1e9093ed7f8d870cfcf44b07
BLAKE2b-256 checksum
How to use checksums
3c3a29cd502403106514fb74ebcaaaa3f3f2fe8eee15ef736544c3ac0044ed92
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp310-cp310-macosx_11_0_x86_64.whl

Download URL terraingenpy-0.1.1.dev25-cp310-cp310-macosx_11_0_x86_64.whl
Size 3.4 MB
Tags CPython 3.10 macOS 11.0+ x86-64
SHA-256 checksum
How to use checksums
4413c18c6a5f6da427a83b66f93fb85c94a06b501a828e4d25d2d0bafb892884
BLAKE2b-256 checksum
How to use checksums
17fa9d09f29d675bda82f6076690d1162c6a36bcadaec924fb16dd3be009ffe2
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 19, 2026.

Transparency log

Release files / terraingenpy-0.1.1.dev25-cp310-cp310-macosx_11_0_arm64.whl

Download URL terraingenpy-0.1.1.dev25-cp310-cp310-macosx_11_0_arm64.whl
Size 3.3 MB
Tags CPython 3.10 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
5fde5dbff2b97cea76850c909d6e7c904c7b5930969d9f9ad7a0c7344faa07b0
BLAKE2b-256 checksum
How to use checksums
944c253453bf83f79aa948d9d609b387333819b1f7f29d40d4827de593f8034e
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 19, 2026.

Transparency log

Security for terraingenpy 0.1.1.dev25

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.1.1.dev25.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 19, 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.

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