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]"

PyVista accessor (mesh.mmg.remesh(...))

The .mmg accessor and the Medit .mesh / .meshb reader/writer (see How it works) activate whenever pyvista >= 0.48 is importable in the same environment as mmgpy. Either of these gives you that:

pip install mmgpy pyvista        # mmgpy + latest pyvista
pip install "mmgpy[pyvista]"     # same effect, version-pinned to >=0.48,<1

If pyvista isn't installed (or is older than 0.48, which predates the plugin entry-point system), the accessor simply isn't registered. import mmgpy still works, and the in-memory MmgMesh2D / MmgMesh3D / MmgMeshS API and mmgpy.mmgs.remesh(...) file path stay available.

Without PyVista

For headless / server / CI use, the slim install (pip install mmgpy, no pyvista, no VTK) exposes the C-binding mesh classes directly. Build a mesh from numpy arrays, attach fields via item syntax, and remesh in place:

import numpy as np
from mmgpy import MmgMeshS

mesh = MmgMeshS(vertices, triangles)        # numpy arrays, shape (Nv, 3) and (Nt, 3)
mesh["metric"] = sizing_array               # optional: per-vertex isotropic size
mesh.remesh(hmin=0.01, hmax=0.1, hausd=0.005)

verts_out = mesh.get_vertices()
tris_out = mesh.get_triangles()

MmgMesh2D (planar triangular) and MmgMesh3D (tetrahedral) follow the same pattern. File-based round trips are also available without pyvista via mmgpy.mmg2d.remesh(in_path, out_path, options={...}) and its mmg3d / mmgs siblings.

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.16.1.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.16.1-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.16.1-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.16.1-cp314-cp314-win_amd64.whl (4.3 MB view details)

Uploaded CPython 3.14Windows x86-64

mmgpy-0.16.1-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.16.1-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.16.1-cp314-cp314-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

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

Uploaded CPython 3.13Windows x86-64

mmgpy-0.16.1-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.16.1-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.16.1-cp313-cp313-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

mmgpy-0.16.1-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.16.1-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.16.1-cp312-cp312-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

