{"adoption": {"forks": 216, "observed_at": "2026-08-28T04:03:21.727360+00:00", "stars": 1046}, "canonical_url": "https://ross.abutalabs.com/products/gmqtt", "card": {"archived": false, "artifact_type": "service", "description": "Gmqtt is a flexible, high-performance MQTT broker library that fully implements the MQTT protocol V3.x and V5 in golang", "domain": ["iot", "backend", "developer-tools"], "enriched": true, "function": ["message-queue", "middleware", "monitoring", "auth", "websocket", "rpc"], "health_score": 65, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["DrmagicE/gmqtt"], "name": "DrmagicE/gmqtt", "platform": ["go", "self-hosted", "cross-platform"], "pushed_at": "2026-04-05T06:04:08+00:00", "repo": "DrmagicE/gmqtt", "stars": 1046, "tags": ["mqtt-broker", "mqtt-v5", "iot-messaging", "pub-sub", "session-persistence", "plugin-system", "prometheus-metrics", "grpc-api", "messaging", "linux", "docker"], "topics": ["mqtt", "mqtt-broker", "mqtt-protocol", "mqtt-server", "server", "gmqtt", "golang"], "urls": [], "use_cases": ["run a self-hosted MQTT broker in Go", "handle IoT device telemetry over MQTT", "build a customizable MQTT broker with auth and ACL hooks", "monitor MQTT broker metrics with Prometheus", "persist MQTT sessions across broker restarts with Redis", "manage an MQTT broker via gRPC or REST APIs"], "what_it_is": "Gmqtt is a flexible, high-performance MQTT broker written in Go that fully implements MQTT protocol V3.x and V5. It offers a plugin mechanism, hooks for authentication/ACL, TLS and WebSocket support, Prometheus metrics, gRPC/REST admin APIs, Redis-backed session persistence, and an experimental clustering (federation) feature.", "when_to_avoid": ["the project is less maintained and the author recommends careful evaluation before production use", "you need production-proven clustering - the federation feature is experimental and never used in production", "you prefer a turnkey broker with minimal configuration", "you need persistence backends other than Redis"], "when_to_choose": ["you need an embeddable or extensible MQTT broker in Go", "you want MQTT 3.x and 5 support with plugin-based customization", "you need WebSocket and TLS transport for MQTT clients", "you want built-in Prometheus metrics and admin APIs"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gmqtt", "repo": "DrmagicE/gmqtt", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "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:03:21.727360+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:21.727360+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:01:54.334210+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e30250241a51cfd99ef135276de7f82980eac3ed843b90f34ec1618f5431005", "fetched_at": "2026-08-28T04:03:21.727360+00:00", "kind": "readme", "missing": false, "url": "https://github.com/DrmagicE/gmqtt"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 75, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2908, "days_push": 150, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}