Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .claude/CLAUDE.md
2 changes: 1 addition & 1 deletion .copier-answers.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file is managed by Copier; DO NOT EDIT OR REMOVE.
_commit: v0.4.1
_commit: v0.5.1
_src_path: https://github.com/quantco/copier-template-python-open-source
add_autobump_workflow: false
author_email: oliver.borchert@quantco.com
Expand Down
2 changes: 2 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ updates:
- "*"
commit-message:
prefix: ci
cooldown:
default-days: 7
37 changes: 36 additions & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,13 +17,42 @@ jobs:
with:
fetch-depth: 0
- name: Set up pixi
<<<<<<< before updating
uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
with:
environments: build
- name: Set version
run: pixi run -e build set-version
||||||| last update
uses: prefix-dev/setup-pixi@19eac09b398e3d0c747adc7921926a6d802df4da # v0.8.8
with:
environments: build
=======
uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
- name: Derive version
id: version
if: startsWith(github.ref, 'refs/tags/')
shell: bash
run: echo "version=$(git describe --tags --abbrev=0 | sed 's/^v//')" >> $GITHUB_OUTPUT
- name: Replace version
if: startsWith(github.ref, 'refs/tags/')
run: |
sed -i -e "s/0.0.0/${STEPS_VERSION_OUTPUTS_VERSION}/g" pyproject.toml
env:
STEPS_VERSION_OUTPUTS_VERSION: ${{ steps.version.outputs.version }}
>>>>>>> after updating
- name: Build project
<<<<<<< before updating
run: pixi run -e build build-sdist
||||||| last update
run: pixi run -e build build-wheel
- name: Check package
run: pixi run check-wheel
=======
run: pixi run build-wheel
- name: Check package
run: pixi run check-wheel
>>>>>>> after updating
- name: Upload package
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
Expand Down Expand Up @@ -68,7 +97,7 @@ jobs:
manylinux: auto
sccache: true
- name: Check package
run: pixi run -e build check-wheel
run: pixi run check-wheel
- name: Upload package
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
with:
Expand All @@ -84,7 +113,13 @@ jobs:
id-token: write
environment: pypi
steps:
<<<<<<< before updating
- uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3 # v8.0.0
||||||| last update
- uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
=======
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
>>>>>>> after updating
with:
path: dist
merge-multiple: true
Expand Down
66 changes: 66 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,17 +13,31 @@ permissions:
contents: read

jobs:
<<<<<<< before updating
pre-commit-checks:
name: Pre-commit Checks
||||||| last update
pre-commit:
=======
lint:
name: Lint
>>>>>>> after updating
timeout-minutes: 30
runs-on: ubuntu-latest
steps:
- name: Checkout branch
<<<<<<< before updating
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
# needed for 'pre-commit-mirrors-insert-license'
fetch-depth: 0
||||||| last update
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
=======
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
>>>>>>> after updating
- name: Set up pixi
<<<<<<< before updating
uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
with:
environments: default lint polars-minimal
Expand All @@ -33,6 +47,19 @@ jobs:
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- name: pre-commit
run: pixi run pre-commit-run --color=always --show-diff-on-failure
||||||| last update
uses: prefix-dev/setup-pixi@19eac09b398e3d0c747adc7921926a6d802df4da # v0.8.8
with:
environments: default lint
- name: pre-commit
run: pixi run pre-commit-run --color=always --show-diff-on-failure
=======
uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
- name: Run linting
run: pixi run lint
env:
CLICOLOR_FORCE: 1
>>>>>>> after updating

