Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
f842287
Set NEXTVERSION tags ready for v3.19.0 release
sadielbartholomew Jan 16, 2026
590ae8e
Update __init__.py with new version, date and pins
sadielbartholomew Jan 16, 2026
ad286e8
Update info & setup files for new cfdm version pin
sadielbartholomew Jan 16, 2026
67e88ca
Remove effective duplicate entry from long description
sadielbartholomew Jan 16, 2026
fc886eb
Update & improve order in v3.19.0 changelog entry
sadielbartholomew Jan 16, 2026
a2ac17e
Add all undoc'd new methods, all for cf.Data class
sadielbartholomew Jan 16, 2026
792e054
Create new docs release link on releases page + typo fix
sadielbartholomew Jan 16, 2026
41eec1a
Update RELEASE checklist to remove outdated step + typo fix
sadielbartholomew Jan 16, 2026
ecdc483
Add sharding to spelling checker false positives
sadielbartholomew Jan 16, 2026
e1ef2d0
Prevent Sphinx bulid errors on section can't 'begin w/ a transition'
sadielbartholomew Jan 16, 2026
27af3e5
Prevent more bulid errors on section can't 'begin w/ a transition'
sadielbartholomew Jan 16, 2026
966267a
Remove deprecated function from functions listing
sadielbartholomew Jan 16, 2026
6926312
Update date of v3.19.0 release to 19th Jan
sadielbartholomew Jan 19, 2026
8640aa4
Update recipes-docs conf.py esp. to separate source & gallery
sadielbartholomew Jan 19, 2026
c211313
Update docs resources: move logos from templates to static dir.
sadielbartholomew Jan 19, 2026
fc335a2
Add new recipes-source for recipe scripts & context RST only
sadielbartholomew Jan 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 4 additions & 8 deletions Changelog.rst
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
Version NEXTVERSION
Version 3.19.0
--------------

**2026-01-??**
**2026-01-19**

