{"adoption": {"forks": 272, "observed_at": "2026-08-28T04:06:37.695571+00:00", "stars": 2330}, "canonical_url": "https://ross.abutalabs.com/products/langserve", "card": {"archived": true, "artifact_type": "library", "description": "LangServe 🦜️🏓", "domain": ["large-language-models", "artificial-intelligence", "apis", "backend", "web-development", "developer-tools"], "enriched": true, "function": ["deployment", "api-framework", "http-server", "sdk", "llm-inference"], "health_score": 10, "homepage": null, "language": "JavaScript", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["langchain-ai/langserve"], "name": "langchain-ai/langserve", "platform": ["python"], "pushed_at": "2026-05-05T19:49:07+00:00", "repo": "langchain-ai/langserve", "stars": 2330, "tags": ["langchain", "fastapi", "pydantic", "rest-api", "streaming", "playground", "langsmith-tracing", "runnables", "deprecated", "web-server"], "topics": ["deployment", "fastapi", "langchain", "langchain-python", "llm", "llms"], "urls": [], "use_cases": ["deploy a langchain chain as a rest api", "serve an llm app with fastapi endpoints", "expose a langchain runnable over http", "stream llm responses and intermediate steps to a frontend", "test langchain chains in an interactive playground", "call a deployed langchain server from javascript"], "what_it_is": "LangServe is a Python library that deploys LangChain runnables and chains as REST APIs built on FastAPI, with automatic input/output schema validation, invoke/batch/stream endpoints, and a built-in playground UI. It also ships a client SDK (with a JavaScript client in LangChain.js) for calling remote runnables as if they were local, though the project is deprecated in favor of LangGraph Platform.", "when_to_avoid": ["starting a new project, since LangServe is deprecated in favor of LangGraph Platform", "deploying LangGraph graphs or agents, which it is not designed for", "you need new features or long-term official support, as only community bug fixes are accepted"], "when_to_choose": ["you are maintaining an existing LangServe-based deployment and need community bug fixes", "you need to quickly expose simple LangChain runnables as invoke/batch/stream REST endpoints with automatic schemas", "you want a built-in playground and optional LangSmith tracing for a FastAPI-served chain"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/langserve", "repo": "langchain-ai/langserve", "role": "main", "score": 10}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:37.695571+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:38:06.261971+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e5d35a1547d0e0ee6fef1f9031c4e7308c7e38100870f3206ca82c8baf90ff22", "fetched_at": "2026-08-28T04:06:37.695571+00:00", "kind": "readme", "missing": false, "url": "https://github.com/langchain-ai/langserve"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 80, "longevity": 76, "rhythm": 52}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["archived", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1069, "days_push": 120, "days_rel": 320, "gap_med": 29, "n_releases_24m": 6}, "score": 10, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}