Python code for generating and working with meshes.
Project description
A mesh is a discrete representation of a geometry or computational domain where space is subdivided it into a collection of points (nodes) connected by simple shapes (elements).
Meshes are used for a variety of purposes, including simulations (e.g. finite element, finite volume, and finite difference methods), visualization & computer graphics, image analysis, and additive manufacturing.
mymesh is a general purpose set of tools for generating, manipulating, and analyzing meshes. mymesh is particularly focused on implicit function and image-based meshing, with other functionality including:
- geometric and curvature analysis,
- intersection and inclusion tests (e.g. ray-surface intersection and point-in-surface tests)
- mesh boolean operations (intersection, union, difference),
- sweep construction methods (extrusions, revolutions),
- point set, mesh, and image registration,
- mesh quality evaluation and improvement,
- mesh type conversion (e.g. volume to surface, hexahedral or mixed-element to tetrahedral, first-order elements to second-order elements).
mymesh was originally developed in support of research within the Skeletal Mechanobiology and Biomechanics Lab at Boston University.
Getting Started
For more details, see the full documentation
Installing from the Python Package Index (PyPI)
pip install mymesh[all]
To install only the minimum required dependencies, omit [all].
Installing from source:
Download/clone the repository, then run
pip install -e <path>/mymesh
with <path> replaced with the file path to the mymesh root directory.
Development
Note on the usage of generative AI
MyMesh was and will continue to be developed by humans. Initial development of MyMesh began in the summer of 2021, before the release of OpenAI's ChatGPT (Nov. 30, 2022) and the widespread proliferation of powerful generative AI chatbots. Since the release of ChatGPT, Claude (Anthropic), Gemini (Google), and others, I have at times explored their capabilities by asking them meshing questions, receiving a mix of helpful and unhelpful responses. While generative AI was never used to generate the code for MyMesh, it was in some instances consulted alongside other resources (e.g. StackExchange) for recommendations on how to improve efficiency of certain processes. Generative AI has been used in the following ways throughout the development of MyMesh:
- As a consultant for understanding concepts, alongside academic literature.
- As a resource for general-purpose programming concepts, such as methods for improving efficiency of certain operations.
- Assistance in setting up packaging infrastructure (e.g. pyproject.toml, github workflows).
- Assistance in the creation of test cases for some unit tests.
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mymesh-0.3.0.tar.gz.
File metadata
- Download URL: mymesh-0.3.0.tar.gz
- Upload date:
- Size: 655.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1a47d3c9d8ceb9f283ec5e0ec42d6111028d94f8e09ec403e60a1bed59b0d6ef
|
|
| MD5 |
b3a128567bbd83de0c3665a0b7d4d2fc
|
|
| BLAKE2b-256 |
bd25c25abc2eb097037deb59c3a0e9abff3c9e1199a4fdc63d5fd1cfb3b0d649
|
Provenance
The following attestation bundles were made for mymesh-0.3.0.tar.gz:
Publisher:
release.yml on BU-SMBL/mymesh
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mymesh-0.3.0.tar.gz -
Subject digest:
1a47d3c9d8ceb9f283ec5e0ec42d6111028d94f8e09ec403e60a1bed59b0d6ef - Sigstore transparency entry: 766025003
- Sigstore integration time:
-
Permalink:
BU-SMBL/mymesh@b365c3db487cf081f94497efed537826cdd49bd6 -
Branch / Tag:
refs/tags/0.3.0 - Owner: https://github.com/BU-SMBL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b365c3db487cf081f94497efed537826cdd49bd6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file mymesh-0.3.0-py3-none-any.whl.
File metadata
- Download URL: mymesh-0.3.0-py3-none-any.whl
- Upload date:
- Size: 265.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
766d5782c9cda49f552d17a48e62d5b6790607da5ab8d08178b8f1365ce19f96
|
|
| MD5 |
c3522ed868f9fc96cec30d6ba0595c39
|
|
| BLAKE2b-256 |
323ba1f1f31b7207d7db8bdedd5ebd944b685e28cbc46a6488103f45fefb63b2
|
Provenance
The following attestation bundles were made for mymesh-0.3.0-py3-none-any.whl:
Publisher:
release.yml on BU-SMBL/mymesh
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mymesh-0.3.0-py3-none-any.whl -
Subject digest:
766d5782c9cda49f552d17a48e62d5b6790607da5ab8d08178b8f1365ce19f96 - Sigstore transparency entry: 766025011
- Sigstore integration time:
-
Permalink:
BU-SMBL/mymesh@b365c3db487cf081f94497efed537826cdd49bd6 -
Branch / Tag:
refs/tags/0.3.0 - Owner: https://github.com/BU-SMBL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b365c3db487cf081f94497efed537826cdd49bd6 -
Trigger Event:
release
-
Statement type: