Skip to content

Commit dccb6a5

Browse files
authored
Replace pyke nopyke (SciTools#4198)
* First steps in parallel rules implementation. * Rename some things + add comments. * Headers, tweaks, reorg test__load_cube. * Fix handling of coord-systems. * Remove extra cdl. * Add more grid-mapping tests; tidy testcode structure a bit. * Test more grid types : rotated and some non-latlon (WIP). * Fix 'checker' call usage. * Reorganise testcode inheritance to provide testclasses for pyke/nonpyke. Replace 'bad mapping' control with scale-factor key. **NOTE** non-pyke bad mercatorhas outstanding test failures -- to be fixed. * Tests for all supported grid-mappings. Note which rules trigger in each case. * Disable testing against non-pyke code, for now. * Revert old tests/test_netcdf.py * Odd clarifying comments. * Tidy testcase creation a bit. * Tests for mapping-types mismatch between coords+grid-mapping; Test nonmonotonic dimcoord values; Test warnings (or not). * Refactor to put different test areas in their own sourcefiles. * Small fix to actions code. * Move grid-mapping-specific content out of common load_cube__activate code. * Add tests for time rules. * Simplify and remove unused keys; check coord classes; test dim+aux shared dim. * Simpler 'Opts' implementation. * Tidy testing classes a bit. * Tests for hybrid vertical coords. * Small review changes. * Regularise per-test records of rules triggered. * Added tests for auxiliary lat+lon coords. * Tests for remaining miscellaneous rules. * Review: fix typos. * Add testing option to compare pyke and nonpyke loads. * Fixes to grid-mapping/dimcoord actions: passing all compare-tests. * Actions for remaining 'miscellaneous' behaviour: All tests passing, including pyke == nonpyke checks. * Improved comments in actions routines. * Added actions for formulae (aka hybrid coords, factories). * Tiny fix. * Small review changes. * Added basic tests for Engine class. * Raise actual warning for unrecognised formulae. * Remove unreachable warning code. * Remove unreachable rule-fail code. * Testcase for multiple hybrid coordinates. * Fix rotated-aux-latitude test. * Isort fixes. * Remove pyke and simplify testing. * Ensure a definite ordering for formula-root processing. * Odd corrections to comments. * Updated all 'rules triggered' comments. * Fix scope-bleed from actions test debugging, and turn it off. * Updated lockfiles. * Small fixes to comments. * Remove refs to pyke in project config files. * Review changes for comments: fix, clarify + make consistent. * Review change: correct test comment. * Review changes: clarify comments.
1 parent 0c942c0 commit dccb6a5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4884
-2989
lines changed

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ pip-cache
3535
# Created by Iris build
3636
*.so
3737
lib/iris/etc/site.cfg
38-
lib/iris/fileformats/_pyke_rules/compiled_krb/
3938
lib/iris/std_names.py
4039

4140
# Iris test result files

MANIFEST.in

-2
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ include CHANGES COPYING COPYING.LESSER
33

44
# Files from setup.py package_data that are not automatically added to source distributions
55
recursive-include lib/iris/tests/results *.cml *.cdl *.txt *.xml *.json
6-
recursive-exclude lib/iris/fileformats/_pyke_rules/compiled_krb *
76
recursive-include lib/iris/etc *
8-
include lib/iris/fileformats/_pyke_rules/*.krb
97

108
recursive-include requirements *
119

asv.conf.json

-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
"scipy": [],
2121

2222
"setuptools": [],
23-
"pyke": [],
2423
"six": [],
2524

2625
"nose": [],

docs/src/developers_guide/release.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ To do this perform the following steps.
104104
Create a conda environment with the appropriate conda packages to build the
105105
source distribution (``sdist``) and pure Python wheel (``bdist_wheel``)::
106106

107-
> conda create -n iris-pypi -c conda-forge --yes pip pyke python setuptools twine wheel
107+
> conda create -n iris-pypi -c conda-forge --yes pip python setuptools twine wheel
108108
> . activate iris-pypi
109109

110110
Checkout the appropriate Iris ``<release>`` tag from the appropriate ``<repo>``.

docs/src/installing.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ The rest can be done with pip. Begin with numpy::
7070
Finally, Iris and its Python dependencies can be installed with the following
7171
command::
7272

73-
pip3 install setuptools cftime==1.2.1 cf-units scitools-pyke scitools-iris
73+
pip3 install setuptools cftime==1.2.1 cf-units scitools-iris
7474

7575
This procedure was tested on a Ubuntu 20.04 system on the
7676
27th of January, 2021.

lib/iris/tests/unit/fileformats/pyke_rules/__init__.py lib/iris/fileformats/_nc_load_rules/__init__.py

+7-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,10 @@
33
# This file is part of Iris and is released under the LGPL license.
44
# See COPYING and COPYING.LESSER in the root of the repository for full
55
# licensing details.
6-
"""Unit tests for the :mod:`iris.fileformats._pyke_rules` module."""
6+
"""
7+
Support for cube-specific CF-to-Iris translation operations.
8+
9+
Interprets CF concepts identified by :mod:`iris.fileformats.cf` to add
10+
components into loaded cubes.
11+
12+
"""

0 commit comments

Comments
 (0)