Skip to main content

Python bindings for the MMG software

Project description

mmgpy

PyPI conda-forge Python License Docs codecov

mmgpy brings the power of MMG mesh adaptation to Python. Generate, optimize, and refine 2D, 3D, and surface meshes through a native PyVista accessor.

import pyvista as pv
import mmgpy  # noqa: F401  -- registers the .mmg accessor + Medit reader/writer

mesh = pv.read("input.mesh")
remeshed = mesh.mmg.remesh(hmax=0.1)
remeshed.save("output.vtk")

Mechanical piece remeshing

Try It

No installation needed, run directly with uvx:

# Remesh a mesh file from the command line
uvx mmgpy input.stl -o output.mesh -hmax 0.1

# Launch the interactive UI
uvx --from "mmgpy[ui]" mmgpy-ui

Installation

The recommended way to install mmgpy:

uv pip install mmgpy

This uses pre-built wheels from PyPI that bundle all native libraries (MMG, VTK), no compiler needed.

Other install methods

# pip
pip install mmgpy

# conda-forge
conda install -c conda-forge mmgpy

# With UI support
uv pip install "mmgpy[ui]"

# With elasticity-based displacement propagation
uv pip install "mmgpy[fem]"

Using uv for project management

uv add mmgpy                 # add to project dependencies
uv tool install mmgpy        # install CLI tools globally
uv tool install "mmgpy[ui]"  # install CLI tools + UI globally

PyPI vs conda-forge

PyPI (pip/uv) conda-forge (Linux/macOS)
Install speed Fast (pre-built wheels) Slower (solver + download)
Dependencies Bundled (self-contained) Shared across packages
Disk usage Larger (duplicate VTK/libs) Smaller in conda environments
Best for Quick setup, isolated use, CI Scientific stacks sharing VTK/NumPy

Use PyPI (uv pip install) for the fastest setup. Use conda-forge when you already have a conda environment with VTK, PyVista, or other scientific packages.

How it works

Importing mmgpy registers a PyVista plugin that adds two things to every pv.UnstructuredGrid and pv.PolyData:

  • A .mmg accessor that exposes the full MMG API: remesh, remesh_optimize, remesh_uniform, remesh_levelset, move, validate, element_qualities, and more.
  • A Medit reader/writer for .mesh and .meshb files (with auto-loading of companion .sol files into point_data / cell_data).

Every accessor call returns a fresh PyVista dataset, so the result composes with the rest of the PyVista API (slicing, plotting, IO).

Features

  • Multi-dimensional, 2D triangular, 3D tetrahedral, and surface meshes (auto-detected from cell types via dataset.mmg.kind).
  • Local refinement, sphere / box / cylinder / point-based sizing, passed as local_sizing=[...] on remesh.
  • Anisotropic adaptation, metric tensors in point_data["metric"], including least-squares Hessian recovery from a scalar field.
  • Level-set discretization, extract isosurfaces from implicit functions via mesh.mmg.remesh_levelset(...); multi-material splits via set_multi_materials.
  • Lagrangian motion, move boundaries and remesh through mesh.mmg.move(displacement, ...), with a Laplacian propagator or an optional elasticity backend (fedoo).
  • Required entities, lock vertices, edges, triangles, or tetrahedra during remeshing via kwargs (required_triangles=...) or mmg_* data tags.
  • Companion .sol I/O, scalar / vector / tensor fields via load_sol, save_sol, load_all_sols, save_all_sols.
  • Validation & quality, mesh.mmg.validate(detailed=True) returns a ValidationReport; mesh.mmg.element_qualities() returns MMG's in-radius ratios.
  • 40+ file formats, native Medit, plus everything PyVista supports (VTK, STL, OBJ, GMSH, MED, Abaqus, etc.; install pyvista[io] for meshio-backed formats).

Usage

Basic remeshing

import pyvista as pv
import mmgpy  # noqa: F401

mesh = pv.read("input.mesh")
remeshed = mesh.mmg.remesh(hmax=0.1)

q_before = mesh.mmg.element_qualities()
q_after = remeshed.mmg.element_qualities()
print(f"Quality: {q_before.mean():.2f} -> {q_after.mean():.2f}")

remeshed.save("output.vtk")

Local sizing

