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)
| File | Size | Uploaded | |
|---|---|---|---|
| truthstack-1.0.0.tar.gz | 9.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|