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

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.4.1a0-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.1a0-cp313-cp313-macosx_11_0_arm64.whl (954.6 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.4.1a0-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.1a0-cp312-cp312-macosx_11_0_arm64.whl (955.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.4.1a0-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.1a0-cp311-cp311-macosx_11_0_arm64.whl (957.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.4.1a0-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.1a0.tar.gz.

File metadata

  • Download URL: cratermaker-2026.4.1a0.tar.gz
  • Upload date:
  • Size: 250.6 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.1a0.tar.gz
Algorithm Hash digest
SHA256 59a54f7e7f812bdf7686907ef480b78ffeba770868ccfd4b6e9177239781a171
MD5 ea27c493598bea61777b2e1a2283868d
BLAKE2b-256 bb248cfbdaf097d673dcb053422d48570bb89904e420dd9597f3cfb1376dfd4c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2e528f342533572167929d2abd25a5ea791c61d1b697df63d1994c0c88101cc9
MD5 3f50190052e2f29f7aea310bfcb6c691
BLAKE2b-256 2f29dca5c2e1932a949d874c7444a969424157ca554a359eeb6c4c0d3e68d89c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 cff30d39e846dd03d703563b33ea13bc345994623c1d839f1d31120d1eb3c194
MD5 f1d6401085c7c02fb20ba03ee106cb5b
BLAKE2b-256 c3daee358ff66c4a8264df328087d3bc24c35c94b0f24f25727ee687106bc31b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ba8b9d2760a969fb9599bdbeb6e34f878b5e9748340fca38a8d5d263427d84b7
MD5 893f90ba8dfd3d6862dae775b3098932
BLAKE2b-256 b2de94f88c7955d227c851c4dc7e5063b532f188908a70535c9edf23dc760806

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2b8d729bc86295d67b12104d345a5b12f55de6bc4800fc67b00f021c4661a1d7
MD5 1b8d2ad32ba16e719e33330c0becfe9f
BLAKE2b-256 7970ddd0a1f496632fc9c8767061e2006c2097a1a2fb9e07f9a3778a7ad312db

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b42813c295a6253a78e78639eb42106a4fdb48d40452bc544e0fc8fa8d5a1936
MD5 c44d3301bf77d6bbf2e805a6d0fb6b72
BLAKE2b-256 883e09e67f7caac495672fa2fdb786f96170109ebc05fb6b37639b68c420f57a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 af372e18fdd809d022f2590f6073390fac68e3e31fde362b1b2c9f775252af19
MD5 57f62e80cff294a3b87b883af7b76ef3
BLAKE2b-256 ee34299c874e80f8ef1c47682be3a5b890ef5e0d2f3d278fc86e56c56d3ba567

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 126571df39e2c2b36c63c06fde5ea401f40b726be8c4617b0c27d09678ea85ac
MD5 7fda1e3f63a5dc1f0be0b8f418b97724
BLAKE2b-256 a1798887866905153f85c25b790eb1fb0e958e96c4b4f48134dad03c07bc0de0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 7e2080095690252c4547ebae030a73276e87a0618e1e96437e621604203250d6
MD5 e84cc24dc6288eb66ffad385e3ecfc5a
BLAKE2b-256 e22a377a4ee8a745e5affa9e97a68997108d35e1e9071f90935a08bc8969cc4e

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a6a2cf7187b4f8c5d40a09c6cef69a5f82690741abd2c89a4ade9ffb6dcd898d
MD5 59cd392dc2dcb93bef58a4e7637e25fa
BLAKE2b-256 42bfb73c3227d66c67f44c8aa98e2087192155483e39dff0f5e63c8d4859faff

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f118a54170ae848c410d11bcb78ec644844cff738fbaf4a45907bf27804baf84
MD5 b5ead9c3c49588b3556f25f7f7528073
BLAKE2b-256 14ad5e2500721130fcaf26cacb44f9b40cbe129d9a8be19a96bfb884d2663ee0

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 237c954c7185eb0a292aaa9b41359fcf66c15f5a157c9a89df74183c6e503154
MD5 4dbe546471bc46f9f394e933e914acd2
BLAKE2b-256 51b7403071bfcfba71ca831836643ec053123ea438d0a3f53f1fcaefc88c6519

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.1a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8fe4b4bb29db4ca1ae4e7abb34ebcc1508830695565074eb4c4365471d2bfbcb
MD5 1fe12d73d628ab888d02df3e133faf7f
BLAKE2b-256 6edaf24155638a1648bc471e8d3a167841e4c865d1b3de56531288ba9854ca06

See more details on using hashes here.

Provenance

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