yt-4.3.0
Summary
This is the 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