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

colour-science / colour / 28980158640
98%
develop: 99%

Build:
Build:
LAST BUILD BRANCH: feature/array-api-support
DEFAULT BRANCH: develop
Ran 08 Jul 2026 10:54PM UTC
Jobs 1
Files 626
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

08 Jul 2026 10:28PM UTC coverage: 98.38% (-0.4%) from 98.819%
28980158640

push

github

thomasmansencal
Implement support for *Python Array API Standard*.

*Colour* now dispatches array operations to the caller's backend (*NumPy*,
*JAX*, *PyTorch*) through the array-namespace machinery in
`colour.utilities.array`. Beyond the mechanical *NumPy* to namespace
conversion, this commit bundles the behaviour and public API changes
documented below so that they remain discoverable under `git blame` and
`git bisect`.

## Features

- Support for the *Python Array API Standard* was implemented: array
  operations dispatch to the input backend (*NumPy*, *JAX*, *PyTorch*)
  through the new `colour.utilities.array_namespace` and `xp_*` utilities,
  toggled with `colour.utilities.is_array_api_enabled` and
  `colour.utilities.set_array_api_enabled`.
- `colour.utilities.is_array_api_compat_installed` and
  `colour.utilities.is_array_api_extra_installed` were added.
- `colour.colorimetry.interpolate_signal`,
  `colour.colorimetry.extrapolate_signal` and
  `colour.colorimetry.trim_signal` were added, sharing the spectral
  distribution and multi-spectral distributions resampling implementation.
- `colour.colorimetry.msds_blackbody`,
  `colour.colorimetry.msds_rayleigh_jeans`,
  `colour.colorimetry.CIE_illuminant_D_series`,
  `colour.colorimetry.msds_CIE_illuminant_D_series` and
  `colour.colorimetry.msds_to_XYZ_tristimulus_weighting_factors_ASTME308`
  were added.
- `colour.appearance.eccentricity_factor_Hellwig2022` and
  `colour.appearance.hue_angle_dependency_Hellwig2022` were added.
- `colour.appearance.XYZ_to_Nayatani95` now computes the hue quadrature
  `H` correlate, previously left unset.

## Performance

- The multi-spectral distributions paths of `colour.colour_fidelity_index`,
  `colour.colour_quality_scale` and `colour.colour_rendering_index` were
  vectorised.
- The `colour.temperature` correlated colour temperature solvers were
  vectorised, replacing the *SciPy* `minimize` calls with closed-form
  Gauss-Newton iterations.

## Fixes

- `colour.colour_renderi... (continued)

15989 of 16371 new or added lines in 374 files covered. (97.67%)

22 existing lines in 8 files now uncovered.

48576 of 49376 relevant lines covered (98.38%)

0.98 hits per line

Uncovered Changes

Lines Coverage ∆ File
135
21.9
-1.67% colour/phenomena/sky/wilkie2021.py
105
90.15
-9.85% colour/utilities/array.py
50
47.09
6.32% colour/phenomena/sky/tests/test_wilkie2021.py
15
90.21
-9.79% colour/quality/cqs.py
13
95.85
-4.15% colour/continuous/multi_signals.py
10
94.82
-5.18% colour/graph/conversion.py
9
95.05
-4.95% colour/appearance/hunt.py
8
97.32
-2.68% colour/colorimetry/tristimulus_values.py
7
91.28
-0.26% colour/characterisation/correction.py
4
96.89
-3.11% colour/algebra/common.py
4
93.85
colour/conftest.py
4
99.6
-0.4% colour/utilities/tests/test_array.py
2
98.78
-1.22% colour/appearance/cam16.py
2
98.86
-1.14% colour/appearance/ciecam16.py
2
98.69
-1.31% colour/appearance/hellwig2022.py
2
98.55
-1.45% colour/appearance/kim2009.py
2
98.61
-1.39% colour/appearance/zcam.py
2
96.36
-3.64% colour/recovery/smits1999.py
1
99.8
-0.2% colour/algebra/interpolation.py
1
99.49
-0.51% colour/appearance/ciecam02.py
1
98.18
-1.82% colour/colorimetry/illuminants.py
1
99.57
-0.43% colour/continuous/signal.py
1
98.7
-1.3% colour/recovery/jiang2013.py
1
94.64
0.0% colour/utilities/network.py

Coverage Regressions

Lines Coverage ∆ File
5
21.9
-1.67% colour/phenomena/sky/wilkie2021.py
4
47.09
6.32% colour/phenomena/sky/tests/test_wilkie2021.py
4
90.21
-9.79% colour/quality/cqs.py
4
97.01
-2.99% colour/quality/cri.py
2
96.89
-3.11% colour/algebra/common.py
1
99.65
-0.35% colour/colorimetry/tests/test_tristimulus_values.py
1
90.15
-9.85% colour/utilities/array.py
1
99.6
-0.4% colour/utilities/tests/test_array.py
Jobs
ID Job ID Ran Files Coverage
1 28980158640.1 08 Jul 2026 10:54PM UTC 626
98.38
GitHub Action Run
Source Files on build 28980158640
  • Tree
  • List 626
  • Changed 369
  • Source Changed 0
  • Coverage Changed 369
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 8f09346c on github
  • Prev Build on develop (#27896082451)
  • Next Build on feature/array-api-support (#28980207185)
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