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.2a0.tar.gz (253.1 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.2a0-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.2a0-cp313-cp313-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.4.2a0-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.2a0-cp313-cp313-macosx_11_0_arm64.whl (957.2 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.4.2a0-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.2a0-cp312-cp312-macosx_11_0_arm64.whl (957.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.4.2a0-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.2a0-cp311-cp311-macosx_11_0_arm64.whl (960.5 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.4.2a0-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.2a0.tar.gz.

File metadata

  • Download URL: cratermaker-2026.4.2a0.tar.gz
  • Upload date:
  • Size: 253.1 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.2a0.tar.gz
Algorithm Hash digest
SHA256 02a5603bc35838929dd56ba462598de6bf7b86b8286b0a360b5709098283dd6a
MD5 c67790156ab30100e781af2ddd6d540a
BLAKE2b-256 a3b20382ac46470f159c1a4ec7b93d18211278f0057a04ebaec64c71e54c24da

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0.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.2a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 777b8727d519d34cb216d857d4c7824f77df873be29958db411b858a4d8d48ef
MD5 a8f5fffa7703fdcf16d4591c8ffc9626
BLAKE2b-256 2061bcf516e4a3154ada4b3f8ae87a853425bf17f143d947d51f5f7d97a7e091

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 c6940d3854726986f3ae0a3cd3e63ecb2a4bdf91075e40a3ac5a941a7160d3fa
MD5 95ee6e8e8c60e920e7ace19d1e696189
BLAKE2b-256 18192ceca591bc460bbb73b430694f56ece54ffae394c5ccb1550701a5bf8afa

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f247a34ac2dcfbc2cb465903c2be446a5460957ad66ccd64b0573636a33e5ac2
MD5 df4a4d2ac64b4762a93078e0e8b376d4
BLAKE2b-256 d37e2593c0365560eef621a7b4d3d3b82f140a822af3ed5291805713dffabb61

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3132e2be4144a205c0eabea28f727e45065672eb308f772f8f4e710ff50daefa
MD5 b2cb1f0a1d4a159c82b621cae0c95d5f
BLAKE2b-256 bc60b618242e83bf35d8a8db68d44dd38f1eb0ed4d5e490049252f05ec8bc903

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4b277cd94e3cadd80d410e667bb3417aacb19ad197499a84c3d8fbabab26c71e
MD5 d8efa41169b252001cf220390eafc6fd
BLAKE2b-256 9aa5906f70ba6d7237ab4cfd026691735ec2f6277448a6f279911c05d66fa5a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ab09c8d33173809e2157c70948d35d5ab23e7be6601ad78357c1ea56735ffd22
MD5 2ecbdc891efc44a2e070f293feb52e58
BLAKE2b-256 be4f8c4124cc1b365873c6f4877f3f83c586ecb037a6890ea433f8554e9158da

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 af07e7fce4d56461da143c1fbec69a544eaac0f2c2fbe0542846d621649fa9c2
MD5 6555d5b325235445c0d6543742ae4709
BLAKE2b-256 61bff284e2eada061dc6a582cba9d00a1611062ad5951764d96e952146c14c2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8630b60158154d001e0592dec72f5d11b904a9f50974f7dcfbd47f8bb6e59b6e
MD5 a4627a6cb27ad0cb699973f69ed07484
BLAKE2b-256 c5b54727786cbec8f329e26aab19a3336b0d6dccbc9d080490e3e826eb911533

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd5091a03c63882701d96d914358091106924286598b60f2fb5be0b7a646e114
MD5 01086ec253c5d637c304e23e8a22ce9b
BLAKE2b-256 3ff41dce0c5fc13f573cf3386e78bc495b6cd98eb2a2137cba3460bda987d2c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0978e5d1f670b50ab9ca7e79f4a917e3377e864da024c38b5d614a3fa6952438
MD5 249e9f9322b5db35af75717b4bd676d6
BLAKE2b-256 0ccf1100326e051b858875afffa5f6c3326cc4098b0993fcaa01906d6af764a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5a50d5eddbbde97308e3205a2dc91c36fe31c15676f9d3da0cecb1826aee9191
MD5 c8affbf189ba4f5259ea4c4dc88aa1cd
BLAKE2b-256 96446ed0f21863770264f97ac018a56bbf728602f9fa8aa4faf0c348af5c4d9f

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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.2a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for cratermaker-2026.4.2a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 baed1bf94fce522b4e98ccd00bf286465cd7c6e2d9edca0a3be3fa54711ee0e7
MD5 07226b94a6a03dfbbe1b82451986796e
BLAKE2b-256 7089830a158494ebfb52bc70cc46a931fca1a1c58736ed6f656966107663369c

See more details on using hashes here.

Provenance

The following attestation bundles were made for cratermaker-2026.4.2a0-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