Skip to main content

No project description provided

Project description

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 capable[^1]. 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).

[^1]: Currently the only major capabilities of CTEM that Cratermaker lacks are material tracking and quasi Monte Carlo mode. See our issues page of ongoing development tasks.

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cratermaker-2026.4.0a0.tar.gz (250.4 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

cratermaker-2026.4.0a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

cratermaker-2026.4.0a0-cp313-cp313-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.4.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

cratermaker-2026.4.0a0-cp313-cp313-macosx_11_0_arm64.whl (954.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cratermaker-2026.4.0a0-cp312-cp312-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.4.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

cratermaker-2026.4.0a0-cp312-cp312-macosx_11_0_arm64.whl (954.8 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cratermaker-2026.4.0a0-cp311-cp311-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.4.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

cratermaker-2026.4.0a0-cp311-cp311-macosx_11_0_arm64.whl (957.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cratermaker-2026.4.0a0-cp310-cp310-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.4.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

File details

Details for the file cratermaker-2026.4.0a0.tar.gz.

File metadata

  • Download URL: cratermaker-2026.4.0a0.tar.gz
  • Upload date:
  • Size: 250.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for cratermaker-2026.4.0a0.tar.gz
Algorithm Hash digest
SHA256 0f4124c7808edbef96e26d2f6aa510323621561261c37821642d0b04f95461dc
MD5 16a914d05e108f496326198b11e96c83
BLAKE2b-256 f29e46d6b5c5516391fda78002cff2228cfd17325efbe3bb6735c0a8f2f60b38

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0.tar.gz:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ac4d6d784468c6373714b081bba7527853fadce2c94865dac52f0de38794538
MD5 1a3ffc078759506d2fb1c81fcfce9d7d
BLAKE2b-256 9e04ee0832fc67ab10c57e22406056e1f28a6c154c938ebf02829890ff0ffbc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fd8f3756dd443f88386aef47468a8e703d7c54d85d0612da7eb7c20d92d7fd9f
MD5 5cee9bae2f197219419f7852386e5197
BLAKE2b-256 79e5f9e3aa9a214cfdcc78a928aaba82c9d4b2b0196d0de320099678af2ce516

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp313-cp313-win_amd64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 668ca95c005fc0a3d81e4741b35d9aa5d553a61f48a2919126c923fb0c540c0a
MD5 fb9864086722dc440d995899186b11e0
BLAKE2b-256 418e72223d2fda9adb7e20254f5e4cbeedef4f15207f759aa5829061ef8e126f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3150d08719306e4747eafa78905d52c3b0d9f7d61bf65511e39440daebb63832
MD5 9a556845d35fd5e32b704f69b56432b2
BLAKE2b-256 2c2ac01726f3070912ff44bd4aa19d6686bae4d635802ad1f034f19444309572

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 3d9f9274ef36c6de82cc2b3e912ab4432d6ef928239c3eb097c54c1c87eccc3f
MD5 12bc7cb445b49acb16d33dc567d17a87
BLAKE2b-256 02789b87011175f83aa9c3c6f4dd1b85d9c25a43d28a25b1f5b5820e650f3cc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp312-cp312-win_amd64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e1746ebc322f87f13b6724096b6426ca7600101f819415fe281d634d350a03e2
MD5 91e8fdf0e6825d02478bb4171b05cc76
BLAKE2b-256 b77b0850b9d6d9bfc9505932ce332d672194472f99482fd19783ad11ebd1d941

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d555b2dc445699720f54f9c2e6420d0756c4e775e5e5e840754bc69822122f4
MD5 329e31d75f7273dd56565beb5bbdade1
BLAKE2b-256 67e4183ed2b0492aba2a69c7fb3dd5db8b020f5d74cc2442db27a4bfc4db8a61

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d69c16818aefade092a30e36e11b9244d80ec522a4477d7ab26ecd80592cd8f0
MD5 59a1825803bb06ac8438ca7f3b12d8e9
BLAKE2b-256 0cc7ef2584c58b80a948c9979aa93ee4cf8ebf86f17cd15d3cb6b16940ec17d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp311-cp311-win_amd64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f9fc621632c30895c9c3dfeacadec7e613fd9c173296f908c9b4f4345e46f1af
MD5 1202863d4854794726ef211743691de4
BLAKE2b-256 0db055bbf365e3a3a9a638f65ec62b01604bb9fd43940b87b0d24c75da6b8f38

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b9969b72a566050a788c7a38f3e1685f95787299d9e1224405342ff6721adad
MD5 4a79caac1aecb5339833c2a2fd6efa1d
BLAKE2b-256 f0aaa3182c3f3cb4dd99aee6dae65a3a45f33f052cd83637b0c3ad92389ee887

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 a48014ad5bd1d69d8a9c2fafde054e70aae309f39101201b2d1a36fc85bc1a32
MD5 4584066d00a2495d4aa9176e980244f7
BLAKE2b-256 235e07c52900c0996aca8441759cfb6f53108ef84a285940119a9769cea41192

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp310-cp310-win_amd64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file cratermaker-2026.4.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 924ebb1b3fbb178229f97c9b9530736b22b3ee2f6f1f0c91e56c25e9683c1e49
MD5 64760888b576ad0be15f17d3d3173c75
BLAKE2b-256 16049d24be5490af9023df255bd2073e3fc84b7f487919732ee899216e1cd94f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: deploy_wheels.yml on MintonGroup/cratermaker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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