perf: simplify pandas-like with_columns
#2632
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: Test Downstream Libraries - Fast | |
on: | |
pull_request: | |
push: | |
branches: [main] | |
jobs: | |
altair: | |
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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: clone-altair | |
run: | | |
git clone https://github.com/vega/altair.git --depth=1 | |
cd altair | |
git log | |
- name: install-basics | |
run: uv pip install --upgrade tox virtualenv setuptools --system | |
- name: install-altair-dev | |
run: | | |
cd altair | |
uv pip install -e ".[dev, all]" --system | |
- name: install-narwhals-dev | |
run: | | |
uv pip uninstall narwhals --system | |
uv pip install -e . --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run pytest | |
run: | | |
cd altair | |
pytest tests | |
- name: Run mypy | |
run: | | |
cd altair | |
mypy altair tests | |
marimo: | |
strategy: | |
matrix: | |
python-version: ["3.12"] | |
os: [ubuntu-latest] | |
dependencies: ["core,optional"] | |
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: clone-marimo | |
run: | | |
git clone https://github.com/marimo-team/marimo.git --depth=1 | |
cd marimo | |
uv venv -p 3.12 | |
git log | |
- name: install-basics | |
run: uv pip install --upgrade tox virtualenv setuptools hatch --system | |
- name: install-marimo-dev | |
run: | | |
cd marimo | |
. .venv/bin/activate | |
uv pip install -e ".[dev]" | |
which python | |
- name: install-narwhals-dev | |
run: | | |
cd marimo | |
. .venv/bin/activate | |
uv pip uninstall narwhals | |
uv pip install -e ./.. | |
- name: show-deps | |
run: | | |
cd marimo | |
. .venv/bin/activate | |
uv pip freeze | |
- name: Create assets directory, copy over index.html | |
continue-on-error: true | |
run: | | |
mkdir -p marimo/marimo/_static/assets | |
cp marimo/frontend/index.html marimo/marimo/_static/index.html | |
cp marimo/frontend/public/favicon.ico marimo/marimo/_static/favicon.ico | |
- name: Run tests with full dependencies | |
if: ${{ matrix.dependencies == 'core,optional' }} | |
run: | | |
cd marimo | |
. .venv/bin/activate | |
# make sure that we use the .venv when running tests, so that | |
# the local narwhals install is picked up | |
sed -i '/^\[tool.hatch.envs.default\]/a path = ".venv"' pyproject.toml | |
hatch run python -c "import narwhals; print(narwhals.__file__)" | |
hatch run test-optional:test-narwhals | |
timeout-minutes: 15 | |
scikit-lego: | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
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: clone-scikit-lego | |
run: git clone https://github.com/koaning/scikit-lego.git --depth 1 | |
- name: install-basics | |
run: uv pip install --upgrade tox virtualenv setuptools --system | |
- name: install-scikit-lego-dev | |
run: | | |
cd scikit-lego | |
uv pip install -e ".[test]" --system | |
- name: install-narwhals-dev | |
run: | | |
uv pip uninstall narwhals --system | |
uv pip install -e . --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run pytest | |
run: | | |
cd scikit-lego | |
pytest -n auto --disable-warnings --cov=sklego -m "not cvxpy and not formulaic and not umap" | |
shiny: | |
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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: clone-shiny | |
run: | | |
git clone https://github.com/posit-dev/py-shiny.git | |
cd py-shiny | |
git log | |
- name: install-basics | |
run: uv pip install --upgrade tox virtualenv setuptools --system | |
- name: install-shiny-dev | |
env: | |
UV_SYSTEM_PYTHON: 1 | |
run: | | |
cd py-shiny | |
make narwhals-install-shiny | |
- name: install-narwhals-dev | |
run: | | |
uv pip uninstall narwhals --system | |
uv pip install -e . --system | |
# temporarily pin websockets to get CI green | |
uv pip install "websockets<14.0" --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run `make narwhals-test-integration` | |
run: | | |
cd py-shiny | |
make narwhals-test-integration | |
tubular: | |
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 | |
uses: astral-sh/setup-uv@v3 | |
with: | |
enable-cache: "true" | |
cache-suffix: ${{ matrix.python-version }} | |
cache-dependency-glob: "**requirements*.txt" | |
- name: clone-tubular | |
run: | | |
git clone https://github.com/lvgig/tubular --depth=1 | |
cd tubular | |
git log | |
- name: install-basics | |
run: uv pip install --upgrade tox virtualenv setuptools pytest-env --system | |
- name: install-tubular-dev | |
run: | | |
cd tubular | |
uv pip install -e .[dev] --system | |
- name: install-narwhals-dev | |
run: | | |
uv pip uninstall narwhals --system | |
uv pip install -e . --system | |
- name: show-deps | |
run: uv pip freeze | |
- name: Run pytest | |
run: | | |
cd tubular | |
pytest tests --config-file=pyproject.toml |