Skip to main content

meshio++: I/O for many mesh formats (C++20 core + Python bindings)

Project description

meshio++

I/O for mesh files.

PyPi Version npm Version Anaconda Cloud Packaging status PyPI pyversions DOI

GitHub stars Downloads

Discord

gh-actions codecov LGTM 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), FLAC3D (.f3grid), FLUX (.pf3), FreeFem++ (.msh), H5M (.h5m), I-deas Universal / UNV (.unv), Kratos/MDPA (.mdpa), Medit (.mesh, .meshb), MED/Salome (.med), Modulef MFM (.mfm), 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, SVG (2D output only) (.svg), SU2 (.su2), UGRID (.ugrid), VTK (.vtk), VTU (.vtu), WKT (TIN) (.wkt), XDMF (.xdmf, .xmf).

(Here's a little survey on which formats are actually used.)

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 (STL parallel algorithms by default; OpenMP or TBB via -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 one of

pip install meshioplusplus[all]
conda install -c conda-forge meshioplusplus

([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

with any of the supported formats.

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).

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]

You can also install meshio++ from Anaconda:

conda install -c conda-forge meshioplusplus

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

npm install @meshioplusplus/wasm

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

Testing

To run the meshio++ unit tests, check out this repository and type

tox

License

meshio++ is published under the MIT license.

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

meshioplusplus-6.0.5.tar.gz (1.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-6.0.5-cp312-cp312-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.12Windows x86-64

meshioplusplus-6.0.5-cp312-cp312-manylinux_2_34_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

meshioplusplus-6.0.5-cp312-cp312-macosx_13_0_x86_64.whl (994.4 kB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

meshioplusplus-6.0.5-cp312-cp312-macosx_13_0_arm64.whl (910.1 kB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

meshioplusplus-6.0.5-cp311-cp311-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.11Windows x86-64

meshioplusplus-6.0.5-cp311-cp311-manylinux_2_34_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.34+ x86-64

meshioplusplus-6.0.5-cp311-cp311-macosx_13_0_x86_64.whl (990.5 kB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

meshioplusplus-6.0.5-cp311-cp311-macosx_13_0_arm64.whl (907.6 kB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

meshioplusplus-6.0.5-cp310-cp310-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.10Windows x86-64

meshioplusplus-6.0.5-cp310-cp310-manylinux_2_34_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.34+ x86-64

meshioplusplus-6.0.5-cp310-cp310-macosx_13_0_x86_64.whl (989.1 kB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

meshioplusplus-6.0.5-cp310-cp310-macosx_13_0_arm64.whl (905.8 kB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

meshioplusplus-6.0.5-cp39-cp39-win_amd64.whl (1.2 MB view details)

Uploaded CPython 3.9Windows x86-64

meshioplusplus-6.0.5-cp39-cp39-manylinux_2_34_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.34+ x86-64

meshioplusplus-6.0.5-cp39-cp39-macosx_13_0_x86_64.whl (989.3 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

meshioplusplus-6.0.5-cp39-cp39-macosx_13_0_arm64.whl (905.8 kB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

File details

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

File metadata

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

File hashes

Hashes for meshioplusplus-6.0.5.tar.gz
Algorithm Hash digest
SHA256 2faec70b59aa3eb17dcead301e3526dd2350e1f14d452b643f2a21918c800c2d
MD5 38d2c09380cf029e977ff446e4e39265
BLAKE2b-256 d77ba73500e52418ac9835476358bc38ae18deab723f4889f4eb042c9f1d8936

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5.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-6.0.5-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 aa6dba7a857eee7e5f34a72cc18fcda6a5ff9622b6ef263755c2e8201821adcb
MD5 bf95edc7a955cafa3c2b41bfa2af1254
BLAKE2b-256 dd6e17c17c5167c0429602d6357ebaa45492bd63a966bcbef32fd1af3a8cdee6

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 7a66206995548eb101d1ab6af6f783fd24fe847ca839fefe84cd785b821aca0c
MD5 601ca756ac6df5305bd246e41fcdcc78
BLAKE2b-256 6af107e5d21b0c719d83302ad120fca8c9b3e09a035c4b0b829aecdb5bcab519

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 bbec75d835bd2e241aeb4d3e07db2bcf2ef6d328fb63bdba0f5d6abd72158cc1
MD5 90927d49834fe185907984da1b51c42c
BLAKE2b-256 ab6b034e8af8924b902bcdfbc7ad4e8694bb88920cbf06597059462d47591bb7

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 0acb236e415807c315ef49a515d6a03c5851253210e3140c2f7c0e1379b253c6
MD5 17697095ec68f279089814b2fb33dea8
BLAKE2b-256 634b43057f066daecc7295dcd67fdd59ba9bb092ac5118b7571b3aafa615bed9

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d69e667bb867712828c82acf6693adfec41a4dc166b2bf80bf4098bdbcf9b5c0
MD5 ff377b2448addf771e7b8c9b504050a9
BLAKE2b-256 1eebeac8e63b76a7ad7009f9a13669d7156b9dc0e95c196fdb8a91a2a9e2da66

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp311-cp311-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp311-cp311-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 92968088c2614ef42448f5a29b5a53b0f77e1ca4bb4b1e850f14184877bd17f9
MD5 1019b70837488d4de2bc06825810ab6b
BLAKE2b-256 2685875101a6cf0ba0ee9d96d4f42953e6b4468b3466ed8267a6327df0990a57

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2361c50280e58afc946e02b8dfe3da9a04c2623838191b3de5ec973f9d146a9a
MD5 6b1e4f44c4e94613ce342bfaf6f5b9a8
BLAKE2b-256 a0a3a15573e4065dcf6ea28c697a8957526b112cde51ace7fd3cc42627aff56b

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2021e62c3c387d6924e5d5bd8e6b52154fd021534a42517c6ce0c9f37339d8ff
MD5 5b48e51ad057121ac349e15e3f9ca8e6
BLAKE2b-256 e88b02d464d4bc0fcd0ef03d04ac9b710064d25cdd63d8569d63bebf5f61b86e

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 29e6c1295efbd88f54b6b09f370522013e1e691b4fd39e4601d6dbef42e316a0
MD5 36211c08c283046273809e6265bceb39
BLAKE2b-256 a95034215f8f7b9956f61a0ba608370a2b030da73d23da9a56865e0e1f533962

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp310-cp310-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp310-cp310-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 af06e47dfac8cb79c8ba144f686a6334a1fe5ec7f60e1b03aa5749363850c113
MD5 150ec91777eb256faae6fc71e73da2ed
BLAKE2b-256 80418192bd6fc50b5be416d27b105091726536604517e7c10bbde34ac06fa736

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d8e8363e8fa1a47071622b98107afe56c792aba32224d95335c60ea227efe3c0
MD5 1db9043721ef5b6172b738d73c327572
BLAKE2b-256 d4628920cd8161fff0e77915b43f1898126b0cb15f31dc3c558f2f2283beb42c

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e90a03b90a3620f5b5e84329a89f1c80b7c2dca9ddd0b774d9567cc7e996b971
MD5 1de89c0668bc11b9e67c6720c42a498d
BLAKE2b-256 86e3f57ada17cc9766051d79121b3f4008fd973c7bf3b38301387594c0665d06

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 7f7e58f2880c4ed67b249855f0f33f86c3b59bf53025b9eeee9688a40f9d2bec
MD5 4ddf095a4af1235a116b5d25c6679acd
BLAKE2b-256 2c48f8513c042ec7217bb84d8f5efdb7a168d04f96b5002285e6564a59cae93b

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp39-cp39-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp39-cp39-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 16b3a451e433764f39616c8a17fa51518671dd484b3b9266f1d1644fa6875cb9
MD5 bfd8596820d5264080f195553dbf612e
BLAKE2b-256 42673f45f7fb1e417163e9b3e1a02710c428ff56e4fb77c3d11936adba5582c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0887b119bbd3ccc836f3ecb12bf4cbdedb2c5aacfaf16a490f184abf95e973e4
MD5 35a351d1dde6644c40a38d8f503d4b2e
BLAKE2b-256 d2c6f1d710f7e106411f8a2c1fd2a1b10385836761604587fb9a9de36f8facf7

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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-6.0.5-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for meshioplusplus-6.0.5-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 99522dead6c23f32b54f89f5680a257c8e9f24d35b9d5dd0e076d00afbcdcaf2
MD5 1732bf3e1749b93bbdd6c6a303027ad9
BLAKE2b-256 355b6e37ea74a13a93742701d1f60c36529656ee952ff2a77685c9f6ec15633a

See more details on using hashes here.

Provenance

The following attestation bundles were made for meshioplusplus-6.0.5-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.

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