Skip to main content

meshio++

I/O for mesh files.

C++ PyPi Version npm Version PyPI pyversions DOI

GitHub stars PyPi downloads

gh-actions codecov Code style: black

There are various mesh formats available for representing unstructured meshes. meshio++ can read and write all of the following and smoothly converts between them:

Abaqus (.inp), ANSYS msh (.msh), Ansys/APDL coded database (.cdb, .inp), AVS-UCD (.avs), CGNS (.cgns), DOLFIN XML (.xml), COMSOL (.mphtxt), Exodus (.e, .exo), EnSight Gold (geometry, .case/.geo), FLAC3D (.f3grid), FLUX (mesh .pf3, field .dex), FreeFem++ (.msh), H5M (.h5m), HMF (.hmf, experimental, meshio++-specific), I-deas Universal / UNV (.unv), ANSYS Fluent interpolation (.ip), Kratos/MDPA (.mdpa), Medit (.mesh, .meshb), MED/Salome (.med), Modulef (mesh .mfm, field .mff), Nastran (bulk data, .bdf, .fem, .nas), Netgen (.vol, .vol.gz), Neuroglancer precomputed format, Gmsh (format versions 2.2, 4.0, and 4.1, .msh), OBJ (.obj), OFF (.off), OpenFOAM polyMesh (.foam, read-only), PERMAS (.post, .post.gz, .dato, .dato.gz), PLY (.ply), STL (.stl), Tecplot .dat, TetGen .node/.ele, Triangle .node/.ele/.poly, SVG (output only; 2D direct, 3D via skin projection) (.svg), TikZ (LaTeX output only; 2D direct, 3D via skin projection) (.tikz), SU2 (.su2), UGRID (.ugrid), VTK (.vtk), VTP (.vtp), VTU (.vtu), WKT (TIN) (.wkt), XDMF (.xdmf, .xmf).

meshio++ ships a C++20 core (built with pybind11 + scikit-build-core) that reads and writes most formats with zero-copy numpy at the I/O boundary, plus optional HDF5/netCDF acceleration and a selectable parallel backend (AUTO by default — prefers OpenMP, then STL+TBB, then sequential; override with -DMESHIOPLUSPLUS_PARALLEL_BACKEND=...). Every format has a pure-Python fallback, so behaviour and file compatibility are identical whether or not the native libraries are present. For a standalone C++ build use build/configure.sh (Linux/macOS) or build/configure.bat (Windows). Full docs (install, data model, per-format options, CLI) live at the documentation site (sources under doc/).

Install with

pip install meshioplusplus[all]

([all] pulls in all optional dependencies. By default, meshio++ only uses numpy.) You can then use the command-line tool

meshioplusplus convert    input.msh output.vtk   # convert between two formats

meshioplusplus info       input.xdmf             # show some info about the mesh

meshioplusplus compress   input.vtu              # compress the mesh file
meshioplusplus decompress input.vtu              # decompress the mesh file

meshioplusplus binary     input.msh              # convert to binary format
meshioplusplus ascii      input.msh              # convert to ASCII format

meshioplusplus merge      a.vtu b.vtu out.vtu    # merge meshes (optional --weld)

meshioplusplus transform  in.vtu out.vtu --translate 1,2,3   # affine transform
meshioplusplus clean      in.vtu out.vtu --weld              # weld / prune / de-dup
meshioplusplus crop       in.vtu out.vtu --bbox 0,0,0,1,1,1  # subset by region
meshioplusplus split      in.vtu 'out_{key}.vtu' --by type   # partition
meshioplusplus stats      mesh.vtu                           # geometric statistics

meshioplusplus data info  mesh.vtu                           # summarize data arrays
meshioplusplus data calc  in.vtu out.vtu --point "s = norm(v)"   # derive a field
meshioplusplus data to-cell  in.vtu out.vtu --keys T         # point -> cell average
meshioplusplus data normalize in.vtu out.vtu --cell damage --to 0,1

with any of the supported formats.

