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.4a0.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.4a0-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.4a0-cp313-cp313-win_amd64.whl (17.4 MB view details)

Uploaded CPython 3.13Windows x86-64

cratermaker-2026.4.4a0-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.4a0-cp313-cp313-macosx_11_0_arm64.whl (959.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

cratermaker-2026.4.4a0-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.4a0.tar.gz.

File metadata

  • Download URL: cratermaker-2026.4.4a0.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.4a0.tar.gz
Algorithm Hash digest
SHA256 1e0a73ddc030a84e90271d1c24406061cc47d629f82fd79a19bc1d5a67001a48
MD5 2672058432c178d225255647602e8c81
BLAKE2b-256 bacaca58cf14c0b34759784782b5421d32f019319a4588de096a8bf187921280

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44a57e179f07214c6b18c092d45ffd8cf5ba8bd7fa788741646892180879fff8
MD5 1f7746c81902a458c18c71cc6376a5ed
BLAKE2b-256 a07f7865a390312d1094f3fbfb81a9457825799fb2ebc6a9594bec1df4e79ea9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5d3e2aba25957769287c505e94b86ce4bf6a6edef6c5772562bd49eab4a274d8
MD5 75cd4f9341e49a575dc1e08505110101
BLAKE2b-256 0062e7ba8f6a6a005ed0b0c2a3a58ec62d1989f6f1b38ebf155a6b747cb77b46

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bb0436fbf323381caa57f71a8230ca91cf8b54fc8ad4fef51a863a02eaffcfe4
MD5 d27ed527d38bfacc0a4aab0da8e0c96b
BLAKE2b-256 7671a6c0d607337d671b1e10a00e4430b19b3e75621c317524a1a8dd5330707a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b558c4ea99bb3ea5af11fc59f0f58607ac5d13ec51a85bb8abdd7bbfc8463dfb
MD5 c9bf18d2eab8f316c988a4aebf513fc7
BLAKE2b-256 6c95299a4fc66fb47889cbfbe79244cf57ef23f10c42777fc437a53110261a18

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 6ff7d69330dc1a6d70d98badf9d4d2edae5e3f77015f4a1c3a97d9476db9dadf
MD5 98e0a8709d5c1d83fa67f5e0dca91304
BLAKE2b-256 477b8380b3a3c35be0f30d6d077d8181e602e3880b1135a1e57e1186a6a48e55

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e110765a5c2a37557253f212527394a3706cbae05918782ad2f87946fb713f00
MD5 e439b6ca08235d8c3f7aa6a495a093d0
BLAKE2b-256 61295dbadcccc756f5fae68a3452b38883080a3d127a65758f8ecc5a5b84d748

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0cb7c11ed4e316fb20733cb1f99e8e9ee51868b8553e02713e387341ee26515d
MD5 2d0f2d59db0a37cba9744da965b7fb56
BLAKE2b-256 3ca58f52ce001d153d7ad2c13f744ecd51627feb42cc221f3148fe33f19e214d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c595a5754b9507202dcb72f285a0614a924071aa64b1a1d1f7a1c1c554c4db3d
MD5 a427fbf6417c1a7114ec2c7e061791f6
BLAKE2b-256 eae2511dde3d269e03ce7a02a5ae77e8282fe8b784655a45069c9943cd7bed3f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 75cde05939c7c4f77f8aa00ba5bd37b789917e12da0a146cc5d9c6099c4a2688
MD5 dde645d468c2955f7da619aa61a36212
BLAKE2b-256 0d09738d2ef7b990c63254394b2ddf53ac989953a67f0b1bef0991c8d4ff2026

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f62c158c3913aa1e6056339a3a11f06db1b46fa39a30c34deed2b8184dc66cc9
MD5 a63ae303a6da6c203e235e62b3cefb95
BLAKE2b-256 b8fa969d5f919db66dadf3460062bd7da412b79fc1fa1fb7b9901ce9163f5d66

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ae73b86c3c0a2e193e5c722dad3dfc6b1935cbafdd34d42f25936b9941c985fa
MD5 137edd5a33fe0ec622ab77405358a303
BLAKE2b-256 564280aa3782133ac5ea182269be74133439c1047368643a240e43a98f1070a9

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for cratermaker-2026.4.4a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48d9d24854383429e502af72d5e93cb071d950b21da6e4a4bb09b3974832dbfd
MD5 ce7de202e88222992c13149d654c1fb4
BLAKE2b-256 36739c7f961bd1f03e22d1023e7de3a7a57aa586c17f8fc439f327d6915d369d

See more details on using hashes here.

Provenance

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