Skip to content

feat: Support Arrow PyCapsule Interface for export #2625

feat: Support Arrow PyCapsule Interface for export

feat: Support Arrow PyCapsule Interface for export #2625

Workflow file for this run

name: Min, old, and nightly versions
on:
pull_request:
push:
branches: [main]
jobs:
minimum_versions:
strategy:
matrix:
python-version: ["3.8"]
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 (Unix)
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: install-minimum-versions
run: uv pip install tox virtualenv setuptools pandas==0.25.3 polars==0.20.3 numpy==1.17.5 pyarrow==11.0.0 scipy==1.5.0 scikit-learn==1.1.0 tzdata --system
- name: install-reqs
run: uv pip install -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=50 --runslow
pretty_old_versions:
strategy:
matrix:
python-version: ["3.8"]
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 (Unix)
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: install-minimum-versions
run: uv pip install tox virtualenv setuptools pandas==1.1.5 polars==0.20.3 numpy==1.17.5 pyarrow==11.0.0 scipy==1.5.0 scikit-learn==1.1.0 tzdata --system
- name: install-reqs
run: uv pip install -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=50 --runslow
- name: Run doctests
run: pytest narwhals --doctest-modules
not_so_old_versions:
strategy:
matrix:
python-version: ["3.9"]
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 (Unix)
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: install-minimum-versions
run: uv pip install tox virtualenv setuptools pandas==2.0.3 polars==0.20.8 numpy==1.24.4 pyarrow==14.0.0 scipy==1.8.0 scikit-learn==1.3.0 dask[dataframe]==2024.7 tzdata --system
- name: install-reqs
run: uv pip install -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=50 --runslow
- name: Run doctests
run: pytest narwhals --doctest-modules
pandas-nightly-and-dask:
strategy:
matrix:
python-version: ["3.12"]
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 (Unix)
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: install-polars
run: uv pip install polars --system
- name: install-reqs
run: uv pip install --upgrade tox virtualenv setuptools pip -r requirements-dev.txt --system
- name: uninstall pyarrow
run: uv pip uninstall pyarrow --system
- name: install pyarrow nightly
run: uv pip install --pre --extra-index-url https://pypi.fury.io/arrow-nightlies/ pyarrow --system
- name: uninstall pandas
run: uv pip uninstall pandas --system
- name: install-pandas-nightly
run: uv pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple pandas --system
- name: uninstall numpy
run: uv pip uninstall numpy --system
- name: install numpy nightly
run: uv pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple numpy --system
- name: install dask
run: |
python -m pip install git+https://github.com/dask/distributed git+https://github.com/dask/dask git+https://github.com/dask/dask-expr
- name: show-deps
run: uv pip freeze
- name: Run pytest
run: pytest tests --cov=narwhals --cov=tests --cov-fail-under=50 --runslow
- name: Run doctests
run: pytest narwhals --doctest-modules
# polars-nightly:
# if: github.ref == 'refs/heads/main'
# strategy:
# matrix:
# python-version: ["3.12"]
# os: [ubuntu-latest]
# runs-on: ${{ matrix.os }}
# steps:
# - uses: actions/checkout@v4
# - uses: actions/setup-python@v5
# with:
# python-version: ${{ matrix.python-version }}
# - name: Cache multiple paths
# uses: actions/cache@v4
# with:
# path: |
# ~/.cache/pip
# $RUNNER_TOOL_CACHE/Python/*
# ~\AppData\Local\pip\Cache
# key: ${{ runner.os }}-build-${{ matrix.python-version }}
# - name: install-kaggle
# run: python -m pip install kaggle
# - name: Download Kaggle notebook artifact
# env:
# KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }}
# KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }}
# run: kaggle kernels output marcogorelli/polars-nightly
# - name: install-reqs
# run: python -m pip install --upgrade tox virtualenv setuptools pip -r requirements-dev.txt
# - name: uninstall polars
# run: python -m pip uninstall polars -y
# - name: install-modin-pandas
# run: pip install modin[dask] pandas
# - name: install-polars-nightly
# run: python -m pip install *.whl
# - name: Run pytest
# run: pytest tests --cov=narwhals --cov=tests --cov-fail-under=50
# - name: Run doctests
# run: pytest narwhals --doctest-modules