{"id":47633824,"url":"https://github.com/synapsekit/synapsekit","last_synced_at":"2026-04-07T22:01:18.408Z","repository":{"id":343815424,"uuid":"1179158792","full_name":"SynapseKit/SynapseKit","owner":"SynapseKit","description":"Ship LLM apps faster. Production-grade LLM framework for Python. Async-native RAG, agents, and graph workflows. 2 dependencies. Zero magic.","archived":false,"fork":false,"pushed_at":"2026-03-31T22:55:11.000Z","size":1527,"stargazers_count":6,"open_issues_count":108,"forks_count":12,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-02T07:58:47.682Z","etag":null,"topics":["agents","ai","anthropic","async","generative-ai","graph-workflow","langchain-alternative","llm","llm-framework","machine-learning","nlp","openai","pip-install","python","rag","rag-pipeline","retrieval-augmented-generation","streaming","synapsekit","vector-database"],"latest_commit_sha":null,"homepage":"https://synapsekit.github.io/synapsekit-docs/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SynapseKit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-11T18:43:50.000Z","updated_at":"2026-03-31T22:55:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/SynapseKit/SynapseKit","commit_stats":null,"previous_names":["synapsekit/synapsekit"],"tags_count":30,"template":false,"template_full_name":null,"purl":"pkg:github/SynapseKit/SynapseKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynapseKit%2FSynapseKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynapseKit%2FSynapseKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynapseKit%2FSynapseKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynapseKit%2FSynapseKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SynapseKit","download_url":"https://codeload.github.com/SynapseKit/SynapseKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SynapseKit%2FSynapseKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31530647,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T16:28:08.000Z","status":"ssl_error","status_checked_at":"2026-04-07T16:28:06.951Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","ai","anthropic","async","generative-ai","graph-workflow","langchain-alternative","llm","llm-framework","machine-learning","nlp","openai","pip-install","python","rag","rag-pipeline","retrieval-augmented-generation","streaming","synapsekit","vector-database"],"created_at":"2026-04-01T23:57:09.941Z","updated_at":"2026-04-07T22:01:18.402Z","avatar_url":"https://github.com/SynapseKit.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/SynapseKit/SynapseKit/main/assets/banner.svg\" alt=\"SynapseKit\" width=\"100%\"/\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![PyPI version](https://img.shields.io/pypi/v/synapsekit?color=22c55e\u0026label=pypi\u0026logo=pypi\u0026logoColor=white)](https://pypi.org/project/synapsekit/)\n[![Python](https://img.shields.io/badge/python-3.10%2B-22c55e?logo=python\u0026logoColor=white)](https://www.python.org/)\n[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-22c55e)](LICENSE)\n[![Tests](https://img.shields.io/badge/tests-1500%20passing-22c55e?logo=pytest\u0026logoColor=white)]()\n[![Downloads](https://img.shields.io/pypi/dm/synapsekit?color=22c55e\u0026logo=pypi\u0026logoColor=white)](https://pypistats.org/packages/synapsekit)\n[![PyPI Downloads](https://static.pepy.tech/personalized-badge/synapsekit?period=total\u0026units=INTERNATIONAL_SYSTEM\u0026left_color=BLACK\u0026right_color=GREEN\u0026left_text=downloads)](https://pepy.tech/projects/synapsekit)\n[![Docs](https://img.shields.io/badge/docs-online-22c55e?logo=readthedocs\u0026logoColor=white)](https://synapsekit.github.io/synapsekit-docs/)\n[![Discord](https://img.shields.io/discord/1489713020098842794?color=22c55e\u0026label=discord\u0026logo=discord\u0026logoColor=white)](https://discord.gg/unn4cXXH)\n\n**[Documentation](https://synapsekit.github.io/synapsekit-docs/) · [Quickstart](https://synapsekit.github.io/synapsekit-docs/docs/getting-started/quickstart) · [API Reference](https://synapsekit.github.io/synapsekit-docs/docs/api/llm) · [Changelog](CHANGELOG.md) · [Discord](https://discord.gg/unn4cXXH) · [Report a Bug](https://github.com/SynapseKit/SynapseKit/issues/new?template=bug_report.yml)**\n\n\u003c/div\u003e\n\n---\n\nSynapseKit is an async-native Python framework for building LLM applications — RAG pipelines, tool-using agents, and graph workflows. Streaming-first, transparent API, 2 hard deps. 30 providers · 46 tools · 29 loaders · 9 vector stores. Every abstraction is composable and replaceable: plain Python you can read, debug, and extend. No magic. No hidden chains. No lock-in.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e⚡ Async-native\u003c/h3\u003e\nEvery API is \u003ccode\u003easync/await\u003c/code\u003e first.\u003cbr/\u003eSync wrappers for scripts and notebooks.\u003cbr/\u003eNo event loop surprises.\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e🌊 Streaming-first\u003c/h3\u003e\nToken-level streaming is the default,\u003cbr/\u003enot an afterthought.\u003cbr/\u003eWorks across all providers.\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e🪶 Minimal footprint\u003c/h3\u003e\n2 hard dependencies: \u003ccode\u003enumpy\u003c/code\u003e + \u003ccode\u003erank-bm25\u003c/code\u003e.\u003cbr/\u003eEverything else is optional.\u003cbr/\u003eInstall only what you use.\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e🔌 One interface\u003c/h3\u003e\n30 LLM providers and 9 vector stores\u003cbr/\u003ebehind the same API.\u003cbr/\u003eSwap without rewriting.\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e🧩 Composable\u003c/h3\u003e\nRAG pipelines, agents, and graph nodes\u003cbr/\u003eare interchangeable.\u003cbr/\u003eWrap anything as anything.\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"33%\"\u003e\n\u003ch3\u003e🔍 Transparent\u003c/h3\u003e\nNo hidden chains.\u003cbr/\u003eEvery step is plain Python\u003cbr/\u003eyou can read and override.\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## Who is it for?\n\nSynapseKit is for Python developers who want to ship LLM features without fighting their framework.\n\n- **Backend engineers** adding AI features to existing Python services\n- **ML engineers** building RAG or agent pipelines who need full control over retrieval, prompting, and tool use\n- **Researchers and hackers** who want a clean, readable codebase they can understand and extend\n- **Teams** who need something they can actually debug and maintain in production\n\n---\n\n## What it covers\n\n\u003cdiv align=\"center\"\u003e\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🗂 RAG Pipelines**\u003cbr/\u003e\nRetrieval-augmented generation with streaming, BM25 reranking, conversation memory, and token tracing. Load from PDFs, URLs, CSVs, HTML, directories, and more.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🤖 Agents**\u003cbr/\u003e\nReAct loop (any LLM) and native function calling (OpenAI / Anthropic / Gemini / Mistral). 43 built-in tools including calculator, Python REPL, web search, SQL, HTTP, shell, Twilio, arxiv, pubmed, wolfram, wikipedia, and more. Fully extensible.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🔀 Graph Workflows**\u003cbr/\u003e\nDAG-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.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🧠 LLM Providers**\u003cbr/\u003e\nOpenAI, 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, Minimax, Aleph Alpha, Hugging Face, SambaNova — all behind one interface. Auto-detected from the model name. Swap without rewriting.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🗄 Vector Stores**\u003cbr/\u003e\nInMemory (built-in, `.npz` persistence), ChromaDB, FAISS, Qdrant, Pinecone, Weaviate, PGVector, Milvus, LanceDB. One interface for all 9 backends.\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🔧 Utilities**\u003cbr/\u003e\nOutput parsers (JSON, Pydantic, List), prompt templates (standard, chat, few-shot), token tracing with cost estimation.\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c/div\u003e\n\n---\n\n## Install\n\n**pip**\n```bash\npip install synapsekit[openai]       # OpenAI\npip install synapsekit[anthropic]    # Anthropic\npip install synapsekit[ollama]       # Ollama (local)\npip install synapsekit[all]          # Everything\n```\n\n**uv**\n```bash\nuv add synapsekit[openai]\nuv add synapsekit[all]\n```\n\n**Poetry**\n```bash\npoetry add synapsekit[openai]\npoetry add \"synapsekit[all]\"\n```\n\nFull installation options → [docs](https://synapsekit.github.io/synapsekit-docs/docs/getting-started/installation)\n\n---\n\n## Documentation\n\nEverything you need to get started and go deep is in the docs.\n\n| | |\n|---|---|\n| 🚀 [Quickstart](https://synapsekit.github.io/synapsekit-docs/docs/getting-started/quickstart) | Up and running in 5 minutes |\n| 🗂 [RAG](https://synapsekit.github.io/synapsekit-docs/docs/rag/pipeline) | Pipelines, loaders, retrieval, vector stores |\n| 🤖 [Agents](https://synapsekit.github.io/synapsekit-docs/docs/agents/overview) | ReAct, function calling, tools, executor |\n| 🔀 [Graph Workflows](https://synapsekit.github.io/synapsekit-docs/docs/graph/overview) | DAG pipelines, conditional routing, parallel execution |\n| 🧠 [LLM Providers](https://synapsekit.github.io/synapsekit-docs/docs/llms/overview) | All 30 providers with examples |\n| 📖 [API Reference](https://synapsekit.github.io/synapsekit-docs/docs/api/llm) | Full class and method reference |\n\n---\n\n## Development\n\n```bash\ngit clone https://github.com/SynapseKit/SynapseKit\ncd SynapseKit\nuv sync --group dev\nuv run pytest tests/ -q\n```\n\n---\n\n## Contributing\n\nContributions are welcome — bug reports, documentation fixes, new providers, new features.\n\nRead [CONTRIBUTING.md](CONTRIBUTING.md) to get started. Look for issues tagged [`good first issue`](https://github.com/SynapseKit/SynapseKit/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) if you're new.\n\n---\n\n## Community\n\n- 💬 [Discussions](https://github.com/SynapseKit/SynapseKit/discussions) — ask questions, share ideas\n- 🧭 [Discord roles draft](DISCORD_ROLES.md) — proposed roles and permissions for issue #389\n- 🧭 [Discord release webhook draft](DISCORD_RELEASE_WEBHOOKS.md) — automate release announcements for issue #390\n- 🐛 [Bug reports](https://github.com/SynapseKit/SynapseKit/issues/new?template=bug_report.yml)\n- 💡 [Feature requests](https://github.com/SynapseKit/SynapseKit/issues/new?template=feature_request.yml)\n- 🔒 [Security policy](SECURITY.md)\n\n---\n\n## Contributors\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/AmitoVrito\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/34062684?v=4\" width=\"100px;\" alt=\"Nautiverse\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eNautiverse\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=AmitoVrito\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=AmitoVrito\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"#maintenance-AmitoVrito\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gordienkoas\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/127838071?v=4\" width=\"100px;\" alt=\"Gordienko Andrey\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGordienko Andrey\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=gordienkoas\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Deepak8858\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/88921480?v=4\" width=\"100px;\" alt=\"Deepak singh\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDeepak singh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=Deepak8858\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/by22Jy\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/122969909?v=4\" width=\"100px;\" alt=\"by22Jy\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eby22Jy\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=by22Jy\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Arjunkundapur\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64265396?v=4\" width=\"100px;\" alt=\"Arjun Kundapur\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eArjun Kundapur\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=Arjunkundapur\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/Ashusf90\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/153393197?v=4\" width=\"100px;\" alt=\"Harshit Gupta\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eHarshit Gupta\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/synapsekit-docs/pull/34\" title=\"Documentation\"\u003e📖\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/DhruvGarg111\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/136477030?v=4\" width=\"100px;\" alt=\"Dhruv Garg\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eDhruv Garg\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=DhruvGarg111\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/adaumsilva\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/178027480?v=4\" width=\"100px;\" alt=\"Adam Silva\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAdam Silva\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=adaumsilva\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/qorexdev\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/248982649?v=4\" width=\"100px;\" alt=\"qorex\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eqorex\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/SynapseKit/SynapseKit/commits?author=qorexdev\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\n---\n\n## License\n\n[Apache 2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynapsekit%2Fsynapsekit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsynapsekit%2Fsynapsekit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsynapsekit%2Fsynapsekit/lists"}