Cfdm

Latest version: v1.11.1.0

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

Scan your dependencies

Page 3 of 6

1.9.0.1

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

set -x

if [[ ! $1 ]] ; then
echo "Must set version as \$1 (e.g. 1.9.0.1)"
exit 1
fi

vn=$1

dir=~/tmp/test_cfdm
rm -fr $dir

pip install dist/cfdm-$vn.tar.gz -t $dir --no-deps

export PYTHONPATH=$dir:$PYTHONPATH
export PATH=$dir/bin:$PATH

cd $dir/cfdm/test

python run_tests.py
test_result_status=$?

set -x

exit $test_result_status


* Change the version and date in `cfdm/core/__init__.py`
(`__version__` and `__date__` variables).

* Change the version and date in `codemeta.json`

* Ensure that the requirements on dependencies and their versions are
up-to-date and consistent in both the `requirements.txt` file and in
`docs/source/installation.rst`; and in the `_requires` list and
`LooseVersion` checks in `cfdm/core/__init__.py` and
`cfdm/__init__.py`.

* If required, change the CF conventions version in
`cfdm/core/__init__.py` (`__cf_version__` variable), `setup.py`, and
`README.md`.

* Make sure that `README.md` is up to date.

* Make sure that the `long_description` in `setup.py` is up to date.

* Make sure that `Changelog.rst` is up to date (version, date, and
changes).

* Make sure that the package to be released is first in the PYTHONPATH
environment variable. This is necessary for the subsequent items to
work correctly.

bash
export PYTHONPATH=$PWD:$PYTHONPATH


* Check that the documentation API coverage is complete:

bash
./check_docs_api_coverage


* If it is not complete, add any undocumented attributes, methods,
functions and keyword arguments (e.g. as listed in the change log)
to the `.rst` files in `docs/source/class/`.

* Check external links to the CF conventions are up to date in
`docs/source/tutorial.rst`

* If and only if the CF conventions version has changed:

* Update the Conventions attribute of the tutorial sample files:

bash
cd docs/source
./update_sample_file_Conventions CF-<vn> E.g. ./update_sample_file_Conventions CF-1.10
cd -

* Change any printed Conventions values in `docs/source/tutorial.rst`

* Create a link to the new documentation in `docs/source/releases.rst`

* Ensure you have an environment with the right version of
Sphinx and some extensions for the build output we want.

The following version installation conditions should establish
this (note it will likely be useful to create a dedicated
environment and/or make use of `pip install --no-deps <lib>`
in order to handle the quite old Sphinx version):
bash
sphinx==2.4.5
sphinx-copybutton==0.5.1
sphinx-toggleprompt==0.2.0
sphinxcontrib-spelling==4.3.0


* Test tutorial code:

bash
./test_tutorial_code


* Build a development copy of the documentation using to check API
pages for any new methods are present & correct, & that the overall
formatting has not been adversely affected for comprehension by any
updates in the latest Sphinx or theme etc. (Do not manually commit
the dev build.)

bash
./release_docs dev-scrub


* Check that no typos or spelling mistakes have been introduced to the
documentation:

* Run a dummy build of the documentation to detect invalid words:

console
$ cd docs
$ rm -fr build
$ make spelling build


* If there are words raised with 'Spell check' warnings for the dummy
build, such as:

bash
/home/sadie/cf-python/docs/source/class/cf.NetCDFArray.rst:18: Spell check: isw: element in the sequence isw the name of the group in which.
Writing /home/sadie/cf-python/docs/spelling/class/cf.NetCDFArray.spelling
/home/sadie/cf-python/docs/source/class/cf.Query.rst:3: Spell check: encapulates: object encapulates a condition, such as.


they may or may not be typos or mis-spellings. Address all the warnings
(except those relating to files under `docs/source/class/`,
`/attribute` or `/function` which will be fixed along with the origin
docstrings after a 'latest' build) as follows:

* If there are words that are in fact valid, add the valid words to
the list of false positives for the spelling checker extension,
`docs/source/spelling_false_positives.txt`.
* Correct any words that are not valid in the codebase under `cfdm` or
in the `docs/source` content files.

* Note that, in the case there are many words raised as warnings, it
helps to automate the above steps. The following commands are a means
to do this processing:

