Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
612 commits
Select commit Hold shift + click to select a range
3af6f8f
Run pre-commit on-push
evertlammerts Sep 18, 2025
5077501
Very subtle typing problem in the tests
evertlammerts Sep 18, 2025
fad8ab9
Merge branch 'main' into readme-update
evertlammerts Sep 18, 2025
d8e2a54
docs: update readme and move contributing docs to CONTRIBUTING.md (#55)
evertlammerts Sep 18, 2025
30966ec
Add code quality workflow
evertlammerts Sep 18, 2025
6d7684c
fix sdist build
evertlammerts Sep 18, 2025
b83bdf8
Add linting and formatting (#72)
evertlammerts Sep 22, 2025
40c19e6
re-added adbc_driver_duckdb to exported packages
evertlammerts Sep 22, 2025
3f73855
Merge branch 'v1.4-andium' into reset_pyerr_before_throwing
evertlammerts Sep 23, 2025
68b7702
Fixed adbc driver and force tests to run
evertlammerts Sep 23, 2025
d0fb192
Reset PyErr before throwing (#69)
evertlammerts Sep 23, 2025
091b587
Cleaned up
evertlammerts Sep 23, 2025
ec5160e
double extern?
evertlammerts Sep 24, 2025
956430b
try to force inclusion with msvc and gcc as well
evertlammerts Sep 24, 2025
38f86e7
Merge branch 'v1.4-andium' into adbc_driver
evertlammerts Sep 24, 2025
430cc11
pinning adbc-driver-manager to 1.7.0
evertlammerts Sep 25, 2025
2ff5448
xfail adbc tests on windows
evertlammerts Sep 25, 2025
5ae970d
Fix adbc driver (#81)
evertlammerts Sep 25, 2025
642c57a
bump submodule
evertlammerts Sep 25, 2025
6e115be
bump submodule (#86)
evertlammerts Sep 25, 2025
d13e971
CI: Add jobs to mirror issues
szarnyasg Sep 25, 2025
4a6c4cb
bump submodule
evertlammerts Sep 26, 2025
d365112
skip failing test while bug is fixed in core
evertlammerts Sep 26, 2025
20848e8
now xfail correct test :/
evertlammerts Sep 26, 2025
fd69319
Merge branch 'main' into test_skip_19154
evertlammerts Sep 26, 2025
0e120c9
Skip test to get working build (#89)
evertlammerts Sep 26, 2025
24254c8
CI: Fix repository name
szarnyasg Sep 26, 2025
132871e
bumped submodule
evertlammerts Oct 1, 2025
5ad0ffd
added stubs and mypy
evertlammerts Oct 1, 2025
8d2faa4
mypy passing
evertlammerts Oct 1, 2025
09d3ae0
make sure all constants are in
evertlammerts Oct 1, 2025
7904d7e
fixed tests
evertlammerts Oct 1, 2025
5385777
added missing overloads
evertlammerts Oct 1, 2025
b437aa2
fixed stub mypy errors
evertlammerts Oct 2, 2025
62f8c8d
deprecate typing and functional
evertlammerts Oct 2, 2025
4c00ddc
add stubs to sdist
evertlammerts Oct 2, 2025
0564204
CI: Add jobs to mirror issues (#88)
evertlammerts Oct 2, 2025
ef0492c
Adding stubs and making mypy pass (#96)
evertlammerts Oct 2, 2025
d51e60b
Bump submodule
evertlammerts Oct 2, 2025
e0a3f3b
disable lazy pushdown with hugeint test for now
evertlammerts Oct 3, 2025
2c96769
patch hugeint to polars decimal
evertlammerts Oct 4, 2025
b7aaad3
tests
evertlammerts Oct 4, 2025
33f04be
tests
evertlammerts Oct 4, 2025
da92cb8
Fix Polars expr pushdown (#102)
evertlammerts Oct 4, 2025
1cd589c
bump duckdb submodule to 1.4.1 sha
evertlammerts Oct 6, 2025
45d1016
pre-commit mypy config
evertlammerts Oct 4, 2025
cdaa708
pre-commit mypy config (#106)
evertlammerts Oct 6, 2025
9841600
fix versioning
evertlammerts Oct 6, 2025
688a682
no need to check for dirty versions
evertlammerts Oct 6, 2025
01ef21d
added changelog
evertlammerts Oct 7, 2025
dd83171
Merge branch 'v1.4-andium'
evertlammerts Oct 7, 2025
55d2384
fixed linter warnings
evertlammerts Oct 7, 2025
e50375f
fix arrow import issues in tests for py314
evertlammerts Oct 7, 2025
999f04a
Merge branch 'v1.4-andium' (#109)
evertlammerts Oct 7, 2025
e5b4795
remove py314t in workflows
evertlammerts Oct 7, 2025
454b067
remove py314t in workflows (#110)
evertlammerts Oct 7, 2025
9dc5afb
README.md and CONTRIBUTING.md equal to main's
evertlammerts Oct 8, 2025
aaeb20b
Devenv instructions linked
evertlammerts Oct 8, 2025
5e32e10
Devenv instructions linked
evertlammerts Oct 8, 2025
995c0da
more pre-commit
evertlammerts Oct 8, 2025
ce73ce9
more pre-commit
evertlammerts Oct 8, 2025
adc60f6
fix submodule post-checkout hook
evertlammerts Oct 8, 2025
6710c60
fix submodule post-checkout hook
evertlammerts Oct 8, 2025
22de71f
bumped submodule
evertlammerts Oct 8, 2025
6e33504
3.14 support
evertlammerts Oct 8, 2025
231b583
cibuildwheel bump
evertlammerts Oct 8, 2025
a752290
fix pandas tests
evertlammerts Oct 8, 2025
b2cb372
disable randomly
evertlammerts Oct 9, 2025
de186cb
fix tests
evertlammerts Oct 9, 2025
8e14670
make sure config is loaded
evertlammerts Oct 9, 2025
f07aa96
replace use of deprecated typing._UnionGenericAlias
evertlammerts Oct 9, 2025
b6c2bea
equality instead of instanceof
evertlammerts Oct 9, 2025
1844e05
fix pytest collect hook
evertlammerts Oct 9, 2025
5bd8739
try to get pytest config work correct for windows runners
evertlammerts Oct 9, 2025
18556ba
another try to appease the windows runners
evertlammerts Oct 9, 2025
4fb9474
without PWD
evertlammerts Oct 9, 2025
1c84810
trying confcutdir
evertlammerts Oct 9, 2025
4de4296
remove pytest plugins
evertlammerts Oct 10, 2025
36d2ee1
Add Python 3.14 support (#116)
evertlammerts Oct 10, 2025
b05c6a9
move code to the dedicated repository
Tishj Oct 10, 2025
38a2ee8
added 3.14 to classifiers
evertlammerts Oct 10, 2025
8369a1b
Move code to the dedicated repository (#117)
evertlammerts Oct 10, 2025
297e9c8
bumped submodule
evertlammerts Oct 10, 2025
e47e16f
bumped submodule
evertlammerts Oct 10, 2025
26a462c
Fix pypi cleanup script
evertlammerts Oct 13, 2025
7c06527
Prefer non-verbose mypy output in pre-commit
evertlammerts Oct 13, 2025
ba714a2
Remove mypy as test dependency because of install problems in CI
evertlammerts Oct 16, 2025
b22266e
Small rework of the pypi cleanup script
evertlammerts Oct 16, 2025
7481d34
Merge branch 'v1.4-andium'
evertlammerts Oct 16, 2025
71cf7e6
Link MSVC runtime library statically
staticlibs Oct 17, 2025
ef1ace4
explicitly import importlib.util; remove erroneous print
Oct 28, 2025
8121bf8
Fix ADBC driver path resolution when `importlib.util` was not implici…
evertlammerts Oct 28, 2025
39dc999
Moving staging to CF
hannes Oct 29, 2025
e549a85
bumped submodule
evertlammerts Oct 29, 2025
5944e9d
Merge branch 'main' into stagingmove
hannes Oct 29, 2025
8e0b3f7
Moving staging to CF (#144)
evertlammerts Oct 29, 2025
5f81c03
bumped submodule
evertlammerts Oct 31, 2025
3a78e2f
add targeted test workflow
evertlammerts Oct 30, 2025
37fe8d2
add targeted test workflow (#145)
evertlammerts Oct 31, 2025
8ca82c5
explicitly import importlib.util; remove erroneous print
Oct 28, 2025
3750fc0
bumped submodule
evertlammerts Oct 31, 2025
b460c07
add targeted test workflow
evertlammerts Oct 30, 2025
c82410a
Merge with 1.4-andium (#146)
evertlammerts Oct 31, 2025
d7dae8b
Remove xfail annotations on adbc tests
evertlammerts Oct 31, 2025
6f8cf08
Remove xfail annotations on adbc tests (#147)
evertlammerts Oct 31, 2025
19db033
fix config dict value typehint
evertlammerts Oct 31, 2025
c91f2ab
fix config dict value typehint (#151)
evertlammerts Oct 31, 2025
8503893
Add df data and tz type columns back into the same loc after type con…
evertlammerts Oct 31, 2025
8f17f4c
Add df data and tz type columns back into the same loc after type con…
evertlammerts Oct 31, 2025
e1717d3
Enable pyarrow with python 3.14
evertlammerts Oct 31, 2025
d7de884
Enable pyarrow with python 3.14 (#152)
evertlammerts Nov 1, 2025
d83c28f
use macos-15-intel now that macos-13 is closing down
evertlammerts Nov 1, 2025
a589315
release s3 upload fix
evertlammerts Nov 1, 2025
2393b7f
spark imports
evertlammerts Nov 4, 2025
9ecb3b5
spark imports (#157)
evertlammerts Nov 4, 2025
1a5d43b
Bumped submodule
evertlammerts Nov 5, 2025
8d1371d
Fix failing test due to changed error msg
evertlammerts Nov 5, 2025
022bedf
Fix failing test due to changed error msg (#158)
evertlammerts Nov 5, 2025
3ffd3f1
mypy shouldn't check experimental.spark
evertlammerts Nov 5, 2025
beb6d03
remove experimental import because of the transitive dependencies tha…
evertlammerts Nov 5, 2025
2e1d973
Bumped submodule
evertlammerts Nov 7, 2025
49f7575
Bumped submodule
evertlammerts Nov 7, 2025
22d40e9
Fix InsertRelation on attached database
evertlammerts Nov 1, 2025
077c204
Add explicit polars overloads
J-Meyers Nov 9, 2025
ab4a8d4
review feedback
evertlammerts Nov 6, 2025
d3943e8
Add explicit .pl(lazy=True) overload (#172)
evertlammerts Nov 10, 2025
18a9549
Bumped submodule
evertlammerts Nov 10, 2025
db196c2
Fix InsertRelation on attached database (#155)
evertlammerts Nov 10, 2025
b86a435
Submodule at 68d7555 for 1.4.2 release
evertlammerts Nov 11, 2025
5f7c8b1
Fix project metadata
evertlammerts Nov 12, 2025
9554f4e
Fix project metadata (#174)
evertlammerts Nov 12, 2025
dc87730
[minor] add suport for types and print schema
Dharin-shah Nov 12, 2025
0ca2189
fix typo
Dharin-shah Nov 12, 2025
f3a78d7
add treeString support for printSchema
Dharin-shah Nov 13, 2025
7c5a369
Create a PR to bump submodule if nightly is stale
evertlammerts Nov 5, 2025
c03d38e
fix formatting
Dharin-shah Nov 14, 2025
8f4166c
fix ruff check
Dharin-shah Nov 15, 2025
0537dc6
fix test
Dharin-shah Nov 15, 2025
54ea3b9
fix precommit
Dharin-shah Nov 17, 2025
389911f
Create a PR to bump submodule if nightly is stale (#159)
evertlammerts Nov 19, 2025
f76cee1
Bump submodule
duckdblabs-bot Nov 19, 2025
24a548d
[duckdb-labs bot] Bump DuckDB submodule (#185)
evertlammerts Nov 19, 2025
368297e
Bump submodule
duckdblabs-bot Nov 20, 2025
6855e38
[duckdb-labs bot] Bump DuckDB submodule (#186)
evertlammerts Nov 20, 2025
77825a7
[minor][spark] add suport for types and print schema (#175)
evertlammerts Nov 20, 2025
9860275
Bump submodule
duckdblabs-bot Nov 21, 2025
e8eaa7c
[duckdb-labs bot] Bump DuckDB submodule (#188)
evertlammerts Nov 21, 2025
4d0c182
don't fail if the submodule is at the same commit as the input
evertlammerts Nov 24, 2025
7979e99
Bump submodule
duckdblabs-bot Nov 26, 2025
2e83154
[duckdb-labs bot] Bump DuckDB submodule (#191)
evertlammerts Nov 26, 2025
34170f4
Bump submodule
duckdblabs-bot Nov 29, 2025
b09d165
[duckdb-labs bot] Bump DuckDB submodule (#197)
evertlammerts Nov 29, 2025
2bbbf0a
Bump submodule
duckdblabs-bot Nov 30, 2025
6b63f0a
[duckdb-labs bot] Bump DuckDB submodule (#198)
evertlammerts Nov 30, 2025
8c37c83
Bump submodule
duckdblabs-bot Dec 2, 2025
82a9a58
[duckdb-labs bot] Bump DuckDB submodule (#202)
evertlammerts Dec 2, 2025
a1ba683
Add filename_pattern to to_parquet Python API
matthew-bayer Dec 1, 2025
6984fe9
Fix linting and test
evertlammerts Dec 2, 2025
bff3399
Bump submodule
duckdblabs-bot Dec 3, 2025
ee1b539
Add filename_pattern to to_parquet Python API (#201)
evertlammerts Dec 3, 2025
64cae63
[duckdb-labs bot] Bump DuckDB submodule (#203)
evertlammerts Dec 3, 2025
12afe3c
Bump submodule
duckdblabs-bot Dec 4, 2025
988060d
[duckdb-labs bot] Bump DuckDB submodule (#206)
evertlammerts Dec 4, 2025
5d4c00d
Bump submodule
duckdblabs-bot Dec 5, 2025
03305b1
[duckdb-labs bot] Bump DuckDB submodule (#207)
evertlammerts Dec 5, 2025
4a4e62e
add windows arm64 build
evertlammerts Dec 1, 2025
87b4999
Fix Windows ARM64 excludes in workflow
evertlammerts Dec 5, 2025
b657b6e
Bump submodule
duckdblabs-bot Dec 6, 2025
aa5ddc6
[duckdb-labs bot] Bump DuckDB submodule (#212)
evertlammerts Dec 6, 2025
a68c65a
Merge branch 'v1.4-andium' into windows_arm64
evertlammerts Dec 6, 2025
471208d
add windows arm64 build (#211)
evertlammerts Dec 6, 2025
c3e4947
Merge remote-tracking branch 'upstream/v1.4-andium'
evertlammerts Dec 6, 2025
7549b30
fic adbc test imports
evertlammerts Dec 8, 2025
2af387e
fix adbc test imports (#215)
evertlammerts Dec 8, 2025
96f7f87
fix main builds
evertlammerts Dec 8, 2025
82f364e
[minor] add suport for types and print schema
Dharin-shah Nov 12, 2025
4455f65
fix typo
Dharin-shah Nov 12, 2025
1ac4a42
add treeString support for printSchema
Dharin-shah Nov 13, 2025
501635b
fix formatting
Dharin-shah Nov 14, 2025
b1071cd
fix NaN response
Dharin-shah Nov 15, 2025
9ccada5
minor fixes
Dharin-shah Nov 15, 2025
a301e9f
fix ruff check
Dharin-shah Nov 15, 2025
cc7e120
fix test
Dharin-shah Nov 15, 2025
64156d9
fix precommit
Dharin-shah Nov 17, 2025
47e87c0
revert unncessary change
Dharin-shah Dec 2, 2025
9dfc344
remove unncessary comment
Dharin-shah Dec 2, 2025
058bddf
Merge branch 'v1.4-andium' into minor-bugfixes
evertlammerts Dec 8, 2025
eb1c79e
feat: add file_size_bytes to to_parquet
nicornk Dec 7, 2025
5886923
add file_size_bytes to to_parquet (#204)
evertlammerts Dec 8, 2025
b32822c
[minor][spark] Minor bugfixes (#180)
evertlammerts Dec 8, 2025
0f021eb
pin new duckdb core SHA
evertlammerts Dec 8, 2025
49ae9be
Merge v1.4-andium and fix build (#214)
evertlammerts Dec 8, 2025
8787b2b
Bump submodule
evertlammerts Dec 10, 2025
12e94bc
bumped submodule
evertlammerts Dec 11, 2025
465b88b
fix polars tests
evertlammerts Dec 11, 2025
f6bec20
fix polars tests (#218)
evertlammerts Dec 11, 2025
417eb81
Bump submodule
duckdblabs-bot Dec 12, 2025
7bb2447
tests for string and binary views
evertlammerts Dec 12, 2025
b3515b3
[duckdb-labs bot] Bump DuckDB submodule (#220)
evertlammerts Dec 12, 2025
a6ad57f
Merge branch 'v1.4-andium' into arrow_view_filters
evertlammerts Dec 12, 2025
c5a1de9
Quote view names in unregister
evertlammerts Dec 12, 2025
1906f2e
Bump submodule
duckdblabs-bot Dec 13, 2025
2565a7f
[duckdb-labs bot] Bump DuckDB submodule (#223)
evertlammerts Dec 13, 2025
f8c0fbd
tests for string and binary views (#221)
evertlammerts Dec 13, 2025
6d54c35
Limit string nodes in Polars expressions to constant expressions
evertlammerts Dec 15, 2025
1d91f8e
Quote view names in unregister (#222)
evertlammerts Dec 15, 2025
3d0d606
Merge branch 'v1.4-andium' into polars_io_escaping
evertlammerts Dec 15, 2025
d561b87
Replace CORE_EXTENSIONS with BUILD_EXTENSIONS
evertlammerts Dec 15, 2025
2331353
Explicitly linking extensions
evertlammerts Dec 15, 2025
9e42f0b
Limit string nodes in Polars expressions to constant expressions (#225)
evertlammerts Dec 15, 2025
44637e1
Merge remote-tracking branch 'origin/v1.4-andium'
evertlammerts Dec 15, 2025
a73682e
Bump submodule
duckdblabs-bot Dec 23, 2025
379a7fd
[duckdb-labs bot] Bump DuckDB submodule (#234)
evertlammerts Dec 23, 2025
b4efee4
Bump submodule
duckdblabs-bot Dec 25, 2025
c95b286
[duckdb-labs bot] Bump DuckDB submodule (#237)
evertlammerts Dec 25, 2025
85f45aa
Bump submodule
duckdblabs-bot Dec 30, 2025
ce52cd2
Fix select_dtypes with quoted identifiers
Schwarf Dec 31, 2025
40e2861
Add test to verify bug is fixed.
Schwarf Jan 1, 2026
2006d2b
ci: trigger
Schwarf Jan 1, 2026
253f500
Add new line at EOF.
Schwarf Jan 1, 2026
c1edb5e
[duckdb-labs bot] Bump DuckDB submodule (#240)
evertlammerts Jan 1, 2026
baea49d
Use py::object (reinterpret_steal) for PyObject_CallObject return val…
Schwarf Jan 3, 2026
59e1398
Add regression test for Python UDF return value refcount leak.
Schwarf Jan 3, 2026
e047d3f
Fix formatting.
Schwarf Jan 3, 2026
9d94f7b
Fix adbc tests
evertlammerts Jan 5, 2026
8aa0364
Fix adbc tests (#248)
evertlammerts Jan 5, 2026
8b1a241
Merge branch 'main' into fix/select-dtypes-identifier-quoting
evertlammerts Jan 5, 2026
72bb5c0
Exclude jemalloc from anything apart from debug builds on osx and linux
evertlammerts Jan 5, 2026
634e7a2
Merge branch 'main' into fix/python-udf-refcount-leak
evertlammerts Jan 5, 2026
63c0b82
Fix review finding. Use KeywordHelper::WriteOptionallyQuoted
Schwarf Jan 5, 2026
218d85e
Exclude jemalloc from anything apart from debug builds on osx and linux
evertlammerts Jan 5, 2026
ca07f26
Fix select_dtypes for quoted column identifiers (#242)
evertlammerts Jan 5, 2026
d508e84
Fix jemalloc cmake filter (#249)
evertlammerts Jan 5, 2026
7dd6c0e
Merge branch 'main' into fix/python-udf-refcount-leak
evertlammerts Jan 5, 2026
345b3b3
remove jemalloc extension
evertlammerts Jan 6, 2026
2278faa
remove jemalloc extension (#250)
evertlammerts Jan 6, 2026
61b2fb2
Merge branch 'main' into msvc_static
evertlammerts Jan 6, 2026
057d44d
Link MSVC runtime library statically (#130)
evertlammerts Jan 6, 2026
edcbda3
enable jemalloc but only on linux 64bit, aligned with duckdb core
evertlammerts Jan 6, 2026
ad1f013
Bumped submodule
evertlammerts Jan 6, 2026
faf18cc
fixed linux jemalloc check
evertlammerts Jan 6, 2026
1299b00
Fix : aggregate method typing to accept list of expressions
Narwhal-fish Jan 5, 2026
46637bc
Merge branch 'main' into fix-DuckDBPyRelation.aggregate-incorrect-typing
evertlammerts Jan 6, 2026
5f80ba1
Fix : aggregate method typing to accept list of expressions (#246)
evertlammerts Jan 6, 2026
f0ea9df
fix millisecond typo
evertlammerts Jan 6, 2026
bab10f7
Merge branch 'main' into fix/python-udf-refcount-leak
evertlammerts Jan 6, 2026
2f30f1a
Fix typo in class name: milisecond -> millisecond (#252)
evertlammerts Jan 6, 2026
5ab13de
Fix Python scalar UDF refcount leak (#245)
evertlammerts Jan 6, 2026
5686cd1
disable release on main
evertlammerts Jan 12, 2026
1f211e2
Fix PySpark struct() to accept a list of columns (#17189)
wavebyrd Mar 12, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
43 changes: 9 additions & 34 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,53 +1,28 @@
# Unix-style newlines with a newline ending every file
[*.{c,cpp,h,hpp}]
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = true
charset = utf-8
max_line_length = 120
x-soft-wrap-text = true
x-soft-wrap-mode = CharacterWidth
x-soft-wrap-limit = 120
x-show-invisibles = false
x-show-spaces = false

[*.{java}]
end_of_line = lf
insert_final_newline = true
[*.{py,pyi}]
indent_style = space
indent_size = 4

[*.{c,cpp,h,hpp}]
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = false
charset = utf-8
max_line_length = 120
x-soft-wrap-text = true
x-soft-wrap-mode = CharacterWidth
x-soft-wrap-limit = 120
x-show-invisibles = false
x-show-spaces = false

[*.{test,test_slow,test_coverage,benchmark}]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = false
charset = utf-8
x-soft-wrap-text = false

[Makefile]
end_of_line = lf
insert_final_newline = true
indent_style = tab
tab_width = 4
indent_size = tab
trim_trailing_whitespace = true
charset = utf-8
x-soft-wrap-text = false

[*keywords.list]
insert_final_newline = false
3 changes: 3 additions & 0 deletions .githooks/post-checkout
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env bash

git submodule update --init --recursive
119 changes: 119 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
name: Bug report
description: Create a report to help us improve
labels:
- needs triage
body:
- type: markdown
attributes:
value: >
Please report security vulnerabilities using GitHub's [report vulnerability form](https://github.com/duckdb/duckdb/security/advisories/new).

- type: textarea
attributes:
label: What happens?
description: A short, clear and concise description of what the bug is.
validations:
required: true

- type: textarea
attributes:
label: To Reproduce
description: |
Please provide steps to reproduce the behavior, preferably a [minimal reproducible example](https://en.wikipedia.org/wiki/Minimal_reproducible_example). Please adhere the following guidelines:

* Format the code and the output as [code blocks](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks) using triple backticks:

````
```
CODE HERE
```
````
* Add all required imports for scripts, e.g., `import duckdb`, `import pandas as pd`.
* Remove all prompts from the scripts. This include DuckDB's 'D' prompt and Python's `>>>` prompt. Removing these prompts makes reproduction attempts quicker.
* Make sure that the script and its outputs are provided in separate code blocks.
* If applicable, please check whether the issue is reproducible via running plain SQL queries from the DuckDB CLI client.
validations:
required: true

- type: markdown
attributes:
value: "# Environment (please complete the following information):"
- type: input
attributes:
label: "OS:"
placeholder: e.g., OSX
description: Please include operating system version and architecture (e.g., aarch64, x86_64, etc.).
validations:
required: true
- type: input
attributes:
label: "DuckDB Package Version:"
placeholder: e.g., 1.3.2
validations:
required: true
- type: input
attributes:
label: "Python Version:"
placeholder: e.g., 3.12
validations:
required: true
- type: markdown
attributes:
value: "# Identity Disclosure:"
- type: input
attributes:
label: "Full Name:"
placeholder: e.g., John Doe
validations:
required: true
- type: input
attributes:
label: "Affiliation:"
placeholder: e.g., Acme Corporation
validations:
required: true

- type: markdown
attributes:
value: |
If the above is not given and is not obvious from your GitHub profile page, we might close your issue without further review. Please refer to the [reasoning behind this rule](https://berthub.eu/articles/posts/anonymous-help/) if you have questions.

# Before Submitting:

- type: dropdown
attributes:
label: What is the latest build you tested with? If possible, we recommend testing with the latest nightly build.
description: |
Visit the [installation page](https://duckdb.org/docs/installation/) for instructions.
options:
- I have not tested with any build
- I have tested with a stable release
- I have tested with a nightly build
- I have tested with a source build
validations:
required: true

- type: dropdown
attributes:
label: Did you include all relevant data sets for reproducing the issue?
options:
- "No - Other reason (please specify in the issue body)"
- "No - I cannot share the data sets because they are confidential"
- "No - I cannot easily share my data sets due to their large size"
- "Not applicable - the reproduction does not require a data set"
- "Yes"
default: 0
validations:
required: true

- type: checkboxes
attributes:
label: Did you include all code required to reproduce the issue?
options:
- label: Yes, I have

- type: checkboxes
attributes:
label: Did you include all relevant configuration to reproduce the issue?
options:
- label: Yes, I have
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Feature Request
url: https://github.com/duckdb/duckdb-python/discussions/new?category=ideas&title=Feature%20Request:%20...&labels=feature&body=Why%20do%20you%20want%20this%20feature%3F
about: Submit feature requests here
- name: Discussions
url: https://github.com/duckdb/duckdb-python/discussions
about: Please ask and answer general questions here.
82 changes: 82 additions & 0 deletions .github/workflows/InternalIssuesCreateMirror.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
name: Create or Label Mirror Issue
on:
discussion:
types:
- labeled
issues:
types:
- labeled

env:
GH_TOKEN: ${{ secrets.DUCKDBLABS_BOT_TOKEN }}
TITLE_PREFIX: "[duckdb-python/#${{ github.event.issue.number || github.event.discussion.number }}]"
PUBLIC_ISSUE_TITLE: ${{ github.event.issue.title }}

jobs:
add_needs_reproducible_example_comment:
if: github.event.label.name == 'needs reproducible example'
runs-on: ubuntu-latest
steps:
- name: Add comment
run: |
cat > needs-reproducible-example-comment.md << EOF
Thanks for opening this issue in the DuckDB-Python project's issue tracker! To resolve this issue, our team needs a reproducible example. This includes:

* A source code snippet which reproduces the issue.
* The snippet should be self-contained, i.e., it should contain all imports and should use relative paths instead of hard coded paths (please avoid \`/Users/JohnDoe/...\`).
* A lot of issues can be reproduced with plain SQL code executed in the [DuckDB command line client](https://duckdb.org/docs/api/cli/overview). For such issues, please open an issue in the [main DuckDB repository](https://github.com/duckdb/duckdb/).
* If the script needs additional data, please share the data as a CSV, JSON, or Parquet file. Unfortunately, we cannot fix issues that can only be reproduced with a confidential data set. [Support contracts](https://duckdblabs.com/#support) allow sharing confidential data with the core DuckDB team under NDA.

For more detailed guidelines on how to create reproducible examples, please visit Stack Overflow's [“Minimal, Reproducible Example”](https://stackoverflow.com/help/minimal-reproducible-example) page.
EOF
gh issue comment --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --body-file needs-reproducible-example-comment.md

create_or_label_mirror_issue:
if: github.event.label.name == 'reproduced' || github.event.label.name == 'under review'
runs-on: ubuntu-latest
steps:
- name: Remove 'needs triage' / 'under review' if 'reproduced'
if: github.event.label.name == 'reproduced'
run: |
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage" --remove-label "under review" --remove-label "needs reproducible example"

- name: Remove 'needs triage' / 'reproduced' if 'under review'
if: github.event.label.name == 'under review'
run: |
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage" --remove-label "reproduced"

- name: Remove 'needs triage' if 'expected behavior'
if: github.event.label.name == 'expected behavior'
run: |
gh issue edit --repo duckdb/duckdb-python ${{ github.event.issue.number || github.event.discussion.number }} --remove-label "needs triage"

- name: Get mirror issue number
run: |
gh issue list --repo duckdblabs/duckdb-internal --search "${TITLE_PREFIX}" --json title,number --state all --jq ".[] | select(.title | startswith(\"$TITLE_PREFIX\")).number" > mirror_issue_number.txt
echo "MIRROR_ISSUE_NUMBER=$(cat mirror_issue_number.txt)" >> $GITHUB_ENV

- name: Print whether mirror issue exists
run: |
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then
echo "Mirror issue with title prefix '$TITLE_PREFIX' does not exist yet"
else
echo "Mirror issue with title prefix '$TITLE_PREFIX' exists with number $MIRROR_ISSUE_NUMBER"
fi

- name: Set label environment variable
run: |
if ${{ github.event.label.name == 'reproduced' }}; then
echo "LABEL=reproduced" >> $GITHUB_ENV
echo "UNLABEL=under review" >> $GITHUB_ENV
else
echo "LABEL=under review" >> $GITHUB_ENV
echo "UNLABEL=reproduced" >> $GITHUB_ENV
fi

- name: Create or label issue
run: |
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then
gh issue create --repo duckdblabs/duckdb-internal --label "$LABEL" --label "Python" --title "$TITLE_PREFIX - $PUBLIC_ISSUE_TITLE" --body "See https://github.com/duckdb/duckdb-python/issues/${{ github.event.issue.number || github.event.discussion.number }}"
else
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --remove-label "$UNLABEL" --add-label "$LABEL"
fi
51 changes: 51 additions & 0 deletions .github/workflows/InternalIssuesUpdateMirror.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Update Mirror Issue
on:
discussion:
types:
- labeled
issues:
types:
- closed
- reopened

env:
GH_TOKEN: ${{ secrets.DUCKDBLABS_BOT_TOKEN }}
TITLE_PREFIX: "[duckdb-python/#${{ github.event.issue.number || github.event.discussion.number }}]"

jobs:
update_mirror_issue:
runs-on: ubuntu-latest
steps:
- name: Get mirror issue number
run: |
gh issue list --repo duckdblabs/duckdb-internal --search "${TITLE_PREFIX}" --json title,number --state all --jq ".[] | select(.title | startswith(\"$TITLE_PREFIX\")).number" > mirror_issue_number.txt
echo "MIRROR_ISSUE_NUMBER=$(cat mirror_issue_number.txt)" >> $GITHUB_ENV

- name: Print whether mirror issue exists
run: |
if [ "$MIRROR_ISSUE_NUMBER" == "" ]; then
echo "Mirror issue with title prefix '$TITLE_PREFIX' does not exist yet"
else
echo "Mirror issue with title prefix '$TITLE_PREFIX' exists with number $MIRROR_ISSUE_NUMBER"
fi

- name: Add comment with status to mirror issue
run: |
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then
gh issue comment --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --body "The issue has been ${{ github.event.action }} (https://github.com/duckdb/duckdb-python/issues/${{ github.event.issue.number || github.event.discussion.number }})."
fi

- name: Add closed label to mirror issue
if: github.event.action == 'closed'
run: |
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --add-label "public closed" --remove-label "public reopened"
fi

- name: Reopen mirror issue and add reopened label
if: github.event.action == 'reopened'
run: |
if [ "$MIRROR_ISSUE_NUMBER" != "" ]; then
gh issue reopen --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER
gh issue edit --repo duckdblabs/duckdb-internal $MIRROR_ISSUE_NUMBER --add-label "public reopened" --remove-label "public closed"
fi
Loading