Skip to content

feat: add Phase 1 Python client package over the server (#411) #5

feat: add Phase 1 Python client package over the server (#411)

feat: add Phase 1 Python client package over the server (#411) #5

Workflow file for this run

# PR / push CI for the Python client package under python/. Runs ruff (lint +
# format), mypy (type check), and pytest (unit + lifecycle tests). It needs
# neither MLX nor the mlxcel binary, so it runs on plain ubuntu-latest and is
# independent of the Rust CI in ci.yml. The e2e test is skipped here because it
# requires a built binary (set MLXCEL_BIN to run it locally).
name: Python
on:
push:
branches: [main]
paths:
- 'python/**'
- '.github/workflows/python.yml'
pull_request:
branches: [main]
paths:
- 'python/**'
- '.github/workflows/python.yml'
permissions:
contents: read
jobs:
check:
name: lint, type-check, test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
with:
persist-credentials: false
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install package with dev extras
run: python -m pip install --upgrade pip && pip install -e "python[dev]"
- name: Ruff lint
run: ruff check python
- name: Ruff format check
run: ruff format --check python
- name: Mypy
run: mypy python/src
- name: Pytest (unit + lifecycle)
run: pytest python/tests -m "not e2e" -q