v0.23.4

Release date: 2026-03-11

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 adds geometry export and surface merging capabilities as well as shock capturing options for spatial discretization.

Breaking Changes

None.

Features

  • Added Geometry.export() method to export geometry as an STL file. Supports STL export parameters ascii, max_aspect_ratio, target_triangle_count, triangle_count_tolerance, and non_conforming.

  • Added VolumeSelection.merge_surfaces() method to merge surfaces within a geometry.

  • Added a shock_capturing option to the Fds convective scheme in SpatialDiscretizationFluid.

Deprecations

Project.create_or_get_mesh() is deprecated in favor of Project.create_mesh(). The new method behaves the same as the old one (including deduplication on request_id) but takes geometry_id as an argument instead of reading it from MeshGenerationParams. The geometry_id attribute of MeshGenerationParams has been made optional and marked deprecated. See the Migration Guide below.

Bug Fixes / Improvements

None.

Migration Guide

Project.create_or_get_mesh() has been deprecated. Update your code to use Project.create_mesh():

# Old:
mesh_params = lc.meshing.MeshGenerationParams(
    geometry_id=geometry.id,
    sizing_strategy=...
)
mesh = project.create_or_get_mesh(
    params=mesh_params,
    name="My Mesh"
)

# New:
mesh_params = lc.meshing.MeshGenerationParams(
    sizing_strategy=...
)
mesh = project.create_mesh(
    geometry_id=geometry.id,
    params=mesh_params,
    name="My Mesh"
)

Other than this deprecation, migration from v0.23.0 or later should cause no problems.