Skip to content

Commit dc3aff4

Browse files
authored
Migrate from Pixi to UV
Migrate from Pixi to UV
2 parents e40dacb + 2da7ec4 commit dc3aff4

8 files changed

Lines changed: 126 additions & 11553 deletions

File tree

.github/workflows/docs.yml

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@ name: docs
33
on:
44
push:
55
tags:
6-
- 'v*'
7-
branches:
8-
- docs
6+
- "v*"
97

108
jobs:
119
build-docs:
@@ -21,22 +19,25 @@ jobs:
2119
- name: Set up Python
2220
uses: actions/setup-python@v5
2321
with:
24-
python-version: "3.12"
22+
python-version-file: "pyproject.toml"
2523

26-
- name: Install Pixi with docs dependencies
27-
uses: prefix-dev/setup-pixi@v0.8.0
24+
- name: Install the latest version of uv
25+
uses: astral-sh/setup-uv@v6
2826
with:
29-
manifest-path: pyproject.toml
30-
environments: docs
31-
activate-environment: docs
32-
log-level: vv
27+
enable-cache: true
3328

34-
- name: Build documentation
35-
run: sphinx-build -b html docs docs/_build/html
29+
- name: Install dependencies
30+
run: "uv sync"
31+
32+
- name: Build docs
33+
run: uv run --group docs sphinx-build -b html docs docs/_build/html
3634

3735
- name: Deploy to GitHub Pages
3836
uses: peaceiris/actions-gh-pages@v4
3937
with:
4038
github_token: ${{ secrets.GITHUB_TOKEN }}
4139
publish_dir: docs/_build/html
42-
publish_branch: gh-pages
40+
publish_branch: gh-pages
41+
42+
- name: Minimize uv cache
43+
run: uv cache prune --ci

.github/workflows/publish.yml

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,32 @@ on:
66
- "v*"
77

88
jobs:
9-
package_and_release:
9+
publish:
1010
runs-on: ubuntu-latest
11+
1112
steps:
12-
- uses: actions/checkout@v3
13-
- name: Set up Python 3.12
14-
uses: actions/setup-python@v4
13+
- uses: actions/checkout@v4
14+
15+
- name: "Set up Python"
16+
uses: actions/setup-python@v5
17+
with:
18+
python-version-file: "pyproject.toml"
19+
20+
- name: Install the latest version of uv
21+
uses: astral-sh/setup-uv@v6
1522
with:
16-
python-version: "3.12"
17-
cache: pip
18-
- name: Install build dependencies
19-
run: python -m pip install --upgrade pip wheel twine build
20-
- name: Build package
21-
run: python -m build
22-
- name: Check package
23-
run: twine check --strict dist/*.whl
24-
- name: Install hatch
25-
run: pip install hatch
26-
- name: Build project for distribution
27-
run: hatch build
23+
enable-cache: true
24+
25+
- name: Build package (uv)
26+
run: uv build
27+
28+
- name: Check package (twine)
29+
run: uv run twine check --strict dist/*
30+
2831
- name: Publish a Python distribution to PyPI
2932
uses: pypa/gh-action-pypi-publish@release/v1
3033
with:
31-
password: ${{ secrets.PYPI_API_TOKEN }}
34+
password: ${{ secrets.PYPI_API_TOKEN }}
35+
36+
- name: Minimize uv cache
37+
run: uv cache prune --ci

.github/workflows/test.yml

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,48 +3,53 @@ name: Test
33
on:
44
push:
55
branches: [main]
6-
tags:
7-
- "v*"
86
pull_request:
97
branches: "*"
108

119
jobs:
1210
test:
1311
runs-on: ${{ matrix.os }}
12+
1413
defaults:
1514
run:
16-
shell: bash -e {0} # -e to fail on error
15+
shell: bash -e {0}
1716

1817
strategy:
1918
fail-fast: false
2019
matrix:
2120
os: [ubuntu-latest, windows-latest, macos-latest]
2221
python: ["3.11", "3.12"]
22+
2323
env:
2424
OS: ${{ matrix.os }}
2525
PYTHON: ${{ matrix.python }}
2626

2727
steps:
2828
- uses: actions/checkout@v4
29-
- uses: astral-sh/setup-uv@v5
29+
- uses: astral-sh/setup-uv@v6
3030
id: setup-uv
3131
with:
3232
version: "latest"
3333
python-version: ${{ matrix.python }}
34+
enable-cache: true
35+
3436
- name: Install dependencies
35-
run: "uv sync --extra dev"
37+
run: "uv sync"
3638

3739
- name: Test
3840
env:
3941
MPLBACKEND: agg
4042
PLATFORM: ${{ matrix.os }}
4143
DISPLAY: :42
42-
run: |
43-
uv run pytest --cov --color=yes --cov-report=xml
44-
- name: Upload coverage to Codecov
45-
uses: codecov/codecov-action@v5
46-
with:
47-
name: coverage
48-
verbose: true
49-
env:
50-
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
44+
run: uv run pytest --cov --color=yes --cov-report=xml
45+
46+
# - name: Upload coverage to Codecov
47+
# uses: codecov/codecov-action@v5
48+
# with:
49+
# name: coverage
50+
# verbose: true
51+
# env:
52+
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
53+
54+
- name: Minimize uv cache
55+
run: uv cache prune --ci

.gitignore

Lines changed: 4 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,35 @@
11
# docs
22
/docs/data/
33
/docs/outputs/
4+
/docs/_build/
5+
/docs/build/
46

57
# Byte-compiled / optimized / DLL files
68
__pycache__/
79
*.py[cod]
810
*$py.class
911

10-
# C extensions
11-
*.so
12+
# Environment
13+
.venv
1214

1315
# Distribution / packaging
1416
.Python
15-
build/
16-
develop-eggs/
1717
dist/
18-
downloads/
19-
eggs/
20-
.eggs/
21-
lib/
22-
lib64/
23-
parts/
24-
sdist/
25-
var/
26-
wheels/
27-
share/python-wheels/
28-
*.egg-info/
29-
.installed.cfg
30-
*.egg
31-
MANIFEST
3218

3319
# Unit test / coverage reports
34-
htmlcov/
35-
.tox/
36-
.nox/
3720
.coverage
3821
.coverage.*
3922
.cache
4023
nosetests.xml
4124
coverage.xml
4225
*.cover
4326
*.py,cover
44-
.hypothesis/
4527
.pytest_cache/
46-
cover/
47-
uv.lock
48-
49-
# Sphinx documentation
50-
/docs/_build/
51-
/docs/build/
52-
html/
5328

5429
# Jupyter Notebook
5530
tests/*.ipynb
5631
notebooks
5732
.ipynb_checkpoints
5833

59-
# IPython
60-
profile_default/
61-
ipython_config.py
62-
63-
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
64-
__pypackages__/
65-
66-
# pixi environments
67-
.pixi
68-
*.egg-info
69-
7034
# ruff
7135
.ruff_cache
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
opendvp.plotting.imputation\_qc
2+
===============================
3+
4+
.. currentmodule:: opendvp.plotting
5+
6+
.. autofunction:: imputation_qc

0 commit comments

Comments
 (0)