mmgpy-0.16.1-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.16.1-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.16.1-cp311-cp311-macosx_11_0_arm64.whl (7.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

mmgpy-0.16.1-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.16.1-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.16.1-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.16.1.tar.gz.

File metadata

  • Download URL: mmgpy-0.16.1.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.16.1.tar.gz
Algorithm Hash digest
SHA256 bb9c1b31bd85765a7928fd3a2cc05df3ab840df0cb1e841728ae3c3a9d2bb5dc
MD5 162c168e7b14517f66f76239cdf977ee
BLAKE2b-256 4c2af4a228e4dbdda7b179347f21201d5dd2d2f694914f068607294abaafddff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9244244601f38a5836c53cbf6c1b674ed35b0516327765167886951c21a866d0
MD5 97e272b7621542b415b1688aa8f52e72
BLAKE2b-256 5542bb82689afd252535e7213220d81a5aeb8c6ba8554acc26e2d1ad899a4919

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 32c21c63906475947ab216f889c860e265836ed4335500c20dcd0cbbd9835654
MD5 7fbe59de1bf2624a805be12ca32cd06d
BLAKE2b-256 ee5250c1c5382cb9c352258664aea7e50c739626214b2d3de84dd035060c0946

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.1-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.16.1-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 8134663dc387a7cdc8061bdefcbdff4d42335b6d312d8c2f62d2d03c33c6a684
MD5 94e1a592870061c47d95dbdbd775b3da
BLAKE2b-256 da0a14ddc47dc18ed058f395f40fe3e7a49093472dfc814546075382d16ebe26

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c46ebdf2310d86b53209a7b29e2013990168cf0a5530edc917971e53c2c6e2ef
MD5 f47912bf6a682407ebe78e5f448de528
BLAKE2b-256 551491392f65f6841632175c1de220558fe5d8d3619492c2e84fc52614b25227

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7e608f3e452b3e2acc59afd243b2b171dc53acc4ec10e8da68a0ff439ecd966a
MD5 4b1c8fe270334f12427c6b18b0fcb0ca
BLAKE2b-256 8754de2b39ffc1602b65d408e4bf6dc8706f5e127928743806aeb64442d5a9c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 369e0face4e76b3bf97b78c8869727d3e09acaf95442397cfbede4449a8fb756
MD5 163a4edcca964812602ae2c3fc256e07
BLAKE2b-256 e78cf2df8b148d63edcab704235123ecb982430b977e62f2c31e22e24bab518f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.1-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.16.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 dde2a94cc40784a639b79cfb545412eb33d2659e5c4c2cac88a37c568f2650fb
MD5 1399dfe793814ddab70e8aad7961ef1c
BLAKE2b-256 f1cf10754a52ce2680ef830840e22cc83df708f8b850216f6a00dae1c2ebb558

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 15389f10900cb1e7b6da86a00b8bb61d5bcc3dffb44bf2217b893b657f4c6a91
MD5 202550a0e1f4dbd7add8b00d29bdf650
BLAKE2b-256 4a922bee7233231cdf82c5f08419fb17e407aca3c9df55367a28e9cee48e341d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7f5790c1a7a8b573fe4c96a5a64292229f2391bd6d9aa60551d43b7c16daef89
MD5 208e6fadd2a1154d3444d8bd8673d06c
BLAKE2b-256 5af06593da05f72fb1c3bacb02d9997f57b0c5ce782ecc9da95943ec0fd52131

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 787cfb7c5895663968ab67d60f5643ac6417c199416c987580e8566f6a8a3abe
MD5 276acc50343f19a04ff07a84b8de0796
BLAKE2b-256 48bf4045f0082cf4fdff71af6670cb06d65ff15e1bbf88138f3de0118e3c6378

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.1-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.16.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 064518c8fbd2a676cfbcffebd14afbc5f32b24610d6d0eff460ff5c1d986991a
MD5 bc6c80e2da9a0ecfdde1b35cd39331dd
BLAKE2b-256 2c9d3146770c23183c6c446f5547dc546894a82d0cfe8792754b70748d3ad022

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 49daa8bd5fd831868e3a2f98150f8c1a3aa7f6c0e495f0a8d64ef87b003f5b44
MD5 6dcf0162d88b0003e7b8b38dba140070
BLAKE2b-256 4add2497d03cdcfbc798a3332c9357bcb5d3cb4c95e99a843c5529d33121a7cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c8145245335c523e11cccec2bddbc457a40676691f028e315b1e03c88e7cf979
MD5 b6835749402626228df413eac917a1fc
BLAKE2b-256 84ba72a19f25b12ca69126277f5bad5df71bedc25fcea33268f7c15ba66ad070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a7cf70c322d3607dc0dee517617e3a537afceb21d27731c6b11f9f1cfef274d
MD5 35e39a1cef63d194bae11e915ea37a34
BLAKE2b-256 dae252bd9cf7e046794f4733afa4ea99a98e3bed2d7d57efc91afc76179ff733

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.1-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.16.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 049dfeae7211a5aeed4d49fd9160387207417f962ec3a948a7567191eafdd4d5
MD5 ab2826d497df92746b6521bf29cc13a7
BLAKE2b-256 a368f5bc5f6549fcbeb4305d555f1cfd8d1c8ac89513c0eff18bea9bdc4b26d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 ae435b45d65409643fef6c084843e8087cd8af3f4446f23a696fcb4b0d8bc52d
MD5 9b7bbe68eada579e6b33824b3df2f7d6
BLAKE2b-256 8f4ede059c367d8f1e7f1c76d6b954bafc35cd9c76c7dbf8c6d8a9dd246092b7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f061e152c9be955a8841379ff9bb6e145debb0be7481f2cb5b96c40a9b926799
MD5 d2a59a7ea4c5da9f93b0182286913655
BLAKE2b-256 56ee10bdf291ed70e7cbb2446ce37c76b30a6a171cd071be9cfb29e17bc5b6ce

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cd52269bf6b048bc45323af0eb019b98a06547fb2138b2895fb214f77b96a065
MD5 a9642bc52c6ac90bbf08a92a0608ba42
BLAKE2b-256 d81f88933ab32fa16fb4a0293207f805aa68a8582164fc608618ae0caea6619b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.1-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.16.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 62738ff3eed66a20414bbda95cbef00493502a7de5fab28f618dd9654e768884
MD5 d12a73337c160386cccf8b7c54f260e2
BLAKE2b-256 f06cdfcd81c2aa8655a18a639635c4832b9c8b9b148a4a4860fcf835cd7e159b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 38e47a7ce3d7f798b78420abd6c232af68ab1ea5f5ae495ceead0a10bf22a928
MD5 4ca5a9e7b4d4c2821b9dac4376f1935a
BLAKE2b-256 faa4e45ceafcee6a8c5ecdd7af5984fd6deaa55c2a3cc5375504d3b47a82f7d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 317c043aef91042207e53a14a9b942e385f4b83b42b0a9039bc41a7ce384fa08
MD5 e9c5ec81362e7d7237598d7df76d3b55
BLAKE2b-256 86683f5ad9023230c9484f4edcff531ce33d4cb0d8b96522cee90f28ead97e1f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 10242c9c5a7aff928b3b5f4bc2dab72c7bddfac788831d73fc22178725ed6013
MD5 3e63331cd6c413b43ef547427e6d6eed
BLAKE2b-256 dc9010e90ed77760aac076d1423c1091a9c89f97cd412e575cf5054d37594e69

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