{"adoption": {"forks": 238, "observed_at": "2026-09-01T02:13:58.466435+00:00", "stars": 1165}, "canonical_url": "https://ross.abutalabs.com/products/aegra", "card": {"archived": false, "artifact_type": "service", "description": "Open source alternative to LangGraph Platform (now LangSmith Deployments) - Self-hosted AI agent backend with FastAPI and PostgreSQL. Zero vendor lock-in, full control over your agent infrastructure.", "domain": ["large-language-models", "self-hosted", "backend", "developer-tools"], "enriched": true, "function": ["http-server", "api-framework", "agent-framework", "llm-inference", "auth", "streaming", "chatbot"], "health_score": 100, "homepage": "https://aegra.dev", "language": "Python", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["aegra/aegra"], "name": "aegra/aegra", "platform": ["python", "self-hosted", "cli"], "pushed_at": "2026-08-31T09:39:26+00:00", "repo": "aegra/aegra", "stars": 1165, "tags": ["langgraph-platform-alternative", "agent-protocol", "fastapi", "postgresql-persistence", "langgraph-sdk-compatible", "drop-in-replacement", "human-in-the-loop", "sse-streaming", "ai-agents", "docker", "web-server"], "topics": ["fastapi", "langchain", "langggraph", "langgraph-agents", "postgres", "python", "langgraph-platform-alternative", "opensource-langgraph-platform"], "urls": [], "use_cases": ["self-host langgraph agents without vendor lock-in", "replace langsmith deployments with own infrastructure", "run ai agent backend with postgres persistence", "deploy agents with custom jwt or oauth authentication", "keep agent conversation data on own servers for data sovereignty", "stream agent responses over sse with human-in-the-loop resume", "use langgraph sdk against my own server"], "what_it_is": "Aegra is an open-source, self-hosted backend server for running LangGraph AI agents, serving as a drop-in replacement for LangSmith Deployments (LangGraph Platform). Built with FastAPI and PostgreSQL, it implements the Agent Protocol specification so existing LangGraph SDK clients, Agent Chat UI, LangGraph Studio, and CopilotKit work without code changes.", "when_to_avoid": ["you prefer a fully managed deployment with zero infrastructure to operate", "your agents are not built with LangGraph or the Agent Protocol", "you need LangSmith's proprietary tracing and evaluation features", "you cannot run Docker or PostgreSQL in your environment"], "when_to_choose": ["you want LangGraph Platform features but need data residency or cost control", "you need custom authentication like JWT, OAuth, or Firebase handlers", "you want to bring your own PostgreSQL and tracing backend (Langfuse, Phoenix, OTLP)", "you already have LangGraph SDK-based client code and want a drop-in server"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/aegra", "repo": "aegra/aegra", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-01T02:13:58.466435+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:32:06.955929+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "7d02b9a079caa3675ac65d86c5b435259d655424ff8fc4ef27cb2ec73631fc9b", "fetched_at": "2026-09-01T02:13:58.466435+00:00", "kind": "readme", "missing": false, "url": "https://github.com/aegra/aegra"}, {"content_hash": "9d2a3e6fe05cf1be46b8e6620fed7999f292d04d622ccbc0048d1b41d5f6c1dc", "fetched_at": "2026-08-29T12:37:12.889580+00:00", "kind": "homepage", "missing": false, "url": "https://aegra.dev"}, {"content_hash": "3ff2b415024b0f49f089471cd1fbd1c9ea3ffebba1e9d6a62ab8eec964140bef", "fetched_at": "2026-08-29T12:37:12.898331+00:00", "kind": "site_page", "missing": false, "url": "https://docs.aegra.dev"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 29, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 409, "days_push": 2, "days_rel": 11, "gap_med": 2, "n_releases_24m": 56}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 5, "stale_scrape": false}}