Repository: spectrochempy/spectrochempy

Issue:
[Bug]: Install dependencies for testing: Could not build wheels for ruamel.yaml
### What happened?

The install dependencies for testing fails due to ruamel.yaml package, see: 

https://github.com/spectrochempy/spectrochempy/actions/runs/7918492722/job/21660419471?pr=734
https://github.com/spectrochempy/spectrochempy/actions/runs/7918492722/job/21660419097?pr=734

### What did you expect to happen?

the install should go smoothly

### Minimal Complete Verifiable Example

_No response_

### Relevant log output

_No response_

### Anything else we need to know?

_No response_

### Environment

N/A


Discussion:
temporarily fixed by #734  (test with python 3.10 instead of python 3.11). 

Resolving patch:
diff --git a/spectrochempy/analysis/decomposition/fast_ica.py b/spectrochempy/analysis/decomposition/fast_ica.py
--- a/spectrochempy/analysis/decomposition/fast_ica.py
+++ b/spectrochempy/analysis/decomposition/fast_ica.py
@@ -39,7 +39,7 @@ class FastICA(DecompositionAnalysis):
 
     :term:`ICA` (Independent Component Analysis) extracts the underlying sources of
     the variability of a set of spectra :math:`X` into the spectral profiles :math:`S^t`
-    of the underelying sources and a mixing matrix :math:`A`\ .
+    of the underlying sources and a mixing matrix :math:`A`\ .
 
     In terms of matrix equation:
 
@@ -86,7 +86,7 @@ class FastICA(DecompositionAnalysis):
 
     whiten = tr.Union(
         (tr.Enum(["arbitrary-variance", "unit-variance"]), tr.Bool(False)),
-        default_value="arbitrary-variance",
+        default_value="unit-variance",
         allow_none=True,
         help=(
             """Specify the whitening strategy to use.


Test patch:
diff --git a/.github/workflows/test_package.yml b/.github/workflows/test_package.yml
--- a/.github/workflows/test_package.yml
+++ b/.github/workflows/test_package.yml
@@ -42,7 +42,7 @@ jobs:
       fail-fast: false
       matrix:
         os: [macos-latest, ubuntu-latest, windows-latest]
-        pythonVersion: ["3.9", "3.10"]
+        pythonVersion: ["3.9", "3.11"]
         exclude:
           - os: macos-latest
             pythonVersion: 3.9
diff --git a/environment_test.yml b/environment_test.yml
--- a/environment_test.yml
+++ b/environment_test.yml
@@ -25,13 +25,13 @@ dependencies:
     - quaternion
 
     # dependencies for the core package
-    - cffconvert
+    - cffconvert>=2.0.0
     - colorama
     - dill
     - docrep
     - ipython
     - jinja2
-    - matplotlib
+    - matplotlib>=3.8
     - numba
     - numpy
     - numpydoc>=1.2
@@ -41,9 +41,9 @@ dependencies:
     - requests
     - scipy
     - tqdm
-    - traitlets=5.9.0
+    - traitlets=5.14.1
     - tzlocal
-    - scikit-learn=1.2
+    - scikit-learn
     - xlrd
     - pyyaml
 
@@ -56,8 +56,9 @@ dependencies:
     - ipywidgets=8.0.4
     - ipympl
     - jupyterlab
-    - jupyterlab_widgets=3.0.5
-    - jupyter_server=2.7.3
+    - jupyterlab_widgets
+    - jupyter_events=0.6.3
+    - jupyter_server
     - nodejs
     - widgetsnbextension=4.0.5
 
diff --git a/requirements/requirements_test.txt b/requirements/requirements_test.txt
--- a/requirements/requirements_test.txt
+++ b/requirements/requirements_test.txt
@@ -9,13 +9,13 @@
 # ======================================================================================
 brukeropusreader
 numpy-quaternion
-cffconvert
+cffconvert>=2.0.0
 colorama
 dill
 docrep
 ipython
 jinja2
-matplotlib
+matplotlib>=3.8
 numba
 numpy
 numpydoc>=1.2
@@ -25,9 +25,9 @@ pint>=0.20
 requests
 scipy
 tqdm
-traitlets==5.9.0
+traitlets==5.14.1
 tzlocal
-scikit-learn==1.2
+scikit-learn
 xlrd
 pyyaml
 setuptools
@@ -36,8 +36,9 @@ gitpython
 ipywidgets==8.0.4
 ipympl
 jupyterlab
-jupyterlab_widgets==3.0.5
-jupyter_server==2.7.3
+jupyterlab_widgets
+jupyter_events==0.6.3
+jupyter_server
 nodejs
 widgetsnbextension==4.0.5
 voila
diff --git a/tests/test_analysis/test_decomposition/test_fast_ica.py b/tests/test_analysis/test_decomposition/test_fast_ica.py
--- a/tests/test_analysis/test_decomposition/test_fast_ica.py
+++ b/tests/test_analysis/test_decomposition/test_fast_ica.py
@@ -58,10 +58,12 @@ def test_fastICA():
 
     ds_ = ds.data.copy()
 
-    ica = scp_ICA(n_components=4, random_state=123, log_level="INFO")
+    ica = scp_ICA(
+        n_components=4, random_state=123, whiten="unit-variance", log_level="INFO"
+    )
     ica.fit(ds)
 
-    ica_ = skl_ICA(n_components=4, random_state=123)
+    ica_ = skl_ICA(n_components=4, random_state=123, whiten="unit-variance")
     ica_.fit(ds_)
 
     # compare scpy and sklearn FastICA attributes