Changelog#

Notable changes to this project are documented below.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.


Unreleased#

Added#

  • tecsplit CLI tool to split grid and solutions to separate files.


0.1.1#

Updated variable array access and other improvements.

Added#

  • tecio.ZoneList / tecio.VariableList container types for Read.zone and ReadZone.variable, with slicing and exact-name lookup.

  • ReadZone.get_array(key) for direct array access by index, name, or list of names.

  • tec2mat command line tool to convert input Tecplot file to MATLAB compatible .mat file format. Importable as a MATLAB structure with all zones, variables, and metadata.

Changed#

  • Read.zone / ReadZone.variable now return ZoneList / VariableList instead of plain list.

  • Read tests rewritten to match writer-test conventions (fixtures, pytest.raises, class grouping).

Fixed#

  • Legacy style unstructured zone headers in ASCII files use different keywords for data packing and zone type resulting in tecio interpreting these as single point ordered zone. These special cases have been added.

Removed#

  • Breaking: attribute-style variable access (zone.x) — was broken (infinite recursion) on SZL and case-insensitive on PLT. Use zone.get_array("x") instead.


0.1.0#

First stable release of tecio-python.

Added#

  • tecio.open() unified entry point supporting r, w, x, a, and a+ modes across all three file formats

  • SZL (.szplt) read and write via the TecIO C library new API

  • PLT (.plt) binary read via a pure-Python parser and write via the classic TecIO API

  • DAT (.dat / .tec) ASCII read and write with BLOCK and POINT datapacking support

  • Support for ordered (IJK) and simple finite-element zone types (FELINESEG, FETRIANGLE, FEQUADRILATERAL, FETETRAHEDRON, FEBRICK)

  • Variable sharing, passive variables, and zone-level auxiliary data

  • Dataset-level and variable-level auxiliary data read and write

  • CLI tools: tecdump, tecextract, teconvert, tecscale, tecmerge, tecslice, tecstats, tecfix

  • GitHub Actions CI with ruff formatting, linting, ty type checking, and pytest

  • Apache 2.0 license

Planned improvements#

  • FEMIXED zone support

  • FEPOLYGON and FEPOLYHEDRON write support for PLT and DAT formats

  • Python wrappers for libteciompi.so to enable parallel I/O

  • In-memory data containers with simple IO interface