We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
docker compose failing at pip install due to missing dependencies
## Description
<!-- A clear and concise description of what the bug is. -->
When running `docker compose -f docker-compose.yml -f docker-compose.dev.yml up dev-service
`
```
=> [dev-service internal] load .dockerignore                                                                                                      0.0s
 => => transferring context: 143B                                                                                                                  0.0s
 => [dev-service internal] load build definition from Dockerfile                                                                                   0.0s
 => => transferring dockerfile: 2.45kB                                                                                                             0.0s
 => [dev-service internal] load metadata for docker.io/library/python:3.9-buster                                                                   0.7s
 => [dev-service  1/13] FROM docker.io/library/python:3.9-buster@sha256:bae5b428ebf32d01a902718b0a58874cbf33d7a4b6a65b7cd7b21d48b0d2e2f1           0.0s
 => [dev-service internal] load build context                                                                                                      0.1s
 => => transferring context: 194.31kB                                                                                                              0.1s
 => CACHED [dev-service  2/13] RUN set -eux;                                                                                                       0.0s
 => CACHED [dev-service  3/13] RUN mkdir -p /etc/apt/keyrings;                                                                                     0.0s
 => CACHED [dev-service  4/13] RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - ;     echo "deb http://apt.postgresql.  0.0s
 => CACHED [dev-service  5/13] RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/node  0.0s
 => CACHED [dev-service  6/13] RUN apt-get update &&     apt-get install -y --no-install-recommends         sudo         ca-certificates           0.0s
 => CACHED [dev-service  7/13] RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8                                    0.0s
 => CACHED [dev-service  8/13] RUN apt-get update &&     apt-get install -y --no-install-recommends         postgresql-15 postgresql-client-15 po  0.0s
 => CACHED [dev-service  9/13] WORKDIR /code/                                                                                                      0.0s
 => CACHED [dev-service 10/13] COPY requirements* ./                                                                                               0.0s
 => ERROR [dev-service 11/13] RUN pip install --no-cache-dir -r requirements-dev.txt --force-reinstall sqlalchemy-filters                          1.6s
------
 > [dev-service 11/13] RUN pip install --no-cache-dir -r requirements-dev.txt --force-reinstall sqlalchemy-filters:
0.826 Collecting sqlalchemy_filters
0.826   Cloning https://github.com/mathesar-foundation/sqlalchemy-filters (to revision models_to_tables) to /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5
0.828   Running command git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5
1.224   fatal: could not read Username for 'https://github.com': No such device or address
1.243   error: subprocess-exited-with-error
1.243   
1.243   × git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5 did not run successfully.
1.243   │ exit code: 128
1.243   ╰─> See above for output.
1.243   
1.243   note: This error originates from a subprocess, and is likely not a problem with pip.
1.246 error: subprocess-exited-with-error
1.246 
1.246 × git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5 did not run successfully.
1.246 │ exit code: 128
1.246 ╰─> See above for output.
1.246 
1.246 note: This error originates from a subprocess, and is likely not a problem with pip.
1.541 
1.541 [notice] A new release of pip is available: 23.0.1 -> 23.3.1
1.541 [notice] To update, run: pip install --upgrade pip
------
failed to solve: process "/bin/sh -c pip install --no-cache-dir -r ${PYTHON_REQUIREMENTS} --force-reinstall sqlalchemy-filters" did not complete successfully: exit code: 1
```
It is failing because in the requirements .txt there is :
https://github.com/mathesar-foundation/mathesar/blob/08743e6aac39aa3497269e9bb6b4e9b0216f85b9/requirements.txt#L26

