Skip to content
Merged
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
2 changes: 1 addition & 1 deletion .github/workflows/py-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ jobs:
strategy:
matrix:
config:
- { python-version: "3.9", test_google: false, test_azure: false }
- { python-version: "3.10", test_google: false, test_azure: false }
- { python-version: "3.11", test_google: false, test_azure: false }
- { python-version: "3.12", test_google: true, test_azure: true }
- { python-version: "3.13", test_google: false, test_azure: false }
- { python-version: "3.14", test_google: false, test_azure: false }
fail-fast: false

steps:
Expand Down
2 changes: 1 addition & 1 deletion pkg-py/src/querychat/_datasource.py
Original file line number Diff line number Diff line change
Expand Up @@ -341,7 +341,7 @@ def get_schema(self, *, categorical_threshold: int) -> str: # noqa: PLR0912
result = conn.execute(stats_query).fetchone()
if result:
# Convert result to dict for easier access
column_stats = dict(zip(result._fields, result))
column_stats = dict(zip(result._fields, result, strict=False))
except Exception: # noqa: S110
pass # Fall back to no statistics if query fails

Expand Down
4 changes: 3 additions & 1 deletion pkg-py/src/querychat/_querychat_module.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,16 @@
import warnings
from dataclasses import dataclass
from pathlib import Path
from typing import TYPE_CHECKING, Callable, Union
from typing import TYPE_CHECKING, Union

import shinychat
from shiny import module, reactive, ui

from .tools import tool_query, tool_reset_dashboard, tool_update_dashboard

if TYPE_CHECKING:
from collections.abc import Callable

import chatlas
import pandas as pd
from shiny import Inputs, Outputs, Session
Expand Down
4 changes: 3 additions & 1 deletion pkg-py/src/querychat/tools.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from __future__ import annotations

from pathlib import Path
from typing import TYPE_CHECKING, Callable
from typing import TYPE_CHECKING

import chevron
from chatlas import ContentToolResult, Tool
Expand All @@ -11,6 +11,8 @@
from ._utils import df_to_html, querychat_tool_starts_open

if TYPE_CHECKING:
from collections.abc import Callable

from ._datasource import DataSource
from ._querychat_module import ReactiveString, ReactiveStringOrNone

Expand Down
11 changes: 5 additions & 6 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "querychat"
version = "0.2.2"
description = "Chat with your data using natural language"
readme = "pkg-py/README.md"
requires-python = ">=3.9"
requires-python = ">=3.10"
license = { file = "pkg-py/LICENSE" }
authors = [
{ name = "Joe Cheng", email = "[email protected]" },
Expand All @@ -21,7 +21,7 @@ maintainers = [
dependencies = [
"duckdb",
"pandas",
"shiny",
"shiny>=1.5.1",
"shinywidgets",
"htmltools",
"chatlas>=0.13.2",
Expand All @@ -32,12 +32,11 @@ dependencies = [
]
classifiers = [
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
]

[project.urls]
Expand Down Expand Up @@ -101,7 +100,7 @@ exclude = [
line-length = 88
indent-width = 4

target-version = "py39"
target-version = "py310"

[tool.ruff.lint]
extend-ignore = [
Expand Down Expand Up @@ -200,7 +199,7 @@ include = ["pkg-py/src/querychat"]
[tool.tox]
legacy_tox_ini = """
[tox]
env_list = py3{9,10,11,12}
env_list = py3{10,11,12,13,14}
isolated_build = True

[testenv]
Expand Down