Skip to content

v0.5.0

Latest

Choose a tag to compare

@dogusariturk dogusariturk released this 22 Sep 21:57
· 21 commits to main since this release

eagar-tsai v0.5.0 Release Notes

Overview

This release moves matplotlib and pyvista out of the default install and into an optional plot extra. It also adds progress bars to the three batch entry points, along with contributing guidelines and a code of conduct.

Breaking Changes

  • matplotlib and pyvista are no longer installed with the package. They have moved to a new plot extra: uv add "eagar-tsai[plot]" or pip install "eagar-tsai[plot]". plot.py is now imported lazily through a module-level __getattr__, so import eagar_tsai no longer loads the plotting stack, while plot_temperature_field, plot_temperature_field_3d, and plot_printability_map stay importable from the top-level namespace and still appear in dir(eagar_tsai). Because the import is deferred, a missing extra raises ImportError at the point a plotting function is called rather than at import time; the same applies to the .plot() and .plot_3d() methods on MeltPoolResult, TemperatureField, and TemperatureVolume. The error message names the extra to install. Existing environments that rely on plotting need to reinstall with it.

New Features

  • compute_melt_pool(), compute_printability_map(), and compute_temperature_volumes() each gain a show_progress keyword argument, default True, which displays a tqdm bar over chunks, grid points, and rows respectively. Both the serial and parallel paths report progress. Set it to False for quiet output in scripts and batch jobs. tqdm is a new runtime dependency.

Other Changes

  • CONTRIBUTING.md documents the development setup, tooling, and pull request workflow. CODE_OF_CONDUCT.md adopts the Contributor Covenant.
  • pytest-cov was removed from the dev dependencies.
  • Documentation was updated to cover the plot extra and mark the sections that require it, to enable the mkdocs content tabs link plugin so tab selections stay in sync across a page, and to state Python 3.12+ as the requirement, matching the versions that are built and tested. The release date in CITATION.cff was updated.

What's Changed

Full Changelog: v0.4.2...v0.5.0