The same verbs are available as a standalone C++ binary that needs no Python: grab a ready-to-run, statically-linked build for Linux/macOS/Windows from the GitHub Releases page, or build it yourself with build/configure.sh --cli --build (or -DMESHIOPLUSPLUS_BUILD_CLI=ON). It links only the C++ core, so point/cell sets (and convert -s/-d) — which live only in the Python Mesh — are unavailable there; use the Python CLI for those.

In Python, simply do

import meshioplusplus

mesh = meshioplusplus.read(
    filename,  # string, os.PathLike, or a buffer/open file
    # file_format="stl",  # optional if filename is a path; inferred from extension
    # see meshioplusplus convert --help for all possible formats
)
# mesh.points, mesh.cells, mesh.cells_dict, ...

# mesh.vtk.read() is also possible

to read a mesh. To write, do

import meshioplusplus

# two triangles and one quad
points = [
    [0.0, 0.0],
    [1.0, 0.0],
    [0.0, 1.0],
    [1.0, 1.0],
    [2.0, 0.0],
    [2.0, 1.0],
]
cells = [
    ("triangle", [[0, 1, 2], [1, 3, 2]]),
    ("quad", [[1, 4, 5, 3]]),
]

mesh = meshioplusplus.Mesh(
    points,
    cells,
    # Optionally provide extra data on points, cells, etc.
    point_data={"T": [0.3, -1.2, 0.5, 0.7, 0.0, -3.0]},
    # Each item in cell data must match the cells array
    cell_data={"a": [[0.1, 0.2], [0.4]]},
)
mesh.write(
    "foo.vtk",  # str, os.PathLike, or buffer/open file
    # file_format="vtk",  # optional if first argument is a path; inferred from extension
)

# Alternative with the same options
meshioplusplus.write_points_cells("foo.vtk", points, cells)

For both input and output, you can optionally specify the exact file_format (in case you would like to enforce ASCII over binary VTK, for example).

Skin extraction

meshioplusplus.extract_skin derives the boundary surface of a 3D volume mesh (the Kratos SkinDetectionProcess face-hashing algorithm — faces occurring exactly once are boundary; points are compacted, point_data follows):

vol = meshioplusplus.read("part.msh")     # tetra/hexa/wedge/pyramid mesh
skin = meshioplusplus.extract_skin(vol)   # triangle/quad/... surface mesh

The STL and PLY writers do this automatically for volume meshes (pass skin=False for the legacy drop-volume-cells behavior), and the SVG/TikZ writers render 3D meshes by projecting the skin through an orthographic camera (azimuth/elevation/roll in degrees, default the classic CAD isometric view) with painter's-algorithm depth ordering — that is exactly how the Stanford-bunny logo above is drawn.

Surface extraction

meshioplusplus.extract_surface is the general form of skin extraction: it picks the dimension automatically (a volume mesh → boundary faces, a 2D surface mesh → boundary edges) and can record each facet's parent cell id (record_parent_ids=True). See the surface extraction docs (doc/extract_surface.md).

surf = meshioplusplus.extract_surface(vol)                  # faces (or edges for a 2D mesh)
edges = meshioplusplus.extract_surface(sheet, record_parent_ids=True)

Mesh quality

meshioplusplus.compute_quality scores every cell on a set of geometric quality metrics (area/volume, scaled Jacobian, aspect ratio, skewness, interior/dihedral angles, warpage) and flags inverted/degenerate cells; attach_quality writes them back as cell_data. See doc/mesh_quality.md.

report = meshioplusplus.compute_quality(mesh)
print(report["num_inverted"], "inverted cells")
annotated = meshioplusplus.attach_quality(mesh)   # metrics as cell_data

Reordering / renumbering

meshioplusplus.reorder renumbers nodes and elements to reduce sparse-matrix bandwidth (Reverse Cuthill–McKee) or improve cache locality (Morton / Hilbert space-filling curves). It is a pure permutation — geometry and all data preserved — and returns the applied node/cell permutations so external arrays can be remapped. compute_bandwidth measures the before/after connectivity bandwidth. See doc/reorder.md.

