Clisops

Latest version: v0.16.1

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 8

0.16.1

--------------------

This is a patch fix release to explicitly drop Python 3.9 support in the metadata due to incompatibility with `xarray`. For release notes on this minor version, see v0.16.0.

Bug Fixes
^^^^^^^^^
* Dropped Python3.9 support in metadata due to incompatibility with `xarray` (408).

Internal Changes
^^^^^^^^^^^^^^^^
* Fixed an issue with the `tox` configuration that was causing the `py3.10` environment to use the wrong Python version (408).

0.16.0

--------------------

New Features
^^^^^^^^^^^^
* `clisops` now officially supports Python 3.13 (398).
* Version limitations have been lifted on `xarray` and `numpy` to support newer versions (398).
* Mark regrid tests as `xfail` which do not pass due to latest xarray version (397).

Bug Fixes
^^^^^^^^^
* `clisops.utils.dataset_utils`
* Fixed `is_time` to avoid memory overload (397).

Internal Changes
^^^^^^^^^^^^^^^^
* Pinned a few docs-related dependencies to compatible versions. Added `sphinx-autodoc-typehints`, `sphinx-codeautolink`, and `sphinx-copybutton` to the docs dependencies (396).
* The `LICENSE` file has been adjusted to ensure it is more machine-parsable (398).
* Licensing information has been added to the top-level `__init__.py` file of the package (398).
* The `README.rst` file has been updated to include a table of relevant badges (398).
* All calls using `use_cftime=True` have been updated to `decode_times=xr.coders.CFDatetimeCoder(use_cftime=True)` as suggested by `xarray` (398).

CI Changes
^^^^^^^^^^
* Added a workflow for uploading preview releases to TestPyPI (374).
* GitHub Workflows now make more use of `step-security/harden-runner` Action for security hardening (398).
* Python libraries used for CI are now listed in `CI/requirements_ci.in` and pinned by their hashes in `CI/requirements_ci.txt` (398).
* Coverage reporting now uses the `coverallsapp/github-action` Action. Conda builds now also report coverage to Coveralls (398).

0.15.0

--------------------

New Features
^^^^^^^^^^^^
* The functionality of the `roocs-utils` library has been folded into `clisops`. `roocs-utils` is no longer a dependency of `clisops` (368, 370).
* The `CONFIG` settings have been updated to reflect the changes in `roocs-utils` and those required in `clisops` (370).
* Several development tooling libraries have been updated to their latest versions (368).

Other Changes
^^^^^^^^^^^^^
* The `pytest` testing suite has been updated to reflect the changes in the `roocs-utils` library and the new `clisops` configuration settings (368, 370):
* Tests previously found in `roocs-utils` have migrated to `clisops`.
* ``xclim.testing.utils.open_dataset()`` has been deprecated in favour of ``xclim.testing.utils.nimbus().fetch()``.

0.14.1

--------------------

New Features
^^^^^^^^^^^^
* Added new methods to `clisops.core.regrid.Grid`
* Added possibility to apply land or ocean mask if present in the file
* Adapted method from `ESMF` to detect smashed cells
* Masking degenerate (i.e. collapsed and smashed) cells
* Dropping lat/lon bounds if an integrity check fails
* Added a few attributes to the `Grid` object
* `clisops.ops.regrid`: added option to request a land/sea mask for the output grid
* `clisops.utils.dataset_utils`
* Added function `determine_lon_lat_range` to determine the min. and max. lat and lon values
* Added function `fix_unmasked_missing_values_lon_lat` to identify and mask yet unmasked missing values in lat and lon arrays
* Added `force` parameter to `cf_convert_between_lon_frames`

Bug Fixes
^^^^^^^^^
* `clisops.utils.dataset_utils`
* Fixed issue in `cf_convert_between_lon_frames` causing the longitude frame to not be adjusted in case of NaNs in the longitude array
* Addressed issues in `generate_bounds_curvilinear`
* latitudes are now clipped above 90 or below -90 degrees north
* longitudes are converted to longitude frame -180, 180
* longitude bounds are adjusted at the Greenwich meridian or anti meridian to avoid grid cells wrapping once or more times around the globe
* Bounds are generated significantly faster due to making use of index slicing and `numpy.vectorize`