1. Copy all 'spell check' warnings (there will be 'Writing to ...' lines
interspersed which can be removed by command so can be copied here too)
output to STDOUT during the build to a file (here we use
`spellings-file-1` as an example name).
2. Cut all 'Writing to ...' lines interspersed with the warnings by
running `sed -i '/^riting/d' spellings-file-1`.
3. Cut all of the invalid words detected from the warning messages via
`cat spellings-file-1 | cut -d':' -f 4 > spellings-file-2`
4. Sift through these new words and remove any words that are true
positives i.e. typos or mis-spellings. Correct them in the
docstrings or documentation source files. If there are many
instances across the docs, it helps to do a substitution of all
occurences, e.g. via `find . -type f | xargs sed -i 's/<typo>/<correction>/g'`,
though take care to have spaces surrounding words which may be
part of other words, e.g. use
`find . -type f | xargs sed -i 's/ ot / to /g'` to correct `ot` to `to`.
5. Remove the leading whitespace character on each line and add
all the new words to the current list of false positives:
`sed 's/^.//' spellings-file-2 >> docs/source/spelling_false_positives.txt`
6. Remove duplicate words and sort alphabetically via:
`sort -u -o docs/source/spelling_false_positives.txt docs/source/spelling_false_positives.txt`

* Create an archived copy of the documentation (note it will not get committed to this repo. here, but we will move and commit it to https://github.com/NCAS-CMS/cfdm-docs post-release, as a last step):

bash
./release_docs archive


* Update the latest documentation:

bash
./release_docs latest


* Create a source tarball:

bash
python setup.py sdist


* Test the tarball release using

bash

1.9.0.0

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

**2021-09-21**

* Python 3.6 support removed
(https://github.com/NCAS-CMS/cfdm/issues/139)
* Conversion of `cfdm.Domain` to a non-abstract that may be read from
and written to a netCDF dataset
(https://github.com/NCAS-CMS/cfdm/issues/111)
* New method: `cfdm.Domain.creation_commands`
* New method: `cfdm.Domain.climatological_time_axes`
* New method: `cfdm.AuxiliaryCoordinate.del_climatology`
* New method: `cfdm.AuxiliaryCoordinate.get_climatology`
* New method: `cfdm.AuxiliaryCoordinate.is_climatology`
* New method: `cfdm.AuxiliaryCoordinate.set_climatology`
* New method: `cfdm.DimensionCoordinate.del_climatology`
* New method: `cfdm.DimensionCoordinate.get_climatology`
* New method: `cfdm.DimensionCoordinate.is_climatology`
* New method: `cfdm.DimensionCoordinate.set_climatology`
* New function: `cfdm.unique_constructs`
* New function: `cfdm.example_fields`
* Construct access API changes from 1.8.9.0 applied to `Field.convert`
* Improved error message for invalid inputs to `Field.convert`
* Raise exception when attempting to write multiply defined coordinate
reference parameters (https://github.com/NCAS-CMS/cfdm/issues/148)
* Interpret format specifiers for size 1 `cfdm.Data` arrays
(https://github.com/NCAS-CMS/cfdm/issues/152)
* Fix file name expansions in `cfdm.write`
(https://github.com/NCAS-CMS/cfdm/issues/157)

----

1.8.9.0

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

**2021-05-25**

* Construct access API changes
(https://github.com/NCAS-CMS/cfdm/issues/124,
https://github.com/NCAS-CMS/cfdm/issues/130,
https://github.com/NCAS-CMS/cfdm/issues/132,
https://github.com/NCAS-CMS/cfdm/issues/137)
* Performance enhancements
(https://github.com/NCAS-CMS/cfdm/issues/124,
https://github.com/NCAS-CMS/cfdm/issues/130)
* New write mode ``mode='a'`` for appending to, rather than over-writing,
a netCDF file on disk (https://github.com/NCAS-CMS/cfdm/issues/143)
* Better error message in the case of a `numpy.ma.core.MaskError` occurring
upon reading of CDL files with only header or coordinate information
(https://github.com/NCAS-CMS/cfdm/issues/128)
* Fix for zero-sized unlimited dimensions when read from a grouped
netCDF file (https://github.com/NCAS-CMS/cfdm/issues/113)
* Fix bug causing occasional non-symmetric `equals` operations
(https://github.com/NCAS-CMS/cfdm/issues/133)
* Changed dependency: ``cftime>=1.5.0``
* Changed dependency: ``netCDF4>=1.5.4``

----

1.8.8.0

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

**2020-12-18**

* The setting of global constants can now be controlled by a context
manager (https://github.com/NCAS-CMS/cfdm/issues/100)
* Fixed bug that caused a failure when writing a dataset that contains
a scalar domain ancillary construct
(https://github.com/NCAS-CMS/cfdm/issues/98)
* Changed dependency: ``cftime>=1.3.0``

----

1.8.7.0

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

**2020-10-09**

* Python 3.5 support deprecated (3.5 was retired on 2020-09-13)
* New method: `cfdm.Field.creation_commands`
* New method: `cfdm.Data.creation_commands`
* New method: `cfdm.Field._docstring_special_substitutions`
* New method: `cfdm.Field._docstring_substitutions`
* New method: `cfdm.Field._docstring_package_depth`
* New method: `cfdm.Field._docstring_method_exclusions`
* New method: `cfdm.Data.filled`
* New keyword parameter to `cfdm.Field.set_data`: ``inplace``
* New keyword parameter to `cfdm.write`: ``coordinates``
(https://github.com/NCAS-CMS/cfdm/issues/81)
* New class: `cfdm.core.DocstringRewriteMeta`
* Comprehensive documentation coverage of class methods.
* Improved documentation following JOSS review.
* Enabled "creation commands" methods
(https://github.com/NCAS-CMS/cfdm/issues/53)
* Fixed bug that caused failures when reading or writing a dataset
that contains multiple geometry containers
(https://github.com/NCAS-CMS/cfdm/issues/65)
* Fixed bug that prevented the writing of multiple fields to netCDF when
at least one dimension was shared between some of the fields.

----

1.8.6.0

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

**2020-07-24**

* Removed Python 2.7 support
(https://github.com/NCAS-CMS/cfdm/issues/55)
* Implemented the reading and writing of netCDF4 group hierarchies for
CF-1.8 (https://github.com/NCAS-CMS/cfdm/issues/13)
* Renamed to lower-case (but otherwise identical) names all functions
which get and set global constants: `cfdm.atol`, `cfdm.rtol`,
`cfdm.log_level`. The old names e.g. `cfdm.ATOL` remain functional
as aliases.
* New function: `cfdm.configuration`
* New method: `cfdm.Field.nc_variable_groups`
* New method: `cfdm.Field.nc_set_variable_groups`
* New method: `cfdm.Field.nc_clear_variable_groups`
* New method: `cfdm.Field.nc_group_attributes`
* New method: `cfdm.Field.nc_set_group_attribute`
* New method: `cfdm.Field.nc_set_group_attributes`
* New method: `cfdm.Field.nc_clear_group_attributes`
* New method: `cfdm.Field.nc_geometry_variable_groups`
* New method: `cfdm.Field.nc_set_geometry_variable_groups`
* New method: `cfdm.Field.nc_clear_geometry_variable_groups`
* New method: `cfdm.DomainAxis.nc_dimension_groups`
* New method: `cfdm.DomainAxis.nc_set_dimension_groups`
* New method: `cfdm.DomainAxis.nc_clear_dimension_groups`
* New method: `cfdm.AuxiliaryCoordinate.del_interior_ring`
* New keyword parameter to `cfdm.write`: ``group``
* Keyword parameter ``verbose`` to multiple methods now accepts named
strings, not just the equivalent integer levels, to set verbosity.
* Added test to check that cell bounds have more dimensions than the
data.
* Added test to check that dimension coordinate construct data is
1-dimensional.
* Fixed bug in `cfdm.CompressedArray.to_memory`.
* Fixed bug that caused an error when a coordinate bounds variable is
missing from a dataset (https://github.com/NCAS-CMS/cfdm/issues/63)
* New dependency: ``netcdf_flattener>=1.2.0``
* Changed dependency: ``cftime>=1.2.1``
* Removed dependency: ``future``

----

Page 3 of 6

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.