meshio
I/O for many mesh formats
Decision gist · record as of 2026-08-14
Yes. meshio is a mature, stable library (Production/Stable, 2320 stars) with low install friction and no known vulnerabilities. Dormant maintenance (last release Jan 2024) is acceptable for a format-conversion tool with a stable API. Install it if you work with mesh files across multiple tools or need programmatic mesh I/O in Python.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low friction install with only three runtime dependencies (numpy, rich, importlib-metadata).
- Maintenance is dormant—last release was 2024-01-31 and last commit 2024-07-23—but the codebase is stable (Production/Stable classifier) and has accumulated 2320 GitHub stars since its 2015 inception.
License · maintenance · safety
permissive license (permissive) — MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the software freely provided you retain the copyright notice and license text.
last release 2024-01-31 (926 days) · last repo commit 2024-07-23 · 2,320 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 904,709 downloads/mo, #4,762 on PyPI
Alternatives
Verify before relying
pip install meshio
import meshio
mesh = meshio.read("input.msh")
mesh.write("output.vtk")- Whether optional dependencies (netcdf4, h5py) are required for specific formats you plan to use
- Performance characteristics for large meshes in your target formats
What it is and what it does
meshio is a Python library for reading, writing, and converting between mesh file formats used in scientific computing and engineering. It supports a wide range of formats including STL, VTK, Gmsh, ANSYS, Exodus, CGNS, Nastran, and many others—both binary and ASCII variants. The library provides a unified interface to work with unstructured meshes regardless of their source format, making it easy to integrate mesh data from different simulation tools or to prepare meshes for use in different applications.
The package is built on numpy for core data handling and uses rich for command-line output formatting. It offers both a Python API for programmatic mesh manipulation and command-line tools for batch format conversion, compression, and inspection. Time-series mesh data (supported by XDMF format) can be read and written with dedicated reader/writer classes, and the library integrates with ParaView as a plugin for visualization.
Use it for
- Convert mesh files between incompatible simulation software (e.g., Gmsh to ANSYS format) for interoperability in multi-tool workflows
- Batch process and compress mesh files from the command line without writing custom code
- Load mesh geometry and associated data (point/cell fields) into Python for post-processing or analysis
- Write custom-generated or modified meshes to standard formats for use in FEM or CFD solvers
- Read time-series mesh data from XDMF files for transient simulation analysis
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
meshio is a mature, stable library (Production/Stable, 2320 stars) with low install friction and no known vulnerabilities. Dormant maintenance (last release Jan 2024) is acceptable for a format-conversion tool with a stable API. Install it if you work with mesh files across multiple tools or need programmatic mesh I/O in Python.
Install
meshio on PyPI
Before you install
Low friction install with only three runtime dependencies (numpy, rich, importlib-metadata). Maintenance is dormant—last release was 2024-01-31 and last commit 2024-07-23—but the codebase is stable (Production/Stable classifier) and has accumulated 2320 GitHub stars since its 2015 inception.
License in practice
MIT license permits commercial and private use with minimal restrictions; you may use, modify, and distribute the software freely provided you retain the copyright notice and license text.
Quickstart
pip install meshio
import meshio
mesh = meshio.read("input.msh")
mesh.write("output.vtk")
Verify before relying
- Whether optional dependencies (netcdf4, h5py) are required for specific formats you plan to use
- Performance characteristics for large meshes in your target formats
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesnumpyrichimportlib-metadata |
| Maintenance | Dormant 926 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 904,709 / month, #4,762 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Scientific/EngineeringTopic :: Utilities |
Evidence: meshio-5.3.5-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “mesh file format conversion”
- meshioReads and writes mesh files in dozens of formats (STL, VTK, Gmsh,…
- meshioplusplusmeshioplusplus reads and writes mesh files in dozens of formats (STL,…
- cascadioConverts STEP files to GLB (glTF binary) format using OpenCASCADE,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also meshioplusplus · pygmsh · gmsh · numpy-stl · pyevtk · plyfile · pysplashsurf · pygltflib · scikit-fem · trx-python