Recent Releases of yt
yt - yt-4.4.1
Summary
This is the first bugfix release in the 4.4.x series. It includes some important fixes, particularly for off-axis projections of grid-based datasets and a number of fixes for the Ramses frontend.
How to upgrade
To upgrade from PyPI, run
shell
python -m pip install --upgrade yt
or, with conda
shell
conda update --channel conda-forge yt
:bug: Bug fixes
5059 Fix off-axis rendering when center is not [0.5, 0.5, 0.5], fix periodicity, by @cphyc
5063 Ensure positions are dimensionless in plot callbacks, by @cphyc
5077 Correctly normalize off-axis projections for octree datasets, by @cphyc
5081 Calculate default depth for off axis projections, by @chrishavlin
5083 Fix compatibility with matplotlib 3.10 for images that have both a custom background color and a non-transparent 'bad' color, by @neutrinoceros
5088 Removing code that removes field type in set_title(), by @chummels
5090 Properly reference weight field in profile code for particle-based datasets, by @chummels
5095 Fix swap_axes bug wih celledgescallback, by @chrishavlin
5112 Fix nans in off-center frb slices from ds.r, by @yut23
5135 Make backend_specs case insensitive, by @chrishavlin
5137 Update testing.integrate_kernel type hints, by @chrishavlin
5155 Better behavior when cholla doesn't write "mu" attribute, by @mabruzzo
5158 Manual backport pr #5088 on branch yt-4.4.x (bug: removing code that removes field type in set_title() ), by @chrishavlin
5176 Adapt ci and test suite to breaking changes in pytest 8.4.0, by @neutrinoceros
5187 fix an incoming incompatibility with pytest 8.5 in our test framework, by @neutrinoceros
5197 Filter out an indirect deprecation warning from pillow via matplotlib, by @neutrinoceros
5198 Backport #5197 to yt-4.4.x, by @neutrinoceros
:control_knobs: Frontend-specific changes
AMReX
5025 Fix ds.all_data() for spherical amrex datasets, by @yut23
Parthenon
5054 Fix error message when trying to load a parthenon dataset without h5py installed, by @neutrinoceros
Ramses
5159 ramses: use one registry per dataset, by @cphyc
5169 RAMSES: temperature units are incorrect, by @cphyc
Stream (in memory datasets)
5052 Fix loaduniformgrid with cell_widths and multiple fields, by @chrishavlin
:jigsaw: Building
5182 Upgrade cibuildwheel to 3.0.0, by @neutrinoceros
(manylinux wheels are now targetting manylinux_2_28)
:robot: Testing
5066 Workaround homebrew failure on macos, by @neutrinoceros
5129 Pytest: un-ignore testprofileplots.py, by @chrishavlin
Other changes
5101 Fix typing in numpy2_compat.py, by @chrishavlin
Issues resolved
5062 Annotate_sphere radius depends on choice of center, by @cphyc
5080 Broken sample outputs of off-axis projection plots in docs, by @xshaokun
5134 Case sensitivity of matplotlib backend key, by @chrishavlin
5136 Mypy failure with np 2.2.4, by @chrishavlin
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.4.0...yt-4.4.1
- Python
Published by chrishavlin 11 months ago
yt - yt-4.4.0
Summary
This is the fourth feature release in the 4.x series. It also contains important bugfixes as compared to yt 4.3.1 . Ramses users are advised to read the dedicated section bellow in detail, as this release contains 3 fixes marked as breaking changes. There are no other intended breaking changes.
Python 3.10.3 to 3.13 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
- the frontend previously known as boxlib was renamed to AMReX
- this release contains a brand new frontend for Parthenon datasets. Thanks to @pgrete and @forrestglines.
- many great improvements regarding projections, slices, and interpolations for SPH datasets, thanks to @nastasha-w
- off-axis projections are now supported
- improved convergence with grid resolution
- improved mass conservation
- fixed a critical bug where column densities estimates were incorrect by a factor x3
New features
4707 Add overridebins to datacontainer.profile, by @chrishavlin
4717 Access output in timeseries by its time or redshift, by @cphyc
4732 Allow cellwidths and nproc > 1 for loaduniform_grid, by @chrishavlin
4740 Enable quiver callback for geographic geometries, by @chrishavlin
4762 Add check for finite values in extrema, by @chrishavlin
5001 Support line-of-sight fields for particle types, by @jzuhone
AMR frontends
4734 Read AMR domains lazily, by @cphyc
SPH frontends
4696 Allow names for the sph particle type other than "io" in the stream frontend, by @jzuhone
4939 Sph projections, slices, gridding: backend and off-axis, by @nastasha-w
π Bug fixes
4728 Fix auto-reports for bleeding edge ci, by @neutrinoceros
4782 Updates for gamer sr fields, by @jzuhone
4783 Ray object dl for sph data: interpolate kernel table for (b/hsml)**2 instead of b/hsml, by @nastasha-w
4872 Always use the coordinate system normal for computing angular momentum components for particles, by @jzuhone
4875 Create duplicate of mpi communicator, to avoid double comm.free, by @reuterk
4877 Reduce rendered images without considering opacity, by @biboyd
4882 Update qt backend entries in backend_specs, by @chrishavlin
4891 Avoid resourcewarnings in the amrex frontend, by @yut23
4893 Fix geographic coords converttocartesian with units, by @chrishavlin
4894 Only compile fixed_interpolator.cpp once, by @yut23
4898 Fix bleeding-edge build script, by @yut23
4904 Move field resolution inside conditional., by @matthewturk
4920 Fix deprecated implicit casting of arrays with ndim>0 to int scalar, by @neutrinoceros
4930 Require numpy 2.0.0 (stable) at build time, by @neutrinoceros
4945 Fix memory leakage, by @cindytsai
4950 Skip a flaky test on windows, by @neutrinoceros
4970 Fix indexing error in fillregionfloat, by @chrishavlin
4980 Adjust platform_dep.h for recent msvs versions, by @chrishavlin
4981 Fix orientation of colorbar in multiplanel plot, by @xshaokun
5000 Ensure ytslice.coord has units, by @chrishavlin
5008 Hotfix unsolvable type-checking requirements, by @neutrinoceros
5014 Remove unused northvector in offaxis_projection example, by @chrishavlin
5028 Stop using deprecated urllib.request.fancyurlopener, by @barneygale
ποΈ Frontend-specific changes
AMRex
4845 Rename boxlib frontend as amrex, by @henrynjones
4908 Add support for molecular fields (amrex), by @simonguichandut
4994 Fix machnumber field spelling in amrex frontend for castro, by @zingale
4914 Drop unused and duplicated parsing logic in amrex frontend, by @neutrinoceros
4943 Fix loading of amrex datasets with ~ in the filename, by @yut23
AMRVac
4937 AMRVac: variable he abundance, by @jordidj
ART
4929 Ensure type safety in a call to np.logspace, by @neutrinoceros
CF_Radial
4915 Add check for sub_conventions for cfradial, by @chrishavlin
5043 Cf_radial: fix deprecated dims access, add pytest tests with mock ds, by @chrishavlin
5048 Switch xradar pin to arm-pyart pin in tests, by @chrishavlin
Enzo-E
4932 Add support for enzo-e simulations with 0 ghost zones, by @mabruzzo
Flash
5019 Better logic for detection of particle handle for checkpoint files, by @jzuhone
GAMER
4739 Support for cosmic ray fields in GAMER, by @jzuhone
Idefix
4822 Support installing yt_idefix as pip install yt[idefix]; plug it in docs, by @neutrinoceros
Parthenon
4323 Add parthenon frontend, by @pgrete
Ramses
4720 Ramses-speedup, by @cphyc
4736 Fast seek through file, by @cphyc
4878 Make hilbert intersection faster, by @cphyc
4879 Correct errors in capital letter, by @Lenoble-lab
4907 Make sure fields are read in the order they appear in the file, by @cphyc
4938 Ramses: allow reading datasets with slightly broken records., by @cphyc
β οΈ The three following patches are considered breaking changes
4706 Simplify handling of conformal birth times in ramses, by @cphyc
Change in the way particle times are computed. The precision of the conversion from conformal time to physical time has been increased and is now consistent everywhere. This will result in different formation times when using cosmological simulation. In addition, if birth_XXXXX.outYYYYY files are detected, they will be read to obtain particle birth times.
4817 Fix missing mu in temperature calculation ramses, by @V-Nathir
Change in the definition of the ('gas', 'temperature') field. The temperature field was erroneously returning $$T/\mu$$, with $$\mu$$ the mean molecular weight (typically between 0.8 and 1.4). This is now fixed. The old values can still be obtained through ("gas", "temperature_over_mu").
4843 Add support for self-shielding in heating/cooling rates calculation for Ramses, by @cphyc
Change in the way cooling tables are used. If "self-shielding" is detected from the namelist or is set by the user with ds=yt.load("output_12345", self_shielding=True), the hydrogen number density used to obtain cooling, heating and $$\mu$$ from the cooling tables are multiplied by an exponential prefactor, consistently with what RAMSES is doing internally. This will change the values of the cooling and heating rates, as well as $$\mu$$ and temperature at high-densities (above 0.01 mp/cmΒ³).
Rockstar
4661 Read rockstar members, by @cphyc
Swift
4921 Fix compatibility issues with newest versions of swift, by @smsutherland
Tipsy
4964 Tipsy, reading just smoothing length, by @chrishavlin
4884 Fix tipsy file handler opening, by @matthewturk
4885 Tipsy use maxrows instead of skipfooter for ascii aux read, by @chrishavlin
π Performance
4525 Add a few bitarray functions and tests, by @matthewturk
4741 Use stamping approach to deposit off-axis cells, by @cphyc
5018 Release the GIL in cylindrical pixelizer, by @chrishavlin
π Refactors
4537 Refactor ParticleProjectionPlot for consistency with ProjectionPlot, by @neutrinoceros
4733 Refactor usage of numpy.random legacy api, by @neutrinoceros
4940 Explicitly set strict flag in zip calls (enforce B905), and ignore UP038, by @neutrinoceros
4974 Enable flake8-type-checking ruleset, by @neutrinoceros
π Documentation
4418 Document pytest-mpl update workflow, by @neutrinoceros
4901 Some spelling fixes, by @zingale
4925 Replace Boxlib with AMReX references in the docs, by @chrishavlin
4955 Added note that answer tests are currently run with nose, by @nastasha-w
5033 Fix docs for annotate_contour, by @zingale
π§© Building
4888 Build macos amr64 wheels without cross-compiling, by @neutrinoceros
4905 Exclude Cython generated .c and .cpp files from build artifacts, by @neutrinoceros
4909 Minimally test wheels and sdist, by @neutrinoceros
4911 Fix segfault with manylinux2014, by @yut23
4913 Run pytest on wheels and sdist, by @yut23
4941 Make ipywidgets/IPython optional dependencies again, by @neutrinoceros
4947 Switch to stable setuptools build backend, by @neutrinoceros
4948 Fix compatibility with Cython 3.1, by @neutrinoceros
4949 Cleanup cibuildwheel configuration and move it to pyproject.toml, by @neutrinoceros
4973 Enable cp313 wheels, by @neutrinoceros
4979 Drop support for python 3.9, by @neutrinoceros
5023 Bump cibuildwheel to 2.21.3, by @neutrinoceros
π€ Testing
4956 New prefix for images produced in testing: baseline_ or thispr_, by @nastasha-w
4978 Add PEP723 metadata to test helper script, by @neutrinoceros
4983 Move dev-only dependencies to requirements files, by @neutrinoceros
5021 Add CPython 3.13 to regular test matrix, by @neutrinoceros
5036 Add image tests for cylindrical pixelization of a box with rmin>0, by @neutrinoceros
5042 Pin xradar<0.8.0 in tests, by @chrishavlin
Other changes
4794 Upgrade mypy and type-check extras, by @neutrinoceros
4868 Migrate formatting from black to ruff-format, by @neutrinoceros
Issues resolved
4044 Future incompatibility with Cython 3.1, by @neutrinoceros
4054 Rich display is broken on recent version of IPython, by @cphyc
4278 Fails to build: internal_error, by @mcepl
4330 Loaduniformgrid with nprocs>1 and cell_widths, by @chrishavlin
4356 Implement vector callbacks for geogrpahic coords, by @chrishavlin
4382 Multiplotexportto_mpl gets colorbar orientation wrong, by @zingale
4721 Automatic issues for nightly failures are broken, by @neutrinoceros
4748 Switching from black to ruff-format ?, by @neutrinoceros
4749 How should we handle python 3.10 becoming our oldest supported version ?, by @neutrinoceros
4781 Possible bug in ray objects: calculation of projected lengths dl for non-grid/sph data, by @nastasha-w
4788 Bug in projection plots for sph datasets, by @nastasha-w
4871 Volume rendering multiple fields with mpi, by @biboyd
4880 Some ramses fields return different values depending on order of operations, by @V-Nathir
4883 Only open auxilliary files for tipsy as needed, by @matthewturk
4890 Resourcewarnings for unclosed files in boxlib frontend, by @yut23
4896 Non-isolated builds are broken, by @neutrinoceros
4910 Segault on manylinux2014 image, by @neutrinoceros
4918 Deprecation warning in gdf (and maybe more?), by @chrishavlin
4924 Docs builds are failing, by @neutrinoceros
4928 Incorrect parameter sanitation to np.logspace, by @yohad
4954 Nose testing image comparison: label which image is which?, by @nastasha-w
4972 Building fails on windows-latest, by @neutrinoceros
4976 Can we remove dev-only extra targets ?, by @neutrinoceros
4977 Can we drop support for python 3.9 now ?, by @neutrinoceros
4991 Remove duplicate functions in two sph backend prs, by @nastasha-w
5022 yt fails to build against uv-managed python binaries, by @neutrinoceros
5027 urllib.request.urlopener is deprecated, by @barneygale
5041 Failing to load pyart, by @neutrinoceros
5044 Unpin xradar in tests when possible, by @chrishavlin
5047 Failing nosetests (failed to decode variable 'time'), by @chrishavlin
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.3.1...yt-4.4.0
- Python
Published by neutrinoceros over 1 year ago
yt - yt-4.3.1
Summary
This is the first bugfix release in the yt 4.3.x series. It contains fixes to bugs discovered since the 4.3.0 release.
There are no new features or deprecations in this version, all users are encouraged to upgrade.
Python 3.9.2 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
β οΈ this version may not be available on conda-forge yet at the time this note is published
π Highlights
This is our first release with compatibility for NumPy 2.0 and unyt 3.0 NumPy 2 and unyt 3 both contain nice features as well as breaking changes. Upgrading them is now possible but remains optional for the time being: we still support NumPy 1.19 and unyt 2.9 respectively.
π Bug fixes
4703 Fix broken urllib imports, by @neutrinoceros (issue #4700 by @yut23)
4699 Make annotate_sphere and annotate_arrow safe when run after plot invalidation, by @chrishavlin (issue #4698 by @neutrinoceros)
4722+#4724 Fix an incompatibility with unyt 3.0 (amu_cgs doesn't exist as a physical constant anymore), by @neutrinoceros (issue #4162)
4725 Handle deprecation warnings from numpy 2.0.0dev0 (np.row_stack -> np.vstack and np.in1d -> np.isin), by @neutrinoceros
4745 Avoid a deprecation warning in yt.load_sample on Python 3.12, by @neutrinoceros (issue #4689)
4768 Switch to field tuples for default fields in particle_trajectories, by @mtryan83 (issue #4766)
4792 Enforce Figure dpi in showmpl, by @chrishavlin (issue #4785 by @neutrinoceros)
4802 Fix bug where race condition results in incorrect fields categorization when computing particle_trajectories, by @mtryan83
4825 Use the validated center for YTCuttingPlane setfieldparameter, by @chrishavlin (issue #4823 by @biboyd)
4829 Avoid usage of deprecated numpy.core namespace (numpy 2 compat), by @neutrinoceros
4839 Fix geographic coordinate conversions, by @chrishavlin
π€ Frontend-specific fixes
4686 Minor bugfix in cholla frontend, by @mabruzzo
4708 The f90nml package is optional to load RAMSES, by @cphyc
4746 Avoid a noisy self-triggered warning about libconf being a hard dependency to load any enzo data, by @neutrinoceros
4797 Correct domain_dimensions in non-fixed block size uniform grid FLASH output, by @acreyes
4758 Allow boxlib frontend to read 1D cylindrical datasets by @yut23
4805 Add support for Quokka datasets, by @yut23
4801 Fix order of Athena++ cylindrical coords, by @forrestglines
4815 Assign domain dims after updates in Athena, by @mattewturk
4828 Fix parameter parsing for Castro and MAESTRO, by @yut23
πDocumentation
4719 Fix notebook links, by @Xarthisius
4743 Use axis_order kwarg in geo notebook, by @chrishavlin
4776 Fix a broken docs example, by @neutrinoceros (issue #4774 by @xshaokun)
π§© Build and testing
4759 Update xarray integration test to use non-deprecated API, by @neutrinoceros
4764 Enzo testing framework - ignore units for ShockTube tests, by @clairekope
4778 Explicitly set minimum Python to 3.9.2, by @chrishavlin
4784 Ignore deprecation warning from pandas (Pyarrow will become a required dependency), by @neutrinoceros
4830 Ditch np.int_t, removed in numpy 2's C API (use np.int64_t instead), by @neutrinoceros
4852 Migrate module-level setup/teardown functions to pytest, by @neutrinoceros (issue #4850)
4859 Add support for numpy 2, by @neutrinoceros
Other fixes
4753 Add info about supported simulation types in YTSimulationNotIdentified, by @neutrinoceros
4819 Catch Py312+ warning when using ratarmount, by @cphyc (issue #4799 by @neutrinoceros)
4806 Replace vendored version of numpy.trapz with supported API in numpy 2, by @neutrinoceros
4835 Remove untested and broken notebook command from CLI, by @neutrinoceros
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.3.0...yt-4.3.1
- Python
Published by neutrinoceros about 2 years ago
yt - yt-4.3.0
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
β° this release is not available on conda-forge at the time this note is published
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 loadhdf5file didn't pass bounding box to loadamrgrids, 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 annotategrids to force cmap to respect maxlevels, 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 readparticlecoords and _readparticle_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 fillmaskregular_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 NPYTARGETVERSION, 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
- Python
Published by neutrinoceros over 2 years ago
yt - yt-4.2.2
Summary
This is the last planned bugfix release in the yt 4.2.x series. It contains fixes to bugs discovered since the 4.2.1 release.
There are no new features or deprecations in this version, all users are encouraged to upgrade.
Python 3.8 to 3.11 is supported. The next planned release, yt 4.3.0, will support Python 3.12
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
π Bug fixes
4544 Fix docstring for load octree, by @matthewturk (issue #4542)
4549 Fix marker plot annotation, by @neutrinoceros (issue #4548)
4566 Update annotate_contours docs to avoid deprecated API, by @zingale
4570 Fix fake_dataset periodicity attribute in FieldDetector, by @jzuhone
4577 Fix fortran IO test for big-endian architectures, by @cphyc and @neutrinoceros (issue #4569 by @olebole)
4585 Avoid deprecated numpy API in flash frontend (implicit conversion of 1-sized arrays to scalar types is deprecated in numpy 1.25), by @neutrinoceros
4586 Avoid divide-by-zero runtime warning from np.log10 in AMRKDTree.getbrickdata, by @neutrinoceros
4547 Fix initialization of max level in load_octree, by @matthewturk (issue #4545)
4601 Fix string interpolation (units double-printing) in GridIndex, by @neutrinoceros
4604 Skip out-of-bounds particles in ngp deposition, by @neutrinoceros (issue #4603)
4631 Fix an UnboundLocalError in PhasePlot.setupplots, by @neutrinoceros (issue #4617 by @chummels)
4638 Fix a crash with certain combinations of kwargs for adding dimensionless derived fields to datasets, by @neutrinoceros (issue #4636 by @vdbma)
4644 Fix error message when trying to use a feature that requires cartopy while it's missing, by @neutrinoceros (issue #4633)
4640 Only call find_spec sometimes, by @matthewturk
π€ Frontend-specific fixes
4414 gadget hdf: reduce size 1 header arrays to scalar, by @chrishavlin (issue originally reported by Ben Oppenheimer)
4533 Fix a regression preventing loading of fits datasets, by @neutrinoceros (issue #4532 by @yzhenggit)
4536 Fix a regression preventing loading of pyne/moab datasets, by @neutrinoceros (issue #4535 by @ahnaf-tahmid-chowdhury)
πDocumentation
4582 Fix string interpolation (units double-printing) in particle_filter cookbook recipe, by @neutrinoceros
4592 Docs fixes, by @Xarthisius
4599 Update documentation on off-axis projections for non-SPH particle data, by @neutrinoceros (issue #4528)
π§© Build and testing
4573 Set upper limit to runtime numpy, by @neutrinoceros
4609 Sort input file list, by @bmwiedemann
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.2.1...yt-4.2.2
- Python
Published by neutrinoceros almost 3 years ago
yt - yt-4.2.1
Summary
This is the first bugfix release in the yt 4.2.x series. It contains fixes to bugs discovered since the 4.2.0 release.
There are no new features or deprecations in this version, all users are encouraged to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
π Bug fixes
4465 Turn range into a list for keyframes, by @matthewturk
4472 Fix overflows in ParticleBitmap hashing, by @neutrinoceros (issue #4471 by @weiguangcui)
4479 Fix a confusing warning emitted when a dimensionless derived field is registered with implicit units, by @neutrinoceros (issue #4478)
4463 Fix a bug where setting boolean parameters from the command line would break at runtime validation, by @neutrinoceros (issue #4462)
4482 Fix off-axis particle projections with a weight field, by @jzuhone
4485 Unlock annotate_timestamp callback for polar and spherical geometries, by @neutrinoceros
4475 Avoid implicitly dropping default parameters in plot annotation methods, by @neutrinoceros
4490 Fix confusing formatting in log message when allocating <10k particles, by @neutrinoceros
4491 Fix a bug where ProfilePlot and PhasePlot would be improperly validated at initialization, by @neutrinoceros (issue #4489 by @gravertino)
4492 Fix a bug where calling plot.render() would have no effect depending on internal state, by @neutrinoceros (issue #4489 by @gravertino)
4498 Fix internal divide-by-zero warnings, by @neutrinoceros
4505 Fix an issue where NormalPlot.sanitizenormalvector would raise an error when receiving a numpy integer, by @neutrinoceros
4503 Fix noisy warnings when setting custom norm for fields with set_log=False, by @neutrinoceros (issue #4502)
4513 Fix cm1 chunk reader, by @matthewturk (issue #4512)
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.2.0...yt-4.2.1
- Python
Published by neutrinoceros almost 3 years ago
yt - yt 4.2.0
Summary
This is the second feature release in the yt 4.x series. It also comes with some important bug fixes. Some deprecations are now expired, some minor backward incompatibilities are expected. Anything broken on purpose in this version should correspond to a warning in yt 4.1.x, anything beyond that should be considered a regression; please report any unexpected breaking change.
Python 3.8 to 3.11 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
- Multiple improvements (detection, validation, uage) for EWAH files (#4307, #4426)
- yt can now be installed with frontend specific optional dependencies with pip (#4272)
- Plugin frontends can now seamlessly hook into
yt.load()(#4285) - Off-axis projections are now supported for non-SPH particle (#4440)
π Bug fixes
4235 Migrate away from broken optional dependency (pyregion -> regions), by @neutrinoceros (issue #4234)
4268 Implement lazy-loading (on-demand-import) for regions, by @neutrinoceros (issue #3320 by @cphyc)
4316 Check for unitsystemname in saveas_dataset, by @chrishavlin (issue #4315)
4328 cellwidths validation for loaduniform_grid, by @chrishavlin
4361 + #4422 Handle deprecation warnings from numpy 1.25, by @neutrinoceros
4378 Fix typo in vector operations and enable plot modifications for spherical geometry, by @jisuoqing
4381 Avoid setting basename attribute in EnzoDatasetInMemory.parseparameter_file, by @chrishavlin
4387 Add meter and millimeter to smallest units, by @matthewturk
4404 Make sure findlowestsubclasses doesn't add extra classes, by @yut23
4417 Fix inconsistent units labelling between plot axis and colorbar, by @neutrinoceros (issue #4416)
4426 More robust detection and checking of EWAH files, by @jzuhone
4429 Fix confusing error message when yt fails to locate data, by @neutrinoceros
4431 Allow smoothing of derived SPH fields onto covering grids, by @jzuhone
4438 Raise exception when a file does not exist, by @cphyc (issue #4436)
4443 Fix a bug in Dataset.print_stats() where length units would be printed twice, by @neutrinoceros
π New features
4175 Improvements to fieldtoinclude specifications in createfireflyobject, by @mtryan83 (issue #4174)
4198 + #4249 Automatically find EWAH files with increased index_order2, by @jzuhone (issue #3487 by @chummels)
4205 Add upward directory lookup for local configuration file, by @neutrinoceros (issue #3953)
4222 Two new features for writing FITS images, by @jzuhone
4272 Add support for installing yt with cherry-picked, frontend specific optional dependencies with pip, by @neutrinoceros (issue #4272)
4285 Automatically load external frontends in yt.load(), by @Xarthisius
4307 Allow to store multiple bitmap indices in the ewah-sidecar, by @Xarthisius
4343 Add reusable matplotlib stylesheet, by @neutrinoceros (issue #4342)
4363 Add basename for loaders, by @jisuoqing
4397 Allow hint keyword for yt.load to select superclasses, by @yut23
4410 Export standard deviation to pandas DataFrames and AstroPy QTables, by @jzuhone
4446 Whitelist the SPH starformationrate field, by @jzuhone
4440 Off-axis (non-SPH) particle projections, by @jzuhone
experimental features
β»οΈ Optimisations and refactors
4183 Ensure SpectralCubeCoordinateHandler is testable and tested, by @neutrinoceros (issue #4180)
4195 Cleanup unused import statements in Cython files, by @neutrinoceros
4196 Remove useless variables in Cython code, by @cphyc
4200 Fix a missing type declaration in Cython file , by @neutrinoceros
4210 Simplify/clarify inheritance hierarchy for yt.data_objects.unions.Union, by @neutrinoceros
4226 Don't drop ImportError tracebacks for lazily-loaded optional dependencies, by @neutrinoceros (issue #4224)
4242 Upgrade flake8-bugbear and fix newly detected errors, by @neutrinoceros
4244 and #4309 Use an enum to represent dataset geometries, by @neutrinoceros
4265 Delay expensive imports, by @neutrinoceros
4292 and #4325 Migrate from pkg_resources to importlib.resources, by @neutrinoceros (issue #4287)
4294 Minor refactor for PhasePlot.setupplots, by @neutrinoceros
4411 Rewrite findlowestsubclasses to better match its intent, by @yut23
4435 Simplify base CoordinateHandler implementation, by @neutrinoceros
Typing
4227 Typing improvements using latest mypy (0.991), by @neutrinoceros
4229 Add static typing to Dataset.getfieldinfohelper, by @neutrinoceros
4251 Add missing type hints, by @neutrinoceros
4260 Use FieldKey type aliases instead of Tuple[str, str], by @neutrinoceros
4277 Fix mypy warnings about unchecked hints, by @neutrinoceros
Tests
4255 Add some missing test for stream grids with callables, by @chrishavlin
4266 Add missing @requires_module("h5py") decorators, by @neutrinoceros
4267 Uniformize YTException class hierarchy, by @neutrinoceros
4310 Bump CI from Python 3.10 to 3.11, by @neutrinoceros
4336 Enable dependabot autoupdates for GitHub workflows, by @neutrinoceros (issue #4333)
4354 Minor updates to answer tests infra, by @Xarthisius
π Documentation
4181 Cleanup calls to private methods setupplots in doctests, by @neutrinoceros
4314 Fix docs typo in loadhdf5file description, by @chrishavlin
4332 Load unstructured mesh SlicePlot, by @chrishavlin
4377 Fix typos, by @neutrinoceros
4385 Fix example in docs and missing displacement for unstructured mesh, by @matthewturk
4388 Fix field access in ytdata docs, by @brittonsmith
4407 A few doc fixes from Sphinx make linkcheck, by @zingale
4423 Some spelling fixes, by @zingale
π€ Frontends
Frontend-specific improvements and bug fixes
[Arepo]
4419 Small Arepo/Gadget enhancements, by @jzuhone
[Boxlib]
4402 ENH: improve boxlib data type detection, by @yut23
[CHOLLA]
4389 Avoiding issue for CHOLLA LightRay datasets, by @chummels
[FLASH, GAMER]
4134 Enable exporting GAMER and FLASH datasets to octrees, by @matthewturk
[Gadget]
4419 Small Arepo/Gadget enhancements, by @jzuhone
[Gizmo]
4331 Fix an error when loading a non-cosmological dataset, by @jisuoqing
[MAESTROeX]
4347 Fixed the detection of how temperature is defined, by @zingale
π£ Deprecations
Expired deprecations and known-breaking changes
4106 Expire deprecations ended in yt 4.2, by @neutrinoceros
New deprecations
4177 Deprecate calling yt.load with first argument passed as keyword, by @neutrinoceros
4210 Deprecate Importing ParticleUnion from yt.data_objects.particle_unions, by @neutrinoceros
4434 Deprecate numpy.testing reexports in yt.testing, by @neutrinoceros
4439 Deprecate unnecessary functions in the yt.testing namespace, by @neutrinoceros
π§© Requirements
- Python 3.8 or newer is now required
numpy >= 1.17.5or newer is now requiredmatplotlib >= 3.2.0is now requiredewah-bool-utils >= 1.0.2is now required (see #2711, by @themousepotato)importlib-resources >= 1.3is now required with Python < 3.9typing-extensions >= 4.1.0is now required with Python < 3.11- other constraints for optional/testing dependencies were lifted (see #4364, #4380, #4344)
Notes for downstream packagers and developers
ewah-bool-utils >= 1.0.2is now required at build timeCython>=0.29.33is now required at build time. We have made constant progress towards compatibility with the future Cython 3.0 (#4357, #4359, #4365, #4373, #4374, #4375, #4376, #4386, #4390, #4392)- packaging metadata was migrated to
pyproject.toml(#4271, #4273, #4276)
- Python
Published by neutrinoceros about 3 years ago
yt - yt 4.1.4
Summary
This is the fourth bugfix release in the yt 4.1.x series. It contains fixes to bugs discovered since the 4.1.3 release.
There are no new features or deprecations in this version, all users are encouraged to upgrade.
Python versions supported via our main distribution channels
| Python version | PyPI | conda-forge | |----------------|:-----:|:------------:| | CPython 3.7 | β | β | | CPython 3.8 | β | β | | CPython 3.9 | β | β | | CPython 3.10 | β | β | | CPython 3.11 | β | β |
notes - CPython 3.7 has been dropped by conda-forge itself
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
π Bug fixes
4264 Fix calling PlotContainer.set_font to set font color, by @neutrinoceros (issue #4263)
4281 Fix a regression in yt.load where '$HOME' and '~' path weren't expanded, by @neutrinoceros (issue #4280)
4285 (partial) Fix issue #4286 SDF frontend breaks load() if target file lacks read permission, by @Xarthisius
4297 (FLASH) Fix domain edges padding in reduced dimensions, by @neutrinoceros (issue #4296 by @jslavain)
4265 (partial) Delay expensive imports, by @neutrinoceros
Documentation
4261 Cleanup calls to private methods setupplots in cookbook , by @neutrinoceros
π§© Build and testing
4290 Upgrade setup-python GHA, by @Xarthisius
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.1.3...yt-4.1.4
- Python
Published by neutrinoceros over 3 years ago
yt - yt 4.1.3
Summary
This is the third bugfix release in the yt 4.1.x series. It contains fixes to bugs discovered since the 4.1.2 release. Most importantly, it reverts a unstable patch that was accidentally included in yt 4.1.2 (https://github.com/yt-project/yt/pull/4198). EWAH files should now behave as in yt 4.1.1, and we're aiming at re-releasing the new behaviour (with fixes) in yt 4.2.0
There are no new features or deprecations in this version, all users are encouraged to upgrade.
Python versions supported via our main distribution channels
| Python version | PyPI | conda-forge | |----------------|:-----:|:------------:| | CPython 3.7 | β | β | | CPython 3.8 | β | β | | CPython 3.9 | β | β | | CPython 3.10 | β | β | | CPython 3.11 | β | β |
notes - CPython 3.7 has been dropped by conda-forge itself
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
π Bug fixes
4231 Fix pixel size calculation for density option in particle projection plots and FITS images, by @jzuhone
4239 Fix a broken docs example, by @neutrinoceros
π§© Build and testing
4247 ignore a deprecation warning triggered from cartopy, by @neutrinoceros
4250 Revert "Backport PR #4198 on branch yt-4.1.x (Automatically find EWAH files with increased index_order2)", by @neutrinoceros
4258 on branch yt-4.1.x, by @neutrinoceros
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.1.2...yt-4.1.3
- Python
Published by neutrinoceros over 3 years ago
yt - yt 4.1.2
Summary
This is the second bugfix release in the yt 4.1.x series. It contains fixes to bugs discovered since the 4.1.1 release. There are no new features or deprecations in this version, all users are encouraged to upgrade.
Python versions supported via our main distribution channels
| Python version | PyPI | conda-forge | |----------------|:-----:|:------------:| | CPython 3.7 | β | β | | CPython 3.8 | β | β | | CPython 3.9 | β | β | | CPython 3.10 | β | β | | CPython 3.11 | β | β |
notes - CPython 3.7 has been dropped by conda-forge itself - update December 14, 2022: This release is now also available on conda-forge for CPython 3.11
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
π Bug fixes
4176 Make a MPL failure non-fatal for set_norm with old version of MPL, by @neutrinoceros
4198 Automatically find EWAH files with increased index_order2, by @jzuhone
4216 Fix compatibility between eps_writer and yt 4.1, by @neutrinoceros
4211 Fix double counting of H nuclei in the Arepo frontend, by @jzuhone
4221 Fix security issue (CVE-2007-4559), by @TrellixVulnTeam
π§© Build and testing
4186 Migrate OSX CI from osxfuse to macfuse, by @neutrinoceros
4189 Resolve compatibility with pytest 7.2, by @neutrinoceros (issue #4188)
4200 Fix a missing type declaration in Cython file, by @neutrinoceros
4191 Add missing __init__.py files in Cholla and Chimera test folders, by @neutrinoceros (issue #4190 by @olebole)
4206 Add libm to build for some Cython files, by @matthewturk (issue #4204 by @papoteur-mga)
Full Changelog: https://github.com/yt-project/yt/compare/yt-4.1.1...yt-4.1.2
- Python
Published by neutrinoceros over 3 years ago
yt - yt 4.1.1
Summary
This is the first bugfix release in the yt 4.1.x series. It contains a couple of critical fixes to bugs discovered since the 4.1.0 release. Most importantly, it resolves a memory leak that was affecting octree-based frontends (RAMSES and ART). There are no new features or deprecations in this version, all users are encouraged to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Note that binaries for Python 3.11 are only available via pip.
π Bug fixes
4160 hotfix iterative plot annotations, by @neutrinoceros (issue #4159)
4164 Memory leak: free C++ memory before deallocing Python object, by @cphyc
4156 (RAMSES) catch assertion errors with ill-written namelist files, by @cphyc
π§© Requirements
4155 ipywidget>=8.0.0 is now required (issue #4154)
4163 and #4166: unyt>=3.0 is now forbidden (this is a temporary, and pre-emptive measure before unyt 3.0 is actually released)
Python 3.7 to 3.11 is supported
- Python
Published by neutrinoceros over 3 years ago
yt - yt 4.1.0
Summary
This is the first feature release in the yt 4.x series. It contains about a year of work by many contributors, with many new features and improvements to the code base. It is also the first release to officially support Python 3.11 Some deprecations from yt < 4 are now expired, some minor backwards incompatibilities are expected. Anything broken on purpose in this version should correspond to a warning in yt 4.0.x, anything beyond that should be considered a regression; please report any unexpected breaking change.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Note that binaries for Python 3.11 are only available via pip.
π Highlights
Newly supported data formats
yt 4.1 ships with 3 brand new frontends ! - #1990 CFRadial, by @zssherman and @chrishavlin - #3638 Chimera, by @Ronan-Hix - #3663 Cholla, by @chummels , @evaneschneider , and @matthewturk
Improved loading for "ambiguous" data formats
yt.load sometimes raises YTAmbiguousDataType when more than one data format appears to be valid. Ideally this should never happen, but in some cases it is very frequent, in particular with BoxLib data, for which we support many hard-to-distinguish flavours.
In order to mitigate this issue, yt.load now accepts a hint keyword argument. For instance
python
yt.load("det_x_plt00000", hint="castro")
Stretched grid support
yt now has experimental support for "stretched" grid schemes (grids with arbitrarily varying cell width). It is currently not compatible with AMR.
The following contains a non-exhaustive list of changes
π Bug fixes
2538 Combining setzlim and setunit methods doesn't work as expected (fixed in #3849, by @neutrinoceros )
3901 Cannot plot data containing both finite and infinite values and use set_zlim (fixed in #3849, by @neutrinoceros)
3986 Restore and fix flexible linear threshold guessing in symmetric logarithmic plots, by @chrishavlin (issue #3944)
4021 Fix multiple issues with magnetic field derived fields definitions, by @neutrinoceros
4075 Fix scaling in off-axis projections of filtered gas particles, by @jzuhone
4098 Correcting deceptive typo in an error message, by @chummels
4149 Fix a bug in the computation of metallicity for the generation of X-ray emission fields, by @geoyuqiu
π New features
3346 Allow to set units from config file, by @cphyc
3421 Allow stream frontends to accept callables, by @matthewturk
3443 Directly open compressed files[^1], by @cphyc
3640 Add swap_axes, flip_horizontal and flip_vertical plot modifier methods, by @chrishavlin
3666 Implement hint keyword argument for yt.load to help lifting ambiguities in data formats, by @neutrinoceros (issues #3510 by @mameehan5 and #3005 by @zingale)
3686 Allow 'factor' argument in plot annotation methods to accept 2-tuples to distinguish x/y resolutions, by @neutrinoceros
3756 Expose FRB filtering API, by @cphyc and @neutrinoceros
3812 Allow for different normalizations of magnetic fields in CGS[^2], by @jzuhone (issue #3471 by @forrestglines)
3822 Add support for varying colors in quiver annotations, by @neutrinoceros
3940 Add "min" method to ProjectionPlot, by @rjfarber
3489 yt.ProjectionPlot can now perform off-axis projections[^3], by @neutrinoceros (also #3723 and #3737)
3817 Add support for VelocityCallback and MagFieldCallBack in spherical coordinates, by @neutrinoceros
3989 Add support for projecting a field's standard deviation, by @jzuhone
4063 Add data_source argument to covering grid, by @chrishavlin
4119 Allow passing a dataset as a data source to ParticlePhasePlot, by @neutrinoceros
4121 Add public API render methods to PlotContainer and FixedResolutionBuffer, by @neutrinoceros
4142 ENH: add API to switch raytracing engine at runtime, by @neutrinoceros
experimental features
2567 First cut at showing multiple transfer functions on VR, by @zingale
2998 Enable variable cell widths for grid datasets #2998, by @matthewturk
3849 Add ability to use colorbar norms other than linear, log and symlog, by @neutrinoceros (issue #3840)
[^1]: this feature requires ratarmount as an optional dependency to yt, currently only Linux is supported, see #3749
[^2]: at the moment this is only used in Athena and Athena++ frontends
[^3]: yt.SlicePlot is now a class (previously it was a function). Instantiating OffAxisProjectionPlot (resp OffAxisSlicePlot) directly is now unnecessary (but still supported)
β»οΈ Optimisations and refactors
Performance optimisations
2416 Stop preallocating particles, by @matthewturk and @chrishavlin, issue #2383 by @zhafen
3439 Cache determinefields for a given dataset by @Xarthisius
3469 Optimise memory layout for particle oct container, by @themousepotato
4029 Only compute field suggestions if YTFieldNotFound isn't caught, by @neutrinoceros
3935 Import optional dependencies lazily[^4], by @neutrinoceros
4025 Optimise startup time, by @neutrinoceros
4037 First steps toward utilizing the octree infrastructure as an engine for block-structured data, by @BolunThompson
4071 Optimise some grid selection operations by skipping unnecessary symbolic unit computations, by @yipihey
4079 Optimise radius calculation, by @yipihey (+ #4091 by @brittonsmith)
[^4]: with the exception of netCDF4, which is still imported at startup time if available
User experience and developer experience improvements
3065 Make Scene.save less verbose, by @neutrinoceros
3436 Improve clarity of error message for region slicing with 2D dataset, by @neutrinoceros
3495 Warn in case a Dataset subclass is redefined, by @neutrinoceros
3519 Improve user input validation for PLViewerMPL.setuporigin, by @neutrinoceros
3525 Allow direct dataset instantiation using the user path '~' glyph, consistently with yt.load, by @neutrinoceros
3527 Improve formatting for YTUnidentifiedDataType exception, by @neutrinoceros
3621 Improve verbosity of yt.enable_parallelism in case of error, by @neutrinoceros
Quality improvements and refactors
3526 Particle reader cleanup, by @matthewturk
3546 Setup basic type checking and fix existing type errors, by @neutrinoceros
3617 Factorise coordinate handler, by @cphyc
3624 Factorise code in halo containers, by @cphyc
3626 Decouple yt.config from initialisation[^5], by @neutrinoceros
3772 Avoid storing relative paths in Dataset attributes, by @neutrinoceros
3920 Improve formatting consistency in YTException error messages, by @neutrinoceros
3957 Refactor plot callbacks registration, by @neutrinoceros (issue #3945)
3998 Update to fields used in Enzo answer testing, by @jwise77
4116 Avoid subclassing builtin dict, by @neutrinoceros
4057 Cleanup dead attribute Dataset.file_style, by @neutrinoceros
4125 Stop using deprecated np.int, by @neutrinoceros
4143 Updating Firefly-dependent areas to match API changes and PyPI packaging, by @mtryan83
[^5]: a consequence of this patch is that yt will no longer create configuration files on startup if it can't find one
π Documentation
3395 and #3412 Avoid using pylab in docs, by @neutrinoceros
3608 Document how Dataset._is_valid works, by @neutrinoceros (issue #1018 by @ngoldbaum)
3627 Remove a false statement from yt.funcs.rootonly's docstring, by @neutrinoceros (issue #2054 by @DTHaydon)
3642 Fix a broken example (change of api in the Athena frontend), by @neutrinoceros (issue #3641)
3813 Update contribution guidelines, by @neutrinoceros (issue #2554 by @munkm)
3926 Update broken link to re-licensing blog post, by @tracykteal
3982 Fix broken annotate_particles example, by @chrishavlin (issue #3968 by @neutrinoceros)
4080 Document plot callbacks extensibility, by @neutrinoceros (issue #4072)
4124 Update instructions and redirections for installing cartopy, by @neutrinoceros
4148 Add more info to magnetic fields documentation, by @jzuhone
π€ Frontends
Frontend-specific improvements and bug fixes
[AMRVAC]
3508 Optimise reading speed, by @neutrinoceros
[AREPO]
3815 Add three new derived fields, by @jzuhone
3258 New fields for Arepo and Gadget frontends, by @jzuhone
4120 Add Arepo stellar photometric fields , by @jzuhone
[BoxLib]
3515 Add a missing close statement, by @mameehan5
4112 allow reading of 1D particle data, by @dpgrote
[Enzo-E]
3914 Update Enzo-E particle mass/density distinction, by @brittonsmith
4097 Store the Enzo-E version number in parameters attribute of EnzoEDataset, by @mabruzzo
4099 Improved Enzo-E frontend's determination of fluid properties, by @mabruzzo
[Gadget]
3258 New fields for Arepo and Gadget frontends, by @jzuhone
3455 Make sure we add the Parameters group to hvals if it's present, by @jzuhone
[GAMER]
4070 Use lookback time in cosmological simulation, by @koarakawaii
[RAMSES]
3332 Allow user customization of RAMSES field loading, by @cphyc
π£ Deprecations
Expired deprecations and known-breaking changes
3240 Deprecation cycle (4.0 -> 4.1), by @neutrinoceros
3957 Deprecate dict argument plot_args in annotate_* methods where a **kwargs is sufficient, by @neutrinoceros
3970 Turn ambiguous fields warnings into errors[^8], by @neutrinoceros (issues #3416, and #3235 by @cphyc)
4142 changed the default ray tracing engine from "embree" to "yt" (builtin engine). Previous versions of yt would switch to embree at startup if pyembree was installed. This version requires that embree be explicitly required, either with configuration file:
[yt]
ray_tracing_engine = "embree"
or at runtime
python
from yt.visualization.volume_rendering.api import set_raytracing_engine
set_raytracing_engine("embree")
New deprecations
3278 Deprecate yt.mods, by @neutrinoceros (issue #3090)
3418 Deprecate iyt, by @neutrinoceros
3567 Deprecate annotate_halos[^6], by @neutrinoceros (issue #3566 by @brittonsmith)
3773 Deprecate yt.testing.run_nose and wrap it in the yt namespace[^7], by @neutrinoceros (issue #3771 by @brittonsmith)
4021 Deprecate some ambiguous field aliases, by @neutrinoceros
[^6]: this method is now being defined in the yt_astro_analysis extension package, which was required already, so it should continue to work seamlessly with sufficiently recent versions of the extension
[^7]: a side effect of this patch is that importing yt doesn't load the yt.testing module by default, this change may break downstream code using yt.testing without an explicit import
Prolonged deprecations
3836 Complete existing deprecation warnings' metadata, by @neutrinoceros
[^8]: this is nuanced by #3948 and #3949 (both PRs by @neutrinoceros)
π§© Requirements
- Python 3.7 or newer is now required
numpy1.14.5 or newer is now requiredmatplotlib3.1 or newer is now requiredtyping-extensionsis a new dependency, required only on Python 3.7importlib-metadatais a new dependency, required only on Python 3.7tomliis now only required for Python 3.10 and older
Notes for downstream packagers and developers
We've started adding type hints to yt ! yt now ships a py.typed marker file, enableing type checking code which uses yt as a dependency via mypy. This initiative has a limited scope for now (we're far from having a completely typed code base), and there may be rough edges, feedback from downstream is extremely welcome !
We've also added a yt.version_info named tuple (#3761 by @neutrinoceros). This tuple is analogous to sys.version_info, and can be used to check yt's version at runtime, and write version-dependent code like so
```python
import yt
if yt.version_info >= (4, 1): ... else: ... ``` Of course for now only yt 4.1.0 has this tuple, so it is not going to be useful right away, but you can rely on it when you drop support for versions older than 4.1.0
Previous versions also incorrectly prevented compilation with Python 3.12 and above, this limitation has been lifted.
3526 by @matthewturk -> Although considered a refactor, this is a breaking change for any third party particle frontends. We do not know of one, please let us know if you're developing such a frontend.
π special thanks to
- @anchwr and @drannarosen and @chummels for early reports of regressions on the dev branch (#3809, #4078, #4090)
- @Xarthisius who's made a lot of crucial maintenance contributions, which are otherwise invisible in this summary, primarily focused on user-facing change
footnotes
- Python
Published by neutrinoceros over 3 years ago
yt - yt 4.0.5
Summary
This is the fifth bugfix release in the 4.0.x series. This release fixes a critical bug with SPH particle selection in bounding boxes.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes
- BUG: Broadcast missing attribute #3973 by @brittonsmith
- BUG: Fix broken annotate_particles example #3982 by @chrishavlin (issue #3968 by @neutrinoceros)
- BUG: volume rendering: sigma_clip normalization #3984 by @chrishavlin (issue #3979 by @zingale)
- BUG: fix a ResourceWarning (file is never closed) #3997 by @neutrinoceros
- BUG: fix for composite volume rendering with octree sources #4011 by @chrishavlin
- BUG: fix a typo in warning message #4017 by @neutrinoceros
- BUG: setting GeoAxes extent #4040 by @chrishavlin (issue #4039)
- BUG: Fix flux calculation on surface when there is no fluxing_field #4042 by @jzuhone
- BUG: Fix intersections between SPH particles and regions when the boundary is periodic #4050 by @jzuhone (issue https://github.com/yt-project/yt/issues/3916 by @benopp99)
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
- Python
Published by neutrinoceros almost 4 years ago
yt - yt 4.0.4
Summary
This is the fourth bugfix release in the 4.0.x series. This release fixes a critical incompatibility with the upcoming release of Matplotlib (3.6). This should have no immediate effect but allow yt to be installed alongside Matplotlib 3.6. It is our first release to be distributed for Mac ARM (M1) on PyPI.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes
- BUG: fix compatibility with GADGET2 files using '.gad.' template #3899 by @neutrinoceros
- BUG: fix an UnboundLocalError #3898 by @neutrinoceros
- BUG: fix an upcoming incompatibility with matplotlib 3.6 #3912 by @neutrinoceros
- BLD: fix a build error on Windows #3925 by @neutrinoceros
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
- Python
Published by neutrinoceros about 4 years ago
yt - yt 4.0.3
Summary
This is the third bugfix release in the 4.0.x series. This release fixes a critical bug in particle indexing, as well as many small 2D visualisation bugs. It also contains a couple frontend specific bugfixes, most notably for RAMSES. It is our first release to be distributed for Mac ARM (M1) on conda-forge.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade from PyPI, run
python -m pip install --upgrade yt
or, with conda
conda update --channel conda-forge yt
Changes are categorised below.
Particle Indexing
Fix a bug in bitmap index for particle datasets #3788 by @langmm . This was the result of some checks of the number of refined zones in the bitmap index being set to higher than it should be.
This bug was responsible for some particle data files not being selected correctly, which manifested e.g. as "holes" in SlicePlots, and were first identified with AREPO data (see issue #3672 by @jzuhone)
2D Plotting
Symlog colorbars (used for plotting data with negative values)
We made some adjustments in how yt internally chooses to use symlog over log norms for 2D plots.
- BUG: add missing MPL version check to a temporary hack #3754 by @neutrinoceros (issue #3170 by @chrishavlin)
- BUG: fix heuristic to switch from log scale to symlog scale #3793 by @neutrinoceros (issue #3791)
- BUG: fix a bug where automatically computed symlog linear threshold would sometimes cause a crash in matplotlib #3859 by @neutrinoceros (issue #3858, original report by @benwibking)
- BUG: fix a bug where setting zmin/zmax on a 2D plot with symlog norm would cause an undesired change in linthresh #3888 by @neutrinoceros (issue #3887 by @vdbma)
Plotting non-cartesian data
- BUG: fix pixelize_cylinder #3782 by @neutrinoceros (issue #3781)
- BUG: fix a bug in pixelize_cylinder where buffer shape was read backwards #3795 by @neutrinoceros (issue #3794)
- BUG: don't colorize pixels that are not completely within the data domain in pixelize_cylinder routine #3818 by @neutrinoceros
- BUG: fix plot bounds for slices in cylindrical coordinates #3820 by @neutrinoceros (issue #3819)
- BUG: fix a bug in aitoff-hammer pixelizer where some pixels were skipped on the central meridian and the equator #3824 by @neutrinoceros (issue #3823)
- BUG: fix a bug where PlotWindow origin parameter wasn't handled correctly in non-cartesian geometries #3863 by @neutrinoceros (issue #3862 , original report by @vdbma)
Misc
- Phase plots are now properly masked #2504 by @matthewturk
- Format error string #3780 by @Yash-10
- BUG: fix a bug in masking invalid values in line integral convolution callback #3739 by @neutrinoceros (issue #3738)
- BUG: fix an issue where missing files would be indexed without verification #3816 by @neutrinoceros (issue #2819 by @joostvan)
- BUG: fix a typesetting bug with fractionnal units in colorbar labels for volume rendering #3755 by @neutrinoceros
- BUG: fix buffer masking in cartesian geometry #3856 by @neutrinoceros (issue #3854)
- BUG: fix a regression where calling annotate_timestamp on a plot from a dataset with code units would crash #3870 by @neutrinoceros (issue #3869, original report by @vdbma)
Frontend specific patches
Flash
- BUG: Track blockless particles #3683 by @matthewturk
OWLS
- Fix Electron number density field #3874 by @jzuhone (issue #3838 by @cphyc)
RAMSES
- BUG: also validate unresolved symlinks (RAMSES) #3786 by @mtrebitsch (issue #3785)
- BUG: fix error messages in RAMSESDataset validation #3801 by @neutrinoceros (issue #3800)
- BUG: bring back support to group folder structure in RAMSES #3811 by @cphyc (issue #3785 by @mtrebitsch)
- Add missing ionized species #3841 by @cphyc
- Fix definition of particle age/times #3864 by @cphyc (issue #3861 by @lconaboy)
- BUG: Use cmpermpc instead of 3.08e24 #3868 by @Iconaboy (issue #3867)
Requirements
Python 3.6 to 3.10 is supported. The next feature release, yt 4.1, will require Python 3.7 or newer.
Some small adjustments to yt's dependencies were done for this release, and listed here to the intention of downstream packagers
- The unmaintained toml package isn't required anymore, yt now require tomli and tomli_w instead (issue #3830 by @henryiii)
- pyyaml and IPython were previously declared as hard requirements when they are in fact not strictly necessary. pyaml is now used in tests instead of pyyaml, and IPython is now considered an optional dependency.
- jinja2 is now pinned in docs builds (#3860 by @Xarthisius)
- Python
Published by neutrinoceros about 4 years ago
yt - yt 4.0.2
Summary
This is the second bugfix release in the 4.0.x series. Most notably, this release fixes a number of compatibility issues with recent versions of Matplotlib (3.4 and 3.5). It is also the first release to officially support Python 3.10.
This release contains no new deprecation or removal and should be fully backward compatible, we recommend all users to upgrade.
How to upgrade
To upgrade via PyPI, run
python -m pip install --upgrade yt
or via conda-forge
conda update --channel conda-forge yt
Most impactful changes are categorised below. See the 4.0.2 milestone for a an comprehensive view of the release's content.
Matplotlib compatibility
typesetting issues
- BUG: Set the display name for new fields #3282 by @chummels (issue #3269)
- BUG: fix default math font in yt plots against matplotlib >= 3.4 #3520 by @neutrinoceros (issue #3514)
- BUG: fix LaTeX typesetting for fractional ylabels in LinePlot #3637 by @neutrinoceros (issue #3636)
colorbar layout in plots using (sym)log norms
- BUG: fix two bugs with symlog colorbar ticks for matplotlib 3.5 #3556 by @neutrinoceros (issues #3554 and #3560)
- BUG: fix for matplotlib 3.5 + symlog + linthresh value outside data range #3565 by @neutrinoceros (issue #3564)
- MNT: matplotlib 3.5 compat #3670 by @neutrinoceros (issue #3558)
2D Plotting
- BUG: Checking if extrema are all None in PhasePlot #3432 by @chummels (issue #3431)
- BUG: fix a bug where 2D plots in spherical geometries would always use code-units in plot axes #3618 by @neutrinoceros (issue #2913 by @n-claes)
- BUG: fixes for Hammer-Aitoff projection (r-normal) 2D viz in spherical geometries #3628 by @neutrinoceros (issue #3610)
- BUG: fix figure layout in case the long axis is vertical #3633 by @neutrinoceros
- BUG: fix a bug where PlotContainer.save would wrongfully ignore specified field extension #3687 by @neutrinoceros (issue #3632)
Documentation
- DOC: add an exhaustive list of deprecations to the yt4differences page #3665 by @neutrinoceros (issue #3451)
- DOC: fix an error in AMRVAC specific documentation #3716 by @neutrinoceros
Frontend specific patches
Gadget
- Make sure we add the Parameters group to hvals if it's present #3455 by @jzuhone
- BUG: Take into account endianness when reading Gadget binary files #3688 by @cphyc (issue #3676 by @olebole)
Athena
These changes should actually not affect Athena users, they are only meant to open the design space for new frontends supporting vtk files (issue #3001)
- BUG: implement AthenaDataset.isvalid #3424 by @neutrinoceros
- ENH: loosen header matching for Athena vtk files to allow compatibility with single variable 'vtk outputs' #3490 by @neutrinoceros
GDF
- dimensionality doesn't imply which dimension is reduced #3630 by @Xarthisius (issue #3629)
Misc
- BUG: add support for setting up derived fields from lambdas #3440 by @neutrinoceros (issue #3434 by @forrestglines)
- BUG: fix combining FITS images #3456 by @jzuhone
- BUG: fix two bugs in yt.visualization.eps_writer #3496 by @neutrinoceros
Python 3.10 support
yt 4.0.2 is the first release for which we provide wheels for Python 3.10 We note that part of our test suite has yet to be ported from nosetest to pytest. Because nosetest isn't compatible with Python 3.10 (and has been unmaintained for years), this means that we currently run only a (large) subset of our tests with Python 3.10 In the unlikely event of a regression, please fill in a bug report
Requirements
For posterity, it may be worth noting that some of yt's minimal requirements were adjusted for this release: - IPython 2.0 or newer is now required (previously 1.0) - Matplotlib 2.1 or newer is now required (previously 2.0.2) - cmyt (ColorMaps from yt) is a new small dependency that was extracted from yt's main code base, this should have no impact on yt users.
Python 3.6 is still supported for this release. The next feature release, yt 4.1, will require Python 3.7 or newer.
- Python
Published by neutrinoceros over 4 years ago