This release is a pre-release and may not be stable for production use.
Cratermaker
Simulate the evolution of a landscape dominated by impact bombardment.
Cratermaker is a landscape evolution model that simulates the evolution of a planetary surface subjected to impact bombardment. It began as a modernized re-write of the older Cratered Terrain Evolution Model (CTEM), but in most ways it is far more capable1. While its core function is as a planetary cratering landscape evolution model, its various components can be used independently for crater to impactor scaling, modeling production functions, extracting lunar elevation models, and much more.
Note: Cratermaker is still in alpha stage of development. Not all components and models have been tested thoroughly, so please use caution and always double check the results when using the code for scientific purposes (which you should be doing anyway).
Getting Started with Cratermaker
Cratermaker is designed to be both user-friendly and highly configurable, ensuring that users can start simulations quickly with reasonable defaults or tailor their simulations to specific needs. It is built to be highly modular, and so many of the core components of Cratermaker can be run independently, outside of its core landscape evolution simulation.
Cratermaker is a Python package that is designed to work with Python 3.10 or later on MacOS, Linux, and Windows. It contains some Rust components for performance. You may need to install Rust before installing Cratermaker. Installation instructions for your operating system can be found in the Rust documentation.
Install dependencies
Some components of Cratermaker use OpenBLAS for linear algebra operations. On some systems, you may need to install OpenBLAS separately before installing Cratermaker. Installation instructions for your operating system can be found in the OpenBLAS documentation. You may also need to install OpenSSL development libraries for your system.
Cratermaker uses a number of packages which must be installed on the system before it can be built. If any are missing, they could cause a failure to build. Try one of the following, depending on what OS you are using:
Debian Linux (e.g. Ubuntu)
sudo apt-get update
sudo apt-get install pkg-config libssl-dev libopenblas-dev
Redhat Linux (e.g. Fedora) with yum
yum install epel-release
yum install pkgconfig openssl-devel openblas-devel
Redhat Linux (e.g. Fedora) with dnf
dnf install pkgconf-pkg-config openssl-devel flexiblas-devel
MacOS with Homebrew
brew install openssl@3 openblas
Windows with vcpkg
vcpkg install openblas intel-mkl --triplet x64-windows
Normal Installation
You can install Cratermaker using pip into the Python environment of your choice, provided it is at least Python 3.10 or above.
pip install cratermaker
Note: Cratermaker is undergoing active development, as it is still in alpha stage. You may need to update your installation frequently to get the latest features and bug fixes. You can do this using the following command:
pip install --upgrade cratermaker
Installing Cratermaker from Source
If you plan to contribute to Cratermaker, or want to try out the latest features that have not yet been released, you can install Cratermaker from source. You can find the latest source code from our GitHub repository <https://github.com/MintonGroup/cratermaker>__.
Some components of Cratermaker are built using Rust, and so you will need to have Rust installed on your system to build Cratermaker from source. Installation instructions for your operating system can be found in the Rust documentation <https://rust-lang.org/learn/get-started/>__.
The first time you install Cratermaker from source, you will need to generate the version file. Due to limitations of the Maturin build system, this must be done manually. You do this by running the following command in the root directory of the Cratermaker source code:
python buildscripts/set_version.py
For development, it's best to build and install the package in "editable" mode. To build and install an editable version you can install Cratermaker from source using the following command:
pip install -e .
Building documentation pages
The documentation pages are built using Sphinx. If you wish to build local versions of the documentation for testing, you will need to install additional dependencies that are not installed by default. We maintain a two requirements files for this purpose, one for pip, and the other for conda, which is used by the Read the Docs build system. You can install the documentation dependencies using the following command:
pip install -r environments/requirements-docdev.txt
or, you can generate a conda environment using the conda requirements file:
conda env create -f environments/cratermaker-docs.yml
Once you have installed the documentation dependencies, be sure that you also have installed Cratermaker as an editable install into the same environment. Then you can build the documentation using the following command:
cd docs
make clean
make rtdhtml
The documentation pages will be built in the docs/_build/html directory, which you can then open in your web browser to view.
Automatically rebuild Rust components
The build backend for the Rust components is Maturin. Maturin provides an import hook that can allow the Rust libraries to be automatically recompiled if they are changed, which is useful when Cratermaker installed in editable configuration. To use this, first install the package:
pip install maturin_import_hook
In the same virtual environment that you installed Cratermaker in, activate the import hook:
python -m maturin_import_hook site install
For more information, see the the Import Hook section of the Maturin documentation.
Common problems
Here are a few things you can try if you have trouble installing the Cratermaker project from source.
Make sure Rust is up-to-date
Be sure your rust install is up-to-date
rustup update --nightly
If you see errors related to linalg functions, you may have an old and incompatable linalg crate installed. The most expedient way I've found to deal with this is to remove the Cargo.lock file. You can do this in a clean way with the cargo-unlock crate:
cargo install cargo-unlock
cargo unlock
Installing polars on legacy hardware
If you ever see an error like this::
illegal hardware instruction (core dumped)
Or a message about polars and incompatible hardware, you may have to install the runtime-compatability version of polars.
pip install "polars[rtcompat]"
Documentation
For more detail, see the documentation page.
Metadata
Release files for cratermaker 2026.10.0a0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cratermaker-2026.10.0a0.tar.gz | 267.8 kB | With provenance | Details |
Built distributions (wheels)
Total release size: 15.5 MB
Release files / cratermaker-2026.10.0a0.tar.gz
| Download URL | cratermaker-2026.10.0a0.tar.gz |
|---|---|
| Size | 267.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8f65621f96860e843ed91272f6015b3b0815342ba02ee35c8da7697ba52935c
|
|
BLAKE2b-256 checksum How to use checksums |
668432f5c71192b05e302c7963e39b92f12ae0084d6ed221b9b730f506bf1d93
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp315-cp315t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.15 CPython 3.15 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
b40f4b5aa3713727b5a0058f4f916a293ca19a2f963d75666a790c6f7c4ee27b
|
|
BLAKE2b-256 checksum How to use checksums |
7d5489baccd0f58b5b8a63e9316ca613d734226f950bfac5d11ae961c55b15b0
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp315-cp315-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.15 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ff935b2455e0a269ada24f1ad2a2390f86d6e41b64a435cc4783c0db35232c06
|
|
BLAKE2b-256 checksum How to use checksums |
bb66353d026162aa7a411df9ff281b65f5bd903523d9cc3521504122862f3055
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp315-cp315-macosx_11_0_arm64.whl
| Download URL | cratermaker-2026.10.0a0-cp315-cp315-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.15 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9d8043a79c35309ea2d34bc41d1583c08b41970e50ec6a4be38a846230ccb9f3
|
|
BLAKE2b-256 checksum How to use checksums |
db1cc820422edcc822e46a189343d4237ba54f01b4efcf973c6dac2cfc956dca
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
706f3852f246f2fc1b54cdc53cd7cd431f650f05e066730da3ac08eddbff8446
|
|
BLAKE2b-256 checksum How to use checksums |
696e9462ad7dcd9b03b0e0c159d739f5d10326ba78fd10bb0cee1df14915f0b7
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp314-cp314-win_amd64.whl
| Download URL | cratermaker-2026.10.0a0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 968.1 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
116a8fd14e7e068555a371fc388eec65e42acef7451a1a1f8011843fb8c92d7d
|
|
BLAKE2b-256 checksum How to use checksums |
76a0529df03b78405dcbc25cd6617c80734a845e446818ccde4a9370072ecd21
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
ac2b8fbf25d87ac32303b29b4a58e77d9f6e9b9a8338d5f191c6edd37b30aed4
|
|
BLAKE2b-256 checksum How to use checksums |
f8c742ca6a0768816aed4559a87a2d7328ef07cfc3ae5aeac50a096f38b65b37
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | cratermaker-2026.10.0a0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6a8b4c27deea7be754f820dcb232bcdd6b624efa162c63d126593b8995c5f747
|
|
BLAKE2b-256 checksum How to use checksums |
7a1788030062689cb4405c7583a4851562f99332dd223f1b919d8486fbf29a45
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp313-cp313-win_amd64.whl
| Download URL | cratermaker-2026.10.0a0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 966.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bc6727db7e2dcdc2c0677e7bf798fc822238b3e9b444f536c3be879b00916319
|
|
BLAKE2b-256 checksum How to use checksums |
8c0245796d0972bdfc1e230c1f0cc18967da8c5724ee101a0b591d1e55fdedf5
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
faaa35995da2952dcf80a37b1cc6f2ab10ae05fae2d29801775fec869a3b2dce
|
|
BLAKE2b-256 checksum How to use checksums |
d73abcf35a6c8abab1d734596edaebed6f85cb59cc3a80edaaaf6b4f3fdf525e
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | cratermaker-2026.10.0a0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
ad32604e47c13ea3a1eeb3083acfd6a4a13e5e5610ffec97da5e231c07e23c71
|
|
BLAKE2b-256 checksum How to use checksums |
b14e32f2b398627d076f8a3964f553f4376ded2ff8ef5f46d67bd9ff86ce14fc
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp312-cp312-win_amd64.whl
| Download URL | cratermaker-2026.10.0a0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 967.0 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d83f28aaa59247574e86dcd123eaea017fb3fee08dd3c799752af2fa5b8f11f3
|
|
BLAKE2b-256 checksum How to use checksums |
d1de350882aed28ba36abc797cb4366afddb4b719caba9e57983fb8faf23d4d3
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | cratermaker-2026.10.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 1.3 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
fff7a1e62b015a7ae95f9b149facf4ac42a2a3fc0259cb322c1d311e650de3c9
|
|
BLAKE2b-256 checksum How to use checksums |
5702425ad31527d014de89ce854472b6b158113f73a5591f1204cea4c1da14e0
|
| 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 logRelease files / cratermaker-2026.10.0a0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | cratermaker-2026.10.0a0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b407810b93fa75c9be15abf6465b9723163c0df5299c2821481a677bd0331fe6
|
|
BLAKE2b-256 checksum How to use checksums |
fd9cc510eb8f0b5c149ce9d0c870f8a1141002c0ad2e0af32bc1b9b3bd788727
|
| 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 logSecurity for cratermaker 2026.10.0a0
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 14 files in this release have been uploaded with provenance metadata.
Attestation for cratermaker-2026.10.0a0.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 logA 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.