Skip to main content

binggio: Enterprise Context Intelligence

Binggio™

Governed answers from your data. Binggio answers questions only from meanings a person has approved: which column is a key, how tables link, what "delinquent" means. When it cannot answer precisely it says why, instead of guessing.

  • Works on your machine, with your files and databases. Nothing is written back to any source.
  • Every answer shows the terms, filters, links and sources it used.
  • Approvals are recorded with who made them and why, and stop being used the moment the data they were made on changes.

Install

pip install binggio                 # CSV and SQLite
pip install binggio[excel]          # + Excel workbooks
pip install binggio[sqlserver]      # + SQL Server (no ODBC driver needed)
pip install binggio[oracle]         # + Oracle (no Oracle client needed)
pip install binggio[all]            # everything

If your terminal says binggio is not recognised (common on Windows when pip installs into the user folder), use python -m binggio instead, for example python -m binggio ui, or add the Scripts folder pip mentions to your PATH.

Asking questions in plain language needs a model key: set BINGGIO_LLM_API_KEY (or OPENAI_API_KEY). Everything else (profiling, discovery, review, running saved plans) works without one.

The app

binggio ui

Opens Binggio in your browser: create the sample bank or your own workspace, add CSV files, Excel workbooks or databases (with a folder picker and a "test connection" step), walk through onboarding, approve, reject, revoke or reopen column roles, relationships, concepts and business terms, see the relationship map, and ask questions with the provenance of every answer.

It runs on this computer only (127.0.0.1), needs no internet, and adds no dependencies. The page carries a random session token so other web sites cannot use it. Database passwords and model keys typed into it are kept in memory only, never written to disk. The sample bank includes ten prepared questions that run without a model key. Options: --port 8800, --no-browser.

Use Binggio from AI agents (MCP)

binggio -w C:\banks\my-bank mcp

Binggio speaks the Model Context Protocol, so Claude Desktop, Claude Code, Cursor, VS Code and agent frameworks can use it as a tool. The agent turns the user's question into a plan using Binggio's approved vocabulary; Binggio validates it and answers from approved meanings only, or refuses with the reason. Agents can propose a meaning for a coded value, but only a person can approve it, in the app. No SQL is accepted, nothing is written to your sources, and it runs on this computer.

Tool What it does
describe_approved The approved tables, columns, links, business terms and concepts, and the plan format
run_plan Validates and runs a plan; rows with sources, terms and as-of date, or a refusal with the reason
ask Lets Binggio interpret the question itself (needs a model key)
status What is approved, waiting for review, or stale
propose_term Suggests what a coded value means; a person approves it in the app

Connect your AI client in one step

binggio connect claude-desktop -w C:\banks\my-bank      # or: cursor, vscode, claude-code

This adds Binggio to the client's settings and keeps everything already there (a dated backup is saved first; if the file is not valid JSON, nothing is changed). Add --print to see the settings without changing anything. Restart the client afterwards.

Other ways in:

  • Claude Desktop bundle: download binggio-<version>.mcpb from the releases page and open it; Claude Desktop asks for your workspace folder. Needs Python 3.10 or later installed.
  • Without installing anything first (with uv): command uvx, arguments binggio mcp, and the environment variable BINGGIO_WORKSPACE set to your workspace.
  • By hand: {"mcpServers": {"binggio": {"command": "python", "args": ["-m", "binggio", "-w", "C:\\banks\\my-bank", "mcp"]}}}

Every command also reads the workspace from BINGGIO_WORKSPACE when -w is not given.

Two-minute demo (command line)

binggio demo my-bank                 # a synthetic bank, already reviewed and approved
cd my-bank
binggio status
binggio ask "Which customers in the PREMIUM segment have a delinquent loan?"
binggio ask                          # a conversation: follow-ups like "which of these ..." work

Your own data

binggio init my-data && cd my-data

binggio add-csv   "Core export"   C:\exports\core          # a folder of .csv files
binggio add-excel "Branch report" C:\reports\branches.xlsx # each sheet becomes a table
binggio add-db    "Core banking"  sqlserver --host dbserver --database core --user reader --schema dbo
binggio add-db    "Loans"         oracle    --host orahost  --database ORCLPDB1 --user reader --schema LOANS

