Skip to content

Commit dad2acc

Browse files
authored
chore(dev-deps): move to uv for development (ibis-project#10424)
1 parent 40a30c1 commit dad2acc

37 files changed

+6907
-9636
lines changed

.envrc

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use flake
22

33
dotenv
44

5-
watch_file poetry.lock
6-
watch_file nix/overlay.nix
75
watch_file nix/quarto/default.nix
8-
watch_file poetry-overrides.nix
6+
watch_file nix/overlay.nix
7+
watch_file nix/pyproject-overrides.nix
8+
watch_file uv.lock

.github/labeler.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ dependencies:
114114
- changed-files:
115115
- any-glob-to-any-file: "**/*.nix"
116116
- any-glob-to-any-file: "flake.lock"
117-
- any-glob-to-any-file: "poetry.lock"
117+
- any-glob-to-any-file: "uv.lock"
118118
- any-glob-to-any-file: "requirements-dev.txt"
119119
- any-glob-to-any-file: "conda/*.yml"
120120

.github/renovate.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"docker-compose",
99
"dockerfile",
1010
"github-actions",
11-
"poetry"
11+
"pep621"
1212
],
1313
"automerge": false,
1414
"labels": ["dependencies"],

.github/workflows/check-generated-files.yml

+15-10
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ on:
44
push:
55
paths:
66
- README.md
7-
- poetry.lock
7+
- uv.lock
88
- pyproject.toml
99
- requirements-dev.txt
1010
pull_request:
1111
paths:
1212
- README.md
13-
- poetry.lock
13+
- uv.lock
1414
- pyproject.toml
1515
- requirements-dev.txt
1616

@@ -23,6 +23,11 @@ env:
2323
SQLALCHEMY_WARN_20: "1"
2424
HYPOTHESIS_PROFILE: "ci"
2525

26+
permissions:
27+
# this allows extractions/setup-just to list releases for `just` at a higher
28+
# rate limit while restricting GITHUB_TOKEN permissions elsewhere
29+
contents: read
30+
2631
jobs:
2732
check_setuptools_install:
2833
runs-on: ubuntu-latest
@@ -38,30 +43,30 @@ jobs:
3843
cache: pip
3944
cache-dependency-path: requirements-dev.txt
4045

41-
- name: install poetry
42-
run: pip install 'poetry==1.8.4'
46+
- name: install uv
47+
uses: astral-sh/[email protected]
48+
with:
49+
enable-cache: true
4350

4451
- name: update apt-get
4552
run: sudo apt-get update -y -q
4653

4754
- name: install system dependencies
4855
run: sudo apt-get install -y -q build-essential graphviz libgeos-dev freetds-dev unixodbc-dev
4956

50-
- name: check consistency with pyproject.toml
51-
run: poetry check --lock
57+
- uses: extractions/setup-just@v2
58+
env:
59+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5260

5361
- name: generate requirements-dev.txt
54-
run: poetry export --all-extras --with dev --with test --with docs --without-hashes --no-ansi > requirements-dev.txt
62+
run: just export-deps
5563

5664
- name: check requirements-dev.txt
5765
run: git diff --exit-code requirements-dev.txt
5866

5967
- name: install using requirements-dev.txt
6068
run: pip install -r requirements-dev.txt
6169

62-
- name: install ibis in development mode
63-
run: pip install -e .
64-
6570
- name: run tests
6671
run: pytest -m core -n auto --cov-report=xml:coverage.xml --cov=ibis
6772

.github/workflows/docs-preview.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
with:
3737
name: ibis
3838
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
39-
extraPullNames: nix-community,poetry2nix
39+
extraPullNames: nix-community
4040

4141
- name: checkout
4242
uses: actions/checkout@v4
@@ -77,7 +77,7 @@ jobs:
7777
path: docs/**/.jupyter_cache
7878

7979
- name: run quarto check
80-
run: nix develop '.#ibis311' --ignore-environment -c quarto check
80+
run: nix develop '.#ibis311' --ignore-environment --keep HOME -c quarto check
8181

8282
- name: build docs
8383
run: nix develop '.#ibis311' --ignore-environment --keep HOME -c just docs-build-all

.github/workflows/ibis-backends-cloud.yml

+13-14
Original file line numberDiff line numberDiff line change
@@ -46,39 +46,39 @@ jobs:
4646
- name: snowflake
4747
title: Snowflake
4848
extras:
49-
- snowflake
49+
- --extra snowflake
5050
- name: databricks
5151
title: Databricks
5252
extras:
53-
- databricks
53+
- --extra databricks
5454
include:
5555
- python-version: "3.10"
5656
backend:
5757
name: bigquery
5858
title: BigQuery
5959
extras:
60-
- bigquery
60+
- --extra bigquery
6161
- python-version: "3.12"
6262
backend:
6363
name: bigquery
6464
title: BigQuery
6565
extras:
66-
- bigquery
67-
- geospatial
66+
- --extra bigquery
67+
- --extra geospatial
6868
- python-version: "3.10"
6969
backend:
7070
name: snowflake
7171
title: Snowflake + Snowpark
7272
key: snowpark
7373
extras:
74-
- snowflake
74+
- --extra snowflake
7575
- python-version: "3.11"
7676
backend:
7777
name: snowflake
7878
title: Snowflake + Snowpark
7979
key: snowpark
8080
extras:
81-
- snowflake
81+
- --extra snowflake
8282
steps:
8383
- name: checkout
8484
uses: actions/checkout@v4
@@ -110,15 +110,14 @@ jobs:
110110
with:
111111
python-version: ${{ matrix.python-version }}
112112

113-
- name: install poetry
114-
run: pip install 'poetry==1.8.4'
113+
- name: install uv
114+
uses: astral-sh/[email protected]
115+
with:
116+
enable-cache: true
115117

116118
- name: install additional deps
117119
if: matrix.backend.key == 'snowpark'
118-
run: poetry add --lock snowflake-snowpark-python --python="==${{ steps.install_python.outputs.python-version }}"
119-
120-
- name: install ibis
121-
run: poetry install --without dev --without docs --extras "${{ join(matrix.backend.extras, ' ') }} examples"
120+
run: uv add --no-sync --optional snowflake snowflake-snowpark-python
122121

123122
- uses: extractions/setup-just@v2
124123
env:
@@ -169,7 +168,7 @@ jobs:
169168
run: echo "SNOWFLAKE_SNOWPARK=1" >> "$GITHUB_ENV"
170169

171170
- name: "run parallel tests: ${{ matrix.backend.name }}"
172-
run: just ci-check -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup
171+
run: just ci-check "${{ join(matrix.backend.extras, ' ') }} --extra examples" -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup
173172

174173
- name: upload code coverage
175174
if: success()

0 commit comments

Comments
 (0)