{"adoption": {"forks": 143, "observed_at": "2026-08-28T04:07:48.274952+00:00", "stars": 3194}, "canonical_url": "https://ross.abutalabs.com/products/jailer", "card": {"archived": false, "artifact_type": "application", "description": "Database Subsetting and Relational Data Browsing Tool.", "domain": ["databases", "developer-tools", "testing"], "enriched": true, "function": ["database", "etl", "data-generation", "testing", "gui", "cli"], "health_score": 100, "homepage": "https://wisser.github.io/Jailer", "language": "Java", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["Wisser/Jailer"], "name": "Wisser/Jailer", "platform": ["jvm", "cross-platform", "cli"], "pushed_at": "2026-08-26T17:14:29+00:00", "repo": "Wisser/Jailer", "stars": 3194, "tags": ["database-subsetting", "jdbc", "data-browsing", "test-data", "sql-export", "dbunit", "referential-integrity", "data-archiving", "ai-assistant", "data-engineering", "desktop"], "topics": ["database", "subsetting", "frontend", "export", "extract", "sql", "jdbc", "testing", "java", "subsetter", "db2", "gui", "jailer", "mssql", "mysql", "oracle", "postgresql", "redshift", "sqlserver"], "urls": [], "use_cases": ["create small consistent test data subsets from a production database", "export referentially intact database slices as SQL or DbUnit datasets", "browse database tables by following foreign key relationships", "archive obsolete data without violating referential integrity", "generate SQL from natural language questions", "analyze and refactor existing SQL queries with AI assistance", "analyze a production bug locally with relevant data"], "what_it_is": "Jailer is a Java-based tool for database subsetting and relational data browsing. It extracts small, referentially intact slices of production databases for testing and analysis, and provides a GUI data browser plus SQL console with AI-assisted query features.", "when_to_avoid": ["you need a lightweight scriptable-only ETL pipeline without a GUI", "your database has no JDBC driver", "you need real-time data replication or synchronization rather than one-off subsetting"], "when_to_choose": ["you need small, referentially intact database samples for development or testing", "you work with JDBC-supported databases like PostgreSQL, Oracle, MySQL, or SQL Server", "you want to visually navigate relationships between database tables", "you need to export data as topologically sorted SQL, JSON, YAML, XML, or DbUnit"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/jailer", "repo": "Wisser/Jailer", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "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:07:48.274952+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:48.274952+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:24:54.218480+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8cd98a4e1a32007fa6e9c87757767d824fa0775f27537322cd3df6a243a2bb42", "fetched_at": "2026-08-28T04:07:48.274952+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Wisser/Jailer"}, {"content_hash": "6e6dcff1756d21e5462e794a0f52d0c10fddf4332d0e9e5494a934d4eb73540a", "fetched_at": "2026-08-29T09:38:36.223069+00:00", "kind": "homepage", "missing": false, "url": "https://wisser.github.io/Jailer"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "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": 5553, "days_push": 7, "days_rel": 14, "gap_med": 16, "n_releases_24m": 32}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}