Skip to main content

Async-native Python framework for building LLM applications — RAG pipelines, tool-using agents, and graph workflows. Streaming-first, transparent API, 2 hard deps.

Project description

SynapseKit

Build production LLM apps with 2 dependencies. Async-native RAG, Agents, and Graph workflows — no magic, no SaaS, no bloat.

"LangChain for people who hate LangChain."

SynapseKit is the minimal, async-first Python framework for LLM applications. 34 providers · 48+ tools · 64 loaders · 22 vector stores. Every abstraction is plain Python you can read, debug, and extend. No hidden chains. No global state. No lock-in.


⚡ Async-native

Every API is async/await first.
Sync wrappers for scripts and notebooks.
No event loop surprises.

🌊 Streaming-first

Token-level streaming is the default,
not an afterthought.
Works across all providers.

🪶 Minimal footprint

2 hard dependencies: numpy + rank-bm25.
Everything else is optional.
Install only what you use.

🔌 One interface

34 LLM providers and 22 vector stores
behind the same API.
Swap without rewriting.

🧩 Composable

RAG pipelines, agents, and graph nodes
are interchangeable.
Wrap anything as anything.

🔍 Transparent

No hidden chains.
Every step is plain Python
you can read and override.

10-Line Agent Example

from synapsekit import agent, tool

@tool
def get_weather(city: str) -> str:
    """Get current weather for a city."""
    return f"Sunny, 22°C in {city}"

my_agent = agent(
    model="gpt-4o-mini",
    api_key="sk-...",
    tools=[get_weather],
)

print(my_agent.run("What's the weather in Tokyo?"))

SynapseKit vs LangChain vs LlamaIndex

SynapseKit LangChain LlamaIndex
Hard dependencies 2 50+ 20+
Install size ~5 MB ~200 MB+ ~100 MB+
Async-native ✅ Default ⚠️ Partial ⚠️ Partial
Cost tracking ✅ Built-in ❌ LangSmith (SaaS) ❌ No
Evaluation ✅ CLI + GitHub Action ❌ LangSmith (SaaS) ✅ Built-in
Graph workflows ✅ Built-in ✅ LangGraph (separate pkg) ❌ No
LLM providers 34 38+ 20+
Stack traces Your code Framework internals Framework internals

LangChain has more raw integrations and more tutorials. That's not what SynapseKit is optimizing for. SynapseKit is optimizing for the engineer who needs to ship, debug, and maintain an LLM feature in production — where readable code, predictable async behavior, and no surprise SaaS bills actually matter.


Who is it for?

SynapseKit is for Python developers who want to ship LLM features without fighting their framework.

  • Burned LangChain users — hit a wall with debugging, dependency hell, or version churn and want full control back
  • Async backend engineers — building FastAPI services where LangChain's sync-first model feels bolted on
  • Cost-conscious teams — startups and teams who don't want a LangSmith subscription for basic observability
  • ML engineers — building RAG or agent pipelines who need full control over retrieval, prompting, and tool use

What it covers

🗂 RAG Pipelines
Retrieval-augmented generation with streaming, BM25 reranking, conversation memory, and token tracing. Load from PDFs, URLs, CSVs, HTML, directories, and more.

🤖 Agents
ReAct loop (any LLM) and native function calling (OpenAI / Anthropic / Gemini / Mistral). 48 built-in tools including calculator, Python REPL, code interpreter, web search, SQL, HTTP, shell, Twilio, arxiv, pubmed, wolfram, wikipedia, and more. Fully extensible.

🔀 Graph Workflows
DAG-based async pipelines. Nodes run in waves — parallel nodes execute concurrently. Conditional routing, typed state with reducers, fan-out/fan-in, SSE streaming, event callbacks, human-in-the-loop, checkpointing, and Mermaid export.

🧠 LLM Providers
OpenAI, Anthropic, Ollama, Gemini, Cohere, Mistral, Bedrock, Azure OpenAI, Groq, DeepSeek, OpenRouter, Together, Fireworks, Cerebras, Cloudflare, Moonshot, Perplexity, Vertex AI, Zhipu, AI21 Labs, Databricks, Baidu ERNIE, llama.cpp, LM Studio, Minimax, Aleph Alpha, Hugging Face, SambaNova, xAI, NovitaAI, Writer — all behind one interface. Auto-detected from the model name. Swap without rewriting.

