Recent Releases of psyplot

psyplot - v1.5.1: Compatibility fixes for scipy and matplotlib

Compatibility fixes for scipy and matplotlib

DOI

Added

  • Add compatibility fixes for scipy 1.14, see !74
  • Add compatibility fixes for matplotlib 3.9, see !76

- Python
Published by Chilipp over 1 year ago

psyplot - v1.5.0: Compatibility fixes, cli improvements and code formatting

Compatibility fixes, cli improvements and code formatting

DOI

Changed

  • migrate to python-package-template, see merge request !60
  • implement custom warning handling, see merge request !61
  • fallback to nearest index when not found, see merge request !62
  • improve guessing of coordinates based on their names, see merge request !63
  • Fix enhanced attrs, see merge request !66
  • minor fix for matplotlib 3.8 compatibility, see merge request !68
  • implement ci-matrix for different python and mpl versions, see merge request !69
  • Update plugin guide, see merge request !71

Added

  • Add metadata info, see merge request !64, !65
  • improve cli yaml options, see merge request !67

- Python
Published by Chilipp over 1 year ago

psyplot - v1.4.3: Minor fix for grid files

Fixed

Minor fix for grid files (#53)

Full Changelog: https://github.com/psyplot/psyplot/compare/v1.4.2...v1.4.3

- Python
Published by psyplot-admin over 3 years ago

psyplot - v1.4.2: plugin entrypoint compatibility fix for python 3.7 (#50)

Fix for compatibility with python 3.7 (#50)

Changed

  • plugin entrypoint compatibility fix for python 3.7 (#47)
  • ignore SNF links in linkcheck (#49)
  • Replace gitter (#45)

- Python
Published by psyplot-admin almost 4 years ago

psyplot - v1.4.1: Compatibility fixes for matplotlib 3.5 and python 3.10

Compatibility fixes and minor improvements, see #46 for full details.

Added

  • An abstract convert_coordinate method has been implemented for the Plotter and Formatoption class that can be used in subclasses to convert coordinates for the required visualization. The default implementation does nothing (see #39)

Fixed

  • the update method now only takes the coordinates that are dimensions in the dataset, see #39
  • psyplot is now compatible with matplotlib 3.5 and python 3.10

Changed

  • loading more than one variables into a DataArray now first selects the corresponding dimensions, then puts it into a single DataArray. This avoids loading the entire data (see #39)

- Python
Published by psyplot-admin almost 4 years ago

psyplot - v1.4.0: Compatibility fixes and LGPL license

DOI

Fixed

  • psyplot is now compatible with xarray 0.18

Added

  • psyplot does now have a CITATION.cff file, see https://citation-file-format.github.io

Changed

  • psyplot is now officially licensed under LGPL-3.0-only, see #33
  • the lower bound for supported xarray versions is now 0.17.
  • project files do not store the Store anymore as this information cannot be gathered from xarray 0.18. We now rely on xarray to automatically find the engine to open the files.
  • Documentation is now hosted with Github Pages at https://psyplot.github.io/psyplot. Redirects from the old documentation at https://psyplot.readthedocs.io have been configured.
  • Examples have been removed from the psyplot repository as they now live in a central place at https://github.com/psyplot/examples
  • We use CicleCI now for a standardized CI/CD pipeline to build and test the code and docs all at one place, see #32

- Python
Published by Chilipp about 4 years ago

psyplot - v1.3.1: Fix for 3D bounds

DOI

Fixed

  • 3D bounds of coordinate are not interpreted as unstructured anymore (see 660c703)

- Python
Published by Chilipp about 5 years ago

psyplot - v1.3.0: New repository, presets and compatibility fixes

DOI

Added

  • You can now save and load presets for the formatoptions of a project which applies the formatoptions that you stored in a file to a specific plot method, see #24

  • the rcParams do now have a catch method that allows a temporary change of formatoptions.

    Usage:

    python rcParams['some_key'] = 0 with rcParams.catch(): rcParams['some_key'] = 1 assert rcParams['some_key'] == 1 assert rcParams['some_key'] == 0

  • ArrayList.from_dataset (and consecutively all plotmethods) now support different input types for the decoder. You can pass an instance of the CFDecoder class, a sub class of CFDecoder, or keyword arguments that are used to initialize the decoder, see #20. Furthermore, the check_data method of the various plotmethods now also accept a decoder parameter, see #22

  • psyplot.data.open_dataset now decodes grid_mappings attributes, see #17

  • psyplot projects now support the with syntax, e.g. something like:

    python with psy.plot.mapplot('file.nc') as sp: sp.export('output.png')

    sp will be closed automatically (see #18)

  • the update to variables with other dimensions works now as well (see #22)

  • a psyplot.project.Project now has a new format_string method to format a string with the meta attributes of the data in the projects

  • The ArrayList class now supports filtering by formatoption keys. You can filter for plotters that have a cmap formatoption via:

    python sp1 = psy.plot.mapplot(ds) sp2 = psy.plot.lineplot(ds) full_sp = sp1 + sp2 full_sp(fmts='cmap') # gives equivalent results as addressing sp1 directly

Changed

  • psyplot has been moved from https://github.com/Chilipp/psyplot to https://github.com/psyplot/psyplot, see #16
  • Specifying names in x, y, t and z attributes of the CFDecoder class now means that any other attribute (such as the coordinates or axis attribute) are ignored
  • If a given variable cannot be found in the provided coords to CFDecoder.get_variable_by_axis, we fall back to the CFDecoder.ds.coords attribute, see #19
  • A bug has been fixed for initializing a CFDecoder with x, y, z and t parameters (see #20)

- Python
Published by Chilipp about 5 years ago

psyplot - v1.2.1: Compatibility fixes

Support for xarray=0.12, cdo=1.5 and docrep=0.2.6

- Python
Published by Chilipp almost 6 years ago

psyplot - v1.2.0: Better unstructured grid support and ready for python 3.7

DOI

The 1.2.0 release contains better functionalities for handling unstructured data and it contains some minor bug fix to make it usable for python 3.7. The 1.2.0 release is the last one for python 2.7. The next releases will only be available for python 3.5+.

Added

  • The psyplot.plotter.Plotter.initialize_plot method now takes a priority keyword to only initialize only formatoptions of a certain priority

Removed

  • The installers from the psyplot-conda repositories have been depreceated. Instead, now download the latest miniconda and install psyplot and the plugins via conda install -c conda-forge psy-maps psyplot-gui psy-reg

Changed

  • We generalized the handling of unstructured data as lined out in issue#6. The new method psyplot.data.CFDecoder.get_cell_node_coord returns the coordinates of the nodes for a given grid cell. These informations are used by the psy-simple and psy-maps plugins for displaying any unstructured data. See also the example on the visualization of unstructured grids
  • We removed the inplace parameter for the CFDecoder methods since it is deprecated with xarray 0.12 (see issue #8). The CFDecoder.decode_ds method now always decodes inplace

- Python
Published by Chilipp about 7 years ago

psyplot - v1.1.0: New xarray DataArray and Dataset accessors

DOI

This new release mainly adds new xarray accossors (psy) for DataArrays and Datasets. Additionally we provide methods to calculate the spatially weighted mean, such as fldmean, fldstd and fldpctl.

Added

  • The yaxisinverted and xaxisinverted is now considered when loading and saving a matplotlib axes
  • Added the seaborn-style command line argument
  • Added the concat_dim command line argument
  • Added the plot attribute to the DataArray and Dataset accessors. It is now possible to plot directly from the dataset and the data array
  • Added requires_replot attribute for the Formatoption class. If this attribute is True and the formatoption is contained in an update, it is the same as calling Plotter.update(replot=True)).
  • We added support for multifile datasets when saving a project. Multifile datasets are datasets that have been opened with, e.g. psyplot.data.open_mfdataset or psyplot.project.plot.<plotmethod>(..., mfmode=True). This however does not always work with datasets opened with xarray.open_mfdataset. In these cases, you have to set the Dataset.psy._concat_dim attribute manually
  • Added the chname parameter when loading a project. This parameter can be used to display another variable from the dataset than the one stored in the psyplot project file
  • Added the gridweights, fldmean, fldstd and fldpctl methods to the psy DataArray accessor to calculate weighted means, standard deviations and percentiles over the spatial dimensions (x- and y).
  • Added the additional_children and additional_dependencies parameters to the Formatoption intialization. These parameters can be used to provide additional children for a formatoption for one plotter class
  • We added the psyplot.plotter.Formatoption.get_fmt_widget method which can be implemented to insert widgets in the formatoptions widget of the graphical user interface

- Python
Published by Chilipp over 7 years ago

psyplot - v1.0.0: First official and stable release

DOI This release is the first official and stable release which is also submitted to the Journal of Open Source Software (JOSS). It comes along with the releases of psy-simple, psy-maps, psy-reg, psyplot-gui and psyplot-conda.

Binaries to install all those packages can be found in the psyplot-conda repository.

Below we shortly describe the main changes to the psyplot versions below v1.0.0.

Added

  • Changelog

Changed

  • When creating new plots using the psyplot.project.Project.plot attribute, scp for the newly created subproject is only called when the corresponding Project is the current main project (gcp(True))
  • The alternate_paths keyword in the psyplot.project.Project.save_project and psyplot.data.ArrayList.array_info methods has been changed to alternative_paths
  • The psyplot.project.Cdo class does not accept any of the keywords returnDA, returnMaps or returnLine anymore. Instead it takes the plot_method keyword and several others.
  • The psyplot.project.close method by default now removes the data from the current project and closes attached datasets
  • The modules in the psyplot.plotter modules have been moved to separate packages to make the debugging and testing easier

    • The psyplot.plotter.simple, baseplotter and colors modules have been moved to the psy-simple package
    • The psyplot.plotter.maps and boxes modules have been moved to the psy-maps package
    • The psyplot.plotter.linreg module has been moved to the psy-reg package
  • The endings of the yaml configuration files are now all .yml. Hence,

    • the configuration file name is now psyplotrc.yml instead of psyplotrc.yaml
    • the default logging configuration file name is now logging.yml instead of logging.yaml
  • Under osx, the configuration directory is now also expected to be in $HOME/.config/psyplot (as it is for linux)

  • A lot of bugs have been fixed and formatoptions improved. In general theses changes are not backwards compatible.

- Python
Published by Chilipp about 8 years ago