out = meshioplusplus.reorder(mesh, method="rcm")            # "morton" / "hilbert" too
out, node_perm, cell_perms = meshioplusplus.reorder(mesh, return_permutation=True)
print(meshioplusplus.compute_bandwidth(mesh), "->", meshioplusplus.compute_bandwidth(out))

Comparison (diff)

meshioplusplus.diff compares two meshes and reports whether they are equivalent within a tolerance (abs_err <= atol + rtol*|expected|), with a structured breakdown (points, cells, data, named sets) and an overall verdict (identical / equal within tolerance / different); meshes_equal is the boolean wrapper for test suites. An optional unordered=True mode matches nodes by spatial proximity, so a shuffled node order still compares equal. See doc/diff.md.

assert meshioplusplus.meshes_equal(a, b, atol=1e-8)         # ideal in a regression test
report = meshioplusplus.diff(a, b, unordered=True)          # tolerant to shuffled node order
print(report["verdict"])

The meshioplusplus diff a.vtu b.vtu CLI verb sets a nonzero exit code when meshes differ, for direct use in CI / Makefiles.

Merge / combine

meshioplusplus.merge combines two or more meshes into one: it concatenates points (offsetting connectivity so indices stay valid), merges cell blocks by type, concatenates data (per a configurable data_policy), and tags each cell's origin. With weld=True it fuses coincident nodes across inputs within atol using a spatial hash (never O(N²)) — the standard way to stitch adjacent blocks into a watertight mesh. Overlapping set / field-data names are namespaced by source id. See doc/merge.md.

combined = meshioplusplus.merge([a, b, c])                 # concatenate
welded = meshioplusplus.merge([left, right], weld=True, atol=1e-8)  # fuse the shared interface

Editing (transform / clean / crop / split) and statistics

A bundle of dependency-free mesh-editing utilities:

  • meshioplusplus.transform — apply an affine transform (translate / scale / rotate / 4×4 matrix / unit-scale) to the points; connectivity and data are carried through. See doc/transform.md.
  • meshioplusplus.clean — weld coincident points (spatial hash), drop degenerate and duplicate cells, and remove orphaned points, in one toggleable pass. See doc/clean.md.
  • meshioplusplus.crop — extract the part of a mesh inside a bounding box or half-space, pruning unused points (mode="all"/"any"). See doc/crop.md.
  • meshioplusplus.split — partition a mesh into several by cell type, connected component (flood-fill), or region (cell_sets / integer tag). See doc/split.md.
  • meshioplusplus.compute_stats — geometric statistics (bounding box, centroid, per-type counts, area, signed/unsigned volume, inverted cells) — the geometric complement to info. See doc/stats.md.
out = meshioplusplus.transform(mesh, rotate=("z", 90))
out = meshioplusplus.clean(mesh, weld=True, atol=1e-8)
sub = meshioplusplus.crop(mesh, bbox=[0, 0, 0, 1, 1, 1])
pieces = meshioplusplus.split(mesh, by="type")             # {"triangle": ..., ...}
s = meshioplusplus.compute_stats(mesh)                     # dict of measures

These operations are exposed across every binding surface (Python, C API, Fortran, WASM) and as the CLI verbs meshioplusplus quality, meshioplusplus extract-surface, meshioplusplus reorder, meshioplusplus diff, meshioplusplus merge, meshioplusplus transform, meshioplusplus clean, meshioplusplus crop, meshioplusplus split, and meshioplusplus stats.

Data operations (rename / average / calc / condition / summarize)

A second bundle operates on the data arrays a mesh carries (point_data / cell_data / field_data) rather than on its geometry, which none of them ever modifies:

  • meshioplusplus.data_rename / data_drop / data_keep — rewrite which arrays a mesh carries and under what names; values, dtypes and shapes are copied verbatim. See doc/data_manage.md.
  • meshioplusplus.point_data_to_cell_data / cell_data_to_point_data — move data between locations by averaging, optionally weighted by cell area/volume. See doc/data_average.md.
  • meshioplusplus.data_calc — derive a new array from an elementwise expression (+ - * /, parentheses, abs/sqrt/min/max/norm) evaluated by a hand-written parser — no external parser library, no arbitrary-code path. See doc/data_calc.md.
  • meshioplusplus.data_condition — clamp, normalize to a target range, or standardize to zero mean / unit standard deviation, per component or by row magnitude. See doc/data_condition.md.
  • meshioplusplus.data_info — a read-only per-array summary (dtype, shape, components, min/max/mean, NaN/inf counts) — the data-side complement to info and compute_stats. See doc/data_info.md.