* Write Zarr v3 datasets with `cf.write`
(https://github.com/NCAS-CMS/cf-python/issues/895)
* Read Zarr v2 and v3 datasets that contain a group hierarchy with
`cf.read` (https://github.com/NCAS-CMS/cf-python/issues/894)
* Reduce the time taken to import `cf`
(https://github.com/NCAS-CMS/cf-python/issues/902)
* New optional dependency: ``zarr>=3.1.3``
* New function to control the creation of cached elements during data
display: `cf.display_data`
(https://github.com/NCAS-CMS/cf-python/issues/913)
Expand All @@ -23,7 +22,8 @@ Version NEXTVERSION
(https://github.com/NCAS-CMS/cf-python/issues/902)
* Reduce the time taken to import `cf`
(https://github.com/NCAS-CMS/cf-python/issues/902)
* Changed dependency: ``cfdm>=1.12.4.0, <1.12.5.0``
* New optional dependency: ``zarr>=3.1.3``
* Changed dependency: ``cfdm>=1.13.0.0, <1.13.1.0``

----

Expand Down Expand Up @@ -1214,7 +1214,6 @@ version 2.2.4

version 2.2.3
--------------
----

**2018-06-21**

Expand Down Expand Up @@ -1253,7 +1252,6 @@ version 2.2.1

version 2.2.0
-------------
----

**2018-06-04**

Expand Down Expand Up @@ -1320,7 +1318,6 @@ version 2.1.3

version 2.1.2
-------------
----

**2017-11-28**

Expand Down Expand Up @@ -1353,7 +1350,6 @@ version 2.1

version 2.0.6
-------------
----

**2017-09-28**

Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ of its array manipulation and can:
* test whether two field constructs are the same,
* modify field construct metadata and data,
* create subspaces of field constructs,
* write field constructs to netCDF datasets on disk,
* incorporate, and create, metadata stored in external files,
* read, write, and create data that have been compressed by convention
(i.e. ragged or gathered arrays, or coordinate arrays compressed by
Expand Down
9 changes: 2 additions & 7 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,7 @@
- [ ] Ensure that the requirements on dependencies & their versions
are up-to-date and consistent in both the `requirements.txt` and in
`docs/source/installation.rst` (paying particular attention to
`cfdm`); and in the `_requires` list and `Version` checks in
`cf/__init__.py`.
`cfdm`); and in the cfdm-only `Version` checks in `cf/__init__.py`.

- [ ] Make sure that `README.md` is up to date.

Expand All @@ -40,7 +39,7 @@
deprecated methods and keyword arguments that can be completely
removed, i.e. those with a ``removed_at`` version that is at or
before the version being released. Remove any reference to them in
the method, class, or fucntion (including, if appropriate, the
the method, class, or function (including, if appropriate, the
``@_deprecated_kwarg_check`` decorator), and remove them from the
relevant documentation ``.rst`` files.

Expand All @@ -67,10 +66,6 @@
./test_tutorial_code
```

- [ ] **Follow all of the steps outlined externally in [`RECIPES.md`](./RECIPES.md)**,
notably so that the correct Sphinx-related environment is prepared for
documentation building.

- [ ] Ensure that the [PDF for Cheat Sheet](docs/_downloads/cheatsheet.pdf)
is updated to include any API changes. The PDF is created using Canva
keeping in mind the colours and fonts of the website. The same could
Expand Down
8 changes: 4 additions & 4 deletions cf/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,16 +85,16 @@
from packaging.version import Version


__date__ = "2025-10-16"
__version__ = "3.18.2"
__date__ = "2026-01-19"
__version__ = "3.19.0"
__cf_version__ = cfdm.__cf_version__
__Conventions__ = f"CF-{__cf_version__}"

# Check the version of cfdm (this is worth doing because of the very
# tight coupling between cf and cfdm, and the risk of bad things
# happening at run time if the versions are mismatched).
_minimum_vn = "1.12.3.1"
_maximum_vn = "1.12.4.0"
_minimum_vn = "1.13.0.0"
_maximum_vn = "1.13.1.0"
_cfdm_vn = Version(cfdm.__version__)
if _cfdm_vn < Version(_minimum_vn) or _cfdm_vn >= Version(_maximum_vn):
raise RuntimeError(
Expand Down
6 changes: 3 additions & 3 deletions cf/functions.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,7 @@ def configuration(
The new display data option. The default is to not change
the current behaviour.

.. versionadded:: NEXTVERSION
.. versionadded:: 3.19.0

regrid_logging: `bool` or `Constant`, optional
The new value (either True to enable logging or False to
Expand Down Expand Up @@ -1504,7 +1504,7 @@ def total_memory():
def is_log_level_info(logger):
"""Return True if and only if log level is at least as verbose as INFO.

Deprecated at version NEXTVERSION and is no longer available. Use
Deprecated at version 3.19.0 and is no longer available. Use
`cfdm.is_log_level_info` instead.

.. versionadded:: 3.16.3
Expand All @@ -1525,7 +1525,7 @@ def is_log_level_info(logger):
_DEPRECATION_ERROR_FUNCTION(
"is_log_level_info",
message="Use cfdm.is_log_level_info instead",
version="NEXTVERSION",
version="3.19.0",
removed_at="5.0.0",
) # pragma: no cover

Expand Down
4 changes: 2 additions & 2 deletions cf/read_write/read.py
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ class read(cfdm.read):

{{read store_dataset_shards: `bool`, optional}}

.. versionadded:: NEXTVERSION
.. versionadded:: 3.19.0

{{read cfa: `dict`, optional}}

Expand All @@ -334,7 +334,7 @@ class read(cfdm.read):

{{read group_dimension_search: `str`, optional}}

.. versionadded:: NEXTVERSION
.. versionadded:: 3.19.0

umversion: deprecated at version 3.0.0
Use the *um* parameter instead.
Expand Down
8 changes: 4 additions & 4 deletions docs/_templates/sponsors.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@
and by <a href="https://ncas.ac.uk/">NCAS</a>.
<br>
<br>
<img src="{{ pathto('_templates/logo_EC.png', 1) }}" height="40">
<img src="{{ pathto('_templates/logo_ERC.png', 1) }}" height="40">
<img src="{{ pathto('_templates/logo_NERC.png', 1) }}" height="40">
<img src="{{ pathto('_static/logo_EC.png', 1) }}" height="40">
<img src="{{ pathto('_static/logo_ERC.png', 1) }}" height="40">
<img src="{{ pathto('_static/logo_NERC.png', 1) }}" height="40">
<br>
<img src="{{ pathto('_templates/logo_NCAS.png', 1) }}" height="40">
<img src="{{ pathto('_static/logo_NCAS.png', 1) }}" height="40">
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
2 changes: 0 additions & 2 deletions docs/source/aggregation_rules.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,6 @@
**Aggregation rules**
=====================

----

Version |release| for version |version| of the CF conventions.

*David Hassell and Jonathan Gregory (2012)*
Expand Down
2 changes: 0 additions & 2 deletions docs/source/api_reference.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
**API reference**
=================

----

Version |release| for version |version| of the CF conventions.

* **Construct classes**
Expand Down
2 changes: 0 additions & 2 deletions docs/source/cheat_sheet.rst
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@
**Cheat Sheet**
===============

----

Version |release| for version |version| of the CF conventions.

This cheat sheet provides a summary of some key functions and methods in
Expand Down
5 changes: 5 additions & 0 deletions docs/source/class/cf.Data.rst
Original file line number Diff line number Diff line change
Expand Up @@ -659,6 +659,11 @@ Performance
~cf.Data.fits_in_memory
~cf.Data.section
~cf.Data.persist
~cf.Data.cache_elements
~cf.Data.get_cached_elements
~cf.Data.nc_clear_dataset_shards
~cf.Data.nc_dataset_shards
~cf.Data.nc_set_dataset_shards

.. rubric:: Attributes

Expand Down
2 changes: 0 additions & 2 deletions docs/source/function.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ Reading and writing

cf.read
cf.write
cf.netcdf_lock

Aggregation
-----------
Expand Down Expand Up @@ -157,7 +156,6 @@ Active storage reductions
cf.active_storage
cf.active_storage_url
cf.active_storage_max_requests
cf.netcdf_lock

Miscellaneous
-------------
Expand Down
4 changes: 2 additions & 2 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,8 @@ Required

* `scipy <https://pypi.org/project/scipy>`_, version 1.10.0 or newer.

* `cfdm <https://pypi.org/project/cfdm/>`_, version 1.12.3.1 or up to,
but not including, 1.12.4.0.
* `cfdm <https://pypi.org/project/cfdm/>`_, version 1.13.0.0 or up to,
but not including, 1.13.1.0.

* `cfunits <https://pypi.org/project/cfunits/>`_, version 3.3.7 or newer.

Expand Down
2 changes: 0 additions & 2 deletions docs/source/introduction.rst
Original file line number Diff line number Diff line change
Expand Up @@ -93,8 +93,6 @@ The `cf` package can:

* create subspaces of field constructs,

* write field constructs to netCDF datasets on disk,

* incorporate, and create, metadata stored in external files,

* read, write, and create data that have been compressed by convention
Expand Down
7 changes: 6 additions & 1 deletion docs/source/releases.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,15 @@ Documentation for all versions of cf.
:local:
:backlinks: entry

**CF-1.13**
-----------

* `Version 3.19.0 <https://ncas-cms.github.io/cf-python-docs/3.19.0>`_ (2026-01-19)

**CF-1.12**
-----------

* `Version 3.18.2 <https://ncas-cms.github.io/cf-python-docs/3.18.1>`_ (2025-10-16)
* `Version 3.18.2 <https://ncas-cms.github.io/cf-python-docs/3.18.2>`_ (2025-10-16)
* `Version 3.18.1 <https://ncas-cms.github.io/cf-python-docs/3.18.1>`_ (2025-08-20)
* `Version 3.18.0 <https://ncas-cms.github.io/cf-python-docs/3.18.0>`_ (2025-06-05)
* `Version 3.17.0 <https://ncas-cms.github.io/cf-python-docs/3.17.0>`_ (2025-04-02)
Expand Down
3 changes: 2 additions & 1 deletion docs/source/spelling_false_positives.txt
Original file line number Diff line number Diff line change
Expand Up @@ -449,8 +449,9 @@ seterr
setitem
setmask
setprop
Signell
shapefiles
sharding
Signell
sinh
spacings
spatiotemporal
Expand Down
15 changes: 13 additions & 2 deletions recipes-docs/source/conf.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
import faulthandler
import os
import sys

from sphinx_gallery.sorting import FileNameSortKey

faulthandler.enable() # seg fault detection - as recipes prone to seg faulting

# Make main 'docs' conf.py importable
sys.path.insert(0, os.path.abspath("../../docs/source"))

Expand All @@ -19,8 +22,9 @@

# sphinx-gallery configuration
sphinx_gallery_conf = {
"examples_dirs": "recipes", # path to recipe files
"examples_dirs": "recipes-source", # path to recipe files
"gallery_dirs": "recipes", # path to save gallery generated output
"ignore_pattern": "/exclusions/",
"run_stale_examples": False,
# Below setting can be buggy: see:
# https://github.com/sphinx-gallery/sphinx-gallery/issues/967
Expand All @@ -29,15 +33,22 @@
"doc_module": ("cf",),
"inspect_global_variables": True,
"within_subsection_order": FileNameSortKey,
"default_thumb_file": "_static/cf-recipe-placeholder-squarecrop.png",
"default_thumb_file": "../../docs/source/_static/cf-recipe-placeholder-squarecrop.png",
"image_scrapers": (
"matplotlib",
), # Ensures Matplotlib images are captured
"plot_gallery": True, # Enables plot rendering
"reset_modules": ("matplotlib",), # Helps with memory management
"capture_repr": (),
# "filename_pattern": r"plot",
}

exclude_patterns = [
"exclusions/**",
]

html_static_path = ["../../docs/source/_static"]
html_logo = "../../docs/source/images/logo.svg"
html_favicon = "../../docs/source/_static/favicon.ico"

templates_path = ["../../docs/_templates"]
Loading