Skip to main content

Porous Media Topology and Morphology Toolkit

Project description

PMMoTo

Tests

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

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

  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.5.tar.gz (12.8 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.5-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.5-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.5-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pmmoto-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl (2.1 MB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

File details

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

File metadata

  • Download URL: pmmoto-1.0.5.tar.gz
  • Upload date:
  • Size: 12.8 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.5.tar.gz
Algorithm Hash digest
SHA256 ee256781e57621192bf43a51acfba5ab8634eb368997abb3f6af44c08bb6af2c
MD5 5d14ca68464ba057837d1ed55fe44902
BLAKE2b-256 2ee6083c2a1b67b16f5d473da934312a064a824a90dca832c045fac2b9d7fd58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.5-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 528a0c5d6c52d2f313e1621cfafdddc6cc40eaec87e18ad83daf0984ac5d8fe9
MD5 c542bb0b50b8d0a702248cc05fb4dc52
BLAKE2b-256 197fd4072c9cc5bd8a332aed6a1c289b1a3b0ab78a5be5b2fe4d0c100ff9da53

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.5-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 14f3bced75638fa77265ae9fad24ae8d8dbdce4471e644afac6394f7d7dc54d8
MD5 5cb278ae6ec83188b98778116ef32b80
BLAKE2b-256 e897490979007d51474b6406be457f70b099d38bb679b85a9fe8f59626c7bb55

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.5-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 09c78e8ff6a920b6f58f55a7a5891072e460a0893e5cf7fe3fab049f33e4d81d
MD5 8472cc59248c40e34525944b46913004
BLAKE2b-256 2efeb392e57876ccd5951333c42b608e40da06a310c315f4eee29faa18364785

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.5-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 cfa9e653b3ba038d590584f77d2504b9cefde5b66624e00be711de003c4795b0
MD5 b7f5c359b3805f0dce28497aec6e0bff
BLAKE2b-256 39f922ca60d080a3b6d8a9bbda5585c32ae2a5d20cd132190a096db2bd210533

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