perf: simplify pandas-like with_columns
#4496
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: PyTest | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
jobs: | |
pytest-38: | |
strategy: | |
matrix: | |
python-version: ["3.8"] | |
os: [windows-latest, ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: install-reqs | |
run: uv pip install --upgrade tox virtualenv setuptools -r requirements-dev.txt --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run pytest | |
run: pytest tests --cov=narwhals --cov=tests --cov-fail-under=85 | |
pytest-windows: | |
strategy: | |
matrix: | |
python-version: ["3.10", "3.12"] | |
os: [windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: install-reqs | |
run: uv pip install --upgrade tox virtualenv setuptools -r requirements-dev.txt --system | |
- name: install-modin | |
run: uv pip install --upgrade modin[dask] --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run pytest | |
run: pytest tests --cov=narwhals --cov=tests --runslow --cov-fail-under=95 | |
pytest-coverage: | |
strategy: | |
matrix: | |
python-version: ["3.9", "3.11", "3.13"] | |
os: [ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install uv | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: install-reqs | |
run: uv pip install --upgrade tox virtualenv setuptools -r requirements-dev.txt --system | |
- name: install-modin | |
run: uv pip install --upgrade modin[dask] --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: install ibis | |
run: uv pip install ibis-framework[duckdb]>=6.0.0 --system | |
# Ibis puts upper bounds on dependencies, and requires Python3.10+, | |
# which messes with other dependencies on lower Python versions | |
if: matrix.python-version == '3.11' | |
- name: Run pytest | |
run: pytest tests --cov=narwhals --cov=tests --cov-fail-under=100 --runslow | |
- name: Run doctests | |
if: matrix.python-version == '3.13' | |
run: pytest narwhals --doctest-modules |