Refine inside specific regions without touching the rest of the mesh:

remeshed = mesh.mmg.remesh(
    hmax=0.1,
    local_sizing=[
        {"shape": "sphere", "center": [0.5, 0.5, 0.5], "radius": 0.2, "size": 0.01},
        {"shape": "box", "bounds": [[0, 0, 0], [0.3, 0.3, 0.3]], "size": 0.02},
        {"shape": "cylinder", "point1": [0, 0, 0], "point2": [0, 0, 1],
         "radius": 0.1, "size": 0.01},
        {"shape": "from_point", "point": [0.5, 0.5, 0.5],
         "near_size": 0.01, "far_size": 0.1, "influence_radius": 0.3},
    ],
)

Typed options

from mmgpy import Mmg3DOptions

opts = Mmg3DOptions(hmin=0.01, hmax=0.1, hausd=0.001)
remeshed = mesh.mmg.remesh(opts)

# Or use presets
remeshed = mesh.mmg.remesh(Mmg3DOptions.fine(hmax=0.05))

Anisotropic metrics

Drop a per-vertex metric on point_data["metric"] and remesh() picks it up:

import numpy as np
import mmgpy.metrics as metrics

sizes = np.full(mesh.n_points, 0.05)
mesh.point_data["metric"] = metrics.create_isotropic_metric(sizes)

remeshed = mesh.mmg.remesh()

For solution-adaptive remeshing, recover a Hessian and convert it to a metric:

from mmgpy.metrics import compute_hessian, create_metric_from_hessian

hessian = compute_hessian(vertices, triangles, field)
mesh.point_data["metric"] = create_metric_from_hessian(
    hessian, target_error=5e-3, hmin=3e-3, hmax=8e-2,
)
remeshed = mesh.mmg.remesh(hgrad=2.0)

Level-set discretization

import numpy as np

levelset = (
    np.linalg.norm(mesh.points - [0.5, 0.5, 0.5], axis=1) - 0.3
).reshape(-1, 1)

discretized = mesh.mmg.remesh_levelset(levelset)

Lagrangian motion

Apply a per-vertex displacement and remesh to maintain element quality:

import numpy as np

displacement = np.zeros((mesh.n_points, 3))
displacement[:, 0] = 0.1

moved = mesh.mmg.move(displacement, hmax=0.1)

Pass only boundary values plus propagate=True to fill the interior. The default is a Laplacian smoother; pass propagation_method="elasticity" to use the fedoo-backed linear-elasticity solver (uv pip install "mmgpy[fem]").

Locking entities

Keep specific vertices, edges, triangles, or tetrahedra fixed during remeshing:

remeshed = mesh.mmg.remesh(
    hmax=0.1,
    required_triangles=np.array([3, 7, 11], dtype=np.int32),
)

Or attach the constraint to the dataset (it travels through save / copy):

mask = np.zeros(mesh.n_cells, dtype=bool)
mask[[3, 7, 11]] = True
mesh.cell_data["mmg_required_triangles"] = mask
remeshed = mesh.mmg.remesh(hmax=0.1)

Visualization

remeshed.plot(show_edges=True)

The accessor returns a regular PyVista dataset, so anything PyVista does (slicing, integration, custom plotters) works directly on the result.

Command Line

MMG executables are bundled with the wheel:

# Auto-detect mesh type
mmg input.mesh -o output.mesh -hmax 0.1

# Or use specific commands
mmg3d input.mesh -o output.mesh -hmax 0.1
mmgs surface.stl -o refined.mesh -hausd 0.001
mmg2d domain.mesh -o refined.mesh -hmax 0.05

# Check versions
mmg --version

The _O3 suffix variants (mmg3d_O3, etc.) are also available for compatibility.

Gallery

Surface remeshing

Smooth surface optimization

3D quality improvement

Documentation

kmarchais.github.io/mmgpy

Contributing

Contributions are welcome. See CONTRIBUTING.md for development setup, coding standards, and the pull request process.

License

MIT

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

mmgpy-0.14.0.tar.gz (19.6 MB view details)

Uploaded Source

Built Distributions

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

mmgpy-0.14.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.27+ x86-64manylinux: glibc 2.28+ x86-64

mmgpy-0.14.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp314-cp314-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.14Windows x86-64

