Skip to content

Releases: aschet/x3pio

x3pio 2.0.0

Choose a tag to compare

@aschet aschet released this 16 Oct 16:26
b326855

This release simplifies the reading API and reduces the cost of reading. It contains breaking changes.

Breaking changes

  • Removed open and the typed reads (Surface.open and equivalents). x3pio.read(path_or_stream) replaces them and returns a Surface, Profile or PointCloud. X3pFile.loads(bytes) reads from memory.
  • X3pFormatError now derives from ValueError.
  • Removed DATA_TYPES, DataTypeInfo, get_data_type, encode_raw, decode_raw, validate_increment and validate_rotation from the top-level API. suggest_scale now takes a DataType.
  • Layer stores its arrays as float64. Arrays of other dtypes are converted on assignment.
  • Removed Layer.iter_points and Point. Use Layer.points(), or Layer.points()[layer.valid] for an (N, 3) array of the measured points.
  • from_stacked is now private. Use from_array, from_layers or from_points.
  • An unknown Revision text now raises X3pFormatError.
  • info requires a path or a seekable stream. FileInfo.extensions is now a tuple of ExtensionFile (vendor ID, path, size) instead of the extension contents.

Additions and changes

  • Added X3pFile.extensions_fit(revision), which reports whether the vendor extensions can be stored in the given revision.
  • read needs less memory when it reads from a path.
  • info no longer reads the coordinates or the vendor files.
  • storage is validated on assignment.
  • X3pFile, Layer and FileInfo have one-line reprs.
  • Consolidated the examples into write, read, modify and plot.

v1.1.0

Choose a tag to compare

@aschet aschet released this 11 Oct 18:25

Add Profile.is_regular_grid, the counterpart of Surface.is_regular_grid.

v1.0.0

Choose a tag to compare

@aschet aschet released this 10 Oct 11:27

First release of x3pio: read and write ISO 25178-72 x3p files in Python.