expand "used by" #2463
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 | |
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 | |
- 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 | |
# vegafusion: | |
# env: | |
# UV_SYSTEM_PYTHON: true | |
# 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-vegafusion | |
# run: | | |
# git clone --single-branch -b v2 https://github.com/vega/vegafusion.git | |
# cd vegafusion | |
# git log | |
# - name: Cache rust dependencies | |
# uses: Swatinem/rust-cache@v2 | |
# with: | |
# workspaces: vegafusion | |
# - name: Build wheels | |
# uses: PyO3/maturin-action@v1 | |
# with: | |
# command: build | |
# manylinux: 2014 | |
# rust-toolchain: stable | |
# args: --release -m vegafusion/vegafusion-python/Cargo.toml --features=protobuf-src --strip | |
# - name: Install wheels | |
# working-directory: vegafusion/target/wheels/ | |
# run: | | |
# ls -la | |
# python -m pip install vegafusion-*manylinux*.whl | |
# # Optional dependencies | |
# python -m pip install pyarrow pandas polars-lts-cpu "duckdb>=1.0" "vl-convert-python>=1.0.1rc1" scikit-image "pandas>=2.2" jupytext voila anywidget ipywidgets chromedriver-binary-auto | |
# # Test dependencies | |
# python -m pip install pytest altair vega-datasets scikit-image jupytext voila ipykernel anywidget ipywidgets selenium flaky tenacity chromedriver-binary-auto | |
# - name: Test lazy imports | |
# working-directory: vegafusion/vegafusion-python/ | |
# run: python checks/check_lazy_imports.py | |
# - name: Test vegafusion | |
# working-directory: vegafusion/vegafusion-python/ | |
# env: | |
# VEGAFUSION_TEST_HEADLESS: 1 | |
# run: pytest |