Tags: python-adaptive/adaptive
Tags
Adopt adaptive-triangulation 0.3.1: batched tell_pending, Rust defaul… …t_loss, CI job (#499) adaptive-triangulation 0.3.1 fixes the degenerate-simplex divergence noted when the backend was introduced (curvature losses crashed on collinear input) and 0.3.0 added two APIs that move LearnerND's remaining Python hot loops into Rust. This bumps _MIN_RUST_VERSION to (0, 3, 1) and adopts both: - tell_pending asks the triangulation for all simplices containing the pending point in one simplices_containing call (with the known containing simplex as a hint) instead of looping point_in_simplex over every neighbouring simplex; the pure-Python backend keeps the original loop. - LearnerND's default loss_per_simplex is the Rust default_loss when the Rust backend is active (same embedded-simplex-volume computation). Together: 1.10x (2D ring_of_fire, 3000 pts) to 1.42x (3D, 1500 pts) faster end-to-end on top of the existing Rust backend, sampling identical points (asserted by a new test). Also adds the Rust-backend CI job deferred when the backend landed: a nox session running the suite with ADAPTIVE_TRIANGULATION_BACKEND=rust, now that the full suite passes with it (294 passed; previously 7 known curvature-loss failures).
Default to loky executor on all platforms (#497) Python 3.14 changed the default multiprocessing start method on Linux from "fork" to "forkserver" (python/cpython#84559), so workers of the stdlib ProcessPoolExecutor now re-import __main__ instead of inheriting it. Functions defined interactively (notebooks, executed doc pages) are pickled by reference and fail to unpickle in the workers with e.g.: AttributeError: module '__main__' has no attribute 'sphere' loky's reusable executor serializes functions by value via cloudpickle and was already the default on macOS and Windows (and loky is already a required dependency), so use it on Linux too. This also removes the now-dead lambda-pickling check in AsyncRunner that only applied when the default executor was ProcessPoolExecutor.
Raise myst-nb execution timeout to fix flaky Read the Docs builds (#495) The logo animation notebook (docs/source/logo.md) renders 360 frames and encodes them with libvpx-vp9, which takes close to 3 minutes on Read the Docs builders. The 180 s nb_execution_timeout was intermittently exceeded, causing docs builds to fail with CellTimeoutError.
PreviousNext