v0.19.0

Release date: 2025-08-28

Early Access

The Luminary Cloud API and Python SDK are Early Access features that are still under development. View the Luminary Cloud Early Access Terms. The interface may change, and you may need to migrate or discard scripts and configuration files multiple times before v1.0.0 is released. In the future, migrations may also be necessary when upgrading to new major versions of the SDK (e.g. v2.0.0).

Release Notes

This release contains important improvements to the interface to create meshes and handling errors. Both are breaking changes with respect to v0.18.*. The release also some bug fixes and new features.

Breaking Changes

Project.create_or_get_mesh() used to block until mesh generation completed, now it returns immediately and mesh generation happens asynchronously. If you want to wait for mesh generation to complete, you can call Mesh.wait(). Also, the deduplication behavior has changed. It used to be that passing the same set of parameters that were previously passed would cause the original Mesh to be returned. Now Meshes are only deduplicated based on the (optional) request_id parameter. So calling create_or_get_mesh() with the same MeshGenerationParams twice (without providing a request_id) will cause the backend to generate two (identical) meshes. Also, the deprecated Project.create_mesh() has been removed.

A new exception type has been added, luminarycloud.exceptions.DeadlineExceededError. This is raised when an endpoint takes too long to respond and the request times out. Previously, that kind of timeout would raise a grpc.RpcError with a code of grpc.StatusCode.DEADLINE_EXCEEDED. If your code does any exception handling that explicitly looks for the grpc version of the error, you’ll have to update it to check for the new error instead.

Features

  • Contact resistance between heat transfer solids can modelled via SimulationParam.interfaces.

  • The piper tutorial was updated to show the use of MomentConventionType when computing moments.

Deprecations

None.

Bug Fixes / Improvements

  • project.create_table for table types BLADE_GEOMETRY and RADIAL_DISTRIBUTION has been fixed.

Migration Guide

Any code that relied on the synchronous nature of create_or_get_mesh() for subsequent operations with the resulting mesh (for example creating a simulation) must now call Mesh.wait() before using the mesh.

Any code that checked for grpc.RpcError code grpc.StatusCode.DEADLINE_EXCEEDED must now catch the luminarycloud.exceptions.DeadlineExceededError exception.