Skip to content

v0.6.0

Pre-release
Pre-release

Choose a tag to compare

@SantiagoMorandi SantiagoMorandi released this 05 May 14:00
· 2 commits to main since this release

Release v0.6.0: ML Evaluator Optimization & Julia Integration

This CARE release introduces a major optimization and update to the ML evaluator interfaces, streamlines kinetic simulations, and significantly updates core dependencies.

New Features & Enhancements

  • New UMA Interface: Added support for UMA models via the new FairChemV2IntermediateEvaluator interface.
  • Automated Julia Management: Improved integration between Python and Julia for kinetic simulations. Users no longer need to install Julia and its dependencies manually; juliacall now handles the entire setup automatically.
  • Relaxation Guardrails: Implemented guardrails for scenarios where the ML relaxation of adsorbed species leads to intermediate dissociation. If the structure breaks, the system now keeps the lowest-energy configuration after num_configs * patience attempts.
  • Connectivity Tracking: Added a new connectivity boolean key to Intermediate.ads_configs values to explicitly tag the final outcome of the relaxation process in terms of adsorbate connectivity.

Breaking Changes & Renames

  • OCP Evaluator Renamed: To align with the new UMA integration, care.evaluators.OCPIntermediateEvaluator has been renamed to care.evaluators.FairChemV1IntermediateEvaluator. To use FairChem-v1 models, do pip install care-crn[fairchemv1].
  • PET-MAD Evaluator Renamed: The PET-MAD interface has been updated to UPET and renamed to care.evaluators.UPETIntermediateEvaluator. Now you can install UPET models with pip install care-crn[upet].
  • GAME-Net-UQ Optional: Changed GAME-Net-UQ to an optional dependency, aligning it with all other ML energy evaluators. You can install it with pip install care-crn[gamenetuq].

Dependency & Environment Updates

  • Shift to Modular Environments: As we expand our support for various ML potentials, maintaining a single "one-size-fits-all" environment is no longer practical due to strict, conflicting underlying dependencies. We have transitioned to a "one ML model, one environment" philosophy. Users should now create separate environments tailored to the specific ML evaluator they intend to use. You couldd still attempt resolving a unified environment for multiple models at your own discretion, but it is no longer the standard assumption.
  • Bumped DifferentialEquations.jl to v8.0.0 and pinned the version (previously assumed v7.y.z).
  • Bumped NumPy from v1.26.4 to v2.3.5 and adapted the codebase accordingly.
  • Bumped RDKit from v2023.9.6 to v2025.9.1 and adapted the dissociation reaction template.
  • Bumped ASE to v3.26 and adapted energy evaluator interfaces (note: the converged key has been temporarily omitted).
  • Bumped acat to v2.0.3.
  • Bumped mp-api to v0.46.0.
  • Bumped pydot to v4.0.1.
  • Bumped pandas to 2.3.3.