Changelog#

0.3.0 (2024-02-16)#

Contributors to this version: Sarah-Claude Bourdeau-Goulet (@Sarahclaude), Pascal Bourgault (@aulemahal), Trevor James Smith (@Zeitsperre), Juliette Lavoie (@juliettelavoie), Gabriel Rondeau-Genesse (@RondeauG).

New features and enhancements#

  • New function fg.matplotlib.hatchmap (PR/107).

  • Support for translating figures. Activating a locale through xclim’s metadata_locales option will try to use metadata saved by xclim or xscen in this locale and to translate common terms appearing in the figures. figanos currently ships with French translations of those terms. (PR/109, GH/64).

  • New figanos.Logos class added to manage and install logos stored in user’s Home configuration directory. The figanos.utils.plot_logo function call signature has changed to support the new system. (GH/115, PR/119).

  • Logo sizing and placement now depends on scikit-image for resizing, and uses "width" and "height" instead of "zoom". (GH/123, PR/119).

  • Logo plotting now supports both PNG and SVG file types (via cairosvg). (PR/119).

  • Use small geojson in the notebook. (PR/124).

  • Add the Colours of Figanos page (GH/126, PR/127).

  • Figanos now adheres to PEPs 517/518/621 using the flit backend for building and packaging. (PR/135).

  • New function fg.partition (PR/134).

  • Add wrapper around xarray.plot.facetgrid for map functions (fg.gridmap, fg.scattermap, fg.hatchmap). (GH/51, PR/136).

  • figanos now uses Semantic Versioning v2.0. (PR/143).

  • Add wrapper around xarray.plot.facetgrid for multiple functions (fg.gridmap, fg.scattermap, fg.hatchmap, fg.timeseries). (GH/51, PR/136).

Bug fixes#

  • Fixed packaging issue with the Manifest.in not bundling a YAML file loaded on import. (PR/118).

Internal changes#

  • Clean up of the dependencies to remove the notebooks deps from the core deps.

  • figanos now uses Trusted Publishing to publish the package on PyPI and TestPyPI. (PR/113).

  • The official Ouranos logos have been removed from the repository. They can now be installed if required via the figanos.Logos.install_ouranos_logos class method. (GH/115, PR/119).

  • Documentation adjustments. (PR/121):
    • Added a few pre-commit hooks for cleaning up notebooks and ensuring that docstrings are properly formatted.

    • Cleaned up the docstrings of a few functions, added some module-level strings, minor typo fixes.

    • Set nbsphinx in the documentation to always run (with th exception of one complex cell).

    • The environment-dev.yml Python version is set to 3.11 to reduce the dependency solver complexity.

  • The cookiecutter template has been updated to the latest commits via cruft. (PR/138, PR/143):
    • Manifest.in, requirements_dev.txt, requirements_docs.txt and setup.py have been removed.

    • pyproject.toml has been added, with most package configurations migrated into it.

    • HISTORY.rst has been renamed to CHANGES.rst.

    • dependabot has been added to the GitHub workflows to manage workflow and package dependency pins.

    • bump-version.yml has been added to automate patch versioning of the package.

    • pre-commit hooks have been updated to the latest versions; check-toml and toml-sort have been added to cleanup the pyproject.toml file.

    • ruff has been added to the linting tools to replace most flake8 and pydocstyle verifications.

    • GitHub workflows now run proper pytest suites for conda-based testing.

    • figanos now uses the actions/labeler action to automatically label pull requests based on their content.

    • GitHub workflows are now using the step-security/harden-runner action to harden the runner environment.

    • The OpenSSF scorecard.yml workflow has been added to the GitHub workflows to evaluate package security.

Bug fixes#

  • Fixed an issue with the divergent argument getting ignored (PR/132).

  • Some small documentation fixes for working uniquely in a conda environment. (PR/138).

0.2.0 (2023-06-19)#

Contributors to this version: Sarah-Claude Bourdeau-Goulet (@Sarahclaude), Trevor James Smith (@Zeitsperre), Juliette Lavoie (@juliettelavoie).

New features and enhancements#

  • Improved documentation to reduce warnings, now using the sphinx-book-theme. (PR/97, PR/98).

  • Python3.7 support has been dropped. (PR/100).

Bug fixes#

  • Fixed issue in environment.yml that was installing two versions of cartopy. (PR/97).

Internal changes#

  • Updated autogenerated boilerplate (Ouranosinc/cookiecutter-pypackage) via cruft. (PR/100):
    • General updates to pre-commit hooks, development dependencies, documentation.

    • Added configurations for Pull Request and Issues templates, Zenodo.

    • Documentation now makes use of sphinx directives for usernames, issues, and pull request hyperlinks (via sphinx.ext.extlinks).

    • GitHub Workflows have been added for automated testing, and publishing.

    • Some sphinx extensions have been added/enabled (sphinx-codeautolink, sphinx-copybutton).

    • Automated testing with tox now updated to use v4.0+ conventions.

    • Removed all references to travis.ci.

0.1.0 (2023-06-08)#

Contributors to this version: Sarah-Claude Bourdeau-Goulet (@Sarahclaude), Alexis Beaupré-Laperrière (@Beauprel), Trevor James Smith (@Zeitsperre), Juliette Lavoie (@juliettelavoie).

  • First release on PyPI.