and there does not exist any https://github.com/mathesar-foundation/sqlalchemy-filters
(there is though https://github.com/centerofci-archive/sqlalchemy-filters)

This is probably because of recent changes to the org name.
## Expected behavior
<!-- A clear and concise description of what you expected to happen. -->
Dependencies should be resolved with no issue.

## To Reproduce
<!-- How can we recreate this bug? Please try to provide a Minimal, Complete, and Verifiable (http://stackoverflow.com/help/mcve) example if code-related. -->
Clone a fresh repo or even try to rebuild the image by
`docker compose -f docker-compose.yml -f docker-compose.dev.yml up dev-service --force-recreate --build dev-service
`

## Environment
 - OS: macOS 13.3.1; 
 - Browser: Chrome
 - Other info:

## Additional context
<!-- Add any other context about the problem or screenshots here. -->


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `db/records/operations/relevance.py`
Content:
```
1 from sqlalchemy import case, select
2 from sqlalchemy_filters import apply_sort
3 from db.types import categories
4 from db.types.operations.convert import get_db_type_enum_from_class
5 
6 WEIGHT_4 = 4
7 WEIGHT_3 = 3
8 WEIGHT_2 = 2
9 WEIGHT_1 = 1
10 WEIGHT_0 = 0
11 SCORE_COL = '__mathesar_relevance_score'
12 
13 
14 def get_rank_and_filter_rows_query(relation, parameters_dict, limit=10):
15     """
16     Given a relation, we use a score-assignment algorithm to rank rows of
17     the relation by the strength of their match with the various
18     parameters given in parameters_dict.
19     """
20     rank_cte = _get_scored_selectable(relation, parameters_dict)
21     filtered_ordered_cte = apply_sort(
22         select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0),
23         {'field': SCORE_COL, 'direction': 'desc'}
24     ).cte()
25     return select(
26         *[filtered_ordered_cte.columns[c] for c in [col.name for col in relation.columns]]
27     ).limit(limit)
28 
29 
30 def _get_scored_selectable(relation, parameters_dict):
31     return select(
32         relation,
33         sum(
34             [
35                 _get_col_score_expr(relation.columns[col_name], val)
36                 for col_name, val in parameters_dict.items()
37             ]
38         ).label(SCORE_COL)
39     ).cte()
40 
41 
42 def _get_col_score_expr(col, param_val):
43     col_type = get_db_type_enum_from_class(col.type.__class__)
44 
45     if col_type in categories.STRING_LIKE_TYPES:
46         score_expr = case(
47             (col.ilike(param_val), WEIGHT_4),
48             (col.ilike(param_val + '%'), WEIGHT_3),
49             (col.ilike('%' + param_val + '%'), WEIGHT_2),
50             else_=WEIGHT_0
51         )
52     else:
53         score_expr = case((col == param_val, WEIGHT_4), else_=WEIGHT_0)
54 
55     return score_expr
56
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/db/records/operations/relevance.py b/db/records/operations/relevance.py
--- a/db/records/operations/relevance.py
+++ b/db/records/operations/relevance.py
@@ -1,5 +1,4 @@
-from sqlalchemy import case, select
-from sqlalchemy_filters import apply_sort
+from sqlalchemy import case, select, desc
 from db.types import categories
 from db.types.operations.convert import get_db_type_enum_from_class
 
@@ -18,10 +17,7 @@
     parameters given in parameters_dict.
     """
     rank_cte = _get_scored_selectable(relation, parameters_dict)
-    filtered_ordered_cte = apply_sort(
-        select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0),
-        {'field': SCORE_COL, 'direction': 'desc'}
-    ).cte()
+    filtered_ordered_cte = select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0).order_by(desc(SCORE_COL)).cte()
     return select(
         *[filtered_ordered_cte.columns[c] for c in [col.name for col in relation.columns]]
     ).limit(limit)

{"golden_diff": "diff --git a/db/records/operations/relevance.py b/db/records/operations/relevance.py\n--- a/db/records/operations/relevance.py\n+++ b/db/records/operations/relevance.py\n@@ -1,5 +1,4 @@\n-from sqlalchemy import case, select\n-from sqlalchemy_filters import apply_sort\n+from sqlalchemy import case, select, desc\n from db.types import categories\n from db.types.operations.convert import get_db_type_enum_from_class\n \n@@ -18,10 +17,7 @@\n     parameters given in parameters_dict.\n     \"\"\"\n     rank_cte = _get_scored_selectable(relation, parameters_dict)\n-    filtered_ordered_cte = apply_sort(\n-        select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0),\n-        {'field': SCORE_COL, 'direction': 'desc'}\n-    ).cte()\n+    filtered_ordered_cte = select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0).order_by(desc(SCORE_COL)).cte()\n     return select(\n         *[filtered_ordered_cte.columns[c] for c in [col.name for col in relation.columns]]\n     ).limit(limit)\n", "issue": "docker compose failing at pip install due to missing dependencies\n## Description\r\n<!-- A clear and concise description of what the bug is. -->\r\nWhen running `docker compose -f docker-compose.yml -f docker-compose.dev.yml up dev-service\r\n`\r\n```\r\n=> [dev-service internal] load .dockerignore                                                                                                      0.0s\r\n => => transferring context: 143B                                                                                                                  0.0s\r\n => [dev-service internal] load build definition from Dockerfile                                                                                   0.0s\r\n => => transferring dockerfile: 2.45kB                                                                                                             0.0s\r\n => [dev-service internal] load metadata for docker.io/library/python:3.9-buster                                                                   0.7s\r\n => [dev-service  1/13] FROM docker.io/library/python:3.9-buster@sha256:bae5b428ebf32d01a902718b0a58874cbf33d7a4b6a65b7cd7b21d48b0d2e2f1           0.0s\r\n => [dev-service internal] load build context                                                                                                      0.1s\r\n => => transferring context: 194.31kB                                                                                                              0.1s\r\n => CACHED [dev-service  2/13] RUN set -eux;                                                                                                       0.0s\r\n => CACHED [dev-service  3/13] RUN mkdir -p /etc/apt/keyrings;                                                                                     0.0s\r\n => CACHED [dev-service  4/13] RUN curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - ;     echo \"deb http://apt.postgresql.  0.0s\r\n => CACHED [dev-service  5/13] RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/node  0.0s\r\n => CACHED [dev-service  6/13] RUN apt-get update &&     apt-get install -y --no-install-recommends         sudo         ca-certificates           0.0s\r\n => CACHED [dev-service  7/13] RUN localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8                                    0.0s\r\n => CACHED [dev-service  8/13] RUN apt-get update &&     apt-get install -y --no-install-recommends         postgresql-15 postgresql-client-15 po  0.0s\r\n => CACHED [dev-service  9/13] WORKDIR /code/                                                                                                      0.0s\r\n => CACHED [dev-service 10/13] COPY requirements* ./                                                                                               0.0s\r\n => ERROR [dev-service 11/13] RUN pip install --no-cache-dir -r requirements-dev.txt --force-reinstall sqlalchemy-filters                          1.6s\r\n------\r\n > [dev-service 11/13] RUN pip install --no-cache-dir -r requirements-dev.txt --force-reinstall sqlalchemy-filters:\r\n0.826 Collecting sqlalchemy_filters\r\n0.826   Cloning https://github.com/mathesar-foundation/sqlalchemy-filters (to revision models_to_tables) to /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5\r\n0.828   Running command git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5\r\n1.224   fatal: could not read Username for 'https://github.com': No such device or address\r\n1.243   error: subprocess-exited-with-error\r\n1.243   \r\n1.243   \u00d7 git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5 did not run successfully.\r\n1.243   \u2502 exit code: 128\r\n1.243   \u2570\u2500> See above for output.\r\n1.243   \r\n1.243   note: This error originates from a subprocess, and is likely not a problem with pip.\r\n1.246 error: subprocess-exited-with-error\r\n1.246 \r\n1.246 \u00d7 git clone --filter=blob:none --quiet https://github.com/mathesar-foundation/sqlalchemy-filters /tmp/pip-install-461qq5s5/sqlalchemy-filters_d80dc47043234f738a4aa95eaa753ae5 did not run successfully.\r\n1.246 \u2502 exit code: 128\r\n1.246 \u2570\u2500> See above for output.\r\n1.246 \r\n1.246 note: This error originates from a subprocess, and is likely not a problem with pip.\r\n1.541 \r\n1.541 [notice] A new release of pip is available: 23.0.1 -> 23.3.1\r\n1.541 [notice] To update, run: pip install --upgrade pip\r\n------\r\nfailed to solve: process \"/bin/sh -c pip install --no-cache-dir -r ${PYTHON_REQUIREMENTS} --force-reinstall sqlalchemy-filters\" did not complete successfully: exit code: 1\r\n```\r\nIt is failing because in the requirements .txt there is :\r\nhttps://github.com/mathesar-foundation/mathesar/blob/08743e6aac39aa3497269e9bb6b4e9b0216f85b9/requirements.txt#L26\r\n\r\nand there does not exist any https://github.com/mathesar-foundation/sqlalchemy-filters\r\n(there is though https://github.com/centerofci-archive/sqlalchemy-filters)\r\n\r\nThis is probably because of recent changes to the org name.\r\n## Expected behavior\r\n<!-- A clear and concise description of what you expected to happen. -->\r\nDependencies should be resolved with no issue.\r\n\r\n## To Reproduce\r\n<!-- How can we recreate this bug? Please try to provide a Minimal, Complete, and Verifiable (http://stackoverflow.com/help/mcve) example if code-related. -->\r\nClone a fresh repo or even try to rebuild the image by\r\n`docker compose -f docker-compose.yml -f docker-compose.dev.yml up dev-service --force-recreate --build dev-service\r\n`\r\n\r\n## Environment\r\n - OS: macOS 13.3.1; \r\n - Browser: Chrome\r\n - Other info:\r\n\r\n## Additional context\r\n<!-- Add any other context about the problem or screenshots here. -->\r\n\n", "before_files": [{"content": "from sqlalchemy import case, select\nfrom sqlalchemy_filters import apply_sort\nfrom db.types import categories\nfrom db.types.operations.convert import get_db_type_enum_from_class\n\nWEIGHT_4 = 4\nWEIGHT_3 = 3\nWEIGHT_2 = 2\nWEIGHT_1 = 1\nWEIGHT_0 = 0\nSCORE_COL = '__mathesar_relevance_score'\n\n\ndef get_rank_and_filter_rows_query(relation, parameters_dict, limit=10):\n    \"\"\"\n    Given a relation, we use a score-assignment algorithm to rank rows of\n    the relation by the strength of their match with the various\n    parameters given in parameters_dict.\n    \"\"\"\n    rank_cte = _get_scored_selectable(relation, parameters_dict)\n    filtered_ordered_cte = apply_sort(\n        select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0),\n        {'field': SCORE_COL, 'direction': 'desc'}\n    ).cte()\n    return select(\n        *[filtered_ordered_cte.columns[c] for c in [col.name for col in relation.columns]]\n    ).limit(limit)\n\n\ndef _get_scored_selectable(relation, parameters_dict):\n    return select(\n        relation,\n        sum(\n            [\n                _get_col_score_expr(relation.columns[col_name], val)\n                for col_name, val in parameters_dict.items()\n            ]\n        ).label(SCORE_COL)\n    ).cte()\n\n\ndef _get_col_score_expr(col, param_val):\n    col_type = get_db_type_enum_from_class(col.type.__class__)\n\n    if col_type in categories.STRING_LIKE_TYPES:\n        score_expr = case(\n            (col.ilike(param_val), WEIGHT_4),\n            (col.ilike(param_val + '%'), WEIGHT_3),\n            (col.ilike('%' + param_val + '%'), WEIGHT_2),\n            else_=WEIGHT_0\n        )\n    else:\n        score_expr = case((col == param_val, WEIGHT_4), else_=WEIGHT_0)\n\n    return score_expr\n", "path": "db/records/operations/relevance.py"}], "after_files": [{"content": "from sqlalchemy import case, select, desc\nfrom db.types import categories\nfrom db.types.operations.convert import get_db_type_enum_from_class\n\nWEIGHT_4 = 4\nWEIGHT_3 = 3\nWEIGHT_2 = 2\nWEIGHT_1 = 1\nWEIGHT_0 = 0\nSCORE_COL = '__mathesar_relevance_score'\n\n\ndef get_rank_and_filter_rows_query(relation, parameters_dict, limit=10):\n    \"\"\"\n    Given a relation, we use a score-assignment algorithm to rank rows of\n    the relation by the strength of their match with the various\n    parameters given in parameters_dict.\n    \"\"\"\n    rank_cte = _get_scored_selectable(relation, parameters_dict)\n    filtered_ordered_cte = select(rank_cte).where(rank_cte.columns[SCORE_COL] > 0).order_by(desc(SCORE_COL)).cte()\n    return select(\n        *[filtered_ordered_cte.columns[c] for c in [col.name for col in relation.columns]]\n    ).limit(limit)\n\n\ndef _get_scored_selectable(relation, parameters_dict):\n    return select(\n        relation,\n        sum(\n            [\n                _get_col_score_expr(relation.columns[col_name], val)\n                for col_name, val in parameters_dict.items()\n            ]\n        ).label(SCORE_COL)\n    ).cte()\n\n\ndef _get_col_score_expr(col, param_val):\n    col_type = get_db_type_enum_from_class(col.type.__class__)\n\n    if col_type in categories.STRING_LIKE_TYPES:\n        score_expr = case(\n            (col.ilike(param_val), WEIGHT_4),\n            (col.ilike(param_val + '%'), WEIGHT_3),\n            (col.ilike('%' + param_val + '%'), WEIGHT_2),\n            else_=WEIGHT_0\n        )\n    else:\n        score_expr = case((col == param_val, WEIGHT_4), else_=WEIGHT_0)\n\n    return score_expr\n", "path": "db/records/operations/relevance.py"}]}