{"adoption": {"forks": 606, "observed_at": "2026-08-28T04:03:57.889083+00:00", "stars": 1199}, "canonical_url": "https://ross.abutalabs.com/products/jasmin", "card": {"archived": false, "artifact_type": "service", "description": "Jasmin - Open source SMS gateway", "domain": ["backend", "self-hosted"], "enriched": true, "function": ["message-queue", "http-server", "cli", "middleware"], "health_score": 71, "homepage": "http://jasminsms.com", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["jookies/jasmin"], "name": "jookies/jasmin", "platform": ["python", "self-hosted", "cross-platform"], "pushed_at": "2026-04-26T10:28:48+00:00", "repo": "jookies/jasmin", "stars": 1199, "tags": ["sms-gateway", "smpp", "sms", "amqp", "redis", "twisted", "celery", "dlr", "messaging-gateway", "messaging", "telecommunications", "linux", "docker"], "topics": ["python", "sms", "sms-gateway", "smpp", "smpp-server", "smpp-client", "twisted", "celery"], "urls": [], "use_cases": ["send SMS messages from my application via an API", "run my own SMPP server or client", "set up an SMS gateway with delivery reports", "route SMS messages with failover and round-robin strategies", "send bulk SMS with queuing and store-and-forward", "send unicode or concatenated long SMS", "send binary SMS like WAP push and vCards", "self-host an SMS gateway with billing and rate control"], "what_it_is": "Jasmin is an open-source SMS gateway written in Python on top of the Twisted event-driven networking engine. It supports SMPP client/server and HTTP APIs for sending SMS, with AMQP-based queuing, Redis-backed delivery receipt tracking and billing, and advanced message routing.", "when_to_avoid": ["you only need to send a few SMS through a hosted provider API like Twilio without running infrastructure", "you need a simple library to embed SMS sending in an app rather than a standalone gateway service", "you require a non-Python stack or a managed cloud SMS service"], "when_to_choose": ["you need a self-hosted, enterprise-grade SMS gateway with SMPP and HTTP interfaces", "you need high-throughput SMS sending with AMQP-based queuing and store-and-forward", "you need advanced routing such as failover, round-robin, or least-cost routing", "you need DLR tracking and billing built into the gateway"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jasmin", "repo": "jookies/jasmin", "role": "main", "score": 58}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "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:57.889083+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.889083+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:20:53.726928+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "5116b8791d0b0e0d1f3eee97730efa27fcac1dff8a120b35b2f4da4a11471e9e", "fetched_at": "2026-08-28T04:03:57.889083+00:00", "kind": "readme", "missing": false, "url": "https://github.com/jookies/jasmin"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 79, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5031, "days_push": 129, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 58, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}