perf: concatenate less in pandas-like with_columns #4382
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: 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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- 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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- 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 | |
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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- 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 | |
nightlies: | |
strategy: | |
matrix: | |
python-version: ["3.13"] | |
os: [ubuntu-latest] | |
if: github.event.pull_request.head.repo.full_name == github.repository | |
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-kaggle | |
run: uv pip install kaggle --system | |
- name: Download Kaggle notebook artifact | |
env: | |
KAGGLE_USERNAME: ${{ secrets.KAGGLE_USERNAME }} | |
KAGGLE_KEY: ${{ secrets.KAGGLE_KEY }} | |
run: | | |
kaggle kernels output "marcogorelli/variable-brink-glacier" | |
- name: install-polars | |
run: python -m pip install *.whl | |
- name: install-pandas-nightly | |
run: pip install --pre --extra-index-url https://pypi.anaconda.org/scientific-python-nightly-wheels/simple pandas | |
- 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 --extra-index-url https://pypi.fury.io/arrow-nightlies/ --pre pyarrow --system | |
- name: uninstall pandas | |
run: uv pip uninstall pandas --system | |
- name: show-deps | |
run: uv pip freeze | |
- 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 | |