{"adoption": {"forks": 593, "observed_at": "2026-08-28T04:09:01.348402+00:00", "stars": 4847}, "canonical_url": "https://ross.abutalabs.com/products/dbflow", "card": {"archived": false, "artifact_type": "library", "description": "A blazing fast, powerful, and very simple ORM android database library that writes database code for you.", "domain": ["databases", "mobile-development", "developer-tools"], "enriched": true, "function": ["orm", "database", "database-driver"], "health_score": 79, "homepage": null, "language": "Kotlin", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["agrosner/DBFlow"], "name": "agrosner/DBFlow", "platform": ["jvm"], "pushed_at": "2026-08-23T22:43:01+00:00", "repo": "agrosner/DBFlow", "stars": 4847, "tags": ["sqlite", "kotlin-multiplatform", "compiler-plugin", "query-dsl", "coroutines", "sqlcipher", "code-generation", "android", "ios", "macos"], "topics": [], "urls": [], "use_cases": ["persist kotlin data classes to sqlite with annotations", "write type-safe sqlite queries with a dsl instead of raw sql", "share database code across android and ios with kotlin multiplatform", "observe database changes reactively with flows or livedata", "encrypt local sqlite databases on android", "run transactions and migrations for an android app database"], "what_it_is": "DBFlow is a Kotlin Multiplatform ORM for SQLite that uses annotations and a compiler plugin to generate database adapters and a typed query DSL. It targets Android, JVM, iOS, and macOS, with built-in coroutine support and optional encryption via SQLCipher.", "when_to_avoid": ["you need a non-sqlite database like postgres or mysql", "you want a stable release - the current version is an alpha", "you prefer a lightweight sql builder without code generation", "your project does not use kotlin"], "when_to_choose": ["you want a fast annotation-based sqlite orm for android or kotlin multiplatform", "you prefer generated code and a typed query dsl over writing raw sql", "you need coroutine-based async database access with reactive observers", "you need encrypted local storage via sqlcipher"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dbflow", "repo": "agrosner/DBFlow", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "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:09:01.348402+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:01.348402+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T18:18:26.198122+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "65ff660c918ceb3e11f67564eb98fa5dea56def5167de14691a50a6720331362", "fetched_at": "2026-08-28T04:09:01.348402+00:00", "kind": "readme", "missing": false, "url": "https://github.com/agrosner/DBFlow"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "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": 4368, "days_push": 10, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}