Skip to main content

PMMoTo

Documentation

Tests Python PyPI License

logo-1-text


The Porous Media Morphology and Topology (PMMoTo) toolkit is an open-source Python library for analyzing, modeling, and characterizing the structure of porous materials. Built with Cython and C++ and designed for distributed memory systems using MPI, PMMoTo includes parallelized implementations of connected components analysis, morphological operations (e.g., dilation and erosion), and Euclidean distance transforms. Unlike many tools that focus on image-based analysis, PMMoTo is specifically designed for synthetically generated porous media, such as sphere packings and molecular dynamics simulations.


Website

PMMoTo Website: https://tmweigand.github.io/PMMoTo/

Installation

PMMoTo requires MPI (see https://tmweigand.github.io/PMMoTo/user_guide/installation.html)

Standard

  1. Clone the repository:

    git clone https://github.com/tmweigand/PMMoTo.git
    cd PMMoTo
    
  2. Install the package:

    pip install .
    

Development - including testing

For detailed instructions, see https://tmweigand.github.io/PMMoTo/developer_guide/installation.html

  1. Clone the repository:

    git clone https://github.com/tmweigand/PMMoTo.git
    cd PMMoTo
    
  2. Install in editable mode with dev dependencies:

    pip install -e .[dev]
    

Citing

If you use PMMoTo in your research, please cite the relevant publication (too come).


Community Guidelines

Contributions and community feedback is welcomed!

Contributing

  • Fork the repo and create a branch.
  • Make your changes and submit a pull request.
  • Ensure tests pass.

Reporting Issues

  • Use GitHub Issues.
  • Include details: steps to reproduce, expected vs. actual behavior, and system info.

Support

License

This project is licensed under the MIT License. See LICENSE for details.


Contact

For questions, issues, or contributions, please open an issue or pull request on GitHub.

Metadata

Release files for pmmoto 1.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pmmoto 1.0.7
File Size Uploaded
pmmoto-1.0.7.tar.gz 12.9 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for pmmoto 1.0.7
File
pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl CPython 3.11 CPython 3.11 Linux musl 1.2+ x86-64 Details
pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.27+ x86-64, Linux glibc 2.28+ x86-64 Details
pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.9+ x86-64 Details

Total release size: 38.5 MB

Release files / pmmoto-1.0.7.tar.gz

Download URL pmmoto-1.0.7.tar.gz
Size 12.9 MB
Tags Source
SHA-256 checksum
How to use checksums
d465f33448049431796c8547a52ca69d654f6535bc7c136aafe1d489f4db3620
BLAKE2b-256 checksum
How to use checksums
521af0df39ca6b53bfc2260bc45a04b13e28c4b2e2db5edd0305ddfaf7d41279
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl

Download URL pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl
Size 11.1 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
8a3cdbbf22b5307cb666435174c0802f3d98976e3160ecc2e1a2c87599c8257c
BLAKE2b-256 checksum
How to use checksums
60f2405a4427a0d8cbb6d2c9a60c302a7a94299a3e542743f553cc4e014b8496
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl

Download URL pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Size 10.2 MB
Tags CPython 3.11 Linux glibc 2.27+ x86-64 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
ef30fd1785557d215b4492c1138dec48ae8ec37f7b85d4d3bc88ebfab3d9ab9d
BLAKE2b-256 checksum
How to use checksums
a7e36fd29edbc8ce78ef860b4af6eae884baa5d023ba2c9deade94d4f727f74b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl

Download URL pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Size 2.1 MB
Tags CPython 3.11 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
a41b0e46d354e78e4e8e5d91630b1a9fb67033b5f9129282a9d137917e5520ef
BLAKE2b-256 checksum
How to use checksums
dfa22d17efdace3be35542e7538eeec997b6eda702521f4b04f921a6870c1887
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release files / pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl

Download URL pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl
Size 2.2 MB
Tags CPython 3.11 macOS 10.9+ x86-64
SHA-256 checksum
How to use checksums
9282212857d0aa43e7e02624e160559f31cc1a19c037d226071c86120b630195
BLAKE2b-256 checksum
How to use checksums
3d39cf36bbee76b6d7adecefbf2582ac65a87f13ed6d261e630a380f473a63c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

This release

1.0.7 This release

5 release files

1.0.6

5 release files

1.0.5

5 release files

1.0.4

5 release files

1.0.3

5 release files

1.0.1

5 release files

1.0.0

5 release files

0.1.5

5 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page