BotShelf Vampire BOTSHELF VAMPIRE Register

Library · Team · LangGraph · data-analysis

Code langgraph Analytics Untested graph free

Data Analysis — LangGraph

Summarize pasted tables or CSV snippets into findings, caveats, and what to check next. Analysis only. (LangGraph stateful graph with a human checkpoint.)

Id: langgraph/data-analysis · Slug: data-analysis · Status: Untested · Untested on this machine — recipe reviewed for safety (no secrets, no destructive commands, no auto-spend). Mark tested after you run it locally.

What is this

Code for LangGraph. Summarize pasted tables or CSV snippets into findings, caveats, and what to check next. Analysis only. (LangGraph stateful graph with a human checkpoint.)

How this runtime fits

This LangGraph implementation is a graph-style runtime for the parent AI Team. Agent orchestration and multi-agent workflow language fit when nodes split work and gates; it is not automatically identical to every multi-agent system.

Parent AI Team: data-analysis · What is an AI Team?

What it does

Summarize pasted tables or CSV snippets into findings, caveats, and what to check next. Analysis only. (LangGraph stateful graph with a human checkpoint.)

Who for

Builders working on Analytics jobs who can run LangGraph themselves.

Need to run

How to use

  1. Install LangGraph in a venv (pin versions).
  2. Wire produce() to your local model client.
  3. Run the file once with Example in.
  4. Keep human_gate approval defaulting to False; enable revise only intentionally.

Limitations

Test status

Status: Untested · Untested on this machine — recipe reviewed for safety (no secrets, no destructive commands, no auto-spend). Mark tested after you run it locally.

# graph_data_analysis.py — Data Analysis (LangGraph sketch)
# pip install langgraph langchain-core (pin yourself)
# Use a local chat model binder; do not embed secrets.

from typing import TypedDict, Literal
from langgraph.graph import StateGraph, END

SYSTEM = """You are a data analysis desk. Goal: findings from pasted numbers only.

RULES:
- Do not invent rows. If math is approximate, say so.
- Call out sample size, missing fields, and selection bias.
- No trading/investment advice. No auto-spend recommendations.
- Charts described in text only unless user provides image.

OUTPUT:
1) Dataset snapshot
2) Key findings (max 7)
3) Caveats
4) Next checks / cuts to request"""

class State(TypedDict):
    user_input: str
    draft: str
    approved: bool
    notes: str

def produce(state: State) -> State:
    # Pseudo: call your local model with SYSTEM + state["user_input"]
    draft = "[MODEL OUTPUT PLACEHOLDER — wire your local LLM here]\n" + state["user_input"][:500]
    return {**state, "draft": draft, "notes": "awaiting human"}

def human_gate(state: State) -> State:
    # In real use: interrupt / input() / UI approval.
    # Default False so nothing auto-publishes.
    return {**state, "approved": False}

def route_after_gate(state: State) -> Literal["done", "revise"]:
    return "done" if state.get("approved") else "done"  # stage-1: always end after gate

g = StateGraph(State)
g.add_node("produce", produce)
g.add_node("human_gate", human_gate)
g.set_entry_point("produce")
g.add_edge("produce", "human_gate")
g.add_conditional_edges("human_gate", route_after_gate, {"done": END, "revise": "produce"})
app = g.compile()

if __name__ == "__main__":
    out = app.invoke({"user_input": "PASTE_EXAMPLE_IN", "draft": "", "approved": False, "notes": ""})
    print(out)
Paste:
day,signups,paid
Mon,40,2
Tue,38,1
Wed,22,1
Thu,21,0
Fri,25,1
Note: Wed deploy.
Snapshot: 5 weekdays; Wed deploy coincides with signup drop.
Findings: Signups fell ~45% Wed–Thu vs Mon–Tue; paid sparse (n small).
Caveats: one week; no traffic denominator.
Next: traffic + error logs around deploy.

Graph includes an explicit human checkpoint. Stage-1 ends after gate (no infinite revise loop).

Parent: data-analysis · implementation_id: langgraph/data-analysis

teams/data-analysis/langgraph · commit eb87e8e049fdf9908e438305ff827c7b617505b5 · license: free-use-at-own-risk

Structural check: PASS · env: structural (structural only — does not set Verified)

Soft thematic links only — not identity merges. Marketplace Teams ≠ Library AI Team records.