Spaces:
Sleeping
Sleeping
Commit History
-
feat: add dataset summary modal on file upload
Nolan Zandi +1: Claude Sonnet 4.6Shows rows, columns, missing values, duplicate rows, file size, per-column types/missing %/unique counts with ID cardinality warnings, numeric min/max/avg, datetime ranges, and a 5-row data preview. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>9138de6
-
chore: promote gpt-4.1 to default model in dropdown
Nolan Zandi +1: Claude Sonnet 4.6Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>980f6cb -
fix: make chart iframes responsive and extract iframe helper
Nolan Zandi +1: Claude Sonnet 4.6Replace 10 copies of hardcoded pio.write_html + 1000px iframe string with a single _write_chart(fig, path, url) helper that writes the file with config={'responsive':True} and returns width:100% / min-width:400px iframe HTML. Charts now fill the available chat width on any screen size and redraw when the container resizes instead of overflowing at 1000px. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>b9b70e3 -
feat: add rolling stats, K-Means clustering, and hypothesis testing
Nolan Zandi +1: Claude Sonnet 4.6- Add rolling_stats_func: overlays rolling mean/std/min/max on a time series using plotly.graph_objects; supports optional category grouping - Add kmeans_clustering_func: StandardScaler + KMeans (sklearn), scatter plot coloured by cluster, centroid summary table - Add hypothesis_test_func: independent/one-sample t-test (scipy) and chi-square test of independence; returns styled HTML results table - Register all three in tool schemas, __init__.py, available_functions, and system message; add scipy and scikit-learn to requirements.txt - Refactor chart_tools.py: extract _LAYOUT_PARAM and _TRACE_STYLE_PARAM constants to eliminate ~8x copy-paste; remove layout from required arrays on line/bar/pie; fix hardcoded 'SQLite' references; standardise all tool descriptions to consistent what/when/returns format - Refactor stats_tools.py: same description standardisation - Shorten tools_desc in system message from 13 lines to 2 sentences (LLM already receives full schema descriptions…7afc8ec -
feat: add box plot, correlation heatmap, and descriptive statistics
Nolan Zandi +1: Claude Sonnet 4.6New analysis functions: - box_chart_generation_func: distribution and outlier visualisation, optional x-axis grouping and colour category (px.box) - correlation_heatmap_func: pairwise Pearson correlation heatmap for numeric columns using RdBu_r scale (px.imshow); defaults to all numeric columns if none specified - descriptive_stats_func: inline summary statistics table (count, mean, std, min, 25/50/75%, max) styled to match the app theme Supporting changes: - Tool schemas added to chart_tools.py and stats_tools.py - All three functions exported from functions/__init__.py - All three wired into available_functions in chatbot_func - system_message refactored: removed repetition across 4 data-source variants via shared tools_desc string; fixed longstanding bug where bar_chart_generation_func was referred to as line_chart_generation_func in the doc_db and graphql system prompts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>c007902 -
fix: replace LFS-tracked CSV with a plain 100K-row sample
Nolan Zandi +1: Claude Sonnet 4.6LFS was silently serving the pointer file to HF Spaces instead of the actual data, leaving the online_retail_data.csv unqueryable. Root cause: HF Spaces does not reliably pull LFS objects for Space repos. Changes: - Replace 541K-row 45MB CSV with a random 100K-row 8.56MB sample; retains full column set and date range, sufficient for all demos - Remove samples/online_retail_data.csv from LFS tracking in .gitattributes - Clean up historical-file-specific LFS entries from .gitattributes added by the earlier lfs migrate (data_file.zip, data_source.db, etc.) since those files no longer exist in the tree - Also includes: table_generation_func now renders inline HTML in the chat message instead of an iframe, adapting naturally to any screen width Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>ad72587
-
fix: resolve ModuleNotFoundError for tools.tools
Nolan Zandi +1: Claude Sonnet 4.6Root causes: - tools/__init__.py was missing; created empty file to make tools/ a proper Python package - chart_tools.py and stats_tools.py had top-level `from haystack.tools import Tool` imports, causing the entire module to fail to load if that import path is unavailable, which surfaced as ModuleNotFoundError: No module named 'tools.tools' - Fixed by removing all Haystack imports from chart_tools.py and stats_tools.py — they now export plain schema dicts only - tools.py does the `from haystack.tools import Tool` import lazily inside tools_call(), so any ImportError surfaces clearly at call time rather than at module load - Pinned haystack-ai>=2.7.0 in requirements.txt to ensure Tool is available Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>70b0712 -
feat: UX and design improvements across the app
Nolan Zandi +1: Claude Sonnet 4.6- Reframe API key form as welcoming onboarding card (blue gradient, positive tone) instead of amber warning box - Add persistent provider/model status badge after key is set, with a Change Key button to re-show the form - Add show_api_form() handler to allow in-session key/model switching - Fix sample button colors: replace purple/indigo gradient with cohesive sky-blue theme gradient - Remove dead placeholder code (Udohgram modal) from data_file.py - Wrap verbose connector descriptions in collapsible gr.Accordion panels (collapsed by default) across SQL, MongoDB, GraphQL tabs - Add demo credentials notice below connection forms on all db tabs - Add schema-analysis timing note on MongoDB tab (1-2 min warning) - Rename Submit buttons to Connect on database tabs - Shorten Document (MongoDB) Database tab to MongoDB - Add emoji icons to all tab labels for faster visual scanning - Add fadeSlideIn animation for status badge in styles.css Co-Authored-By: Claude Sonnet 4.6 <noreply@ant…c6c3720 -
temp: remove explicit CSV LFS line before migration
Nolan Zandi2ec0dff -
chore: add LFS config and fix .gitignore
Nolan Zandi +1: Claude Sonnet 4.6- .gitattributes from HF Space (tracks large CSVs via LFS) - .gitignore now excludes .env and temp/ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>766883d -
chore: add Hugging Face Space README with metadata
Nolan Zandi +1: Claude Sonnet 4.6Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>19d4709 -
feat: user-supplied API keys, model selector, and Anthropic support
Nolan Zandi +1: Claude Sonnet 4.6- Replace hardwired OpenAI key with a per-session API key form at the top of the UI; key is stored in memory only and cleared on page unload - Add model dropdown that dynamically switches between OpenAI and Anthropic model lists based on detected key prefix (sk-ant- vs sk-) - Add anthropic-haystack dependency for AnthropicChatGenerator support - Refactor tools/chart_tools.py, tools/stats_tools.py, and tools/tools.py to use Haystack's provider-agnostic Tool class instead of raw OpenAI-format dicts, enabling tool calling to work with both OpenAI and Anthropic models - Fix invalid JSON Schema (items field on non-array properties) in tool parameter definitions for stricter Anthropic compatibility - Pass tools via tools= parameter to chat_generator.run() rather than generation_kwargs so both generators handle format conversion natively Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>4ac9bc4
-
Merge pull request #59 from Zanobo/feat/reduce_sql_query
Nolan Zandiupdates to queries and tools for fewer errors8b6f54a -
updates to queries and tools for fewer errors
Nolan Zandi0fe0734
-
fix logging issue
Nolan Zandid41f4b9 -
Merge pull request #58 from Zanobo/feat/condense_queries
Nolan Zandicondense query functions8c4a9d3 -
condense query functions
Nolan Zandi9dfb507
-
Merge pull request #57 from Zanobo/feat/enhance_query_csv_comp
Nolan Zandienhance llm understanding of query.csv5678d08 -
add column names to csv query
Nolan Zandi0dae19c -
enhance llm understanding of query.csv
Nolan Zandi88af3ed
-
Merge pull request #56 from Zanobo/feat/chat_function_refactor
Nolan ZandiFeat/chat function refactor1fba60c -
refactor example question generator
Nolan Zandi4ad19e8 -
refactor chat functions
Nolan Zandib1d71ae
-
fixes for graphql
Nolan Zandi29d2268 -
Merge pull request #55 from Zanobo/feat/integrate_graphql
Nolan Zandifirst version of graphql integratione0c2aaf -
add new packages
Nolan Zandi492fee4 -
add secondary query function
Nolan Zandibe3a88a -
use environment variables for api
Nolan Zandi9122858 -
first version of graphql integration
Nolan Zandif907f2a
-
add fields to file upload
Nolan Zandid4e0ede
-
Merge pull request #54 from Zanobo/feat/doc_db_integration
Nolan Zandiintegration mongodbc440a17 -
integration mongodb
Nolan Zandi18b1006
-
Merge pull request #53 from Zanobo/feat/accuracy-fixes
Nolan Zandiupdate accurancy and bugfixes from refactorc06bc1c -
update accurancy and bugfixes from refactor
Nolan Zandi5eccb65 -
Merge pull request #52 from Zanobo/feat/postgresql-integration
Nolan Zandifirst draft of sql integration4f6aedf
-
review updates
Nolan Zandi35107b6 -
first draft of sql integration
Nolan Zandi8310dd0
-
Merge pull request #51 from Zanobo/feat/refactor-viz-update-11apr
Nolan Zandimore refactor updatesc7658db -
more refactor updates
Nolan Zandi8a82b49
-
Merge pull request #49 from Zanobo/feat/refactor-viz-update-11apr
Nolan Zandirefactor and visual updates1ba404c -
refactor and visual updates
Nolan Zandia7f0a50
-
update datetime parsing
Nolan Zandi3b2531d
-
add xlrd for xls support
Nolan Zandia8230a5
-
Merge pull request #48 from Zanobo/bug/fixes-for-chart-gen
Nolan Zandifixes for generation8ff9ccb -
fixes for generation
Nolan Zandi72e02e3
-
increase the query limit
Nolan Zandi0308ade -
Merge pull request #47 from Zanobo/feat/bubble-chart
Nolan Zandiadd bubble chart1964edb -
add bubble chart
Nolan Zandic82c5cb
-
formatting changes
Nolan Zandi2a61502 -
bugfixes and layout updates
Nolan Zandi2640847