Skip to content

Migrate project to use uv (dependency manager) #79

Migrate project to use uv (dependency manager)

Migrate project to use uv (dependency manager) #79

Workflow file for this run

# This workflow will install Python dependencies, run tests, and lint with a single version of Python
# For more information, see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
name: Python application
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13"]
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v6
with:
python-version: "${{ matrix.python-version }}"
- name: Install uv and create venv
run: |
python -m pip install --upgrade pip
python -m pip install --upgrade uv
uv venv --python ${{ matrix.python-version }}
uv sync
- name: Install dev extras
run: |
# Install project with dev extras into the uv venv so tools (flake8, mypy, etc.) are available
uv run pip install -e '.[dev]'
- name: Lint with flake8
run: |
uv run flake8 EMpy tests examples scripts
- name: Lint with pyflakes
run: |
uv run pyflakes EMpy tests examples scripts
- name: Lint with mypy
run: |
uv run mypy EMpy tests examples scripts
- name: Run tests
run: |
uv run pytest