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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.14macOS 11.0+ ARM64

mmgpy-0.16.2-cp313-cp313-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

mmgpy-0.16.2-cp312-cp312-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

mmgpy-0.16.2-cp311-cp311-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

mmgpy-0.16.2-cp310-cp310-win_amd64.whl (4.8 MB view details)

Uploaded CPython 3.10Windows x86-64

mmgpy-0.16.2-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.2-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.2-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.2.tar.gz.

File metadata

  • Download URL: mmgpy-0.16.2.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.2.tar.gz
Algorithm Hash digest
SHA256 82dac529079a5e85fa1e6ed19bb82ac825d96f413559de3399870ae2e37b8898
MD5 5b671c403380cdee69da93e646bb1dc7
BLAKE2b-256 d161e7ab0a17852b4776e70ab31bc4c22d32c9132ad79495b08f077943906175

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc9cb08f41cb1f5fb3488b290c8d525ff9218763a79bcc7ff2004e2ebd07ef34
MD5 4cf7b669651df38126ce0c269e572cf5
BLAKE2b-256 73137904410ceda0aa35fa9f86720cb794cd24d8f86d6065e1a81dfd947a1b9d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce8321160f1224c9c6a342397bf306e777f8f07ff31e7517555225e52683e13f
MD5 7d2e3eafaa7af62698aef63e3c722cb9
BLAKE2b-256 fdfa8bc2069b4c5bac26a54ca84a68213651395e43001828e32c8db0dbad6e29

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.2-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 4.8 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.2-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 15626f7d90fb10f4cd1f8b368d44a99a56c2ef97e60747ac9b30579992281541
MD5 27462c564f31aaecd0f1adbe4544f95f
BLAKE2b-256 56b73b9c6e97ab0081d42a0d2abb08de0a5f895e853a813aacc9d0c4b7198d5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0344a61697822571c4e9efa16e0fb0d8c39d5e0991d98b998ed26f23c7bded99
MD5 8ad3de5691be487bf42cd7518cca973e
BLAKE2b-256 dc335317c17f193ab7d0213bbcf0ed18f717861c88eb81a67f77ce15db9367f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp314-cp314-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a95cc5885ad4866abadb05f006fa79d1d7830d0e017f73243bd89d344851330
MD5 d2639056a446a67cbe5659602c4d1b8f
BLAKE2b-256 735c506527c6889fdf475e586f023a7812cba130cada50d0e98e37faed0e5a4d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9c40989cf25d491dafc82533401ad3e4feff77c85ad99f47db15d31e41de5dfb
MD5 f15ba745944391a5483993f944073074
BLAKE2b-256 818869576aee5de7f7ee34e69e73d28222623961a0ac531d7b414fe1122bf5e3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.2-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 4.8 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.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 719731bbef63e6df21fe9b809522a94112f5eefe2677fa78851a353754a826fc
MD5 64feaa4abac3ef79721280334d1ac611
BLAKE2b-256 c62dddd689384b48a9c7973fa8d6b111756b2995fdbb9149ec5cad7bab715592

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6b0b8c61e615dd4c944b0816c8d5484da577ddf998af8294851e6f1d4946be91
MD5 eb05b73f5c8300b655db27fa24eaf0ce
BLAKE2b-256 c951ba56c47450e0555db3d56fe13aa57561863ccf0315920d90cadb564e0006

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp313-cp313-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3adae8738eecee56f891b6f249102d3381ae4bc177c8c316292e95bf0f20f577
MD5 84f4c7e70551245b3117c4024f16b8a2
BLAKE2b-256 be6609cdb9e87fa2cc75f947ec388f43aa0b41a8d7d3032b26965621804d1679

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3212417c64c0d6cb2c75bc2ed475c6e82eb56477dc552e1ce0d8c4d7045376f7
MD5 d6dd9c1bd6f3eb8091c8626010b37758
BLAKE2b-256 23e5e4d104e0b10642a425012d56378d846ce0a44662af3afa6c550bfcea9349

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.2-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.8 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.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5a05da993fcf0605e6595ea5a3817168c1618c7a762bbbfc26fd07dd43fb6db1
MD5 1e7427a2c224887c82dbb8d0a3865a32
BLAKE2b-256 25bf66599eab9ae9584ceda57ee50fc918893e8d7693de04ba6cbd541c589e4b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b2602919c72476d6c58247ed2e13dd29f044b851081b6005d4bd860cc34fa528
MD5 48e5cad070a4d4043e0a37282fe7b85e
BLAKE2b-256 d7c9e2df4b28b2691c40c367e81b47a25aed431976c862e4929bf73d5293e819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp312-cp312-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6e61f5f479eebe7ace827bc63593e7a6d4cc90571e257408951131d0f4df2857
MD5 86538544f0d96df24bf5698dd07f7756
BLAKE2b-256 9c2bacc80fce3c0d590cd7fe569b25c544db1c402e35a88e1688d3fa39724505

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d50f9d0f4f5e7469e4fc80d8f2a08e56a6219a137cc6eaea296534c6ab6c5ce0
MD5 3c4a6ffb20660bcea98cbc2bcd4cd5c0
BLAKE2b-256 ed4aceb116580ec225c45d89c37e13d98baa5eb1b6e46ac5438ec2720b4fb52e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.2-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.8 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.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ed6bea65da722b31234e55614e993d24a7902a14d53db674138b76b24cea936d
MD5 549a54543f1d23f64728d2aa62477d3b
BLAKE2b-256 33f26b1299c7aeff8db5d6a839f629f32abd7e889dd12dbd3c99635e7e6e2fbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22512b8c3ecefddc4ee9122a0db78049b87ef842e683604ea46dd2640784d067
MD5 fd49f363e44ad7d50c594835ff28f7c2
BLAKE2b-256 3a0013e278de0f261c1d94cf17eb0914eb1c41b92a7635762588ceade4738636

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp311-cp311-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6d634774fc896880c7b0177db5d8f787d0fb45bbe738fdd83a0195794c568144
MD5 ce4d652edaf734f3411d0dc958244fb1
BLAKE2b-256 b045f6b7c973df07de1e3413a6e7ebace28e4c68a7dcfe2e86e8e71f67148c1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ea351933753605427a7ab486710ae288eb8d25b0d2573bfb2673d2cd90a2a0a
MD5 c8268d15148a45d24b7d52bb62dc3009
BLAKE2b-256 22d5a5d4ca9ee9ac57ebbd54bd08520469ded452d53d5acdbb9ca9674e23f383

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mmgpy-0.16.2-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.8 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.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0a2a131587e44eeecdb92cbbaa2376e51244e565183c430871363674f3ff1135
MD5 2812ec8fa4a33e4486f125d2afef7ac7
BLAKE2b-256 3bafb2c087f309b2b7eb0ddeaf9a9f02e0fb39d094d6acb0488134c6ed5fb4ad

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 51178eee36f5aa8bf0d34482bf751efd79f36b96dd63a7d674d5f7213a76c10a
MD5 f6da3e1f1292b5db4d421b555ba73e08
BLAKE2b-256 78d37e6d0d50859368da2cd57d11972b1a80a04720565ef8ea30063e4729dcf1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp310-cp310-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f730806d738b18c43832fc07a453ae5c1d945d350b1a808aa569ee76c9a9f2c2
MD5 a72ff0159fe9d154d5b1fb52a19e170d
BLAKE2b-256 d57bb281a70eaea0ae3222825fb52470dd73e866497cd42c72b0f8ec424a0179

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mmgpy-0.16.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5211c47d8138736fd72971f0194457d3ac5122acc80f8b4627d8e7e843851d7e
MD5 b290812ec3a50642c8cae85a6909fb45
BLAKE2b-256 a1acabb3a5411dbd0d38e626eced2c4471f4b2f5800f3e3dd13f7f0df7ca7478

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