unit-tests:
name: Unit Tests (${{ contains(matrix.os, 'ubuntu') && 'Linux' || (contains(matrix.os, 'windows') && 'Windows' || 'macOS') }}) - ${{ matrix.environment }}
Expand All @@ -41,6 +68,7 @@ jobs:
strategy:
fail-fast: true
matrix:
<<<<<<< before updating
os: [ubuntu-latest, windows-latest, macos-latest]
environment: [py310, py311, py312, py313, py314]
with_optionals: [false]
Expand All @@ -59,13 +87,46 @@ jobs:
- os: ubuntu-latest
environment: polars-minimal
with_optionals: false
||||||| last update
environment:
- py310
- py311
- py312
- py313
os:
- ubuntu-latest
- macos-latest
- windows-latest
=======
environment:
- py310
- py311
- py312
- py313
- py314
os:
- ubuntu-latest
- macos-latest
- windows-latest
>>>>>>> after updating
steps:
- name: Checkout branch
<<<<<<< before updating
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
||||||| last update
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: 0
=======
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
>>>>>>> after updating
- name: Set up pixi
uses: prefix-dev/setup-pixi@a0af7a228712d6121d37aba47adf55c1332c9c2e # v0.9.4
with:
environments: ${{ matrix.environment }}
<<<<<<< before updating
# FIXME: Remove when `s3_server` fixture does not start a process anymore
post-cleanup: ${{ matrix.os != 'windows-latest' }}
- name: Install Rust
Expand All @@ -74,6 +135,11 @@ jobs:
uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
- name: Install repository
run: pixi run -e ${{ matrix.environment }} postinstall
||||||| last update
- name: Install repository
run: pixi run -e ${{ matrix.environment }} postinstall
=======
>>>>>>> after updating
- name: Run pytest
run: pixi run -e ${{ matrix.environment }} test-coverage --color=yes ${{ matrix.with_optionals && '-m with_optionals' || '-m "not with_optionals"'}} --cov=dataframely --cov-report=xml
- name: Upload codecov
Expand Down
6 changes: 6 additions & 0 deletions .github/workflows/scorecard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,12 @@ jobs:
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
<<<<<<< before updating
uses: github/codeql-action/upload-sarif@89a39a4e59826350b863aa6b6252a07ad50cf83e # v3.29.5
||||||| last update
uses: github/codeql-action/upload-sarif@ff0a06e83cb2de871e5a09832bc6a81e7276941f # v3.28.18
=======
uses: github/codeql-action/upload-sarif@0d579ffd059c29b07949a3cce3983f0780820c98 # v4.32.6
>>>>>>> after updating
with:
sarif_file: results.sarif
49 changes: 49 additions & 0 deletions .lefthook.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/evilmartians/lefthook/refs/heads/master/schema.json
output: [summary]
templates:
run: run --quiet --no-progress
no_auto_install: true
pre-commit:
fail_on_changes: always
exclude:
- assets/**/*
jobs:
- name: pixi-install
run: pixi install
- group:
parallel: true
jobs:
- name: ruff-check
glob: "*.{py,pyi}"
run: pixi {run} ruff check --fix --exit-non-zero-on-fix --force-exclude
- name: ruff-format
glob: "*.{py,pyi}"
run: pixi {run} ruff format --force-exclude
- name: mypy
glob: "*.py"
run: pixi {run} mypy {staged_files}
- name: prettier
glob: "*.{md,yml,yaml}"
run: pixi {run} prettier --write --no-error-on-unmatched-pattern --list-different --ignore-unknown {staged_files}
- name: taplo
glob: "*.toml"
run: pixi {run} taplo format {staged_files}
- name: trailing-whitespace-fixer
glob: "*"
file_types: text
run: pixi {run} trailing-whitespace-fixer {staged_files}
- name: end-of-file-fixer
glob: "*"
file_types: text
run: pixi {run} end-of-file-fixer {staged_files}
- name: check-merge-conflict
glob: "*"
file_types: text
run: pixi {run} check-merge-conflict --assume-in-merge {staged_files}
- name: typos
glob: "*"
file_types: text
run: pixi {run} typos --force-exclude {staged_files}
- name: zizmor
glob: "*.{yml,yaml}"
run: pixi {run} zizmor --no-progress --min-severity high --fix .
110 changes: 0 additions & 110 deletions .pre-commit-config.yaml

This file was deleted.

5 changes: 5 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Lockfiles must be consistent with package metadata. After any change to `pixi.toml`, run `pixi lock`.

Everything runs in a pixi environment. Any command (like `pytest`) must be prefixed with `pixi run` (e.g. `pixi run pytest`).

Code formatting must align with our standards. Run `pixi run lint` before `git commit`s to ensure this.
Loading
Loading