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

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.4.3a0-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.3a0-cp313-cp313-macosx_11_0_arm64.whl (959.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.4.3a0-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.3a0-cp312-cp312-macosx_11_0_arm64.whl (959.7 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.4.3a0-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.3a0-cp311-cp311-macosx_11_0_arm64.whl (962.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.4.3a0-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.3a0.tar.gz.

File metadata

  • Download URL: cratermaker-2026.4.3a0.tar.gz
  • Upload date:
  • Size: 255.3 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.3a0.tar.gz
Algorithm Hash digest
SHA256 270b6cbb03c1a5274af2f8c0b31c41785fb519970b2114866f64b0e7ea038d8a
MD5 e3d8083b2b6d3ad82cabcf592f0a36a5
BLAKE2b-256 4d75ed75ca8b00ce9df176f36d3d1e51f5f872a384207c39dd48f9083199cf94

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 478e18c43043db65b0b1bbc04ef4290a50d009113b24bbc03dbcd405d3fe7efb
MD5 530e2a692fb22589795e37faaf128d97
BLAKE2b-256 75f8d97e3956a1fe85c0b0e23a925622eb936394cb7f5b5379c2b41da7f38c29

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 892b6aeb0c2935bb8e835111094a2104a3cae7f4717f849327987f237e37919d
MD5 088f8cdc2b8fcf16be34f67a3ec1b88a
BLAKE2b-256 0998ac59da7af6770e1058ecac5f8f3bbfc5ef8bfead48c1fd283ee8fd007517

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b05c74e5b57b1c85471da24abe3e27ff3ecf580759df18e5a59ab9fb2adb6873
MD5 95351497895cdbfec91617bbac3de958
BLAKE2b-256 951fc18d6ce95094acc90dd9ab0bdaa85e92679e9f7921d0003a7ec8115779ba

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7b0f0cb15a669bcc4a54b8fd7b900c5b33326812771ff23b800691a361df01ff
MD5 b466dbf84dbbd56f902674889364d506
BLAKE2b-256 b2bdfd549a6122b4f1ae3e73a099641f743d7235bba38a192330bb8c624636ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a5366997314407287f78f8eec63252565f194da8b35755afc8faee2be6a47cf7
MD5 6ebed18e8510cccf8aa63a394b99f5ee
BLAKE2b-256 4ce8f8c3aaa9ae0aca7bbacecff0456ccdb0419aec4bda011e44aa4d897d238d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 57152ab0463adebeb1887e12eda047cef51c472ac003b5af55052b1a7b5265ed
MD5 322fb0c4e8990982db5d6f854591c36a
BLAKE2b-256 764aaed0f660fb6f6e01cd075324bcd2fe7ab34e2e7073157225ae3741ecc90a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f0d469fcea77bb3b98eb9c3fd1468ff9a45b92e30618a05b9c64d9795d72d29
MD5 d6283037f47d68749f06dfbc6f6a3c7a
BLAKE2b-256 23c3a2434413261c863b9852b17fa1d4ea2450c61afb2682d41851485bda76a1

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 90f6ccf4c09c1627c33b5cdceb86265054f0eadb37f4493a96e225c3ce7c637c
MD5 2eeaf036c86bcabe5b0c1664aab3084d
BLAKE2b-256 9b855a21c068f33e814971b45040764413bb193a3d6e6895be63993a15bbf3e6

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 23febce484f2b2da167e569a4a79d7c35328217922fd7b6d88cd65cc1e5fa29d
MD5 298584429b67da19dd740796145afde5
BLAKE2b-256 3bd89c2c5e7ead7f2b1dc276717512396addf4027712fbcea4abe7b59bfab2bf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 03862421708abed6fcc80e90bf458d62972620f0f4e6f34818547939cc8a6381
MD5 74bdae4a660b751543a0b81d60250506
BLAKE2b-256 3afaa5fe4fccd956b94b4a50346e40af86575c0a7410ee720c98f361020a911b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 49fb62e12d5c29c1553cb9e0bb7b6bbbe53c5ab4cdf44b56c3c3b878b4360921
MD5 8c888237d780ef09be8419b9b8b1ed8e
BLAKE2b-256 6a414ac59729329234fa648a7e28c919056829447b092ce1f5018f4381945e77

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.3a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 676d2d6889fdfda6aad00bb51b80495e281ab0183d187adfc25ab5b938247ea1
MD5 06653a0ecb3a947fbc949fa7e332653e
BLAKE2b-256 215eedf4f10903c04eaa002d2ff11585eb7850b8583f0f2e18c135852329b506

See more details on using hashes here.

Provenance

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