Repository: Universite-Gustave-Eiffel/acoustic-toolbox (language: python)

Issue:
Use Rye for package dependencies
Looks good i'll switch to that !

From what I've red we need to remove requirements.txt and rely on pyproject.toml for dependencies.
I believe `requirements(-dev).lock` files should be committed though



Discussion / hints:

Fix patch:
diff --git a/.gitignore b/.gitignore
index 83a915d..8bed403 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,3 +59,7 @@ _build
 
 temp
 /.idea
+.venv
+
+.pytest*
+.ruff*
\ No newline at end of file
diff --git a/pyproject.toml b/pyproject.toml
index d3a59b9..fa1f625 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -46,3 +46,9 @@ test = [
 
 [tool.flit.sdist]
 include = ["tests/"]
+
+[tool.rye]
+dev-dependencies = [
+    "ruff>=0.5.5",
+    "pytest>=8.3.2",
+]
diff --git a/requirements-dev.lock b/requirements-dev.lock
new file mode 100644
index 0000000..4a126f8
--- /dev/null
+++ b/requirements-dev.lock
@@ -0,0 +1,69 @@
+# generated by rye
+# use `rye lock` or `rye sync` to update this lockfile
+#
+# last locked with the following flags:
+#   pre: false
+#   features: []
+#   all-features: false
+#   with-sources: false
+#   generate-hashes: false
+#   universal: false
+
+-e file:.
+cffi==1.16.0
+    # via pysoundfile
+colorama==0.4.6
+    # via pytest
+contourpy==1.2.1
+    # via matplotlib
+cycler==0.12.1
+    # via matplotlib
+exceptiongroup==1.2.2
+    # via pytest
+fonttools==4.53.1
+    # via matplotlib
+iniconfig==2.0.0
+    # via pytest
+kiwisolver==1.4.5
+    # via matplotlib
+matplotlib==3.9.1
+    # via acoustic-toolbox
+numpy==2.0.1
+    # via acoustic-toolbox
+    # via contourpy
+    # via matplotlib
+    # via pandas
+    # via scipy
+packaging==24.1
+    # via matplotlib
+    # via pytest
+pandas==2.2.2
+    # via acoustic-toolbox
+pillow==10.4.0
+    # via matplotlib
+pluggy==1.5.0
+    # via pytest
+pycparser==2.22
+    # via cffi
+pyparsing==3.1.2
+    # via matplotlib
+pysoundfile==0.9.0.post1
+    # via acoustic-toolbox
+pytest==8.3.2
+python-dateutil==2.9.0.post0
+    # via matplotlib
+    # via pandas
+pytz==2024.1
+    # via pandas
+ruff==0.5.5
+scipy==1.14.0
+    # via acoustic-toolbox
+six==1.16.0
+    # via acoustic-toolbox
+    # via python-dateutil
+tabulate==0.9.0
+    # via acoustic-toolbox
+tomli==2.0.1
+    # via pytest
+tzdata==2024.1
+    # via pandas
diff --git a/requirements.lock b/requirements.lock
new file mode 100644
index 0000000..c131e83
--- /dev/null
+++ b/requirements.lock
@@ -0,0 +1,56 @@
+# generated by rye
+# use `rye lock` or `rye sync` to update this lockfile
+#
+# last locked with the following flags:
+#   pre: false
+#   features: []
+#   all-features: false
+#   with-sources: false
+#   generate-hashes: false
+#   universal: false
+
+-e file:.
+cffi==1.16.0
+    # via pysoundfile
+contourpy==1.2.1
+    # via matplotlib
+cycler==0.12.1
+    # via matplotlib
+fonttools==4.53.1
+    # via matplotlib
+kiwisolver==1.4.5
+    # via matplotlib
+matplotlib==3.9.1
+    # via acoustic-toolbox
+numpy==2.0.1
+    # via acoustic-toolbox
+    # via contourpy
+    # via matplotlib
+    # via pandas
+    # via scipy
+packaging==24.1
+    # via matplotlib
+pandas==2.2.2
+    # via acoustic-toolbox
+pillow==10.4.0
+    # via matplotlib
+pycparser==2.22
+    # via cffi
+pyparsing==3.1.2
+    # via matplotlib
+pysoundfile==0.9.0.post1
+    # via acoustic-toolbox
+python-dateutil==2.9.0.post0
+    # via matplotlib
+    # via pandas
+pytz==2024.1
+    # via pandas
+scipy==1.14.0
+    # via acoustic-toolbox
+six==1.16.0
+    # via acoustic-toolbox
+    # via python-dateutil
+tabulate==0.9.0
+    # via acoustic-toolbox
+tzdata==2024.1
+    # via pandas
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 47d4a20..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-numpy
-scipy
-matplotlib
-six
-pandas
-tabulate
-pysoundfile


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8b6af27..19d47a6 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -20,7 +20,7 @@ jobs:
       - name: Install dependencies
         run: |
           python -m pip install --upgrade pip
-          if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
+          if [ -f requirements.lock ]; then pip install -r requirements.lock; fi
       - name: Lint with Ruff
         run: |
           pip install ruff