Metadata-Version: 2.4
Name: VTKio
Version: 0.1.0.dev12
Summary: A simple package for converting data between VTK files (XML and HDF5) and NumPy arrays.
Project-URL: Homepage, https://jpmorr.gitlab.io/vtkio
Project-URL: Documentation, https://jpmorr.gitlab.io/vtkio
Project-URL: Issues, https://gitlab.com/jpmorr/vtkio/-/issues
Project-URL: Source, https://gitlab.com/jpmorr/vtkio/-/tree/main
Project-URL: Changelog, https://gitlab.com/jpmorr/vtkio/-/tree/main
Project-URL: donate, https://ko-fi.com/jpmorr
Author-email: JP Morrissey <morrissey.jp@gmail.com>
Maintainer-email: JP Morrissey <morrissey.jp@gmail.com>
License-Expression: BSD-3-Clause
License-File: LICENSE
Keywords: Converter,HDF5,NumPy,VTK,Visualisation,XML
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Manufacturing
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.10
Requires-Dist: dotwiz>=0.4.0
Requires-Dist: h5py>=3.11
Requires-Dist: numpy>=2.1
Requires-Dist: pybase64>=1.3
Requires-Dist: xmltodict>=0.13
Provides-Extra: docs
Requires-Dist: markdown-exec[ansi]>=1.10.3; extra == 'docs'
Requires-Dist: mkdocs-autorefs>=1.4.2; extra == 'docs'
Requires-Dist: mkdocs-git-committers-plugin-2>=2.5.0; extra == 'docs'
Requires-Dist: mkdocs-git-revision-date-localized-plugin>=1.4.7; extra == 'docs'
Requires-Dist: mkdocs-material-extensions>=1.3.1; extra == 'docs'
Requires-Dist: mkdocs-material[imaging]>=9.6.14; extra == 'docs'
Requires-Dist: mkdocs>=1.6.1; extra == 'docs'
Requires-Dist: mkdocstrings-python>=0.18; extra == 'docs'
Requires-Dist: mkdocstrings>=0.29.1; extra == 'docs'
Requires-Dist: pipdeptree; extra == 'docs'
Provides-Extra: tests
Requires-Dist: pytest-cov>=6.1.1; extra == 'tests'
Requires-Dist: pytest>=8.3.5; extra == 'tests'
Description-Content-Type: text/markdown

# VTKio
![](https://img.shields.io/badge/Python-3776AB?style=flat&logo=python&logoColor=white)  
A simple python package for reading and writing Visualization Tool Kit (VTK) files.



## Supported features
Legacy ascii `.vtk` files are not supported and only the newer **XML** and **HDF5** based formats are supported.

XML files can be written in `ascii`, `base64` binary and appended `base64` binary formats. 
This means all files remain valid `XML` documents. 
Support for reading and writing `raw` appended data is provided, but discouraged.

XML and VTKHDF files can also be read using the associated file readers. 

Data is returned in appropriate VTK classes with arrays stored in `numpy` formats. 

> [!WARNING]
> VTKHDF files can only be opened in supported software.  
> For example, ParaView has full VTKHDF support in 5.13 and above.


## VTK File Formats
All file formats have been developed based on VTK's [documentation](https://docs.vtk.org/en/latest/index.html) where 
the [XML](https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#xml-file-formats) formats and newer [VTKHDF](https://docs.vtk.org/en/latest/design_documents/VTKFileFormats.html#vtkhdf-file-format) formats are described in detail.
Additional information can be found in [Chapter 5](https://book.vtk.org/en/latest/VTKBook/05Chapter5.html#) of the **VTK Book**.

Further information regarding the VTK data model can be found in the [ParaView documentation](https://docs.paraview.org/en/latest/UsersGuide/understandingData.html#vtk-data-model).

Example datafiles can be found for various filetypes at the [VTK Examples Repository](https://gitlab.kitware.com/vtk/vtk-examples/-/tree/master/src/Testing/Data?ref_type=heads).

## Documentation
For full documentation visit [jpmorr.gitlab.io/vtkio](https://jpmorr.gitlab.io/vtkio).

## Related packages
The following packages have some overlap in functionality with VTKio: 
 - [PyEVTK](https://github.com/paulo-herrera/PyEVTK)
 - [meshio](https://github.com/nschloe/meshio)
 - [uvw](https://github.com/prs513rosewood/uvw)
 - [vtk-hdf](https://github.com/jmag722/vtk-hdf)