Skip to main content

Porous Media Topology and Morphology Toolkit

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pmmoto-1.0.7.tar.gz (12.9 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl (11.1 MB view details)

Uploaded CPython 3.11musllinux: musl 1.2+ x86-64

pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (10.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

Details for the file pmmoto-1.0.7.tar.gz.

File metadata

  • Download URL: pmmoto-1.0.7.tar.gz
  • Upload date:
  • Size: 12.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pmmoto-1.0.7.tar.gz
Algorithm Hash digest
SHA256 d465f33448049431796c8547a52ca69d654f6535bc7c136aafe1d489f4db3620
MD5 e6724ab386b4cc6d7b37127e11dd0354
BLAKE2b-256 521af0df39ca6b53bfc2260bc45a04b13e28c4b2e2db5edd0305ddfaf7d41279

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.7-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 8a3cdbbf22b5307cb666435174c0802f3d98976e3160ecc2e1a2c87599c8257c
MD5 9592d48e385a5a8d28467e6541fbb5a3
BLAKE2b-256 60f2405a4427a0d8cbb6d2c9a60c302a7a94299a3e542743f553cc4e014b8496

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.7-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ef30fd1785557d215b4492c1138dec48ae8ec37f7b85d4d3bc88ebfab3d9ab9d
MD5 2570a22f740d360055ba42352abe546c
BLAKE2b-256 a7e36fd29edbc8ce78ef860b4af6eae884baa5d023ba2c9deade94d4f727f74b

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a41b0e46d354e78e4e8e5d91630b1a9fb67033b5f9129282a9d137917e5520ef
MD5 261125a1602a76e1a19f04281beb736b
BLAKE2b-256 dfa22d17efdace3be35542e7538eeec997b6eda702521f4b04f921a6870c1887

See more details on using hashes here.

File details

Details for the file pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for pmmoto-1.0.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 9282212857d0aa43e7e02624e160559f31cc1a19c037d226071c86120b630195
MD5 0c7bf44c85d20710a154d5ea7e7f61ed
BLAKE2b-256 3d39cf36bbee76b6d7adecefbf2582ac65a87f13ed6d261e630a380f473a63c6

See more details on using hashes here.

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