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.6.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.6-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.6-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.6-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

pmmoto-1.0.6-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.6.tar.gz.

File metadata

  • Download URL: pmmoto-1.0.6.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.6.tar.gz
Algorithm Hash digest
SHA256 c45c68b00ddef4dd771782decb1769723986be697b74ef6d37c4e4d856733c77
MD5 270746cb10bb463945cfd0c82b9f47a0
BLAKE2b-256 47151b2f17f8ecb7ed93d27d4ecf2ed75f31ffc6427fae14a87f63032965d5af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.6-cp311-cp311-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7ae14651d67b625eedcf2eab231d7b258852c107756814862475afa53136f4d4
MD5 b70b38f6d581edc5d2038b800159f7a3
BLAKE2b-256 2c68f7ebe5fe601cfa9b7f265e3d3b45956df9d7f806ec112c2ad751a73bf786

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1596121204e524a20cb464cb98a15fd6481a7da68e15b11e99cee8ae5bffa6e9
MD5 57cb6c8396e871245044f7f8c60a45b4
BLAKE2b-256 69e50e85ce9a782153e10b5d442e3fdb464b1f1310efc0959f4e25986d688bef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6888f09d40ce59e353b5796d52fe916f59873fe6a31ed72e166807207b386a3d
MD5 25cc0e0b07d88fc3c2577130f09f79b6
BLAKE2b-256 0e68595b2fef27025fe346776adf9a06257638523e69a0407df28797a3324432

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pmmoto-1.0.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 eb22d79f72a8223761b8da4c0f1f0543fa3f280ee15b2df1f727b0b487eaad17
MD5 416e853227c369e6f944e242a07632b5
BLAKE2b-256 ae888d5fb7053fd6fe9fa815479c2d6d4433eb8ec4f56d22ef332720b90c7da6

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