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.5.0a0.tar.gz (255.8 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.5.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.5.0a0-cp313-cp313-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.5.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.5.0a0-cp313-cp313-macosx_11_0_arm64.whl (959.5 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

cratermaker-2026.5.0a0-cp312-cp312-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.12Windows x86-64

cratermaker-2026.5.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.5.0a0-cp312-cp312-macosx_11_0_arm64.whl (959.5 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

cratermaker-2026.5.0a0-cp311-cp311-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.11Windows x86-64

cratermaker-2026.5.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.5.0a0-cp311-cp311-macosx_11_0_arm64.whl (962.1 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

cratermaker-2026.5.0a0-cp310-cp310-win_amd64.whl (17.5 MB view details)

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.5.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.5.0a0.tar.gz.

File metadata

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

File hashes

Hashes for cratermaker-2026.5.0a0.tar.gz
Algorithm Hash digest
SHA256 ae4b780be156bf84b99fd122875bcce9b7911394fdc9099c3b2f4aae8bd21ca7
MD5 e59ca3caa37fe8df2fdfd89817e73d4d
BLAKE2b-256 f23b6af9d1703cf87971735039e20e8eaa64b9c69533908a05041d77720646c5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc259b593c51b597aede253bcb7a6b6f928be4fedac2b7f76fac8a5b76e36d0d
MD5 59673acd6c45d1b561fb97441c8431e8
BLAKE2b-256 01d23153726e9472cdf8839634144772110819e46e180da56a03a3a24b3a54a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 343c10af6496b268dd68d29636f94bade38e066dc2b3377ee16bbe6aabd75074
MD5 85558146d6b4ce28da4dbe32d1ced111
BLAKE2b-256 a0efce031036be70bc3219aa1360300c7d227a5c616fb26cf30c403c685be16d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e33399d37817a1eebe7586ab39c392acf19318c0f82328f8613b0f1e02695ce9
MD5 3ada44b731da97fdb16fe2ed13f1ed34
BLAKE2b-256 15c0f6ec2dbfa74d44fcc862066f75385f81492a6002e357d7cafbe124fee4a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c176aac178c13cf95e0b73e71e92be3c1029cfc3d76adbb58def56e9aff15dc4
MD5 6d61d1fe8f3426edb8fb214a4e5ea11a
BLAKE2b-256 6a379e666ae30beb4ae33944db4897f33c019c837f5f36159c2aa744a4713c23

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d2dacfd30663644f0727e932d2182687a368d55035d1890e97518cada9187e84
MD5 001240ae227dfdcedcfc3a72c5e8317a
BLAKE2b-256 b6ae7b7b7e880d5da4cd8fb3d4aaaff017c75bee5e465235522f3c6964813890

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7630e34c09a219b9c1d1f15584a10260f8a634eb5437cafef0b9b06f37ada8f5
MD5 e1df6e39e7252f409c2685d97b64aa1f
BLAKE2b-256 c58a9dd78ba033ac86ae944d742c8756bbbe5a1fc74301c8a0d55245a2725aec

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f41a4a737967f05baf1110816c38a53af22a872442b4a50adc81824ae8fd2ee7
MD5 111ca92a5e08f187ab0dcdf1a01385a3
BLAKE2b-256 936da05a146ffd8e7ed9c799b141e9675e5be7c2698b33411ab10ed58814953b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a378598d223f88a6d0aa268e9e59485ae3097621131620c8de09eb30302b5c7f
MD5 fbdc09d990cce5b74ff1862402f10287
BLAKE2b-256 4c28e2952a415addbf000a00fe6d0a827f139ce9f9ace1f1c6fcadf282edf14c

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 39dff425493f1406cc678565ab00620a9ef6482f0d9dc5a6e92deacb5580af61
MD5 174be4d9aa34a5e49b89f5505757762f
BLAKE2b-256 90d877c0aab52fafa82d8f3253c947ff6dc75004a6803d2ff1674b16a6392856

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1fceff1ffa6e5d64754b78b53831f4d2fcc39b22efc85fec0ec0beb32a47ac7a
MD5 217e4304841309ef4a3cc6935800a775
BLAKE2b-256 60c08654f4a07706a0128efd07a657591a26cd65b2f3817fc2aa787d8e9e0102

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0129ec6733003bdac0066c6978975ac0031b23f50c153d3bbf7a5ed7fb468414
MD5 69ae75cae5d73011af2b64c220430bca
BLAKE2b-256 256c731b4424ccd410cc879a378125a4d0998bdb62867ef5223f9e68c6601e93

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.5.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc4980281b4b8cbcb14123d6e33d718fe705ba3f16805240ecf53d827c7161aa
MD5 7a3bf22686c951adeebdd78c9a4f268f
BLAKE2b-256 bf190b97b7fbfe7dc5067652f0193b53a4a04af1285e1e6288aa917dd4c36259

See more details on using hashes here.

Provenance

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