### Change Summary

Ruff is now the sole linter 👍 
Files Altered: ['Makefile', 'docs/contributing.md', 'pyproject.toml', 'pdm.lock' ]

Notes: 

For pyproject.toml file,  I removed the last element('E501') of line 180 given black's removal but I'm not totally sure what this line is for. 

### Related Issue Number

Fix #7914

## Checklist

* [x] The pull request title is a good summary of the changes - it will be used in the changelog
* [ ] Unit tests for the changes exist
* [ ] Tests pass on CI
* [x] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

Adopting `ruff` formatter. ### Change Summary

Ruff is now the sole linter 👍 
Files Altered: ['Makefile', 'docs/contributing.md', 'pyproject.toml', 'pdm.lock' ]

Notes: 

For pyproject.toml file,  I removed the last element('E501') of line 180 given black's removal but I'm not totally sure what this line is for. 

### Related Issue Number

Fix #7914

## Checklist

* [x] The pull request title is a good summary of the changes - it will be used in the changelog
* [ ] Unit tests for the changes exist
* [ ] Tests pass on CI
* [x] Documentation reflects the changes where applicable
* [x] My PR is ready to review, **please add a comment including the phrase "please review" to assign reviewers**

name: Dependencies Check

on:
  schedule:
  - cron: '43 3 * * 6,3'
  workflow_dispatch: {}

jobs:
  find_dependency_cases:
    runs-on: ubuntu-latest

    outputs:
      PYTHON_DEPENDENCY_CASES: ${{ steps.list-python-dependencies.outputs.PYTHON_DEPENDENCY_CASES }}

    steps:
    - uses: actions/checkout@v4
    - uses: samuelcolvin/list-python-dependencies@main
      id: list-python-dependencies
      with:
        mode: first-last

  test:
    name: test py${{ matrix.python-version }} on ${{ matrix.PYTHON_DEPENDENCY_CASE }}

    needs:
    - find_dependency_cases

    strategy:
      fail-fast: true
      matrix:
        python-version: ['3.7', '3.11']
        PYTHON_DEPENDENCY_CASE: ${{ fromJSON(needs.find_dependency_cases.outputs.PYTHON_DEPENDENCY_CASES) }}

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: set up python
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}

    - run: pip install pdm && pdm install --no-isolation

    - run: pdm run pip install ${{ matrix.PYTHON_DEPENDENCY_CASE }}

    - run: pdm run pip freeze

    - run: make test

name: Dependencies Check

on:
  schedule:
  - cron: '43 3 * * 6,3'
  workflow_dispatch: {}

jobs:
  find_dependency_cases:
    runs-on: ubuntu-latest

    outputs:
      PYTHON_DEPENDENCY_CASES: ${{ steps.list-python-dependencies.outputs.PYTHON_DEPENDENCY_CASES }}

    steps:
    - uses: actions/checkout@v4
    - uses: samuelcolvin/list-python-dependencies@main
      id: list-python-dependencies
      with:
        mode: first-last

  test:
    name: test py${{ matrix.python-version }} on ${{ matrix.PYTHON_DEPENDENCY_CASE }}

    needs:
    - find_dependency_cases

    strategy:
      fail-fast: true
      matrix:
        python-version: ['3.7', '3.11']
        PYTHON_DEPENDENCY_CASE: ${{ fromJSON(needs.find_dependency_cases.outputs.PYTHON_DEPENDENCY_CASES) }}

    runs-on: ubuntu-latest

    steps:
    - uses: actions/checkout@v4

    - name: set up python
      uses: actions/setup-python@v4
      with:
        python-version: ${{ matrix.python-version }}

    - run: pip install pdm && pdm install --no-isolation

    - run: pdm run pip install ${{ matrix.PYTHON_DEPENDENCY_CASE }}

    - run: pdm run pip freeze

    - run: make test
