Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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