binggio profile                      # what each column looks like
binggio discover                     # which tables link to which
binggio impact                       # how the new source fits what you already have
binggio onboard --by "Your Name"     # review: column roles, links, concepts, words for codes
binggio ask

onboard walks through four steps and records every decision under your name:

  1. Column roles: keys, measures, dates, statuses. Suggestions are shown; you approve per table.
  2. Links: which column points to which table, with the evidence (how many values match).
  3. Concepts: names for the things in your data ("collection case", "collateral").
  4. Words for codes: kept = N means "broken promise"; status = W means "written off". Questions can use those words only after you define them.

binggio onboard --accept-suggestions --by "Your Name" accepts all suggestions at once (still recorded as your decision). It never approves a duplicate copy of an existing table, and leaves weak alternative links for you to look at.

What Binggio will not do

  • Guess a meaning. A word with no approved meaning, or two approved meanings, is refused with the choices.
  • Answer from part of the data. Answers read whole tables (up to 1,000,000 rows per table in this version). Longer result lists show the first 200 rows and say how many there are.
  • Change your data. Databases are read with SELECT statements only; the copy lives in the workspace, and binggio refresh <connection> re-reads it in place.

Not yet supported, and refused with a clear message: ratios and shares, time windows relative to today ("last 30 days"), durations, change over time, conditions on counts ("more than one complaint").

Python

import binggio
ws = binggio.Workspace.create("my-data")
ws.add_excel("Branch report", r"C:\reports\branches.xlsx")
ws.profile(); ws.discover()
print(ws.status())
answer = ws.ask("What is the total balance of OPEN loans by branch?")

Checking it on your own database

tools/check_database.py connects to a real SQL Server, Oracle or PostgreSQL database. --list is read-only. --cross-source loads a small test bank into a scratch schema, checks that it gives the same answers as the CSV copy, and removes it again.

Status

0.1, early.

Licence

Binggio is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LICENSE file for details.

In short: use it freely, inside your organisation too. If you modify Binggio and let other people use the modified version, including over a network, you must make your modified source code available to them under the same licence.

Trademark. Binggio™ and the Binggio logo are trademarks of Ashish Kumar (applications filed in India). The AGPL covers the code, not the name: forks are welcome under a different name. See TRADEMARKS.md.

Contact. Feedback, questions, commercial licences, implementation and partnerships: ashish@binggio.com. Security issues: see SECURITY.md.

Commercial licence. If the AGPL does not fit your organisation (for example, you want to embed Binggio in a closed product or service), a commercial licence is available: see COMMERCIAL.md.

Metadata

Release files for binggio 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for binggio 0.1.0
File Size Uploaded Provenance Actions
binggio-0.1.0.tar.gz 624.7 kB With provenance Details for binggio-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for binggio 0.1.0
File Interpreter ABI Platform Actions
binggio-0.1.0-py3-none-any.whl Python 3 none any Details for binggio-0.1.0-py3-none-any.whl

Total release size: 1.3 MB

Release files / binggio-0.1.0.tar.gz

Download URL binggio-0.1.0.tar.gz
Size 624.7 kB
Tags Source
SHA-256 checksum
How to use checksums
9410a891d3dc7af2fb45fd599c4e8b2fc82ff844ef4457c12c94b84dcb4491ce
BLAKE2b-256 checksum
How to use checksums
d83bb9afb7f942988935b40fe46646e869ebeaa10d28c05d6aa006fa14cbd217
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / binggio-0.1.0-py3-none-any.whl

Download URL binggio-0.1.0-py3-none-any.whl
Size 646.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ee680a6899e009d55bb82595a35612b0237b08415923b7703bdb3084598e941b
BLAKE2b-256 checksum
How to use checksums
cea4e813371fe4dbc85082fc3743ae34e2b7a38def4c22f10e3859210b27e39b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for binggio 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for binggio-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page