🗄 Vector Stores
InMemory (built-in, .npz persistence), ChromaDB, FAISS, Qdrant, Pinecone, Weaviate, PGVector, Milvus, LanceDB. One interface for all 9 backends.

🔧 Utilities
Output parsers (JSON, Pydantic, List), prompt templates (standard, chat, few-shot), token tracing with cost estimation.

🧪 EvalCI — LLM Quality Gates
GitHub Action that runs @eval_case suites on every PR and blocks merge if quality drops. No infrastructure, 2-minute setup. Score, cost, and latency tracked per case. Works with any LLM provider. → GitHub Marketplace · Docs

📊 Agent Benchmarking
Evaluate your agents against industry-standard benchmarks like GAIA, SWE-bench, WebArena, and AgentBench directly from the CLI. Generate leaderboards to compare performance across tasks.

🧪 EvalHub Community Suites
Run shared community eval suites with synapsekit bench and compare aggregate score against baseline.

EvalHub quick usage

synapsekit bench --list
synapsekit bench --suite community/customer-support --model gpt-4o-mini
synapsekit bench --publish my_evals/ --name myorg/rag-finance

Docs: docs/evalhub.md


Integrations

Everything plugs into the same interface. Swap any piece without rewriting your application logic.

Icons use Simple Icons (SVG) and Google Favicons for reliability across themes.

🧠 LLM Providers

OpenAI
OpenAI
Anthropic
Anthropic
Google Gemini
Gemini
Azure OpenAI
Azure OpenAI
AWS Bedrock
AWS Bedrock
Vertex AI
Vertex AI
Mistral
Mistral
Cohere
Cohere
Groq
Groq
Hugging Face
Hugging Face
Cloudflare
Cloudflare
Databricks
Databricks
Perplexity
Perplexity
Replicate
Replicate
xAI Grok
xAI (Grok)
Baidu ERNIE
Baidu ERNIE
DeepSeek
DeepSeek
Ollama
Ollama
Together AI
Together AI
OpenRouter
OpenRouter
Fireworks AI
Fireworks AI
Cerebras
Cerebras
SambaNova
SambaNova
NovitaAI
NovitaAI
Writer
Writer
AI21 Labs
AI21 Labs
Aleph Alpha
Aleph Alpha
Minimax
Minimax
Moonshot
Moonshot
Zhipu
Zhipu
LM Studio
LM Studio
llama.cpp
llama.cpp
vLLM
vLLM
GPT4All
GPT4All

🗄 Vector Stores

ChromaDB
ChromaDB
FAISS
FAISS
Qdrant
Qdrant
Pinecone
Pinecone
Weaviate
Weaviate
Milvus
Milvus
LanceDB
LanceDB
PGVector
PGVector
SQLiteVec
SQLiteVec
MongoDB Atlas
MongoDB Atlas
Redis
Redis
Elasticsearch
Elasticsearch
OpenSearch
OpenSearch
Supabase
Supabase
Cassandra
Cassandra
DuckDB
DuckDB
ClickHouse
ClickHouse
Marqo
Marqo
Typesense
Typesense
Vespa
Vespa
Zilliz
Zilliz

📂 Data Loaders

File Formats

PDF
PDF
Word
Word (DOCX)
Excel
Excel (XLSX)
PowerPoint
PowerPoint
HTML
HTML / XML
Markdown
Markdown
LaTeX
LaTeX
YAML
YAML / JSON
Parquet
Parquet
Audio
Audio (Whisper)
Video
Video
RSS
RSS / Sitemap
Git Repo
Git Repo

Cloud Storage

AWS S3
AWS S3
Google Drive
Google Drive
Azure Blob
Azure Blob
OneDrive
OneDrive
Dropbox
Dropbox
GCS
Google Cloud

Databases

PostgreSQL
PostgreSQL
MySQL
MySQL
MongoDB
MongoDB
DynamoDB
DynamoDB
Elasticsearch
Elasticsearch
Redis
Redis
BigQuery
BigQuery
Snowflake
Snowflake
SQLite
SQLite
Supabase
Supabase

APIs & Productivity

GitHub
GitHub
Jira
Jira
Confluence
Confluence
Notion
Notion
Slack
Slack
Discord
Discord
HubSpot
HubSpot
Salesforce
Salesforce
Airtable
Airtable
YouTube
YouTube
Reddit
Reddit
Wikipedia
Wikipedia
Obsidian
Obsidian
Google Sheets
Google Sheets
Firebase
Firebase
Twilio
Twilio
arXiv
arXiv
PubMed
PubMed
Email
Email (IMAP)