out = meshioplusplus.data_calc(mesh, "norm(velocity)", location="point", output="speed")
out = meshioplusplus.point_data_to_cell_data(out, keys=["speed"], suffix="_c")
out = meshioplusplus.data_condition(out, "cell", ["speed_c"], mode="normalize")
out = meshioplusplus.data_rename(out, "point", "T", "temperature")
arrays = meshioplusplus.data_info(out)                     # list of per-array dicts

These are likewise exposed across every binding surface, and as the nine CLI verbs under the meshioplusplus data group (info, rename, drop, keep, to-cell, to-point, calc, clamp, normalize). See doc/data_operations.md.

Time series

The XDMF format supports time series with a shared mesh. You can write times series data using meshio++ with

with meshioplusplus.xdmf.TimeSeriesWriter(filename) as writer:
    writer.write_points_cells(points, cells)
    for t in [0.0, 0.1, 0.21]:
        writer.write_data(t, point_data={"phi": data})

and read it with

with meshioplusplus.xdmf.TimeSeriesReader(filename) as reader:
    points, cells = reader.read_points_cells()
    for k in range(reader.num_steps):
        t, point_data, cell_data = reader.read_data(k)

ParaView plugin

gmsh paraview *A Gmsh file opened with ParaView.*

If you have downloaded a binary version of ParaView, you may proceed as follows.

  • Install meshio++ for the Python major version that ParaView uses (check pvpython --version)
  • Open ParaView
  • Find the file paraview-meshioplusplus-plugin.py of your meshio++ installation (on Linux: ~/.local/share/paraview-5.9/plugins/) and load it under Tools / Manage Plugins / Load New
  • Optional: Activate Auto Load

You can now open all meshio++-supported files in ParaView.

Benchmarks

How much does the C++ core help? The benchmark/ folder times read/write conversions against the original pure-Python meshio on the formats both support (same in-memory mesh, same machine). The headline input is the bundled example.msh — a real Gmsh bracket (~52k nodes, ~293k cells).

meshio vs meshio++ speedup on example.msh

meshio++'s biggest wins are the parallel and text paths: VTU binary+zlib ~16× write (the zlib blocks run across cores via an OpenMP backend with dynamic scheduling — hybrid P+E-core CPUs load-balance too), VTU ASCII ~7× write / ~5× read, and mixed-topology XDMF read ~10×. The binary and HDF5 formats that used to be slower — VTK/Gmsh binary, UGRID, and MED — are now at or above parity after an optimisation pass (bulk-buffered binary I/O, single-instruction bswap endianness conversion, a real parallel backend, an Eigen-backed MED transpose, zero-copy cell reconstruction that moves the connectivity buffer straight into the mesh, and uninitialised reader buffers + thread-parallel block copies so nothing is written twice); binary reads now match or beat numpy's fromfile — Gmsh ~1.7×, single-type VTK ~1.45×, and even mixed-topology VTK ~1.1×. Output stays byte-identical throughout.

The speedup is per-element: text/parallel formats climb out of the small-mesh regime and plateau (large meshes realise the full speedup):

speedup vs mesh size

Full methodology and a reproducible notebook are on the Benchmarks doc page (source: benchmark/01_benchmark.ipynb).

Installation

meshio++ is available from the Python Package Index, so simply run

pip install meshioplusplus

to install.

Additional dependencies (netcdf4, h5py) are required for some of the output formats and can be pulled in by

pip install meshioplusplus[all]

For JavaScript / browser use, the C++ core also ships as a WebAssembly npm package covering 29 of the formats above:

