Skip to content

docs: Resync documentation with implementation #14935

docs: Resync documentation with implementation

docs: Resync documentation with implementation #14935

Workflow file for this run

name: Min, old, and nightly versions
on:
pull_request:
paths:
- "**.py"
- .github/workflows/extremes.yml
- pyproject.toml
- uv.lock
env:
PY_COLORS: 1
PYTEST_ADDOPTS: "--numprocesses=logical"
UV_LOCKED: 1
UV_NO_DEV: 1
permissions:
contents: read
jobs:
minimum_versions:
strategy:
matrix:
python-version: ["3.10"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: "true"
cache-suffix: min-versions-${{ matrix.python-version }}
cache-dependency-glob: "pyproject.toml"
- name: Run pytest
run: make run-ci DEPS="--group extreme-minimum-versions --group plugins" CMD="pytest tests --cov=src --cov=tests --cov-fail-under=50 --runslow --constructors=pandas,pyarrow,polars[eager],polars[lazy],duckdb"
pretty_old_versions:
strategy:
matrix:
python-version: ["3.10"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: "true"
cache-suffix: pretty-old-versions-${{ matrix.python-version }}
cache-dependency-glob: "pyproject.toml"
- name: Run pytest
run: make run-ci DEPS="--group extreme-pretty-old-versions --group plugins" CMD="pytest tests --cov=src --cov=tests --cov-fail-under=50 --runslow --constructors=pandas,pyarrow,polars[eager],polars[lazy],duckdb"
not_so_old_versions:
strategy:
matrix:
python-version: ["3.10"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: "true"
cache-suffix: not-so-old-versions-${{ matrix.python-version }}
cache-dependency-glob: "pyproject.toml"
- name: Run pytest
run: make run-ci DEPS="--group extreme-not-so-old-versions --group plugins" CMD="pytest tests --cov=src --cov=tests --cov-fail-under=50 --runslow --constructors=pandas,pyarrow,polars[eager],polars[lazy],dask,duckdb"
nightlies:
strategy:
matrix:
python-version: ["3.12"]
os: [ubuntu-latest]
runs-on: ${{ matrix.os }}
env:
UV_LOCKED: 0
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Install uv
uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
with:
python-version: ${{ matrix.python-version }}
enable-cache: "true"
cache-suffix: nightlies-${{ matrix.python-version }}
cache-dependency-glob: "pyproject.toml"
# Manually install pre-releases as it's not possible to specify pre-releases per index
# See: https://github.com/astral-sh/uv/issues/15780
- name: Create venv
run: uv venv --python ${{ matrix.python-version }}
- name: install-reqs
run: uv pip install -e . --group tests --group plugins
- name: install polars pre-release
run: |
uv pip uninstall polars
uv pip install -U --pre polars
- name: install-pandas-nightly
run: |
uv pip uninstall pandas
uv pip install pandas --pre --index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple -U
- name: install pyarrow nightly
run: |
uv pip uninstall pyarrow
uv pip install pyarrow --pre --index https://pypi.fury.io/arrow-nightlies/ -U
- name: install numpy nightly
run: |
uv pip uninstall numpy
uv pip install numpy --pre --index https://pypi.anaconda.org/scientific-python-nightly-wheels/simple -U
- name: install dask
run: |
uv pip uninstall dask dask-expr
uv pip install "git+https://github.com/dask/dask[dataframe]"
- name: install duckdb nightly
run: |
uv pip uninstall duckdb
uv pip install -U --pre duckdb
- name: show-deps
run: uv pip freeze
- name: Assert nightlies dependencies
run: |
DEPS=$(uv pip freeze)
echo "$DEPS" | grep -E 'pandas.*(dev|rc|\+)'
echo "$DEPS" | grep 'pyarrow.*dev'
echo "$DEPS" | grep 'numpy.*dev'
echo "$DEPS" | grep 'dask.*@'
- name: Run pytest
run: |
uv run --no-sync pytest tests --cov=src --cov=tests --cov-fail-under=50 --runslow \
--constructors="pandas,pandas[nullable],pandas[pyarrow],pyarrow,polars[eager],polars[lazy],dask,duckdb"