mmgpy-0.14.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

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

mmgpy-0.14.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp314-cp314-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

mmgpy-0.14.0-cp313-cp313-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.13Windows x86-64

mmgpy-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

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

mmgpy-0.14.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp313-cp313-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

mmgpy-0.14.0-cp312-cp312-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.12Windows x86-64

mmgpy-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

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

mmgpy-0.14.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp312-cp312-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

mmgpy-0.14.0-cp311-cp311-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.11Windows x86-64

mmgpy-0.14.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

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

mmgpy-0.14.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp311-cp311-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

mmgpy-0.14.0-cp310-cp310-win_amd64.whl (4.1 MB view details)

Uploaded CPython 3.10Windows x86-64

mmgpy-0.14.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (9.7 MB view details)

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

mmgpy-0.14.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl (9.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.26+ ARM64manylinux: glibc 2.28+ ARM64

mmgpy-0.14.0-cp310-cp310-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file mmgpy-0.14.0.tar.gz.

File metadata

  • Download URL: mmgpy-0.14.0.tar.gz
  • Upload date:
  • Size: 19.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0.tar.gz
Algorithm Hash digest
SHA256 3628d9fc34fc2a2c306c6b79c0fbf7be815973d2d2737a0d3d8828ed980d756e
MD5 155fc82c01d2554b85a014225236b6bd
BLAKE2b-256 86bfc54786dd9f4c296decaa775545be288a57edd5b0385eb93dd899a69468a5

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b0e5b0cf343878fce2ab774d91d57190fa41396cac01ccc047a3b46cc7cf5d81
MD5 6d676e3726846be29c8fd32c8c1e2887
BLAKE2b-256 99f7a9394461005f0364417cd60745c82b19172f7c37be1cb22193370d9e4c9c

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4c200141e03205b3f95a6b4431ff824dd0257795172678e235dfaf6e1df0ef81
MD5 de98e0b85a58a535a34c7460790658e9
BLAKE2b-256 2abfdb687edd6ea4faf38f8817f0aa9d17cb585ae02c6d97eff92c238068a56a

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: mmgpy-0.14.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.3 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 2a010c4cf9d87a7afc2a1fdec991fb296706a0e11a95e65947e9ff8b749e2399
MD5 63df131a7432c54adf173eba042d28bb
BLAKE2b-256 9b6c216aa41d54f14c0ad6fbdd4fe44af6d6ca8f94dc42d6352616920278f7d5

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9c0260100fe633fe86539f4a3a3fb18b6b6db769bbf91ff05884cabb7fd6c4bf
MD5 e5af8332ade7014befe55b04c81c9ace
BLAKE2b-256 5ae5f275b9fd0873679892a1ae02da761cb846d00d9277b7c174f554a8b78119

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f86d383af3557b5923a348fce86e8ffae0b7dc759577016d933163561d244bda
MD5 b3242c1c5f8a352a5d66bd9a5bb4b4c0
BLAKE2b-256 051eb7f20f4c1bd62d2d8056f57461fcb3a55e9cf1944fdeb282f534f28fca58

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 707f7527d5a681e0b46539b1a1512bd10be1986b13291e4d91d47f9dca03f889
MD5 fa66562222ba6adc61aedd39fbd9a356
BLAKE2b-256 561353ef17bba44849d6c19a883a427c8383000324ea53008e10d38c65f2cdb9

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: mmgpy-0.14.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 417e57d905ed0588fcdbc73828de6dc6e9dc8987534027dd59d2d711ff553175
MD5 889054f32e19a5e780163318336fae5b
BLAKE2b-256 42357bcd1c26f6aef868543f1a43b1cbac076e9386b488a85a18a0641655488f

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc22f3c78d144714a49af63a283629e4190d03cbddf91b35f7a7639bc6a0d1ab
MD5 ef0e89cf85cd6b46981d44b21e4678e7
BLAKE2b-256 d12c6e019f57293fceedf506e86f711a1fba6c8a711cc79e63f8f4025c5934ca

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8f0b22c5b8b867f759801ca097781af20ab3aff2facf64739060280df8c357b7
MD5 6312311d9f3a221f120eb3541b56e634
BLAKE2b-256 a05c9b786d749a3866e725c9c3605d10b1cb1ece8e778e78a08db26a39f728e7

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c979e6792f56bfd031848ead47153d72ed2fcb5aa3888b68d60185be8eba2c85
MD5 731f9e62b3fab01e3831f45c2f2b4085
BLAKE2b-256 7f23a2828f747610c63b6b38a405db37f5b49e2dc2afc357de0a3ee191c7aa47

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: mmgpy-0.14.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e0f66fc4de5cb939faa0f8a30c39ebd31088fc31e25c10733e08273818452089
MD5 ac540894626fd5d3404cc56f73854047
BLAKE2b-256 801a7eac715488221a357b8bef15713d5d68f6d3faad60d578f0a6619a6c8a74

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fdb9ed4ec04d0bf3c284be2196a881fb74daf48d788b91e09d867007cb2f7538
MD5 5deed8e36497939c9ac507f066a15f7b
BLAKE2b-256 253f154bc9df24e71342dcbb112f047ae6341a6b7d99082661eb14ee7fd9fd95

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 8be58c0377d0c4a77297e63e4e097f21258f02533757e06a13c2bca91351448b
MD5 d66569cb81db7b81baeba0ac4fce1cf0
BLAKE2b-256 a40158b28b5a38267fbef1b470eec093754717317d836def4980f3c766cc802a

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f1c021b731aac2c0c0072a88e26354cd5297d1f028bb57f8205f0eb1a54dfb7
MD5 1183eceabe8398f458cd8ac21ea3e3e9
BLAKE2b-256 e2a30b326765d52c1bf6a110eddea8849ed2d8e96f03423f1291d35617546e8b

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: mmgpy-0.14.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 561ba76c7643da0f9ac9b662a8c913be887d0afd1056fd791b9298d49ef8aa7d
MD5 c5f6fd83b14f0db3fe8388062a99392f
BLAKE2b-256 f05b6122fb8c5b991c7204698bf384583e83c515175b2b47386df43bf0b0ffa7

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 35e3a3b7d40cd4eb052bb4ee2a749684dfd1e79b633555b66478618e97ed4a93
MD5 27f27badc3b9ae83f38960e7b96d3909
BLAKE2b-256 fb6140e0728df2b162b0f6cea34685a2a49ed6ff87a52c08770a9ecdda707b08

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5160c1c48978a850a483f5a0da9d73e9c69f6963a9edb35d03f4642409aaa734
MD5 f938a0300ce0a822bbe069bc46722316
BLAKE2b-256 1211e839d98bd6d2b7dc64bbee1188b6a95f00cbaedab35d8443c8acaae727f7

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d26f6ac0f546724bb27382f07e2c8a96ed4edfc207b3085aec3aff39ec88a0f4
MD5 8723aacdd97a250119c1869509c1d746
BLAKE2b-256 dc4d24d4c39a14faabfbe52958ee1720dfdb973f293fffa654126e7044423797

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: mmgpy-0.14.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.1 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mmgpy-0.14.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1f43117d66df4520e2cae09e76f9eab9ac6d09de534f069e6673cba4dd5327db
MD5 404184dbc8c9f65096234a060d4310e1
BLAKE2b-256 44256e1dcbb77cc9a5b7d8dc3cbc27eb38ca5e197c2de414a3214eb08dab8a43

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b8d99bac4ee61a3d00f836aa3f72c8a535753437cdadd2eb43eaf172d0cf543d
MD5 f74c94c25986a189cd0133784ff24de6
BLAKE2b-256 4aeacefccf9bb58ab853381132038043f5fe3ae590d826fa416cf2cfc585c8e0

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d06663d8767228882600b780be7da30e643e026f463670c5e83aa2e261ab51f9
MD5 345bbdfb6275b6549b0a11f68aacc8b8
BLAKE2b-256 1c910a9ac0d35236c703a65417ec3b3e4edde49246f77ea71c2f3ca3c8045a4d

See more details on using hashes here.

File details

Details for the file mmgpy-0.14.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for mmgpy-0.14.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f9672781077f380432c8591d5990296b3487e874244e6716b24861dbb543ea06
MD5 3d2fec16b6c4c394af649ffa97e186f9
BLAKE2b-256 f67c0cda11a211f44a023027f989e0efd9635e56eb24a916f2791f85f6cb8075

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