Skip to content

Switch project to using uv rather than poetry #266

Switch project to using uv rather than poetry

Switch project to using uv rather than poetry #266

Workflow file for this run

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python package
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
name: build (${{ matrix.os }}, ${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: ["ubuntu-latest", "macos-latest"]
python-version: ["3.11", "3.12", "3.13", "3.14"]
steps:
- uses: actions/checkout@v4
- name: Set up latest uv and Python ${{ matrix.python-version }}
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
activate-environment: true
- name: Install / build
run: |
uv pip install .
test:
name: test (ubuntu-latest, ${{ matrix.python-version }}, ${{ matrix.pint }} Pint, packages version ${{ matrix.resolution }})
runs-on: "ubuntu-latest"
strategy:
fail-fast: false
matrix:
python-version: ["3.11", "3.12", "3.13", "3.14"]
pint: ["with", "without"]
resolution: ["highest", "lowest-direct"]
steps:
- uses: actions/checkout@v4
- name: Install uv and Python ${{ matrix.python-version }}
uses: astral-sh/setup-uv@v6
with:
python-version: ${{ matrix.python-version }}
activate-environment: true
- name: Install udunits
run: sudo apt-get install -y libudunits2-dev
- name: Install dependencies
run: |
uv sync --resolution ${{matrix.resolution}} --no-group docs
export UDUNITS2_XML_PATH=/usr/share/xml/udunits/udunits2.xml
uv pip install cf_units==3.3.0
- if: matrix.pint == 'with'
name: Install pint and pint-xarray
run: |
uv sync --resolution ${{matrix.resolution}} --no-group docs --extra pint
- name: Test with pytest
run: |
uv run --no-sync pytest gsw_xarray/tests