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

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.3.7a0-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.3.7a0-cp313-cp313-macosx_11_0_arm64.whl (937.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.3.7a0-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.3.7a0-cp312-cp312-macosx_11_0_arm64.whl (937.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.3.7a0-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.3.7a0-cp311-cp311-macosx_11_0_arm64.whl (940.7 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.3.7a0-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.3.7a0.tar.gz.

File metadata

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

File hashes

Hashes for cratermaker-2026.3.7a0.tar.gz
Algorithm Hash digest
SHA256 7ae904feecc04d91f95adfa528ff0a9ebc9fefafea27c353f0c39de3c07c7793
MD5 018d14c5284a2e57b096fd2f8599e2d0
BLAKE2b-256 423d4cf2d4245918e27bee2a71412e48b6ea2438eede60a03fdef0a03d67fad3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0cda57dc80313651fcb5199dd972e6a10afe7614418207c8018374fec42f85ec
MD5 11969dd299ffc20a51ef409afab87ef8
BLAKE2b-256 8ff3ac46b61a44275fa230a5d3795e6de7f29d67d579773c4fcbfad2c3328e4f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2b1358bb25e149a42c3bc2c2b929f45790774e4fe4ccfc12471e5576d7d28293
MD5 37bcd01f88bb50da60845e8ccf4ee3e2
BLAKE2b-256 6dc9ccfe80bbdd7b448748b5b9e1459fa1a1a947505fd2ddc4ac4781986add7f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e3e730c26f8be7b001b540300dee8d2a580c6875b12061c568539dd8262449bd
MD5 83052a63939df71f1acca5cee0a9fb99
BLAKE2b-256 19773a68311a2f2570296603d3fdc84a512ed413f7af7de5edb29db75bc52e93

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6ec784427b28ef805ddb68e3f6c147b211b189f1f113c03b446449b6961dd27a
MD5 5e2b98cb670f4a59ec042bf0435d3d1a
BLAKE2b-256 0e6923f86c1cce7886ea762df5ff859b0d0509ca718d0e59ebc4a706775a1c70

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fc116530557b1b7ed6b97ccfaed2c6a37631b15d5b4437c4c3b97d5729a0b98d
MD5 5ff71882a1d9aa11ff6bfe4fee89c697
BLAKE2b-256 8fb7ed674408b05e363efc332ee36044cf0b9bda4af20216e2ae2f2c8f652d11

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a90e8e4ed515ad71b219f055bafd0f361f60899d996c8c9bd380e7500d7345b1
MD5 74664df1d67175feae991d2f8b7ffd24
BLAKE2b-256 348c4fd4b1ccf2b43fa08171bbd02ee47be4bd933dfe46260d0b93416ac15da3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8bedea254e4954c452455c78579b458b5f25972e60ee658da9144a7e62c5f607
MD5 2f72c6da844615567922e3b116f37a80
BLAKE2b-256 de5573dbb5255215a42c1370a43895cba4e8b8a5526f7721845d61361b386ab9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 eb2dfd880c2c15343e77bba4210d51e24e2df28c0f5633894e6fa05bed38e51e
MD5 ff463ed5353e544b7bf7e29dd1f85f13
BLAKE2b-256 facfb875539955b1115a4267f19fe2cb9ef28b62480ece708e17f6b023cc4454

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 83ca20e4e98cb6dd068bd11f9fb23b8ae4e39b9e9124edc7e74f59c7376f0e1b
MD5 326a1b0a046739224d5005d13fa1bf59
BLAKE2b-256 042bdbeb25a6498f55d1e4cffd7bac0b6957ff520bf77c265d79225df24bfd16

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ef110fbfd1d0a4c36018bf7b9bdb7c34bcad6890c56653ac7837c2ff91a26262
MD5 89e68ba702ba6a18772809d395133ac6
BLAKE2b-256 37f2969775c491952dd9045a85cc70c3ebba3a7a423004cca07b0e9e88f9fe1e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 2d0a8db0c19e08ea6daeb554a7fc067697aca4308ea10828cf34c1d5c7546055
MD5 bc328d7a0690afe9316f5d4f4b8ede52
BLAKE2b-256 11d0815542102c582e96bcbc054ff6ccf4608b997ac801bf98c8af33077e2869

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.3.7a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 52ceb4d15c7173f6a25087b76a2f9b45f3efebbbef74ce930d3e53d568e9f929
MD5 1a4706647e50fe927cc74308016be7a5
BLAKE2b-256 e1c5e31e7770851923bb9c121b2defc5023b7e292b7325d487c7048403364b79

See more details on using hashes here.

Provenance

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