🔧 Agent Tools

DuckDuckGo
DuckDuckGo
Google Search
Google Search
Tavily
Tavily
Wolfram Alpha
Wolfram Alpha
Wikipedia
Wikipedia
YouTube
YouTube
arXiv
arXiv
PubMed
PubMed
Slack
Slack
Discord
Discord
GitHub
GitHub API
Jira
Jira
Notion
Notion
Linear
Linear
Stripe
Stripe
Twilio
Twilio
Google Calendar
Google Calendar
AWS Lambda
AWS Lambda
Browser
Browser (Playwright)
SQL
SQL Query
Python REPL
Python REPL
Shell
Shell

🧠 Memory & Cache Backends

SQLite
SQLite
Redis
Redis
PostgreSQL
PostgreSQL
DynamoDB
DynamoDB
Memcached
Memcached

📡 Observability

OpenTelemetry
OpenTelemetry

Install

pip

pip install synapsekit[openai]       # OpenAI
pip install synapsekit[anthropic]    # Anthropic
pip install synapsekit[ollama]       # Ollama (local)
pip install synapsekit[observe]      # Observability extras
pip install synapsekit[all]          # Everything

uv

uv add synapsekit[openai]
uv add synapsekit[all]

Poetry

poetry add synapsekit[openai]
poetry add "synapsekit[all]"

Full installation options → docs

Observability guide → docs/observability.md


Documentation

Everything you need to get started and go deep is in the docs.

🚀 Quickstart Up and running in 5 minutes
🗂 RAG Pipelines, loaders, retrieval, vector stores
🤖 Agents ReAct, function calling, tools, executor
🔀 Graph Workflows DAG pipelines, conditional routing, parallel execution
🧠 LLM Providers All 34 providers with examples
🧪 EvalCI LLM quality gates on every PR — GitHub Action
📖 API Reference Full class and method reference

Development

git clone https://github.com/SynapseKit/SynapseKit
cd SynapseKit
uv sync --group dev
uv run pytest tests/ -q

Contributing

Contributions are welcome — bug reports, documentation fixes, new providers, new features.

Read CONTRIBUTING.md to get started. Look for issues tagged good first issue if you're new.


Community


Contributors

Nautiverse
Nautiverse

💻 📖 🚧
Gordienko Andrey
Gordienko Andrey

💻
Deepak singh
Deepak singh

💻
by22Jy
by22Jy

💻
Arjun Kundapur
Arjun Kundapur

💻
Harshit Gupta
Harshit Gupta

📖
Dhruv Garg
Dhruv Garg

💻
Adam Silva
Adam Silva

💻
qorex
qorex

💻
Abhay Krishna
Abhay Krishna

💻
AYUSH BHATT
AYUSH BHATT

💻
HARSH
HARSH

📖
mikemolinet
mikemolinet

💻 🐛

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

synapsekit-1.7.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

synapsekit-1.7.0-py3-none-any.whl (563.8 kB view details)

Uploaded Python 3

File details

Details for the file synapsekit-1.7.0.tar.gz.

File metadata

  • Download URL: synapsekit-1.7.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synapsekit-1.7.0.tar.gz
Algorithm Hash digest
SHA256 767e366c1c04d033b0c0148c7808c53025e030c2012df264657dfed29fea9ff6
MD5 df8bb56f6802280b446bb9b0ea1b51a7
BLAKE2b-256 7e1b31b0677540cf8f19a9e39ef28b78f80f5faf9fdd67247849fd9257dff9e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for synapsekit-1.7.0.tar.gz:

Publisher: publish.yml on SynapseKit/SynapseKit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file synapsekit-1.7.0-py3-none-any.whl.

File metadata

  • Download URL: synapsekit-1.7.0-py3-none-any.whl
  • Upload date:
  • Size: 563.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for synapsekit-1.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8414fd4d321e371140f68f42fc75b12e01ad0ade00ea4dc6542c2f9040ff6f58
MD5 cdfb47cb633a86aea35ea43d2265b2fd
BLAKE2b-256 a31a3fd60ce6dea96c65f675ab57d38b125d19653b9d92091e61bbc23089c610

See more details on using hashes here.

Provenance

The following attestation bundles were made for synapsekit-1.7.0-py3-none-any.whl:

Publisher: publish.yml on SynapseKit/SynapseKit

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page