meshio
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
- ANSYS msh
- DOLFIN XML
- Exodus
- H5M
- Kratos/MDPA
- Medit
- MED/Salome
- Gmsh (versions 2 and 4)
- OFF
- PERMAS
- STL
- SVG (2D only, output only)
- VTK
- VTU
- XDMF
Simply call
meshio-convert input.msh output.vtu
with any of the supported formats.
In Python, simply call
import meshio
mesh = meshio.read(filename)
# mesh.points, mesh.cells, ...
to read a mesh. To write, do
points = numpy.array([
[0.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0],
])
cells = {
"triangle": numpy.array([
[0, 1, 2]
])
}
meshio.write_points_cells(
"foo.vtk",
points,
cells,
# Optionally provide extra data on points, cells, etc.
# point_data=point_data,
# cell_data=cell_data,
# field_data=field_data
)
or explicitly create a mesh object for writing
mesh = meshio.Mesh(points, cells)
meshio.write("foo.vtk", mesh)
For both input and output, you can optionally specify the exact file_format
(in case you would like to enforce binary over ASCII VTK, for example).
Time series
The XDMF format supports time series with a shared mesh. You can write times series data using meshio with
writer = meshio.XdmfTimeSeriesWriter(filename)
writer.write_points_cells(points, cells)
for t in [0.0, 0.1, 0.21]:
writer.write_point_data({"phi": data}, t)
and read it with
reader = meshio.XdmfTimeSeriesReader(filename)
points, cells = reader.read_points_cells()
for k in range(reader.num_steps):
t, point_data, cell_data = reader.read_data(k)
Installation
meshio is available from the Python Package Index, so simply type
pip install -U meshio
to install or upgrade.
Testing
To run the meshio unit tests, check out this repository and type
pytest
Distribution
To create a new release
-
bump the
__version__number, -
tag and upload to PyPi:
make publish
License
meshio is published under the MIT license.
Metadata
Release files for meshio 2.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| meshio-2.3.5.tar.gz | 57.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| meshio-2.3.5-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 128.1 kB
Release files / meshio-2.3.5.tar.gz
| Download URL | meshio-2.3.5.tar.gz |
|---|---|
| Size | 57.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
44f4a9defcac0868493beafead11c8e8e434f51ec253fd09d10abbc412cd2a2f
|
|
BLAKE2b-256 checksum How to use checksums |
7a4bc335f6de40cb4f6f2629ae35c824a8c11e664365aacb0104725eff522718
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+
|
Release files / meshio-2.3.5-py2.py3-none-any.whl
| Download URL | meshio-2.3.5-py2.py3-none-any.whl |
|---|---|
| Size | 70.4 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
e87f835b6e2248bc55f3a3b36fc0c977a1336f41ec0670c7bff32b53d6dc2d30
|
|
BLAKE2b-256 checksum How to use checksums |
fab572c704af9972341db2ad42bb00ae5008efaf6c92ec57b369e9298354b7f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2+
|
Security for meshio 2.3.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.