• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Ouranosinc / xclim / 24206295459
92%
main: 92%

Build:
Build:
LAST BUILD BRANCH: dev-v099
DEFAULT BRANCH: main
Ran 09 Apr 2026 06:25PM UTC
Jobs 6
Files 62
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

09 Apr 2026 06:20PM UTC coverage: 91.836% (+0.01%) from 91.824%
24206295459

push

github

web-flow
[new xclim] Major generics refactor (#2258)

<!--Please ensure the PR fulfills the following requirements! -->
<!-- If this is your first PR, make sure to add your details to the
AUTHORS.rst! -->
### Pull Request Checklist:
- [x] This PR addresses an already opened issue (for bug fixes /
features)
    - This PR fixes #2173
- [x] Tests for the changes have been added (for bug fixes / features)
- [x] (If applicable) Documentation has been added / updated (for bug
fixes / features)
- [x] CHANGELOG.rst has been updated (with summary of main changes)
- [x] Link to issue (:issue:`number`) and pull request (:pull:`number`)
has been added

### What kind of change does this PR introduce?
Major refactor of the `xclim.indices.generics` submodule.

This new "generic" submodule has harmonized vocabulary and signatures.
Names and words are taken from "clix-meta" when possible.

New submodules:
- `reducers.py ` : for resampling functions like "doymin" and "doymax".
Logic from `to_agg_units` could go here in a further PR.
- `classify.py` : First step for #2192, the MCA-like function we had is
now there.
- `helpers.py` : Not new, but with now an extented reach as to include
tools like `compare` and `spell_mask`

This way, `generic` almost only contains "index-like" function, i.e.
functions ready to be wrapped in a `ResamplingIndicator`.

This PR also introduced `is_temporal_rate` because I needed it to make a
clix index function.

Finally, I reverted the decision from #2150 and now `to_agg_units`
_always_ assumes the input is daily if it can't find its frequency.

### Does this PR introduce a breaking change?
Of course. I'll try to provide a map of the renamed functions tomorrow.

I tried not to break the other `xclim.indices` and `xclim.indicators`
modules. I have not yet measured to full extent of the breaking.


### Suggestion and next steps:
Consider this PR as the first one of a series in preparation of a new
xclim, xclim 1.0 or xclim v2026, depending on how we f... (continued)

472 of 518 new or added lines in 22 files covered. (91.12%)

4 existing lines in 3 files now uncovered.

7930 of 8635 relevant lines covered (91.84%)

6.28 hits per line

Uncovered Changes

Lines Coverage ∆ File
20
89.77
-1.79% src/xclim/indices/generic.py
8
92.62
2.37% src/xclim/core/utils.py
6
82.35
src/xclim/indices/classify.py
4
92.31
src/xclim/indices/clix.py
4
83.0
3.22% src/xclim/indices/helpers.py
2
98.0
0.26% src/xclim/indices/_threshold.py
1
96.81
0.03% src/xclim/core/indicator.py
1
88.01
0.26% src/xclim/core/units.py

Coverage Regressions

Lines Coverage ∆ File
2
89.77
-1.79% src/xclim/indices/generic.py
1
96.81
0.03% src/xclim/core/indicator.py
1
92.62
2.37% src/xclim/core/utils.py
Jobs
ID Job ID Ran Files Coverage
1 run-3.10-ubuntu-latest- - 24206295459.1 09 Apr 2026 06:25PM UTC 62
88.04
GitHub Action Run
2 run-{{ matrix.python-version }}-conda - 24206295459.2 09 Apr 2026 06:26PM UTC 62
91.75
GitHub Action Run
3 run-3.14-ubuntu-latest- - 24206295459.3 09 Apr 2026 06:25PM UTC 62
88.03
GitHub Action Run
4 run-3.13-ubuntu-latest- - 24206295459.4 09 Apr 2026 06:27PM UTC 62
88.73
GitHub Action Run
5 run-3.13-macos-latest- - 24206295459.5 09 Apr 2026 06:27PM UTC 62
91.74
GitHub Action Run
6 run-3.12-ubuntu-latest- - 24206295459.6 09 Apr 2026 06:26PM UTC 62
88.04
GitHub Action Run
Source Files on build 24206295459
  • Tree
  • List 62
  • Changed 22
  • Source Changed 22
  • Coverage Changed 16
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #24206295459
  • 8e55d3c9 on github
  • Prev Build on dev-v099 (#24157953549)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc