Skip to content

yt-4.3.0

Compare
Choose a tag to compare
@neutrinoceros neutrinoceros released this 10 Oct 15:21
· 379 commits to main since this release
b04985d

Summary

This third feature release in the 4.x series.
Python 3.9 to 3.12 is supported.

How to upgrade

To upgrade from PyPI, run

python -m pip install --upgrade yt

or, with conda

conda update --channel conda-forge yt

🌟 Highlights

  • This is the first version with support to CPython 3.12.
  • We've resolved all remaining compatibility issues with Cython 3.0

πŸ› Bug fixes

#4656 Fix future incompatiblities with unyt 3.0, by @neutrinoceros
#4646 + #4693 Make load_sample MPI-safe, by @chrishavlin (issues #4635 by @matthewturk and #4691 by @neutrinoceros)
#4672 Fix a bug where load_hdf5_file didn't pass bounding box to load_amr_grids, by @jzuhone
#4688 Don't access data_source to get units, by @matthewturk

πŸš€ New features

#4449 Add support for symlog colorbars with arbitrary bases, by @neutrinoceros (issue #4448)
#4455 Add support for passing field keys for colors and linewidth in streamline plot annotations, by @neutrinoceros (issue #4454)
#4527 Add QuadrilinearFieldInterpolator, by @brittonsmith
#4553 Store basic software info in png metadata, by @Xarthisius
#4556 Add option to include min/max limits on the color field for export_sketchfab, by @evenoconnor
#4658 Allow annotate_grids to force cmap to respect max_levels, by @zingale
#4642 + #4662 Make unused pixels actually transparent in all imshow-based 2D visualisations, by @neutrinoceros (issue #4639 by @vdbma)
#4481 Add the ability to set the transfer function label fontsize, by @zingale

♻️ Optimisations, refactors and quality of life improvements

#4501 Cleanup empty cache directory after a successful call to load_sample, by @neutrinoceros
#4551 Avoid double-copies of cmyt colormaps, by @neutrinoceros
#4539 Delay frontends initialization until yt.load is actually called, by @neutrinoceros
#4517 Delay rarely used imports (netcdf4, importlib, multiprocessing, tarfile, tomllib, tomli_w), by @neutrinoceros
#4579 ytdata: check for all_data in particle selection, by @chrishavlin
#4595 ytdata io: use data_file.start and .end index range, by @chrishavlin (issue #4565 by @Ecskrabacz10)
#4597 Reduce code duplication in IOHandler _read_particle_coords and _read_particle_fields, by @chrishavlin
#4496 Avoid unnecessary array copies through np.ndarray.astype where possible, by @neutrinoceros
#4275 Add information about missing optional dependencies as warnings and error messages in yt.load, by @neutrinoceros (issue #4274)
#4398 Enable querying FEM values from Python, by @matthewturk
#4584 More SPH field improvements, @jzuhone
#4673 Return the count from fill_mask_regular_grid, by @chrishavlin
#4641 Utilize readonly attributes, by @matthewturk

Typing

#4629 + #4667 Fix type-checking incompatibilities with matplotlib 3.8, by @neutrinoceros

Tests

#4508 Nest the pytest import in yt.testing, by @chrishavlin (issue #4507)
#4580 Run cookbook recipes in a deterministic order, by @neutrinoceros
#4677 Restore global state modified during tests, by @yut23

πŸ“š Documentation

#4509 Improve docs for FieldValidator objects, by @chrishavlin
#4663 Updating documentation to use Sphinx-7.x, by @Xarthisius
#4674 Update ds9 region format, by @Xarthisius (issue #4591)
#3806 Update "how to release" docs, by @neutrinoceros (issue #3448 by @munkm)
#4684 Update support table for yt 4.3, by @neutrinoceros (issue #4671)

πŸ€– Frontends

#4562 Athena++ stretched grids support, by @jzuhone (issues #1585 by @Yurlungur, #3389 by @smressle, #3619 by @neutrinoceros and #4557 by @matthewturk)
#4572 Species handling for the stream frontend, by @jzuhone
#4470 + #4605 Update GIZMO frontend to handle newer GIZMO versions, by @mtryan83
#4424 Support for sinks in csv format for RAMSES frontend, by @Lenoble-lab

πŸ’£ Deprecations

#4519 Use builtin DeprecationWarnings, by @neutrinoceros (issue #4518)
#4634 + #4676 drop unmaintained install script, by @neutrinoceros and @chrishavlin (issue #4633)

🧩 Build and requirements

#4521 Drop support for matplotlib<3.5, by @neutrinoceros (issue #4379)
#4523 Stop building wheels for Windows 32, by @neutrinoceros (issue #4522)
#4607 Forbid deprecated numpy C API, by @neutrinoceros (issue #4606)
#4583 Explicitly specify build-backend, by @neutrinoceros
#4621 Simplify cartopy integration testing (using cartopy 0.22)
#4625 Add wheels for CPython 3.12
#4637 Migrate from oldest-supported-numpy to NPY_TARGET_VERSION, by @neutrinoceros (issue #4568)
#4659 Drop support for CPython 3.8, by @neutrinoceros (issue #4302)

Migration to Cython 3 (issue #4355): #4575, #4619, #4620, #4649, #4687. Patches by @neutrinoceros, @Xarthisius and @matthewturk