Showing 713 changed files with 34,057 additions and 21,877 deletions.
4 changes: 2 additions & 2 deletions .commitlintrc.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"rules": {
"body-leading-blank": [1, "always"],
"body-max-line-length": [2, "always", 250],
"body-max-line-length": [2, "always", 1000],
"footer-leading-blank": [1, "always"],
"footer-max-line-length": [2, "always", 250],
"footer-max-line-length": [2, "always", 1000],
"header-max-length": [2, "always", 120],
"subject-case": [
2,
Expand Down
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ use flake
watch_file poetry.lock

export CLOUDSDK_ACTIVE_CONFIG_NAME=ibis-gbq
export GOOGLE_CLOUD_PROJECT="$CLOUDSDK_ACTIVE_CONFIG_NAME"
export SQLALCHEMY_WARN_20=1
83 changes: 82 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,88 @@
"packageRules": [
{
"matchManagers": ["docker-compose", "dockerfile", "github-actions"],
"automerge": true
"automerge": true,
"autoApprove": true
},
{
"matchPackagePatterns": ["clickhouse-connect"],
"addLabels": ["clickhouse"]
},
{
"matchPackagePatterns": ["dask"],
"addLabels": ["dask"]
},
{
"matchPackagePatterns": ["datafusion"],
"addLabels": ["datafusion"]
},
{
"matchPackagePatterns": [
"db-dtypes",
"google-cloud-bigquery",
"google-cloud-bigquery-storage",
"pydata-google-auth"
],
"addLabels": ["bigquery"]
},
{
"matchPackagePatterns": ["duckdb", "duckdb-engine"],
"addLabels": ["duckdb"]
},
{
"matchPackagePatterns": ["fsspec", "impyla"],
"addLabels": ["impala"]
},
{
"matchPackagePatterns": ["oracledb"],
"addLabels": ["oracle"]
},
{
"matchPackagePatterns": ["polars"],
"addLabels": ["polars"]
},
{
"matchPackagePatterns": ["psycopg2"],
"addLabels": ["postgres"]
},
{
"matchPackagePatterns": ["pydruid"],
"addLabels": ["druid"]
},
{
"matchPackagePatterns": ["pymssql"],
"addLabels": ["mssql"]
},
{
"matchPackagePatterns": ["pymssql"],
"addLabels": ["mssql"]
},
{
"matchPackagePatterns": ["pyspark"],
"addLabels": ["pyspark"]
},
{
"matchPackagePatterns": [
"snowflake-connector-python",
"snowflake-sqlalchemy"
],
"addLabels": ["snowflake"]
},
{
"matchPackagePatterns": ["trino"],
"addLabels": ["trino"]
},
{
"matchDepTypes": ["dev"],
"addLabels": ["developer-tools"]
},
{
"matchDepTypes": ["test"],
"addLabels": ["tests"]
},
{
"matchDepTypes": ["docs"],
"addLabels": ["docs"]
}
]
}
2 changes: 2 additions & 0 deletions .github/workflows/assign.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
name: Assign Issue
permissions:
issues: write
on:
issue_comment:
types:
Expand Down
1 change: 0 additions & 1 deletion .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.8"
- "3.9"
- "3.10"
- "3.11"
Expand Down
62 changes: 23 additions & 39 deletions .github/workflows/ibis-backends-cloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,33 +23,19 @@ env:

jobs:
test_backends:
name: ${{ matrix.backend.title }} ${{ matrix.os }} python-${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
name: ${{ matrix.backend.title }} python-${{ matrix.python-version }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os:
- ubuntu-latest
python-version:
- "3.9"
- "3.11"
backend:
- name: bigquery
title: BigQuery
randomly-seed: true

- name: snowflake
title: Snowflake
randomly-seed: false

- name: snowflake
key: snowflake-pyarrow
title: Snowflake + PyArrow
randomly-seed: false
deps:
- "snowflake-connector-python[pandas]"
- "--optional"
- "snowflake-sqlalchemy[pandas]"
- "--optional"
steps:
- name: checkout
uses: actions/checkout@v3
Expand All @@ -63,14 +49,10 @@ jobs:
- uses: syphar/restore-virtualenv@v1
with:
requirement_files: poetry.lock
custom_cache_key_element: ${{ matrix.backend.name }}
custom_cache_key_element: ${{ matrix.backend.name }}-${{ steps.install_python.outputs.python-version }}

- run: python -m pip install --upgrade pip 'poetry<1.4'

- name: modify deps
if: matrix.backend.deps != null
run: poetry add ${{ join(matrix.backend.deps, ' ') }}

- uses: syphar/restore-pip-download-cache@v1
with:
requirement_files: poetry.lock
Expand All @@ -93,27 +75,29 @@ jobs:

- name: setup snowflake credentials
if: matrix.backend.name == 'snowflake'
run: echo "SNOWFLAKE_URL=${SNOWFLAKE_URL}" >> "$GITHUB_ENV"
run: |
pyversion="${{ matrix.python-version }}"
{
echo "SNOWFLAKE_USER=${SNOWFLAKE_USER}"
echo "SNOWFLAKE_PASSWORD=${SNOWFLAKE_PASSWORD}"
echo "SNOWFLAKE_ACCOUNT=${SNOWFLAKE_ACCOUNT}"
echo "SNOWFLAKE_DATABASE=${SNOWFLAKE_DATABASE}"
echo "SNOWFLAKE_SCHEMA=${SNOWFLAKE_SCHEMA}_python${pyversion//./}"
echo "SNOWFLAKE_WAREHOUSE=${SNOWFLAKE_WAREHOUSE}"
} >> "$GITHUB_ENV"
env:
SNOWFLAKE_URL: ${{ secrets.SNOWFLAKE_URL }}

- name: "run parallel tests: ${{ matrix.backend.name }}; reset random seed"
if: matrix.backend.randomly-seed
SNOWFLAKE_USER: ${{ secrets.SNOWFLAKE_USER }}
SNOWFLAKE_PASSWORD: ${{ secrets.SNOWFLAKE_PASSWORD }}
SNOWFLAKE_ACCOUNT: ${{ secrets.SNOWFLAKE_ACCOUNT }}
SNOWFLAKE_DATABASE: ${{ secrets.SNOWFLAKE_DATABASE }}
SNOWFLAKE_SCHEMA: ${{ secrets.SNOWFLAKE_SCHEMA }}
SNOWFLAKE_WAREHOUSE: ${{ secrets.SNOWFLAKE_WAREHOUSE }}

- name: "run parallel tests: ${{ matrix.backend.name }}"
run: just ci-check -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup

- name: "run parallel tests: ${{ matrix.backend.name }}; don't reset random seed"
if: ${{ !matrix.backend.randomly-seed }}
run: just ci-check -m ${{ matrix.backend.name }} --numprocesses auto --dist=loadgroup --randomly-dont-reset-seed

- name: upload code coverage
if: success()
uses: codecov/codecov-action@v3
with:
flags: backend,${{ matrix.backend.key || matrix.backend.name }},${{ runner.os }},python-${{ steps.install_python.outputs.python-version }}

- name: publish test report
uses: actions/upload-artifact@v3
if: success() || failure()
with:
name: ${{ matrix.backend.key || matrix.backend.name }}-${{ matrix.os }}-${{ matrix.python-version }}
path: junit.xml
flags: backend,${{ matrix.backend.name }},${{ runner.os }},python-${{ steps.install_python.outputs.python-version }}
Loading