Showing 372 changed files with 18,897 additions and 14,380 deletions.
17 changes: 17 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"image": "mcr.microsoft.com/vscode/devcontainers/python:3.11",
"updateContentCommand": ".devcontainer/updateContent.sh",
"customizations": {
"codespaces": {
"openFiles": ["docs/tutorials/getting_started.qmd"]
},
"vscode": {
"extensions": ["ms-toolsai.jupyter", "ms-python.python", "quarto.quarto"]
}
},
"features": {
"ghcr.io/rocker-org/devcontainer-features/quarto-cli:1": {
"version": "1.4.339"
}
}
}
5 changes: 5 additions & 0 deletions .devcontainer/updateContent.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#!/usr/bin/env bash

# install ibis
python3 -m pip install ipython
python3 -m pip install -e '.[duckdb]'
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
conda-lock/*.lock linguist-generated=true
ci/conda-lock/python-*.yml linguist-generated=true
flake.lock linguist-generated=true
poetry.lock linguist-generated=true
requirements.txt linguist-generated=true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/assign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ jobs:
runs-on: ubuntu-latest
if: github.event.comment.body == '/take'
steps:
- uses: pozil/auto-assign-issue@v1.12.0
- uses: pozil/auto-assign-issue@v1.13.0
with:
assignees: ${{ github.event.comment.user.login }}
2 changes: 1 addition & 1 deletion .github/workflows/check-generated-files.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
run: pip install 'poetry==1.6.1'

- name: check consistency with pyproject.toml
run: poetry lock --check
run: poetry check --lock

- name: check that the `all` extra matches the current lock file
run: |
Expand Down
69 changes: 8 additions & 61 deletions .github/workflows/conda-lock.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ jobs:
strategy:
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
defaults:
Expand All @@ -27,33 +26,27 @@ jobs:

- uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: latest
miniforge-variant: Mambaforge
miniforge-version: latest
activate-environment: conda-lock
channels: conda-forge
channel-priority: strict
python-version: "3.11"
condarc-file: ci/conda-lock/condarc
use-mamba: true

- name: install conda libmamba solver
run: conda install -n base conda-libmamba-solver

- name: set solver to libmamba
run: conda config --set solver libmamba

- name: install conda-lock
run: conda install conda-lock=1.4
run: mamba install --name base conda-lock

- name: generate lock file
run: ./ci/conda-lock/generate.sh "${{ matrix.python-version }}"

- name: create conda environment
run: conda create --name ibis${{ matrix.python-version }} --file conda-lock/linux-64-${{ matrix.python-version }}.lock
run: mamba create --name ibis${{ matrix.python-version }} --file conda-lock/linux-64/${{ matrix.python-version }}.lock

- name: upload conda lock files
uses: actions/upload-artifact@v3
with:
name: conda-lock-files-${{ github.run_attempt }}
path: conda-lock/*-${{ matrix.python-version }}.lock
path: ci/conda-lock/*/${{ matrix.python-version }}.lock

condalock_pr:
if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch'
Expand Down Expand Up @@ -81,7 +74,7 @@ jobs:
uses: actions/download-artifact@v3
with:
name: conda-lock-files-${{ github.run_attempt }}
path: conda-lock
path: ci/conda-lock

- uses: peter-evans/create-pull-request@v5
id: create_pr
Expand All @@ -90,7 +83,7 @@ jobs:
commit-message: "chore(conda-lock): relock"
branch: "create-pull-request/conda-relock"
delete-branch: true
add-paths: conda-lock/*.lock
add-paths: ci/conda-lock/*/*.lock
committer: "ibis-squawk-bot[bot] <ibis-squawk-bot[bot]@users.noreply.github.com>"
author: "ibis-squawk-bot[bot] <ibis-squawk-bot[bot]@users.noreply.github.com>"
title: "chore(conda-lock): relock"
Expand All @@ -110,49 +103,3 @@ jobs:
token: ${{ steps.generate_pr_token.outputs.token }}
pull-request-number: ${{ steps.create_pr.outputs.pull-request-number }}
merge-method: rebase

condalock_push:
if: github.event_name == 'repository_dispatch'
runs-on: ubuntu-latest
needs:
- condalock
steps:
- uses: tibdex/github-app-token@v2
id: generate_token
with:
app_id: ${{ secrets.SQUAWK_BOT_APP_ID }}
private_key: ${{ secrets.SQUAWK_BOT_APP_PRIVATE_KEY }}

- uses: actions/checkout@v4
with:
token: ${{ steps.generate_token.outputs.token }}
repository: ${{ github.event.client_payload.pull_request.head.repo.full_name }}
ref: ${{ github.event.client_payload.pull_request.head.ref }}

- name: download conda lock files
uses: actions/download-artifact@v3
with:
name: conda-lock-files-${{ github.run_attempt }}
path: conda-lock

- name: Configure git info
run: |
set -euo pipefail
git config --global user.name 'ibis-squawk-bot[bot]'
git config --global user.email 'ibis-squawk-bot[bot]@users.noreply.github.com'
- name: commit lock files and push to PR
run: |
set -euo pipefail
git add conda-lock/*.lock
if git commit -m 'chore(conda-lock): relock'; then
# pull in case another commit happened in the meantime
#
# `ours` is actually the *other* changeset, not the current branch, per
# https://stackoverflow.com/a/3443225/564538
git pull --rebase -s recursive -X ours
git push
fi
16 changes: 0 additions & 16 deletions .github/workflows/ibis-backends-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,18 +42,8 @@ jobs:
backend:
- name: bigquery
title: BigQuery
deps: []
- name: snowflake
title: Snowflake
deps: []
include:
- python-version: "3.10"
backend:
name: snowflake
title: Snowflake with nanoarrow
deps:
- snowflake-connector-python[pandas]@3.3.0b1
- --optional
steps:
- name: checkout
uses: actions/checkout@v4
Expand All @@ -65,20 +55,14 @@ jobs:
python-version: ${{ matrix.python-version }}

- uses: syphar/restore-virtualenv@v1
if: toJSON(matrix.backend.deps) == '[]'
with:
requirement_files: poetry.lock
custom_cache_key_element: ${{ matrix.backend.name }}-${{ steps.install_python.outputs.python-version }}

- name: upgrade pip and install poetry
run: python -m pip install --upgrade pip 'poetry==1.6.1'

- name: install a prerelease version of `snowflake-connector-python`
if: toJSON(matrix.backend.deps) != '[]'
run: poetry add ${{ join(matrix.backend.deps, ' ') }}

- uses: syphar/restore-pip-download-cache@v1
if: toJSON(matrix.backend.deps) == '[]'
with:
requirement_files: poetry.lock
custom_cache_key_element: ${{ matrix.backend.name }}-${{ steps.install_python.outputs.python-version }}
Expand Down
Loading