Skip to content

Commit de97f14

Browse files
committed
Migrate from Poetry to uv + hatchling
Replace Poetry build system with hatchling and PEP 621 metadata. Update all GitHub Actions workflows to use astral-sh/setup-uv. Remove poetry.lock. Add pytest step to CI workflow.
1 parent 6611d92 commit de97f14

5 files changed

Lines changed: 53 additions & 3389 deletions

File tree

.github/workflows/build-test.yml

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,22 +7,18 @@ jobs:
77
fail-fast: false
88
matrix:
99
python-version: ["3.13"]
10-
poetry-version: ["2.1.2"]
1110
os: [ubuntu-latest]
1211
runs-on: ${{ matrix.os }}
1312
steps:
1413
- uses: actions/checkout@v4
14+
- name: Install uv
15+
uses: astral-sh/setup-uv@v4
1516
- uses: actions/setup-python@v5
1617
with:
1718
python-version: ${{ matrix.python-version }}
18-
- name: Run image
19-
uses: abatilo/actions-poetry@v2
20-
with:
21-
poetry-version: ${{ matrix.poetry-version }}
22-
- name: Update lock file
23-
run: poetry lock
24-
- name: Install the project dependencies
25-
run: poetry install
19+
- name: Install dependencies
20+
run: uv pip install --system ".[dev]"
2621
- name: Lint with black
27-
run: poetry run black --check .
28-
22+
run: black --check .
23+
- name: Run tests
24+
run: pytest tests/

.github/workflows/docs.yml

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,23 @@ jobs:
2121
steps:
2222
- uses: actions/checkout@v4
2323

24-
- name: Set up Python
25-
uses: actions/setup-python@v5
24+
- name: Install uv
25+
uses: astral-sh/setup-uv@v4
26+
27+
- uses: actions/setup-python@v5
2628
with:
27-
python-version: "3.12"
29+
python-version: "3.13"
2830

2931
- name: Set up Node.js
3032
uses: actions/setup-node@v4
3133
with:
3234
node-version: "22"
3335

3436
- name: Install dependencies
35-
run: |
36-
pip install "jupyter-book>=2"
37-
pip install .
37+
run: uv pip install --system ".[docs]"
3838

3939
- name: Build the book
40-
run: |
41-
jupyter-book build --html
40+
run: jupyter-book build --html
4241

4342
- name: Upload artifact
4443
uses: actions/upload-pages-artifact@v3

.github/workflows/pypi.yml

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ name: Publish to PyPI
22
on:
33
push:
44
tags:
5-
- 'v[0-9]+.[0-9]+.[0-9]+'
5+
- 'v[0-9]+.[0-9]+.[0-9]+'
66
jobs:
77
pypi-publish:
88
name: Upload release to PyPI
@@ -11,21 +11,18 @@ jobs:
1111
name: pypi
1212
url: https://pypi.org/p/dapi
1313
permissions:
14-
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
15-
contents: read # Required for checkout
14+
id-token: write
15+
contents: read
1616
steps:
1717
- uses: actions/checkout@v4
18+
- name: Install uv
19+
uses: astral-sh/setup-uv@v4
1820
- uses: actions/setup-python@v5
1921
with:
20-
python-version: 3.9
21-
- name: Poetry image
22-
uses: abatilo/actions-poetry@v2
23-
- name: Install the project dependencies
24-
run: poetry install
22+
python-version: "3.13"
2523
- name: Build package
26-
run: poetry build
24+
run: uv build
2725
- name: Publish package distributions to PyPI
2826
uses: pypa/gh-action-pypi-publish@release/v1
2927
with:
30-
# Enable verbose logging for debugging
3128
verbose: true

0 commit comments

Comments
 (0)