Repository: mhostetter/galois (language: python)

Issue:
Replace `[dev]` optional dependencies with `requirements-dev.txt`

Replace `[dev]` optional dependencies with `requirements-dev.txt`



Discussion / hints:

Fix patch:
diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index d293322fc..b8b758301 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -28,8 +28,11 @@ jobs:
       - name: Upgrade pip
         run: python3 -m pip install --upgrade pip
 
-      - name: Install the `galois` package with [dev]
-        run: python3 -m pip install .[dev]
+      - name: Install the dev requirements
+        run: python3 -m pip install -r requirements-dev.txt
+
+      - name: Install the `galois` package
+        run: python3 -m pip install .
 
       - name: Lint with ruff
         run: python3 -m ruff check --output-format=github .
@@ -48,8 +51,11 @@ jobs:
       - name: Upgrade pip
         run: python3 -m pip install --upgrade pip
 
-      - name: Install the `galois` package with [dev]
-        run: python3 -m pip install .[dev]
+      - name: Install the dev requirements
+        run: python3 -m pip install -r requirements-dev.txt
+
+      - name: Install the `galois` package
+        run: python3 -m pip install .
 
       - name: Format with ruff
         run: python3 -m ruff format --check .
diff --git a/docs/development/installation.rst b/docs/development/installation.rst
index 9ad003006..19f038db2 100644
--- a/docs/development/installation.rst
+++ b/docs/development/installation.rst
@@ -46,17 +46,14 @@ Install the local folder using the `-e` or `--editable` flag.
 Install the `dev` dependencies
 ------------------------------
 
-The development dependencies include packages for linting and unit testing. These dependencies are stored
-in `pyproject.toml`.
+The development dependencies include packages for linting and unit testing.
+These dependencies are stored in `requirements-dev.txt`.
 
-.. literalinclude:: ../../pyproject.toml
-   :caption: pyproject.toml
-   :start-at: [project.optional-dependencies]
-   :end-before: [project.urls]
-   :language: toml
+.. literalinclude:: ../../requirements-dev.txt
+   :caption: requirements-dev.txt
 
-Install the development dependencies by passing the `[dev]` extras to `pip install`.
+Install the development dependencies by passing `-r` to `pip install`.
 
 .. code-block:: console
 
-   $ python3 -m pip install galois[dev]
+   $ python3 -m pip install -r requirements-dev.txt
diff --git a/pyproject.toml b/pyproject.toml
index 17d42c9c1..ff9c6206c 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -55,16 +55,7 @@ dependencies = [
 ]
 dynamic = ["version"]
 
-[project.optional-dependencies]
-dev = [
-    "ruff == 0.1.4",
-    "pytest",
-    "pytest-cov[toml]",
-    "pytest-xdist",
-    "pytest-benchmark >= 4.0.0",
-    "requests",
-    "pdfminer.six",
-]
+# [project.optional-dependencies]
 
 [project.urls]
 Homepage = "https://github.com/mhostetter/galois"
diff --git a/requirements-dev.txt b/requirements-dev.txt
new file mode 100644
index 000000000..ad5b14f2a
--- /dev/null
+++ b/requirements-dev.txt
@@ -0,0 +1,7 @@
+ruff == 0.1.4
+pytest
+pytest-cov[toml]
+pytest-xdist
+pytest-benchmark >= 4.0.0
+requests
+pdfminer.six


Test patch:
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 23c599f80..6d0dad234 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -59,8 +59,11 @@ jobs:
           files: galois-*.whl
           working-directory: dist/
 
-      - name: Install the `galois` package wheel with upgraded [dev]
-        run: python3 -m pip install --upgrade dist/${{ steps.glob.outputs.paths }}[dev]
+      - name: Install the dev dependencies
+        run: python3 -m pip install -r requirements-dev.txt
+
+      - name: Install the `galois` package wheel with upgraded dependencies
+        run: python3 -m pip install --upgrade dist/${{ steps.glob.outputs.paths }}
 
       - name: Test with pytest
         run: python3 -m pytest -n auto --cov=galois --cov-report=xml tests/
@@ -109,8 +112,11 @@ jobs:
       - name: Install minimum package dependencies
         run: python3 -m pip install -r requirements-min.txt
 
-      - name: Install the `galois` package wheel with [dev]
-        run: python3 -m pip install dist/${{ steps.glob.outputs.paths }}[dev]
+      - name: Install the dev dependencies
+        run: python3 -m pip install -r requirements-dev.txt
+
+      - name: Install the `galois` package wheel
+        run: python3 -m pip install dist/${{ steps.glob.outputs.paths }}
 
       - name: Test with pytest
         run: python3 -m pytest -n auto tests/
@@ -156,8 +162,11 @@ jobs:
           files: galois-*.whl
           working-directory: dist/
 
-      - name: Install the `galois` package wheel with upgraded [dev]
-        run: python3 -m pip install --upgrade dist/${{ steps.glob.outputs.paths }}[dev]
+      - name: Install the dev dependencies
+        run: python3 -m pip install -r requirements-dev.txt
+
+      - name: Install the `galois` package wheel with upgraded dependencies
+        run: python3 -m pip install --upgrade dist/${{ steps.glob.outputs.paths }}
 
       - name: Test with pytest
         run: python3 -m pytest -n auto tests/
diff --git a/docs/development/unit-tests.rst b/docs/development/unit-tests.rst
index 9b601f932..7ab301772 100644
--- a/docs/development/unit-tests.rst
+++ b/docs/development/unit-tests.rst
@@ -10,7 +10,7 @@ First, `pytest` needs to be installed on your system. Easily install it by insta
 
 .. code-block:: console
 
-   $ python3 -m pip install .[dev]
+   $ python3 -m pip install -r requirements-dev.txt
 
 Configuration
 -------------