{"adoption": {"forks": 530, "observed_at": "2026-08-28T04:08:57.833278+00:00", "stars": 4743}, "canonical_url": "https://ross.abutalabs.com/products/stream-framework", "card": {"archived": false, "artifact_type": "library", "description": "Stream Framework is a Python library, which allows you to build news feed, activity streams and notification systems using Cassandra and/or Redis. The authors of Stream-Framework also provide a cloud service for feed technology:", "domain": ["backend", "web-development", "databases", "social-media"], "enriched": true, "function": ["caching", "database-driver"], "health_score": 53, "homepage": "https://getstream.io/", "language": "Python", "license": "NOASSERTION", "license_family": "other", "maturity": "maintenance", "member_repos": ["tschellenbach/Stream-Framework"], "name": "tschellenbach/Stream-Framework", "platform": ["python", "cross-platform"], "pushed_at": "2025-12-04T21:26:10+00:00", "repo": "tschellenbach/Stream-Framework", "stars": 4743, "tags": ["activity-streams", "news-feed", "cassandra", "redis", "feed-aggregation", "notifications"], "topics": ["activity-stream", "cassandra", "feed", "news", "news-feed", "big-data", "redis", "activity-feed"], "urls": [], "use_cases": ["build a twitter-style newsfeed in python", "implement an activity stream like github's", "create a notification system backed by redis", "build an instagram or pinterest style feed", "store and fan out user activity feeds with cassandra", "add a social feed to a django or python web app"], "what_it_is": "Stream Framework is a Python library for building scalable activity streams, news feeds, and notification systems on top of Cassandra and/or Redis. It handles feed storage, fan-out, and caching structures so applications can implement Twitter-, Instagram-, or Facebook-style feeds.", "when_to_avoid": ["you prefer a managed REST API for feeds (consider the authors' hosted Stream service)", "your stack is not Python", "you need chat, video, or moderation features - this library only covers feeds", "you want a small-scale feed that a simple database query could handle"], "when_to_choose": ["you need self-hosted feed infrastructure using Cassandra or Redis", "you want a proven fan-out architecture for newsfeeds in Python", "you need activity streams or notification feeds without paying for a hosted feed API"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/stream-framework", "repo": "tschellenbach/Stream-Framework", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "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:08:57.833278+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:08:57.833278+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:57.225910+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "d297e17fc83532705d23d67369b8a23a6cd452a301dbeafe0c0e09682da7c2e5", "fetched_at": "2026-08-28T04:08:57.833278+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tschellenbach/Stream-Framework"}, {"content_hash": "fa55509edee54ede7c184b7963c3a1612469aaf2feaff41130bde8514762ec41", "fetched_at": "2026-08-29T09:02:38.898062+00:00", "kind": "homepage", "missing": false, "url": "https://getstream.io/"}, {"content_hash": "cb847dcbe3cf435b209ea878ec098f130bdfcd0fb9c597b7ad50fd03aabb2c3d", "fetched_at": "2026-08-29T09:02:38.900715+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/docs"}, {"content_hash": "fac7d33398ce802bd25e58a48a5dc092f4db8ec13da8d5ace35bc0276007919e", "fetched_at": "2026-08-29T09:02:38.902374+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/docs"}, {"content_hash": "944f379d3874535cf5a4636dbd2069ceb6640e5ee7414a19986aabdc7cdccf4e", "fetched_at": "2026-08-29T09:02:38.904011+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/video/docs"}, {"content_hash": "774122e010c054e1dbd605de501a8e57fbb2f334705f48cbe2927070750602bc", "fetched_at": "2026-08-29T09:02:38.905508+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/activity-feeds/docs"}, {"content_hash": "ba08a14d1ace9c873e4d4870576c9542b1159c35c721ce898b628185aaf7aacc", "fetched_at": "2026-08-29T09:02:38.907081+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/moderation/docs"}, {"content_hash": "65a3c301c81cafe4bb67f3ac9646e2ec476e9c439199fba115a7adb63f93b2ac", "fetched_at": "2026-08-29T09:02:38.914254+00:00", "kind": "registry_pypi", "missing": false, "url": "https://pypi.org/pypi/stream-framework/json"}, {"content_hash": "02b85b42b71ce41eb59d0b1144a1475554a4c9df24386576270a2cde3efe184b", "fetched_at": "2026-08-29T09:02:38.908918+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/team"}, {"content_hash": "405b6c89868abe159170e4019fcdd02dad068295411c49a3383a4e73c950dc3a", "fetched_at": "2026-08-29T09:02:38.910530+00:00", "kind": "site_page", "missing": false, "url": "https://getstream.io/chat/pricing"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 55, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5138, "days_push": 272, "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}}