Skip to main content

truthstack

Python SDK for TruthStack supplement safety API. Works with LangChain, LlamaIndex, CrewAI, OpenAI function calling, and standalone.

Install

pip install truthstack                    # Core client (zero deps)
pip install truthstack[langchain]         # + LangChain tools
pip install truthstack[llamaindex]        # + LlamaIndex tools
pip install truthstack[crewai]            # + CrewAI tools
pip install truthstack[all]              # Everything

Quick Start

Standalone

from truthstack import TruthStackClient

client = TruthStackClient(api_key="your-key")

# Check interactions (the money endpoint)
result = client.check_interactions(
    supplements=["berberine", "magnesium", "vitamin_d"],
    medications=["semaglutide"]
)
print(result["risk_level"])  # "HIGH"
print(result["cyp_pathway_conflicts"])
print(result["evidence_by_compound"])

# Get evidence balance
evidence = client.get_evidence("berberine")
print(evidence["evidence_balance"])  # {"positive": 8, "null": 2, ...}
print(evidence["citations"])  # [{"pmid": "12345", ...}]

LangChain

from truthstack import get_langchain_tools
from langchain_openai import ChatOpenAI
from langchain.agents import AgentExecutor, create_openai_tools_agent

tools = get_langchain_tools(api_key="your-key")
llm = ChatOpenAI(model="gpt-4")
agent = create_openai_tools_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)

result = executor.invoke({"input": "Can I take berberine while on Ozempic?"})

LlamaIndex

from truthstack import get_llamaindex_tools
from llama_index.core.agent import ReActAgent
from llama_index.llms.openai import OpenAI

tools = get_llamaindex_tools(api_key="your-key")
agent = ReActAgent.from_tools(tools, llm=OpenAI(model="gpt-4"))

response = agent.chat("What's the evidence for CoQ10?")

CrewAI

from truthstack import get_crewai_tools
from crewai import Agent, Task, Crew

tools = get_crewai_tools(api_key="your-key")

analyst = Agent(
    role="Supplement Safety Analyst",
    goal="Check supplement interactions and evidence",
    tools=tools,
)

OpenAI Function Calling

from truthstack import get_openai_functions, handle_openai_function_call
from openai import OpenAI

client = OpenAI()
functions = get_openai_functions()

response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Is magnesium safe with sertraline?"}],
    functions=functions,
    function_call="auto",
)

call = response.choices[0].message.function_call
result = handle_openai_function_call(
    call.name, json.loads(call.arguments), api_key="your-key"
)

System Prompts

from truthstack import SYSTEM_PROMPTS

SYSTEM_PROMPTS["supplement_safety_advisor"]   # General safety
SYSTEM_PROMPTS["glp1_supplement_checker"]     # GLP-1/Ozempic focus
SYSTEM_PROMPTS["evidence_researcher"]         # Research analysis
SYSTEM_PROMPTS["stack_optimizer"]             # Stack optimization
SYSTEM_PROMPTS["clinician_assistant"]         # Clinician-facing

Tools

Tool Description
truthstack_check_interactions Check supplement + drug interactions
truthstack_get_evidence Evidence balance + citations
truthstack_search_supplements Fuzzy compound search
truthstack_safety_signals FDA CAERS/FAERS signals
truthstack_drug_profile Drug CYP450 + botanical interactions

Environment Variables

TRUTHSTACK_API_KEY=your-key
TRUTHSTACK_BASE_URL=https://api.truthstack.co  # optional

API Key

Get a free key (2,000 calls/month) at truthstack.co/developers.

License

MIT

Metadata

Release files for truthstack 1.0.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 truthstack 1.0.0
File Size Uploaded
truthstack-1.0.0.tar.gz 9.0 kB Details

Built distribution (wheel)

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

Total release size: 16.9 kB

Release files / truthstack-1.0.0.tar.gz

Download URL truthstack-1.0.0.tar.gz
Size 9.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f3228563170abd55e5eb89d45515f0f0103337b85bb7e85099bf5931f72f0f5b
BLAKE2b-256 checksum
How to use checksums
c721fecfa1d5eca853f495a4a8cef96ac7a41d281f1f1ce38392fb2eef93e932
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release files / truthstack-1.0.0-py3-none-any.whl

Download URL truthstack-1.0.0-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
26977162158700c3e2e2f2a73711d671a9a9ec92c102c5c7a87aacc9a2fa01c2
BLAKE2b-256 checksum
How to use checksums
8746c84cde0def49a6ed706a8689f58ddc35e84537dc6961130ed567eeabecc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

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