Pycalphad

Latest version: v0.11.0

Safety actively analyzes 700916 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 7

0.11.0

-------------------

This is a feature-rich release with several enhancements, bug fixes, and improvements in general usability. In particular, this release introduces the new Workspace and Mapping APIs.

* ENH: Introduce the Workspace API, a new object-oriented framework for managing and calculating thermodynamic properties, enabling more flexible and efficient computations. This API supports the definition of custom properties, physical units, complex condition-setting, and JIT compilation of model properties. It also enables the calculation of driving forces, T0, and other advanced properties (:issue:`432`).
* ENH: Add support for 1D stepping and 2D phase diagram mapping, including improved plotting for binary and ternary phase diagrams, isopleths, and enhanced visual quality. This update also introduces a new API for accessing phase boundaries and equilibria, and provides drop-in replacements for `binplot` and `ternplot` (:issue:`543`).
* ENH: Add Component implementation in variables. This adds a new `Component` class to distinguish between `Component` and `Species`, and renames various utility functions for clarity and future-proofing (:issue:`546`).
* FIX: Better handle convergence failures in Workspace. Introduces a `ConvergenceFailureSolver` for testing and fixes issues with getting properties from unconverged states (:issue:`558`).
* ENH: Workspace: Suspend attribute dependency updates during initialization to improve performance and robustness. Includes several optimizations in condition-setting and local conditions handling (:issue:`554`).
* FIX: Improve wildcard support. This includes expanding wildcards in component and sublattice index contexts, and improving the handling of site fractions in unstable phases (:issue:`560`).
* ENH: tdb: ParseException now returns correct line and column numbers for better error reporting (:issue:`550`).
* ENH: PhaseRecord: Refactor `FastFunctionFactory.getfunc()` to optimize tight loops (:issue:`552`).
* ENH: Add pathlib support to Database reading, allowing seamless use of `Path` objects in the Workspace API (:issue:`545`).

0.10.5

-------------------

This is a minor release containing bug fixes, dependency updates, updated Python build targets, and CI updates.

* ENH: Improve error message for ordering models having mismatched constituents ( :issue:`541` )
* FIX: Writing TDB with float exponents ( :issue:`516` )
* FIX: Writing TDB with ``A*(B+C)`` expressions ( :issue:`522` )
* FIX/BLD: NumPy 2.0 Support ( :issue:`530` and :issue:`538` )
* MAINT/BLD: Bump OS versions for wheel build/deploy workflow ( :issue:`531` )
* BLD: Enable "Trusted Publisher" support for PyPI wheels ( :issue:`523` )
* MAINT/BLD: Drop Python 3.8 support ( :issue:`537` )
* ENH/BLD: Drop universal wheel builds on macOS ( :issue:`536` )
* BLD/CI: Set fetch-depth to zero to guarantee version tags are picked up from SCM in sdist workflow ( :issue:`533` )
* BLD/CI: Remove local version specifier for TestPyPI uploads ( :issue:`534` )

0.10.4

-------------------

This is a minor release containing bug fixes, updated dependency versions, and updated Python build targets.

* MAINT/BLD: Add support for building, testing, and deploying on Python 3.12. Drop End-of-life Python 3.7. ( :issue:`508` )
* FIX: Fix molar volume model to have more consistent property name, ``VM`` instead of ``MV``, and to property normalize ``VA``, ``VK`, and ``VC`` parameters to be per-mole-atoms ( :issue:`501` )
* FIX: Minimizer stability improvements when one or more phases are fixed. ( :issue:`507` )
* MAINT: Relax SymEngine version requirement. ( :issue:`498` )
* FIX: Precision error in Halton sampling resolving divide by zero warnings. ( :issue:`495` )

0.10.3

-------------------

This is a minor release containing new features, bug fixes, and performance improvements.

* ENH: Add molar volume model support: ``V0`` and ``VA`` parameters, ``molar_volume`` property, and ``PV`` volume energy entribution ( :issue:`466` )
* FIX: Improve Just-In-Time (JIT) compiler startup time for complex phases/models that have many piecewise expressions. This change also changes the behavior of PyCalphad to extrapolate parameters beyond temperature limits of piecewise expressions, consistent with other Calphad software tools ( :issue:`431` )
* FIX: Add the ``pycalphad.core.constants.MAX_ENDMEMBER_PAIRS`` and ``pycalphad.core.constants.MAX_EXTRA_POINTS`` to limit the number of points generated by ``calculate`` for very large phase models (particularly phases with many sublattices and species) ( :issue:`431` )
* FIX: Fixed a bug where the minimizer sometimes added more phases than allowed by Gibbs phase rule that led to exceptions in the minimizer ( :issue:`470` )
* FIX: ``__repr__`` methods for ``Species(None)`` and ``Species('*')`` better follow typical ``__repr__`` conventions ( :issue:`479` )
* FIX: Support reading (and then disregarding) ``IF``/``THEN`` statements in TDB ``TYPE_DEFINITION`` keywords. These statements used to be unhandled and raise errors, but now they are simply ignored. TDB-level flow control is usually used to influence defaults (like rejecting a phase) or help global minimizers (by adding composition sets), which are not necessary to control from the level of the TDB. ( :issue:`476` )

0.10.2

-------------------

This is a minor release containing bug fixes.

* MAINT: Update symengine to 0.9.2 and add Python 3.11 support ( :issue:`456` )
* FIX: hyperplane: Incorrectly throwing out stable starting points ( :issue:`428` )
* ENH: minimizer: performance improvements ( :issue:`424` )

0.10.1

-------------------

This is a minor release containing several new features, bug fixes, and some
breaking changes to internal APIs for interacting with ``Solver`` objects and
the Gibbs energy minimizer.

* ENH: Internal API refactor to enable a ``CompositionSet``-based solver API ( :issue:`415` )
* ENH: Enable option B and option F support for TDBs ( :issue:`412` )
* FIX: Make minimizer state more internally consistent, fixing a bug when changing phases in the minimizer ( :issue:`410` )
* ENH: pycalphad will now discover and import plugin packages (installed packages that have names prefixed with ``pycalphad-``) ( :issue:`406` )
* ENH: Implementation of a reader for ChemSage DAT files and various bug fixes ( :issue:`389`, :issue:`405`, :issue:`416` )
* ENH: Add support for the modified quasichemical model in the quadruplet approximation ( :issue:`389` )
* FIX: TCPrinter: Special-case printing for exponential function ( :issue:`400` )

Page 1 of 7

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.