From 978a6cff265d8214924b33d5dc47bb4a2fc5a63b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E5=9F=BA=E9=AD=81?= <1412414664@qq.com> Date: Thu, 25 Jun 2026 03:47:46 +0800 Subject: [PATCH] fix: include pandas in filesystem extra --- pyproject.toml | 1 + tests/workspace/cli/test_init_command.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index c6863b4ad4..33f55df6f6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -102,6 +102,7 @@ ducklake = [ filesystem = [ "s3fs>=2022.4.0", "botocore>=1.28", + "pandas>=2.3.0,<3", ] s3 = [ "s3fs>=2022.4.0", diff --git a/tests/workspace/cli/test_init_command.py b/tests/workspace/cli/test_init_command.py index c1119a768c..87c554a271 100644 --- a/tests/workspace/cli/test_init_command.py +++ b/tests/workspace/cli/test_init_command.py @@ -4,9 +4,11 @@ import hashlib import os import contextlib +from pathlib import Path from subprocess import CalledProcessError from typing import List, Tuple, Optional import pytest +import tomlkit from pytest_console_scripts import ScriptRunner from unittest import mock from pytest import MonkeyPatch @@ -261,6 +263,13 @@ def test_init_command_core_source_requirements_with_extras( assert canonical_name in source_requirements.dlt_requirement.extras +def test_filesystem_extra_installs_read_csv_dependency() -> None: + pyproject = tomlkit.parse(Path(__file__).parents[3].joinpath("pyproject.toml").read_text()) + filesystem_deps = pyproject["project"]["optional-dependencies"]["filesystem"] + + assert any(Requirement(dep).name == "pandas" for dep in filesystem_deps) + + @pytest.mark.parametrize( "source_name", [name for name in CORE_SOURCES_CONFIG if not CORE_SOURCES_CONFIG[name]["requires_extra"]],