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
1 change: 1 addition & 0 deletions pkg-py/docs/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
*.quarto_ipynb
objects.txt
objects.json
changelog.md

# Ignore quartodoc artifacts, these are built in CI
_sidebar-python.yml
Expand Down
56 changes: 56 additions & 0 deletions pkg-py/docs/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [UNRELEASED]

### Changes

* The entire functional API (i.e., `init()`, `sidebar()`, `server()`, etc) has been hard deprecated in favor of a simpler OOP-based API. Namely, the new `QueryChat()` class is now the main entry point (instead of `init()`) and has methods to replace old functions (e.g., `.sidebar()`, `.server()`, etc). (#101)

### New features

* New `QueryChat.app()` method enables quicker/easier chatting with a dataset. (#104)

* Enabled bookmarking by default in both `.app()` and `.server()` methods. In latter case, you'll need to also specify the `bookmark_store` (either in `shiny.App()` or `shiny.express.app_opts()`) for it to take effect. (#104)

* The current SQL query and title can now be programmatically set through the `.sql()` and `.title()` methods of `QueryChat()`. (#98, #101)

* Added a `.generate_greeting()` method to help you create a greeting message for your querychat bot. (#87)

* Added `querychat_reset_dashboard()` tool for easily resetting the dashboard filters when asked by the user. (#81)

### Improvements

* Added rich tool UI support using shinychat development version and chatlas >= 0.11.1. (#67)

* querychat's system prompt and tool descriptions were rewritten for clarity and future extensibility. (#90)

## [0.2.2] - 2025-09-04

* Fixed another issue with data sources that aren't already narwhals DataFrames (#83)

## [0.2.1] - 2025-09-04

* Fixed an issue with the query tool when used with SQLAlchemy data sources. (@npelikan #79)

## [0.2.0] - 2025-09-02

* `querychat.init()` now accepts a `client` argument, replacing the previous `create_chat_callback` argument. (#60)

The `client` can be:

* a `chatlas.Chat` object,
* a function that returns a `chatlas.Chat` object,
* or a provider-model string, e.g. `"openai/gpt-4.1"`, to be passed to `chatlas.ChatAuto()`.

If `client` is not provided, querychat will use the `QUERYCHAT_CLIENT` environment variable, which should be a provider-model string. If the envvar is not set, querychat uses OpenAI with the default model from `chatlas.ChatOpenAI()`.

* `querychat.ui()` now adds a `.querychat` class to the chat container and `querychat.sidebar()` adds a `.querychat-sidebar` class to the sidebar, allowing for easier customization via CSS. (#68)

## [0.1.0] - 2025-05-24

This first release of the `querychat` package.
48 changes: 0 additions & 48 deletions pkg-py/docs/_brand.yml

This file was deleted.

97 changes: 59 additions & 38 deletions pkg-py/docs/_quarto.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
project:
type: website
output-dir: ../../docs/py
pre-render:
cp ../CHANGELOG.md CHANGELOG.md

website:
title: "querychat"
site-url: https://posit-dev.github.io/querychat/py
description: Chat with your data in Shiny apps
description: Explore data using natural language
page-navigation: true

bread-crumbs: true
open-graph: true
Expand All @@ -21,43 +24,41 @@ website:
[![](https://posit.co/wp-content/uploads/2024/06/Posit-Logos-2024_horiz-full-color.svg){fig-alt="Posit" width=65px}](https://posit.co)

navbar:
left:
- text: Get Started
href: index.qmd
- text: "Examples"
href: examples/index.qmd
background: "#193D56"
search: true
title: '<span class="ms-3 fs-3 lead" style="vertical-align:middle;">QueryChat</span>'
#title: '<img src="/images/hex.png" height="40px" alt="querychat website"/><span class="ms-3 fs-3 lead header text-white" style="vertical-align:middle;">QueryChat</span>'

right:
- text: API Reference
href: reference/index.qmd

tools:
- text: Changelog
href: /changelog.html
- icon: github
menu:
- text: Source code
href: https://github.com/posit-dev/querychat/tree/main/pkg-py
- text: Report a bug
href: https://github.com/posit-dev/querychat/issues/new

href: https://github.com/posit-dev/querychat
aria-label: GitHub repository

sidebar:
- id: examples
title: "Examples"
style: docked
type: light
background: light
foreground: dark
- id: get-started
title: Get Started
style: floating
align: left
contents:
- href: examples/index.qmd
- section: "DataFrames"
contents:
- href: examples/pandas.qmd
- section: "Databases"
contents:
- href: examples/sqlite.qmd
- index.qmd
- section: "Overview"
contents:
- models.qmd
- data-sources.qmd
- context.qmd
- build.qmd
- greet.qmd
- tools.qmd


format:
html:
theme: [brand]
highlight-style: github
theme:
- styles.scss
toc: true

lightbox: auto
Expand All @@ -71,18 +72,38 @@ quartodoc:
sidebar: reference/_sidebar.yml
css: reference/_styles-quartodoc.css
sections:
- title: Get Started
desc: The basic building blocks of Querychat
- title: The Querychat class
desc: The starting point for any QueryChat session
contents:
- init
- sidebar
- server
- name: QueryChat
include_inherited: true
- name: express.QueryChat
include_inherited: true

- title: Customize
desc: Dive deeper into customizing Querychat
- title: Reactive values
desc: Session-specific reactive values representing the current query
contents:
- types.ServerValues

- title: Data Sources
desc: The underlying logic for managing data sources
contents:
- name: types.DataSource
signature_name: short
- name: types.DataFrameSource
signature_name: short
- name: types.SQLAlchemySource
signature_name: short

- title: Tools
desc: The underlying tools provided to the LLM
contents:
- ui
- system_prompt
- name: tools.tool_query
signature_name: short
- name: tools.tool_update_dashboard
signature_name: short
- name: tools.tool_reset_dashboard
signature_name: short

filters:
- "interlinks"
Expand Down
Loading