From c4304f63dae3ee590204ad191d34ce4e244907e1 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 10:22:57 +0100 Subject: [PATCH 01/10] Add duckdb recipe for emscripten Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 11 +++ .../patches/emscripten-python-target.patch | 20 ++++++ recipes/recipes_emscripten/duckdb/recipe.yaml | 72 +++++++++++++++++++ .../recipes_emscripten/duckdb/test_duckdb.py | 26 +++++++ 4 files changed, 129 insertions(+) create mode 100644 recipes/recipes_emscripten/duckdb/build.sh create mode 100644 recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch create mode 100644 recipes/recipes_emscripten/duckdb/recipe.yaml create mode 100644 recipes/recipes_emscripten/duckdb/test_duckdb.py diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh new file mode 100644 index 00000000000..da9d1a78c04 --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -euo pipefail + +# DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings +${PYTHON} -m pip install . ${PIP_ARGS} \ + -Ccmake.define.OVERRIDE_GIT_DESCRIBE="v${PKG_VERSION}" \ + -Ccmake.define.BUILD_EXTENSIONS="parquet;json;autocomplete" \ + -Ccmake.define.BUILD_SHELL=OFF \ + -Ccmake.define.BUILD_UNITTESTS=OFF \ + -Ccmake.define.ENABLE_EXTENSION_AUTOLOADING=OFF \ + -Ccmake.define.ENABLE_EXTENSION_AUTOINSTALL=OFF diff --git a/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch b/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch new file mode 100644 index 00000000000..1960d942440 --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index abcdef1..1234567 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -36,6 +36,15 @@ endif() + # Dependencies + # ──────────────────────────────────────────── + # PyBind11 ++ ++# On Emscripten, FindPython only provides Python::Module, not Python::Python ++# (there is no shared libpython to link against). pybind11_add_module internally ++# calls python_add_library which expects Python::Python, so we provide a dummy ++# IMPORTED target to satisfy that requirement. ++if(EMSCRIPTEN AND NOT TARGET Python::Python) ++ add_library(Python::Python INTERFACE IMPORTED) ++endif() ++ + find_package(pybind11 REQUIRED CONFIG) + + # DuckDB diff --git a/recipes/recipes_emscripten/duckdb/recipe.yaml b/recipes/recipes_emscripten/duckdb/recipe.yaml new file mode 100644 index 00000000000..67684588bfb --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/recipe.yaml @@ -0,0 +1,72 @@ +context: + version: 1.4.4 + +package: + name: python-duckdb + version: ${{ version }} + +source: + git: https://github.com/duckdb/duckdb-python.git + tag: v${{ version }} + # expected_commit: a12f36ca411007f5eb48919448f61c7498112553 + patches: + - patches/emscripten-python-target.patch + +build: + number: 0 + script: build.sh + + files: + exclude: + - '**.dist-info/**' + - '**/__pycache__/**' + - '**/*.pyc' + - '**/test_*.py' + - 'duckdb_build/**' + python: + skip_pyc_compilation: + - '**/*.py' + +requirements: + build: + - python + - cross-python_${{ target_platform }} + - ${{ compiler('cxx') }} + - pip + - setuptools + - setuptools-scm + - pybind11 + - scikit-build-core + - cmake + - ninja + host: + - python + - pybind11 + run: + - python + +tests: +- script: pytester + files: + recipe: + - test_duckdb.py + requirements: + build: + - pytester + run: + - pytester-run + +about: + homepage: https://duckdb.org/ + license: MIT + license_file: LICENSE + summary: DuckDB is an analytical in-process SQL database management system + description: | + DuckDB is an in-process SQL OLAP database management system. + It is designed to support analytical query workloads (OLAP) while + being embeddable in Python and other languages. + repository: https://github.com/duckdb/duckdb-python + +extra: + recipe-maintainers: + - wolfv diff --git a/recipes/recipes_emscripten/duckdb/test_duckdb.py b/recipes/recipes_emscripten/duckdb/test_duckdb.py new file mode 100644 index 00000000000..cc0bf738ec7 --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/test_duckdb.py @@ -0,0 +1,26 @@ +import duckdb + + +def test_import(): + assert duckdb is not None + + +def test_basic_query(): + con = duckdb.connect() + result = con.execute("SELECT 42 AS answer").fetchall() + assert result == [(42,)] + + +def test_create_table(): + con = duckdb.connect() + con.execute("CREATE TABLE t (x INTEGER, y VARCHAR)") + con.execute("INSERT INTO t VALUES (1, 'hello'), (2, 'world')") + result = con.execute("SELECT * FROM t ORDER BY x").fetchall() + assert result == [(1, "hello"), (2, "world")] + + +def test_aggregation(): + con = duckdb.connect() + con.execute("CREATE TABLE nums AS SELECT * FROM range(10) t(i)") + result = con.execute("SELECT SUM(i), COUNT(*) FROM nums").fetchone() + assert result == (45, 10) From 6f7e02380fcb9b8b88dadcb9161c91c8c2380654 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 10:26:41 +0100 Subject: [PATCH 02/10] Fix duckdb build: set SETUPTOOLS_SCM_PRETEND_VERSION The applied patch makes the source tree dirty, causing duckdb's custom setuptools_scm version scheme to fail with "Dev distance is 0, cannot bump version." Setting SETUPTOOLS_SCM_PRETEND_VERSION bypasses the scm detection entirely. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index da9d1a78c04..2e39175dfa4 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -1,6 +1,8 @@ #!/bin/bash set -euo pipefail +export SETUPTOOLS_SCM_PRETEND_VERSION="${PKG_VERSION}" + # DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings ${PYTHON} -m pip install . ${PIP_ARGS} \ -Ccmake.define.OVERRIDE_GIT_DESCRIBE="v${PKG_VERSION}" \ From 401acd9ced0f97e93fee44c9b2d323b29d3e9be5 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 10:32:36 +0100 Subject: [PATCH 03/10] Fix duckdb version scheme for dirty source trees DuckDB's setuptools_scm version scheme errors when distance=0 and dirty=True (which happens because we apply patches). The version scheme tries to bump a dev version but fails since distance is 0. Fix by treating distance=0 as a tag release regardless of dirty state. Also removes the SETUPTOOLS_SCM_PRETEND_VERSION workaround since duckdb explicitly strips that env var. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 2 -- .../duckdb/patches/fix-dirty-version-scheme.patch | 13 +++++++++++++ recipes/recipes_emscripten/duckdb/recipe.yaml | 1 + 3 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 recipes/recipes_emscripten/duckdb/patches/fix-dirty-version-scheme.patch diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index 2e39175dfa4..da9d1a78c04 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -1,8 +1,6 @@ #!/bin/bash set -euo pipefail -export SETUPTOOLS_SCM_PRETEND_VERSION="${PKG_VERSION}" - # DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings ${PYTHON} -m pip install . ${PIP_ARGS} \ -Ccmake.define.OVERRIDE_GIT_DESCRIBE="v${PKG_VERSION}" \ diff --git a/recipes/recipes_emscripten/duckdb/patches/fix-dirty-version-scheme.patch b/recipes/recipes_emscripten/duckdb/patches/fix-dirty-version-scheme.patch new file mode 100644 index 00000000000..8c7cea25251 --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/patches/fix-dirty-version-scheme.patch @@ -0,0 +1,13 @@ +diff --git a/duckdb_packaging/setuptools_scm_version.py b/duckdb_packaging/setuptools_scm_version.py +index 1234567..abcdef0 100644 +--- a/duckdb_packaging/setuptools_scm_version.py ++++ b/duckdb_packaging/setuptools_scm_version.py +@@ -53,7 +53,7 @@ def version_scheme(version: _VersionObject) -> str: + + distance = int(version.distance or 0) + try: +- if distance == 0 and not version.dirty: ++ if distance == 0: + return _tag_to_version(str(version.tag)) + return _bump_dev_version(str(version.tag), distance) + except Exception as e: diff --git a/recipes/recipes_emscripten/duckdb/recipe.yaml b/recipes/recipes_emscripten/duckdb/recipe.yaml index 67684588bfb..fc1e47be476 100644 --- a/recipes/recipes_emscripten/duckdb/recipe.yaml +++ b/recipes/recipes_emscripten/duckdb/recipe.yaml @@ -11,6 +11,7 @@ source: # expected_commit: a12f36ca411007f5eb48919448f61c7498112553 patches: - patches/emscripten-python-target.patch + - patches/fix-dirty-version-scheme.patch build: number: 0 From 28430897c194383b4753aa0dc48cbc37ca3fb0b4 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 11:06:55 +0100 Subject: [PATCH 04/10] Fix _duckdb.so install location duckdb's CMake falls back to CMAKE_INSTALL_LIBDIR when SKBUILD_PLATLIB_DIR is not detected, placing _duckdb.so in a lib/ subdirectory under site-packages. Move it to the correct location after install so that `import duckdb` can find the native module. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index da9d1a78c04..0293fa665bc 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -4,8 +4,18 @@ set -euo pipefail # DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings ${PYTHON} -m pip install . ${PIP_ARGS} \ -Ccmake.define.OVERRIDE_GIT_DESCRIBE="v${PKG_VERSION}" \ + -Ccmake.define.CMAKE_INSTALL_LIBDIR=lib \ -Ccmake.define.BUILD_EXTENSIONS="parquet;json;autocomplete" \ -Ccmake.define.BUILD_SHELL=OFF \ -Ccmake.define.BUILD_UNITTESTS=OFF \ -Ccmake.define.ENABLE_EXTENSION_AUTOLOADING=OFF \ -Ccmake.define.ENABLE_EXTENSION_AUTOINSTALL=OFF + +# duckdb's CMake install falls back to CMAKE_INSTALL_LIBDIR when +# SKBUILD_PLATLIB_DIR is not detected, placing _duckdb.so in a lib/ +# subdirectory. Move it to the correct location. +SITE_PACKAGES=$(${PYTHON} -c "import sysconfig; print(sysconfig.get_path('platlib'))") +if [ -f "${SITE_PACKAGES}/lib/_duckdb.so" ]; then + mv "${SITE_PACKAGES}/lib/_duckdb.so" "${SITE_PACKAGES}/_duckdb.so" + rmdir "${SITE_PACKAGES}/lib" 2>/dev/null || true +fi From 850d504f8592f09920156a140aa7c214f20ab9fc Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 11:37:14 +0100 Subject: [PATCH 05/10] Build _duckdb.so as wasm side module The .so was being built as a regular wasm module instead of a side module, so it couldn't be dynamically loaded. Add -sSIDE_MODULE=1 and -sWASM_BIGINT flags to ensure the native extension is built as a relocatable side module that can be loaded at runtime. Also removes the lib/ path workaround and CMAKE_INSTALL_LIBDIR override since SIDE_MODULE linking may change the install behavior. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index 0293fa665bc..f919df4affe 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -1,21 +1,16 @@ #!/bin/bash set -euo pipefail +# Ensure the native extension is built as a wasm side module +export CFLAGS="$CFLAGS -fPIC -sSIDE_MODULE=1 -sWASM_BIGINT" +export CXXFLAGS="$CXXFLAGS -fPIC -sSIDE_MODULE=1 -sWASM_BIGINT" +export LDFLAGS="$LDFLAGS -sSIDE_MODULE=1 -sWASM_BIGINT" + # DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings ${PYTHON} -m pip install . ${PIP_ARGS} \ -Ccmake.define.OVERRIDE_GIT_DESCRIBE="v${PKG_VERSION}" \ - -Ccmake.define.CMAKE_INSTALL_LIBDIR=lib \ -Ccmake.define.BUILD_EXTENSIONS="parquet;json;autocomplete" \ -Ccmake.define.BUILD_SHELL=OFF \ -Ccmake.define.BUILD_UNITTESTS=OFF \ -Ccmake.define.ENABLE_EXTENSION_AUTOLOADING=OFF \ -Ccmake.define.ENABLE_EXTENSION_AUTOINSTALL=OFF - -# duckdb's CMake install falls back to CMAKE_INSTALL_LIBDIR when -# SKBUILD_PLATLIB_DIR is not detected, placing _duckdb.so in a lib/ -# subdirectory. Move it to the correct location. -SITE_PACKAGES=$(${PYTHON} -c "import sysconfig; print(sysconfig.get_path('platlib'))") -if [ -f "${SITE_PACKAGES}/lib/_duckdb.so" ]; then - mv "${SITE_PACKAGES}/lib/_duckdb.so" "${SITE_PACKAGES}/_duckdb.so" - rmdir "${SITE_PACKAGES}/lib" 2>/dev/null || true -fi From 39606bea3971e24ae6a9c861aaf59572aa601f57 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 11:38:21 +0100 Subject: [PATCH 06/10] Use CMAKE_PROJECT_INCLUDE for proper side module build scikit-build-core drives CMake, so env vars alone aren't enough. Use the established emscripten-forge pattern: set up the Emscripten toolchain file and a CMAKE_PROJECT_INCLUDE that tells CMake shared libs are supported and should be built as SIDE_MODULE with WASM_BIGINT. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 9 +++++---- recipes/recipes_emscripten/duckdb/overwriteProp.cmake | 4 ++++ 2 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 recipes/recipes_emscripten/duckdb/overwriteProp.cmake diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index f919df4affe..c72050694d0 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -1,10 +1,11 @@ #!/bin/bash set -euo pipefail -# Ensure the native extension is built as a wasm side module -export CFLAGS="$CFLAGS -fPIC -sSIDE_MODULE=1 -sWASM_BIGINT" -export CXXFLAGS="$CXXFLAGS -fPIC -sSIDE_MODULE=1 -sWASM_BIGINT" -export LDFLAGS="$LDFLAGS -sSIDE_MODULE=1 -sWASM_BIGINT" +# Setup emscripten toolchain for scikit-build-core +emscripten_root=$(em-config EMSCRIPTEN_ROOT) +toolchain_path="${emscripten_root}/cmake/Modules/Platform/Emscripten.cmake" + +export CMAKE_ARGS="${CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${toolchain_path} -DCMAKE_PROJECT_INCLUDE=${RECIPE_DIR}/overwriteProp.cmake" # DuckDB-specific CMake flags for wasm passed via scikit-build-core config settings ${PYTHON} -m pip install . ${PIP_ARGS} \ diff --git a/recipes/recipes_emscripten/duckdb/overwriteProp.cmake b/recipes/recipes_emscripten/duckdb/overwriteProp.cmake new file mode 100644 index 00000000000..d4a01e319fa --- /dev/null +++ b/recipes/recipes_emscripten/duckdb/overwriteProp.cmake @@ -0,0 +1,4 @@ +set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) +set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-sSIDE_MODULE=1 -sWASM_BIGINT") +set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-sSIDE_MODULE=1 -sWASM_BIGINT") +set(CMAKE_STRIP FALSE) From 826e7083a5bcd56e2c9783dc931d39af1294d095 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 12:15:47 +0100 Subject: [PATCH 07/10] Skip --export-dynamic-symbol linker flags on Emscripten wasm-ld doesn't support --export-dynamic-symbol. DuckDB's CMake hits the "UNIX AND NOT APPLE" branch for Emscripten, which passes these unsupported flags. Add an EMSCRIPTEN guard to skip them. Co-Authored-By: Claude Opus 4.6 --- .../duckdb/patches/emscripten-python-target.patch | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch b/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch index 1960d942440..803364e5992 100644 --- a/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch +++ b/recipes/recipes_emscripten/duckdb/patches/emscripten-python-target.patch @@ -18,3 +18,12 @@ index abcdef1..1234567 100644 find_package(pybind11 REQUIRED CONFIG) # DuckDB +@@ -100,7 +109,7 @@ if(APPLE) + target_link_options( + _duckdb PRIVATE "LINKER:-exported_symbol,_duckdb_adbc_init" + "LINKER:-exported_symbol,_PyInit__duckdb") +-elseif(UNIX AND NOT APPLE) ++elseif(UNIX AND NOT APPLE AND NOT EMSCRIPTEN) + target_link_options( + _duckdb PRIVATE "LINKER:--export-dynamic-symbol=duckdb_adbc_init" + "LINKER:--export-dynamic-symbol=PyInit__duckdb") From 7017caae9eba1cf7b46953fe6f94ed9f9263a829 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 12:53:59 +0100 Subject: [PATCH 08/10] Disable LTO to fix duplicate symbol errors with wasm-ld DuckDB's CMake links libduckdb_static.a twice to resolve circular dependencies between the core library and extensions. Native linkers handle this fine, but with LTO enabled wasm-ld merges all objects and reports duplicate symbol errors. Disable interprocedural optimization to work around this. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/recipes_emscripten/duckdb/build.sh b/recipes/recipes_emscripten/duckdb/build.sh index c72050694d0..7c1c1182195 100644 --- a/recipes/recipes_emscripten/duckdb/build.sh +++ b/recipes/recipes_emscripten/duckdb/build.sh @@ -14,4 +14,5 @@ ${PYTHON} -m pip install . ${PIP_ARGS} \ -Ccmake.define.BUILD_SHELL=OFF \ -Ccmake.define.BUILD_UNITTESTS=OFF \ -Ccmake.define.ENABLE_EXTENSION_AUTOLOADING=OFF \ - -Ccmake.define.ENABLE_EXTENSION_AUTOINSTALL=OFF + -Ccmake.define.ENABLE_EXTENSION_AUTOINSTALL=OFF \ + -Ccmake.define.CMAKE_INTERPROCEDURAL_OPTIMIZATION=OFF From cd0a0b5c042cfc119f33c0251db57094f0841d90 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 13:28:33 +0100 Subject: [PATCH 09/10] Allow multiple definitions for wasm-ld DuckDB links libduckdb_static.a twice in the link command to resolve circular dependencies between core and extensions. Native linkers handle repeated archives by processing them left-to-right, but wasm-ld treats duplicate definitions as errors regardless of LTO settings. Pass --allow-multiple-definition to wasm-ld. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/overwriteProp.cmake | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/recipes/recipes_emscripten/duckdb/overwriteProp.cmake b/recipes/recipes_emscripten/duckdb/overwriteProp.cmake index d4a01e319fa..58bad2809df 100644 --- a/recipes/recipes_emscripten/duckdb/overwriteProp.cmake +++ b/recipes/recipes_emscripten/duckdb/overwriteProp.cmake @@ -2,3 +2,8 @@ set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS TRUE) set(CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS "-sSIDE_MODULE=1 -sWASM_BIGINT") set(CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS "-sSIDE_MODULE=1 -sWASM_BIGINT") set(CMAKE_STRIP FALSE) + +# DuckDB links libduckdb_static.a twice to resolve circular dependencies +# between the core and extensions. Native linkers handle this but wasm-ld +# does not. Allow multiple definitions to work around this. +add_link_options("LINKER:--allow-multiple-definition") From f83efd9b3a93f8283294fd693b6145be11b5ce88 Mon Sep 17 00:00:00 2001 From: Wolf Vollprecht Date: Sun, 1 Mar 2026 15:15:16 +0100 Subject: [PATCH 10/10] Keep .dist-info so importlib.metadata can find duckdb duckdb._version uses importlib.metadata.version("duckdb") to get the package version at import time. Excluding .dist-info removes the metadata that makes this work. Co-Authored-By: Claude Opus 4.6 --- recipes/recipes_emscripten/duckdb/recipe.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/recipes/recipes_emscripten/duckdb/recipe.yaml b/recipes/recipes_emscripten/duckdb/recipe.yaml index fc1e47be476..d41263d7bab 100644 --- a/recipes/recipes_emscripten/duckdb/recipe.yaml +++ b/recipes/recipes_emscripten/duckdb/recipe.yaml @@ -19,7 +19,6 @@ build: files: exclude: - - '**.dist-info/**' - '**/__pycache__/**' - '**/*.pyc' - '**/test_*.py'