{"adoption": {"forks": 212, "observed_at": "2026-08-28T04:04:44.095126+00:00", "stars": 1439}, "canonical_url": "https://ross.abutalabs.com/products/fawney19-aether", "card": {"archived": false, "artifact_type": "service", "description": null, "domain": ["large-language-models", "apis", "self-hosted", "developer-tools", "artificial-intelligence"], "enriched": true, "function": ["api-gateway", "proxy", "llm-inference", "load-testing", "monitoring", "auth", "self-hosted"], "health_score": 100, "homepage": "https://fawney19.github.io/Aether/", "language": "Rust", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["fawney19/Aether"], "name": "fawney19/Aether", "platform": ["self-hosted", "rust"], "pushed_at": "2026-08-25T17:13:53+00:00", "repo": "fawney19/Aether", "stars": 1439, "tags": ["llm-gateway", "multi-tenant", "api-proxy", "rate-limiting", "cost-quota", "claude", "openai", "gemini", "reverse-proxy", "docker", "linux", "web-server"], "topics": [], "urls": [], "use_cases": ["unify claude openai gemini behind one api endpoint", "self-hosted llm api gateway with load balancing", "manage api keys and cost quotas for a team using ai services", "proxy claude code and other ai cli tools through a gateway", "convert between openai and anthropic api formats", "monitor health and usage of multiple llm providers"], "what_it_is": "Aether is a self-hosted AI API gateway written in Rust that provides a unified entry point for Claude, OpenAI, Gemini, and their CLI clients, with format conversion and forward/reverse proxying. It offers multi-tenant management, intelligent load balancing, cost quota control, and health monitoring, deployable via Docker Compose.", "when_to_avoid": ["you only use a single LLM provider directly with no need for proxying or quotas", "you want a fully managed cloud service rather than self-hosting with Docker", "you need a lightweight client-side SDK rather than a server-side gateway"], "when_to_choose": ["you need a single unified API entry point for multiple LLM providers", "you want multi-tenant key management, quotas, and usage monitoring for a team", "you route AI CLI tools (Claude Code, etc.) through a controlled proxy", "you want a self-hosted alternative to commercial LLM routers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fawney19-aether", "repo": "fawney19/Aether", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "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:04:44.095126+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.095126+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:36.145132+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "dc8e543edbd284c99da011f53706dd522dd8aed11ac0e602bbe9bfd0f537d907", "fetched_at": "2026-08-28T04:04:44.095126+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fawney19/Aether"}, {"content_hash": "ebf59467008256437201703211414c989bedb8a89c910a8b2e45f2501755a528", "fetched_at": "2026-08-29T11:46:56.736552+00:00", "kind": "homepage", "missing": false, "url": "https://fawney19.github.io/Aether/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 25, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 355, "days_push": 8, "days_rel": 15, "gap_med": 0, "n_releases_24m": 90}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}