{"data":{"slug":"pgalko-bambooai","name":"BambooAI","tagline":"A Python library powered by Language Models (LLMs) for conversational data discovery and analysis.","github_url":"https://github.com/pgalko/BambooAI","owner":"pgalko","repo":"BambooAI","owner_avatar_url":"https://avatars.githubusercontent.com/u/39939157?v=4","primary_language":"Python","stars":790,"forks":85,"topics":["ai","ai-agents","data-analysis","data-science","docker","llm","ollama","openrouter","pandas","python","vllm"],"archived":false,"github_pushed_at":"2026-09-16T14:25:35+00:00","maintenance_label":"Very active","stars_delta_30d":6,"url":"https://www.graphcanon.com/tools/pgalko-bambooai","markdown_url":"https://www.graphcanon.com/tools/pgalko-bambooai.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/pgalko-bambooai","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=pgalko-bambooai","description":"An LLM-driven data analyst that works in a persistent Python kernel. Web app, Docker-isolated execution, your own model keys. Full support for open weights models via provider or local.","homepage_url":null,"license":"MIT","open_issues":16,"watchers":14,"ai_summary":"BambooAI is a Python-based tool that leverages language models to enable conversational data discovery and analysis, integrating with various AI frameworks and vector databases.","readme_excerpt":"## Installation\n\nRequirements: **Python 3.11 or newer**, and **Docker** (Docker Desktop on macOS and Windows, Docker\nEngine on Linux), running. Docker is where the model-written code runs; see\n[Where the Code Runs](#where-the-code-runs) for the alternative.\n\n**Option 1 — pip (recommended)**\n\n```bash\npip install bambooai\nbambooai serve\n```\n\n**Option 2 — from the repository**\n\n```bash\ngit clone https://github.com/pgalko/BambooAI.git && cd BambooAI\npython3 -m venv .venv && source .venv/bin/activate\npip install -e .\nbambooai serve\n```\n\n**Option 3 — hosted.** [bambooai.org](https://bambooai.org) runs the same analyst as a service, with\nnothing to install.\n\n---\n\n## Quick Start\n\n1. `bambooai serve`. On first use it creates the working folder `~/bambooai`, writes a `.env` there,\n   builds the executor image from the Dockerfile in the package (several minutes, once: the image\n   installs pandas, numpy, scipy, statsmodels, scikit-learn, matplotlib, plotly and the rest), starts\n   the container, and opens `http://127.0.0.1:5001`.\n2. Put at least one model key into `~/bambooai/.env`. An [OpenRouter](https://openrouter.ai) key is\n   enough on its own: every model in the default configuration is reachable through OpenRouter. Add\n   `GEMINI_API_KEY` if you want web search.\n3. `bambooai serve` again. Upload a CSV, Parquet, JSON or XLSX file and ask a question. Choose\n   *Quick*, *Deep* or *Adaptive* in the composer.\n4. In the app, **Models & Compute** (gear menu) picks the preset — `cost`, `performance` or `max` —\n   and saves it. **Usage** shows the calls, tokens and cost per run.\n\nThe working folder:\n\n```\n~/bambooai/\n├── .env                          keys and settings; read at start, never written by the app\n├── LLM_CONFIG_template.json      the seats per preset: model, provider, reasoning effort, max_tokens, prices\n├── bambooai.sqlite               chains, labels, usage, the saved preset, integration credentials (encrypted)\n├── config/<user>/LLM_CONFIG.json the configuration built from the template for the chosen preset\n├── storage/<user>/threads/       one JSON per thread: runs, cells, reports, reproduction results\n├── storage/<user>/favourites/    saved chains\n├── memory/<user>/                the memory pack\n└── logs/<user>/                  bambooai_run_log.json: every model call with tokens, time and cost\n```\n\n`serve` reads nothing outside this folder. Upgrading the package does not change it; deleting it\nstarts you fresh. `BAMBOO_HOME` or `bambooai serve --home DIR` moves it.","github_created_at":"2023-05-07T01:25:51+00:00","created_at":"2026-07-11T11:27:16.620918+00:00","updated_at":"2026-09-20T06:06:50.485468+00:00","categories":[{"slug":"ai-agents","name":"AI Agents","url":"https://www.graphcanon.com/categories/ai-agents","markdown_url":"https://www.graphcanon.com/categories/ai-agents.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/ai-agents"},{"slug":"data-retrieval","name":"Data & Retrieval","url":"https://www.graphcanon.com/categories/data-retrieval","markdown_url":"https://www.graphcanon.com/categories/data-retrieval.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/data-retrieval"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"ai","name":"ai"},{"slug":"ai-agents","name":"ai-agents"},{"slug":"anthropic","name":"anthropic"},{"slug":"data-analysis","name":"data-analysis"},{"slug":"data-science","name":"data-science"},{"slug":"docker","name":"docker"},{"slug":"gemini","name":"gemini"},{"slug":"groq","name":"groq"}],"trust":{"provenance":{"is_fork":false,"github_id":637253688,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-20T06:06:47.953Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":1,"days_since_push":3,"last_release_at":"2026-09-16T15:27:44Z","stars_delta_30d":6,"open_issues_delta_30d":1},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:27:17.711Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-20T06:06:49.002Z"},"has_cli":{"value":true,"source":"pyproject.toml:[project.scripts]","observed_at":"2026-09-20T06:06:49.002Z"},"languages":{"value":["python"],"source":"github.language+pyproject.toml","observed_at":"2026-09-20T06:06:49.002Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-09-20T06:06:49.002Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":null,"constraints":null,"when_to_use":["Need conversational analysis with integration to various AI frameworks","Looking for data discovery solutions that work well with vector databases"],"when_not_to_use":["Require real-time analytics without pre-existing AI framework setup","Favor non-Python languages or environments not compatible with Python libraries"],"source":"enrich:decision_facts","observed_at":"2026-07-12T18:31:33.274Z"},"constraint_facets":null,"decision_summary":[{"label":"Adopt for","value":"BambooAI is a Python-based tool for conversational data discovery using LLMs."}]}}