Breaking Changes
^^^^^^^^^^^^^^^^
* Adapted functions from `roocs_utils.xarray_utils.xarray_utils` into `clisops.utils.dataset_utils`
* `get_coord_by_type` now returns the name of the coordinate variable and not the coordinate variable
* `get_coord_by_type` optionally returns a list with further matches for the coordinate variable
* `get_coord_by_type` does no longer raise an exception when more than one coordinate variable matches the requested type
* `get_coord_by_type` raises `ValueError` instead of `Exception` when the coordinate type is unknown
* `detect_coordinate` raises `KeyError` instead of `AttributeError` if no coordinate could be detected
* `detect_gridtype` raises `ValueError` for unsupported grid types rather than `InvalidParameterValue` and `Exception`
* `clisops.core.regrid`
* `Grid.detect_coordinate`: raises `KeyError` instead of `AttributeError` if no coordinate could be detected
* `clisops.ops.regrid`
* `Regrid._calculate`: issues `UserWarning` instead of letting `clisops.core.Weights.__init__` raise an `Exception` when input and output grid are alike

Other Changes
^^^^^^^^^^^^^
* The testing suite has been refactored to make better use of context handlers when opening files with `xarray`, preventing synonymous read errors and improving the overall performance of the tests.
* Several tests that were failing due to significantly long runtimes have been marked as `slow` and are now skipped by default.
* GitHub Workflows now use a timeout of 20 minutes for the build suite to prevent hanging builds.

0.14.0

--------------------

New Features
^^^^^^^^^^^^
* `clisops` now makes use of `pytest-xdist` for parallel testing. This can be enabled using `--numprocesses={int}`. See the `pytest-xdist documentation <https://pytest-xdist.readthedocs.io/en/latest/>`_ for more information (#345).
* Testing data caching is now handled by `pooch` and testing data registries ('stratus' for `roocs/mini-esgf-data` and 'nimbus' for `Ouranosinc/xclim-testdata`) (345).
* `clisops` coding conventions now use Python 3.9+ conventions (345).

Breaking Changes
^^^^^^^^^^^^^^^^
* `clisops` has dropped support for Python 3.8 (345).
* Several dependencies have been updated to include lower bounds for clearer compatibility and easier maintenance (345, XYZ).
* The affected core dependencies are: `dask >=2023.6.0`, `filelock >=3.15.4`, `geopandas >=0.14.0`, `jinja2 >=2.11`, `numpy >=1.23.0`, `packaging >=23.2`, `pandas >=1.5.0`, `pooch >=1.8.0`, `scipy >=1.9.0`, and `xarray >=2022.6.0`.
* Extra dependencies are `ipython >=8.5.0`, `matplotlib >=3.6.0`, `nbconvert >=7.14.0`, `nbsphinx >=0.9.5`, `pre-commit >=3.5.0`, and `sphinx >=7.0.0`.
* `clisops` no longer requires `gitpython >=3.1.30` and `requests >=2.0` (345).
* The development dependencies have been updated to include `deptry >=0.20.0` and `pytest-xdist[psutil] >=3.2` (345).
* `netCDF4` has been moved from core dependency to development dependency (345).

Other Changes
^^^^^^^^^^^^^
* `clisops.utils.testing` has replaced `clisops.utils.tutorial`. This submodule contains several functions and variables for allowing user control over testing data fetching (345).
* The `_common` testing tools have been migrated to `clisops.utils.testing` or rewritten as `pytest` fixtures (345).
* Testing data fetching now uses worker threads to copy cached data to threadsafe data caches that are separated by worker (345).

0.13.1

--------------------

Bug Fixes
^^^^^^^^^
* Changed the order of operations in `clisops.core.subset.subset_shape` to ensure that the CRS of the shapefile is compatible with the dataset CRS before attempting to subset (340).

Breaking Changes
^^^^^^^^^^^^^^^^
* Anaconda builds now require `cartopy >=0.23` and only support Python 3.9 and above (340).
* Many dependency version pins now include lower bounds for clearer compatibility and easier maintenance (343).

Other Changes
^^^^^^^^^^^^^
* Internal warnings now consistently use the `clisops` configured `loguru` logger (335).
* CI Actions now use the commit hashes for version tracking (343).

Page 1 of 8

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.