npm install @meshioplusplus/wasm

See the WebAssembly / JavaScript doc page for usage and the format-support table.

C / Fortran API

For HPC codes written in C or Fortran, the C++ core also builds as an installable shared library (libmeshioplusplus, pure-C99 header, pkg-config + find_package support) with a modern OO Fortran 2008 module on top:

./build/configure.sh --fortran --tests --build     # --c-api for the C API alone
cmake --install build/cpp-release --prefix /opt/meshioplusplus
mio_mesh* m = mio_read("in.msh", NULL);
printf("%lld points\n", (long long)mio_mesh_num_points(m));
mio_write("out.vtu", m, NULL);
mio_mesh_free(m);
use meshioplusplus
type(mio_mesh) :: m
call m%read("in.msh")
call m%write("out.vtu")
call m%free()

The C API is also packaged for Conan (root conanfile.py) and vcpkg (overlay port under ports/meshioplusplus/), both driving the same install/find_package path:

conan create . -o meshioplusplus/*:with_hdf5=True
vcpkg install meshioplusplus --overlay-ports=ports

Full mesh access (build meshes from raw arrays, zero-copy readback) is covered on the C API and Fortran doc pages.

Single-header C++

The whole C++ core is also amalgamated into one self-contained, STB-style header — single_include/meshioplusplus/meshioplusplus.hpp — with pugixml bundled and no external dependencies by default. Drop it in, no CMake or linking required:

// in exactly ONE .cpp:
#define MESHIOPLUSPLUS_IMPLEMENTATION
#include "meshioplusplus/meshioplusplus.hpp"
// elsewhere: just #include it (declarations only)
g++ -std=c++20 -I single_include main.cpp

It is generated by ./tools/amalgamate.sh and kept in sync by CI. See the single-header doc page (optional HDF5/netCDF/zlib formats via MESHIOPLUSPLUS_HAS_* macros).

C++ mesh backends

Standalone C++ builds (no Python) can swap the in-memory mesh structure at compile time via MESHIOPLUSPLUS_MESH_BACKEND — every format works identically under each backend:

  • MESHIO (default; the Python extension and PyPI wheels always use it) — mirrors the Python meshio.Mesh;
  • NATIVE — the fastest pure-C++ structure (canonical Float64/Int64 storage, cell-type enum, CSR ragged blocks); the WebAssembly build uses it;
  • KRATOS — a Kratos Multiphysics-style ModelPart (Nodes/Elements/Conditions/SubModelParts) plus a header-only templated bridge that populates a real Kratos::ModelPart with no Kratos build dependency.
./build/configure.sh --mesh-backend NATIVE --tests --build

See the C++ mesh backends doc page.

Testing

To run the meshio++ unit tests, check out this repository, install it with the test extras, and type

pytest tests/

License

meshio++ is published under the MIT license.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

meshioplusplus-7.2.0.tar.gz (6.9 MB view details)

Uploaded Source

Built Distributions

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

meshioplusplus-7.2.0-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ ARM64

meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

meshioplusplus-7.2.0-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ ARM64

meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

meshioplusplus-7.2.0-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ ARM64

meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

meshioplusplus-7.2.0-cp39-cp39-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.9Windows x86-64

meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_x86_64.whl (2.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_aarch64.whl (2.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ ARM64

meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_x86_64.whl (1.5 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_arm64.whl (1.4 MB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

File details

Details for the file meshioplusplus-7.2.0.tar.gz.

File metadata

  • Download URL: meshioplusplus-7.2.0.tar.gz
  • Upload date:
  • Size: 6.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for meshioplusplus-7.2.0.tar.gz
Algorithm Hash digest
SHA256 4f33f023f7e262f83db8dfaaa14670814b97540b3df30e9ef1528f8d48572f25
MD5 5c1d9332e34dbe34be25c25d039bf667
BLAKE2b-256 54379a25307b84dc0779bdff25f01b52f08e81a746db318320147d3a675820b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0.tar.gz:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 1cc94e39c6fc7d1bc28250ebe6d3ba42b9e982b2899b03e16a75f55ea47d0833
MD5 884ef5d4d959e872d484c9346e3a68b0
BLAKE2b-256 f3855832f56e39ce0fe9a882600660b0a35973d78a3f6c3b47c4761057c4ea86

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 d3159d786bdf2ee284b2ca1f4d3740c9c3b6d6fdca78a7b6e205b5e4f766d884
MD5 16cf783fd86619687b193cd73febb881
BLAKE2b-256 97837ffba8240586eecd34e460d002a5384b28b85b7aa1aa4ce6b576d041d701

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 8606a786ab9200c87155e0f5af996e40314862326ee46e76e577d098e590f812
MD5 c26f08222f1926796d4c8350da2973b2
BLAKE2b-256 ad551e7f05312eee0a830ecd5997e05f76712f3c07c54b04ab18b44b42645296

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp312-cp312-manylinux_2_34_aarch64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 787a07dbd20a0fe0ae4b619a9ecc05132951fa142e48959d2be46e9c6a5c4d28
MD5 295eb8a96556c308528281284d62db39
BLAKE2b-256 a873f1fc3075513caf21b60f4b1971b8123847308a6963c6ef921854941d300b

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 8caba8c22ae77f95ceb0b67ad32ada98ef6a7da2c210a859f52c3926a4272184
MD5 a52500a1796cd8aae1c219ed70c643ba
BLAKE2b-256 e7b50cbee3ec1812c1b39e10b06e83b509a0376a346ef441b37d5d47477753d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp312-cp312-macosx_13_0_arm64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 929b4a1753e8b2b7ec1cadaf4ee87bf1c3883d6c9608765c3c68d2d89f839343
MD5 7f085d3016be79ef383aab5997123406
BLAKE2b-256 0e1613a7846703107a7180750d18426e78c54d27eb60f8af7e62cacf3ba4d699

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 dd2a90b3958f00c28af5e3756011da94ca724390aca0cd2955db9d8e03f7cdd0
MD5 011d6c3cd2b13bfae5fac4d72ca04e92
BLAKE2b-256 b34a096dc1b5d0632e39b842c850650faa3368aab8d3796f216906f3a98617a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 4983976752cfb7a8533196b97b554d5b8db6c10054a4df3e2de85d029dbea170
MD5 da5e1d0232e69e7aa107db932c5cae33
BLAKE2b-256 ad6689d366eabfa38fc8290e7fcf89436c471c08b6e5ce408a56390758292e15

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp311-cp311-manylinux_2_34_aarch64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ea3e437add32401a38c629ac5fc338eabdd89af3f29ce5f107c34f970dc7ba71
MD5 61ab0b5196925f8a30aafe9caad7fef8
BLAKE2b-256 6e8aca33326538c48012df39917477b1ace48de926863d6b5e6be623c500102c

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 5735669a2e6e14d6329cf8c44f8df9d4e24a88739c205e3fccc7a2fc9ace275d
MD5 570d95cd6768d94bbcf62e64eb9bcaae
BLAKE2b-256 42bb0a8852cc6b8180721662d7800da011608fc117e52b8651844291120a5c86

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp311-cp311-macosx_13_0_arm64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 723532ae1ccf287a0b55772e75803b5f56deca9d20fd22c7630f784e9e440e82
MD5 d3046cac647a143f8dc295da0509a963
BLAKE2b-256 043ffd94bbd3dbbf29682b6b1ea26ffdf2d4426848ac4ee9374ec7348a873e36

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 15685e652a3847da184f4dc3e77b6fff19efbb68da611852c06d2fe9cdd726ee
MD5 16239e691045b128e5d1c6053d37d25f
BLAKE2b-256 bf91eba0581f8742f5898318fe0e91f7815594d4ad6065c2c57cad1dbf633855

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 b854f34697638f89f8321b9114d0d24d3af4155fa62a5effa1144425dc48053c
MD5 50abfc591d870f1993b1975ea292a000
BLAKE2b-256 95bf7cd1c04e3b8cf772aeae197ac3dfcb44dc6cfc78b83efb4e23ef6a0af458

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp310-cp310-manylinux_2_34_aarch64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 6736e961398f5d50a538b64b240807c8cf2ff8ab52e874ec04c3e987dc9edbd7
MD5 aa897a5cc5223010acd8a93939ffb04d
BLAKE2b-256 c91f505cf5647e8ea66ad5fc9f0f2eab8d9d965903b1393a6b9bcd862c51a3e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 53567c3064788493eb057543e8b8cf9931769fe4dab9bab6486f988ef5147c59
MD5 63a57da3c00562cf6f24455d1c92dc54
BLAKE2b-256 7e5edadbecce6e7563a2e4fcae5a373b1c40272592a8b870a4d420f2f9182e12

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp310-cp310-macosx_13_0_arm64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 d5ef3025ac9d4485dcf3999f4079b4926426621c4f056eb79a201422dcc2fe11
MD5 aa56e201f640e93f530ebdfe17779cab
BLAKE2b-256 20ffcd4785b9aee7a20d961764392554ac83d4138f918a72b66b380eb42ecd96

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 3ace2cc2d48818a3ee2d46f35ac82c3ab54892ee6029231c74c97ed9f9d9b512
MD5 4ee1a80a2f0242d77f553c69456a6716
BLAKE2b-256 74ec2c134ec44b004fc529af4f293a45dd883feb33ca2487ea7615581da0f58c

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_aarch64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_aarch64.whl
Algorithm Hash digest
SHA256 93f7562f2a10344d85e10625aee212b85e779c102014f302ab08270cf6ba66ad
MD5 3304d3d6da857c8e93350833bff926d7
BLAKE2b-256 b503ee7a92514a7dc4b0f8c979c5f267c514ca1871d88f9a3b974124d100e35f

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp39-cp39-manylinux_2_34_aarch64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 59167cfe8b5e384a321ab8666f5da5313ea3b617e10f665061a740d41ca795aa
MD5 7f471cd453de4e75b2cc5dcadec67f16
BLAKE2b-256 056be6c0ec617d3325dec782d39c797f0e5c1dcf61b62c84e3f364615bbf1402

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_x86_64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a489cfad15b80e0df34c8e0560278b62181a7c4587fcc9156450473c136e6da7
MD5 9ac2aececf8f310b86963419baa470cc
BLAKE2b-256 608b30128c560daf0470368a494038ee07b13f8d3833eb489361d5ad44b1d019

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-7.2.0-cp39-cp39-macosx_13_0_arm64.whl:

Publisher: wheels.yml on loumalouomega/meshioplusplus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

10.17.0

21 files

10.14.0

21 files

10.9.0

21 files

10.6.0

21 files

10.0.0

21 files

9.27.0

21 files

9.25.0

21 files

9.22.0

21 files

9.14.0

21 files

9.12.0

21 files

9.11.0

21 files

9.10.0

21 files

9.9.0

21 files

9.8.0

21 files

9.7.0

21 files

9.6.0

21 files

9.4.1

21 files

9.4.0

21 files

9.3.0

21 files

9.2.0

21 files

9.1.0

21 files

9.0.0

21 files

8.7.0

21 files

8.5.0

21 files

8.4.0

21 files

8.3.0

21 files

8.0.0

21 files

7.16.0

21 files

7.15.0

21 files

7.14.0

21 files

7.13.0

21 files

7.12.0

21 files

7.10.0

21 files

7.7.0

21 files

7.6.0

21 files

7.5.0

21 files

7.4.0

21 files

7.3.0

21 files

7.2.1

21 files

This release

7.2.0 This release

21 files

7.1.0

21 files

7.0.0

21 files

6.9.0

17 files

6.8.0

17 files

6.7.0

17 files

6.6.3

17 files

6.6.1

17 files

6.6.0

17 files

6.5.0

17 files

6.4.0

17 files

6.3.2

17 files

6.3.1

17 files

6.3.0

17 files

6.2.0

17 files

6.1.0

17 files

6.0.5

17 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page