Skip to content

Commit 6e2c8ea

Browse files
borcheroMariusMerkleQCEgeKaraismailogluQC
committed
Initial commit
Co-authored-by: Marius Merkle <marius.merkle@quantco.com> Co-authored-by: Ege Karaismailoglu <ege.karaismailoglu@quantco.com>
0 parents  commit 6e2c8ea

File tree

1,067 files changed

+43718
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,067 files changed

+43718
-0
lines changed

.claude/CLAUDE.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../AGENTS.md

.copier-answers.yml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# This file is managed by Copier; DO NOT EDIT OR REMOVE.
2+
_commit: v0.4.1-60-g881f631
3+
_src_path: ../copier-template-python-open-source
4+
add_autobump_workflow: false
5+
author_email: ege.karaismailoglu@quantco.com
6+
author_name: Ege Karaismailoglu
7+
github_url: https://github.com/Quantco/diffly
8+
github_user: EgeKaraismailogluQC
9+
minimal_python_version: py311
10+
project_short_description: Utility package for comparing polars dataframes.
11+
project_slug: diffly
12+
use_devcontainer: false

.envrc

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
watch_file pixi.toml pixi.lock
2+
eval "$(pixi shell-hook)"
3+
4+
dotenv_if_exists .env

.gitattributes

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
* text=auto
2+
3+
*.{diff,patch} binary
4+
5+
*.{py,yaml,yml,sh} text eol=lf
6+
*.bat text eol=crlf
7+
8+
pixi.lock merge=binary linguist-language=YAML linguist-generated=true
9+
tests/summary/fixtures/*/gen/pretty_True_* linguist-generated=true

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
* @EgeKaraismailogluQC @borchero @MariusMerkleQC

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Motivation
2+
3+
<!-- Why is this change necessary? Link issues here if applicable. -->
4+
5+
# Changes
6+
7+
<!-- What changes have been performed? -->

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: /
5+
schedule:
6+
interval: monthly
7+
groups:
8+
gh-actions:
9+
patterns:
10+
- "*"
11+
cooldown:
12+
default-days: 7
13+
commit-message:
14+
prefix: ci

.github/release-drafter.yml

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# ------------------------------------- PULL REQUEST LABELS ------------------------------------- #
2+
autolabeler:
3+
# Conventional Commit Types (https://github.com/commitizen/conventional-commit-types)
4+
- label: build
5+
title:
6+
- '/^build(\(.*\))?(\!)?\:/'
7+
- label: chore
8+
title:
9+
- '/^chore(\(.*\))?(\!)?\:/'
10+
- label: ci
11+
title:
12+
- '/^ci(\(.*\))?(\!)?\:/'
13+
- label: documentation
14+
title:
15+
- '/^docs(\(.*\))?(\!)?\:/'
16+
- label: enhancement
17+
title:
18+
- '/^feat(\(.*\))?(\!)?\:/'
19+
- label: fix
20+
title:
21+
- '/^fix(\(.*\))?(\!)?\:/'
22+
- label: performance
23+
title:
24+
- '/^perf(\(.*\))?(\!)?\:/'
25+
- label: refactor
26+
title:
27+
- '/^refactor(\(.*\))?(\!)?\:/'
28+
- label: revert
29+
title:
30+
- '/^revert(\(.*\))?(\!)?\:/'
31+
- label: style
32+
title:
33+
- '/^style(\(.*\))?(\!)?\:/'
34+
- label: test
35+
title:
36+
- '/^test(\(.*\))?(\!)?\:/'
37+
# Custom Types
38+
- label: breaking
39+
title:
40+
- '/^[a-z]+(\(.*\))?\!\:/'
41+
# ------------------------------------- AUTOMATIC VERSIONING ------------------------------------ #
42+
version-resolver:
43+
major:
44+
labels:
45+
- breaking
46+
minor:
47+
labels:
48+
- enhancement
49+
default: patch
50+
# ------------------------------------ RELEASE CONFIGURATION ------------------------------------ #
51+
name-template: "v$RESOLVED_VERSION"
52+
tag-template: "v$RESOLVED_VERSION"
53+
category-template: "### $TITLE"
54+
change-template: "- $TITLE by @$AUTHOR in [#$NUMBER]($URL)"
55+
replacers:
56+
# remove conventional commit tag & scope from change list
57+
- search: '/- [a-z]+(\(.*\))?(\!)?\: /g'
58+
replace: "- "
59+
template: |
60+
## What's Changed
61+
62+
$CHANGES
63+
64+
**Full Changelog:** [`$PREVIOUS_TAG...v$RESOLVED_VERSION`](https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION)
65+
categories:
66+
- title: ⚠️ Breaking Changes
67+
labels:
68+
- breaking
69+
- title: ✨ New Features
70+
labels:
71+
- enhancement
72+
- title: 🐞 Bug Fixes
73+
labels:
74+
- fix
75+
- title: 🏎️ Performance Improvements
76+
labels:
77+
- performance
78+
- title: 📚 Documentation
79+
labels:
80+
- documentation
81+
- title: 🏗️ Testing
82+
labels:
83+
- test
84+
- title: ⚙️ Automation
85+
labels:
86+
- ci
87+
- title: 🛠 Builds
88+
labels:
89+
- build
90+
- title: 💎 Code Style
91+
labels:
92+
- style
93+
- title: 📦 Refactorings
94+
labels:
95+
- refactor
96+
- title: ♻️ Chores
97+
labels:
98+
- chore
99+
- title: 🗑 Reverts
100+
labels:
101+
- revert

.github/workflows/build.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: Build
2+
on:
3+
pull_request:
4+
push:
5+
branches: [main]
6+
release:
7+
types: [published]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
permissions:
13+
contents: read
14+
steps:
15+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
16+
with:
17+
fetch-depth: 0
18+
- name: Set up pixi
19+
uses: prefix-dev/setup-pixi@82d477f15f3a381dbcc8adc1206ce643fe110fb7 # v0.9.3
20+
with:
21+
environments: build
22+
- name: Build project
23+
run: pixi run -e build build-wheel
24+
- name: Check package
25+
run: pixi run -e build check-wheel
26+
- name: Upload package
27+
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
28+
with:
29+
name: artifact
30+
path: dist/*
31+
32+
release:
33+
name: Publish package
34+
if: github.event_name == 'release'
35+
needs: [build]
36+
runs-on: ubuntu-latest
37+
permissions:
38+
id-token: write
39+
environment: pypi
40+
steps:
41+
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
42+
with:
43+
name: artifact
44+
path: dist
45+
- name: Publish package on PyPi
46+
uses: pypa/gh-action-pypi-publish@ed0c53931b1dc9bd32cbe73a98c7f6766f8a527e # v1.13.0

.github/workflows/chore.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
name: Chore
2+
on:
3+
pull_request_target: # zizmor: ignore[dangerous-triggers] no PR code executed
4+
branches: [main]
5+
types: [opened, reopened, edited, synchronize]
6+
push:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
jobs:
14+
check-pr-title:
15+
name: Check PR Title
16+
if: github.event_name == 'pull_request'
17+
runs-on: ubuntu-latest
18+
permissions:
19+
contents: read
20+
pull-requests: write
21+
steps:
22+
- name: Check valid conventional commit message
23+
id: lint
24+
uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
25+
with:
26+
subjectPattern: ^[A-Z].+[^. ]$ # subject must start with uppercase letter and may not end with a dot/space
27+
env:
28+
GITHUB_TOKEN: ${{ github.token }}
29+
- name: Post comment about invalid PR title
30+
if: failure()
31+
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
32+
with:
33+
header: conventional-commit-pr-title
34+
message: |
35+
Thank you for opening this pull request! 👋🏼
36+
37+
This repository requires pull request titles to follow the [Conventional Commits specification](https://www.conventionalcommits.org/en/v1.0.0/) and it looks like your proposed title needs to be adjusted.
38+
39+
<details><summary><b>Details</b></summary>
40+
41+
```
42+
${{ steps.lint.outputs.error_message }}
43+
```
44+
45+
${{ github.event.pull_request.user.login == 'dependabot[bot]' && '*Note: Please manually adjust this for the first few PRs created by dependabot.* It will learn the pattern over time.' || '' }}
46+
47+
</details>
48+
- name: Delete comment about invalid PR title
49+
if: success()
50+
uses: marocchino/sticky-pull-request-comment@773744901bac0e8cbb5a0dc842800d45e9b2b405 # v2.9.4
51+
with:
52+
header: conventional-commit-pr-title
53+
delete: true
54+
55+
release-drafter:
56+
name: ${{ github.event_name == 'pull_request' && 'Assign Labels' || 'Draft Release' }}
57+
runs-on: ubuntu-latest
58+
permissions:
59+
contents: write
60+
pull-requests: write
61+
steps:
62+
- name: ${{ github.event_name == 'pull_request' && 'Assign labels' || 'Update release draft' }}
63+
uses: release-drafter/release-drafter@6db134d15f3909ccc9eefd369f02bd1e9cffdf97 # v6.2.0
64+
with:
65+
disable-releaser: ${{ github.event_name == 'pull_request' }}
66+
disable-autolabeler: ${{ github.event_name == 'push' }}
67+
env:
68+
GITHUB_TOKEN: ${{ github.token }}

0 commit comments

Comments
 (0)