JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [
"synthetic-data",
"agents",
"llm",
"prompt",
"python",
"synthetic-dataset-generation",
"deep-learning",
"fine-tuning",
"instruction-tuning",
"machine-learning",
"natural-language-processing"
],
"is_fork": false,
"size_kb": 67439,
"has_wiki": true,
"homepage": "https://docs.bespokelabs.ai/bespoke-curator",
"languages": {
"Shell": 117,
"Python": 841964,
"Makefile": 914,
"JavaScript": 1315
},
"pushed_at": "2026-07-22T14:53:26Z",
"created_at": "2024-10-28T01:11:41Z",
"owner_type": "Organization",
"updated_at": "2026-07-24T18:48:46Z",
"description": "Synthetic data curation for post-training and structured data extraction",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": "bespokelabs.ai",
"name": "Bespoke Labs",
"type": "Organization",
"login": "bespokelabsai",
"company": null,
"location": "United States of America",
"followers": 128,
"avatar_url": "https://avatars.githubusercontent.com/u/167806754?v=4",
"created_at": "2024-04-22T18:08:06Z",
"is_verified": null,
"public_repos": 17,
"account_age_days": 825
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": null,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.1.27",
"kind": "patch",
"published_at": "2026-03-15T17:57:15Z"
},
{
"tag": "v0.1.26",
"kind": "patch",
"published_at": "2025-07-29T18:39:32Z"
},
{
"tag": "v0.1.25",
"kind": "patch",
"published_at": "2025-05-30T17:59:06Z"
},
{
"tag": "v0.1.24",
"kind": "patch",
"published_at": "2025-05-06T16:45:57Z"
},
{
"tag": "v0.1.23.post1",
"kind": "other",
"published_at": "2025-04-11T23:11:14Z"
},
{
"tag": "v0.1.23",
"kind": "patch",
"published_at": "2025-04-11T16:28:58Z"
},
{
"tag": "v0.1.22",
"kind": "patch",
"published_at": "2025-03-31T06:56:51Z"
},
{
"tag": "v0.1.21",
"kind": "patch",
"published_at": "2025-03-19T23:21:12Z"
},
{
"tag": "v0.1.20",
"kind": "patch",
"published_at": "2025-02-28T19:30:56Z"
},
{
"tag": "v0.1.19.post1",
"kind": "other",
"published_at": "2025-02-26T20:26:21Z"
},
{
"tag": "0.1.19",
"kind": "patch",
"published_at": "2025-02-17T20:23:39Z"
},
{
"tag": "v0.1.18.post4",
"kind": "other",
"published_at": "2025-02-07T06:10:50Z"
},
{
"tag": "v0.1.18",
"kind": "patch",
"published_at": "2025-02-06T00:03:36Z"
},
{
"tag": "v0.1.17.post1",
"kind": "other",
"published_at": "2025-01-30T17:02:37Z"
},
{
"tag": "v0.1.17",
"kind": "patch",
"published_at": "2025-01-28T22:54:22Z"
},
{
"tag": "v0.1.16",
"kind": "patch",
"published_at": "2025-01-21T19:33:23Z"
},
{
"tag": "v0.1.15.post1",
"kind": "other",
"published_at": "2025-01-15T16:06:49Z"
},
{
"tag": "v0.1.15",
"kind": "patch",
"published_at": "2025-01-14T22:59:51Z"
},
{
"tag": "v0.1.14",
"kind": "patch",
"published_at": "2025-01-07T02:32:10Z"
},
{
"tag": "0.1.13",
"kind": "patch",
"published_at": "2024-12-23T07:42:07Z"
},
{
"tag": "v0.1.12",
"kind": "patch",
"published_at": "2024-12-17T06:51:50Z"
},
{
"tag": "v0.1.11",
"kind": "patch",
"published_at": "2024-12-06T04:47:35Z"
},
{
"tag": "v0.1.10",
"kind": "patch",
"published_at": "2024-11-26T23:39:01Z"
},
{
"tag": "v0.1.9.post1",
"kind": "other",
"published_at": "2024-11-19T19:53:23Z"
},
{
"tag": "v0.1.9",
"kind": "patch",
"published_at": "2024-11-16T00:24:17Z"
},
{
"tag": "v0.1.8",
"kind": "patch",
"published_at": "2024-11-15T01:08:59Z"
}
],
"recent_commits": [
{
"oid": "461b4170b96690873a152e829185a920a941b960",
"body": "Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: bump 0.1.29 (#728)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-07-13T12:16:31Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "08e42e726f193772f58230db5abd326b7c1b5b45",
"body": "Adds a native `backend=\"azure\"` batch request processor, since Azure OpenAI\nwas previously only reachable via the litellm backend, which doesn't support\nbatch mode. Batch was already supported natively for OpenAI, Anthropic,\nGemini, and Mistral, but not Azure.\n\nAzure's OpenAI-compatible \"v1\" API sur\n[…]\ncrosoft's current official\ndocumentation, and the integration test is left @pytest.mark.skip()-decorated\npending a run against a real resource.\n\nCo-authored-by: Claude Sonnet 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add native Azure OpenAI batch backend (#538) (#727)",
"author_name": "EpicSRN021",
"author_login": "EpicSRN021",
"committed_at": "2026-07-13T02:00:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b346fdf5810987be4426a6785ac4a6cb44b3bf35",
"body": "… (#725)\n\naiohttp.ClientSession ignores HTTP_PROXY/HTTPS_PROXY/ALL_PROXY unless\ntrust_env=True is set explicitly, unlike requests/httpx. Since the shared\nonline request path posts directly via aiohttp rather than the anthropic\nSDK client, proxy env vars were silently ignored, causing timeouts or\ndir\n[…]\nonments.\n\nSets trust_env=True on the shared aiohttp session used by all online\nrequest processors, and adds a regression test asserting the session\ncreated by aiohttp_connector trusts the environment.",
"is_bot": false,
"headline": "fix: honor system proxy env vars for Anthropic online requests (#699)…",
"author_name": "EpicSRN021",
"author_login": "EpicSRN021",
"committed_at": "2026-07-13T01:59:27Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6d5e247cb53f1dff8e18cb12afd854e18fe8277d",
"body": "litellm 1.83.7 exact-pins its transitive deps, so this also moves openai 2.28.0->2.30.0 and aiohttp 3.13.3->3.13.5, and pins pydantic 2.12.5, click 8.1.8, jsonschema 4.23.0, importlib-metadata 8.5.0, and python-dotenv 1.0.1 (pydantic-core and typer follow to stay compatible).",
"is_bot": false,
"headline": "chore: upgrade litellm to 1.83.7 (#722)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-06-21T06:14:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e69044de34e8800622aaf496befa5725d8d0992",
"body": null,
"is_bot": false,
"headline": "Add Mistral batch finish reasons (#717)",
"author_name": "Blackdrome",
"author_login": "09Catho",
"committed_at": "2026-06-20T22:45:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e0f6a800b6747ead70226151ef9bce199bd8c17",
"body": "Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: bump 0.1.28 (#721)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-06-14T02:38:22Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "be028ec3eef41e4296dc37c4a85b52ef48a8cacd",
"body": "* Fix code execution on the local sandbox backend\n\nSince #716, CodeExecutor with the default \"local\" backend always failed:\nthe command `cd /workspace && ...` escapes the sandbox path rebasing.\nHost-style sandbox backends (local, ray) map absolute paths under a temp\n$SANDBOX_ROOT via a shell prelude\n[…]\nocker/e2b/modal/ray/... backends, mostly unexercised here) entered the\ncoverage denominator and dropped the total from 79.5% to ~72%, tripping\nthe 80% gate. Measure only curator's own package instead.",
"is_bot": false,
"headline": "Fix code execution on the local sandbox backend (#720)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-06-11T06:09:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f060e1a8e3a2f7fd5f007145ec1fa1ed31377d00",
"body": "* Add FireworksTrainer for managed fine-tuning via Fireworks AI\n\nAdds a Fireworks AI integration to the finetune module behind the same\nBaseTrainer interface as TinkerTrainer:\n\n- FireworksTrainerConfig: validated SFT hyperparameters (LoRA rank,\n epochs, learning rate) plus deployment and polling se\n[…]\ne Fable 5 <noreply@anthropic.com>\n\n* Announce Fireworks fine-tuning integration in README\n\nAdd a What's New entry and a Finetuning/Distillation examples table row\nfor the FireworksTrainer integration.",
"is_bot": false,
"headline": "Add FireworksTrainer for managed fine-tuning via Fireworks AI (#719)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-06-11T05:56:17Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8f26600e0a6b41f5fc1098ac2d4f22fe0ec95b97",
"body": "* Replace code execution backends with bespokelabs-sandbox\n\nRemove the four built-in execution backends (multiprocessing, docker, ray, e2b)\nand replace them with a single unified backend powered by bespokelabs-sandbox.\nThis delegates sandbox lifecycle, isolation, and multi-provider support to the\nsa\n[…]\n unit tests with fake sandbox for all error paths\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "Use bespokelabs-sandbox to run code in sandboxes (#716)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-28T05:18:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cb11a56c87fb1939baf60f35e9cb93a85227d1e7",
"body": null,
"is_bot": false,
"headline": "Clean up dead code (#715)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-18T03:54:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa05930bdf00f506e9880d5576462c0e63b8275f",
"body": null,
"is_bot": false,
"headline": "Fix simple_poem and use Sonnet 4.6 for multimodal testing (#714)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-17T07:17:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5af79b856f4c01de5117154f2d27a7750478223e",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Break long line to satisfy ruff E501 lint rule",
"author_name": "Maheswaran Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-16T17:40:25Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "25a7eb60cca4fa2c9c3a12edeab1e00fdb1ee32c",
"body": "external_model_cost returns None when the provider isn't in the cost map,\ncausing a TypeError when multiplying None by 1_000_000.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Handle None cost values in batch request processor set_model_cost",
"author_name": "Maheswaran Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-16T15:43:43Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "99191e679cac9d9187b07fb746e7536570be92da",
"body": "* Fix poem finetuning example and Tinker compatibility\n\n* Fix Tinker kwargs handling and poem example lint",
"is_bot": false,
"headline": "Fix poem finetuning example and Tinker compatibility (#712)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-16T05:12:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "734cf7b9299236c367163a43365c1b77d6ec885c",
"body": "Upgrade litellm (1.61.3 → 1.82.2), anthropic (0.47.2 → 0.84.0),\ninstructor (1.7.2 → 1.14.5), aiofiles (23.2.1 → 25.1.0), and other\ndependencies to their latest compatible versions. Add Tinker fine-tuning\nintegration to the What's New section in README.\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: upgrade dependencies and add Tinker to What's New (#711)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-15T17:54:18Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "c819655a89c0f28a3917ffe1d38dd16602ccf75a",
"body": "Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: bump 0.1.27",
"author_name": "Maheswaran Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-14T23:02:36Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "fd50653eb213fd1b7783fe68313270c1245733b1",
"body": "…ith curator (#710)\n\n* Code clean up\n\n* feat: add Tinker SDK integration for LoRA fine-tuning with checkpointing\n\nIntegrate the Tinker SDK to enable real LoRA fine-tuning via the Tinker\nAPI. When a TINKER_API_KEY is provided and the tinker package is installed,\ntraining runs against the Tinker servi\n[…]\nready logged by per-step logging, preventing duplicate entries\n\nCo-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add support for Tinker for finetuning after data is generated w…",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-03-14T22:56:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2b1904edd4f5381e3e8f97d06b177797e621c74b",
"body": null,
"is_bot": false,
"headline": "Code clean up (#708)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-01-24T03:36:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43bd04115756c889f4222a655075d6bdcc700fe6",
"body": "* feat: add support for Claude 4.x and 3.7 models\n\nAdd multimodal and JSON format support for new Anthropic models:\n- Claude 4.5: sonnet, haiku, opus (claude-{model}-4-5-{date})\n- Claude 4.0/4.1: sonnet, opus (claude-{model}-4-{date})\n- Claude 3.7: sonnet (claude-3-7-sonnet-{date})\n\n🤖 Generated with\n[…]\nx variants)\n\n🤖 Generated with [Claude Code](https://claude.com/claude-code)\n\nCo-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>\n\n---------\n\nCo-authored-by: Claude Opus 4.5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: add support for Claude 4.x and 3.7 models (#704)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-01-24T03:35:12Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "88cd9777396befea3cd6c2d751966b5c6daea04a",
"body": null,
"is_bot": false,
"headline": "Update README.md (#707)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2026-01-22T00:29:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70dbf3ea9dce241ebf43bc81158c5094d5076231",
"body": null,
"is_bot": false,
"headline": "Fixed LiteLLM multi-hosted_vllm request address mixture. (#701)",
"author_name": "Mehmet Yigit Turali",
"author_login": "YigitTurali",
"committed_at": "2026-01-05T07:25:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b41961db08c0c0beebeb4fa7b15cc6d032cf99d",
"body": null,
"is_bot": false,
"headline": "fix broken tests (#706)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-12-30T18:46:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ee17108290535324abbdb64b91aab0a13fdf801",
"body": null,
"is_bot": false,
"headline": "ref: add version tag in lib (#696)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-07-10T13:56:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8389f4c6ee2150f845c27211505356a5ad474a2e",
"body": "* feat: auto batch mode\n\n* update test\n\n* fix test\n\n* ref: update auto batch size algorithm\n\n* ref: update algorihtm",
"is_bot": false,
"headline": "feat: auto batch mode (#691)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-25T18:50:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a232eea348882edb16beecd4fe79e4262795165",
"body": "Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>",
"is_bot": false,
"headline": "fix: resolve Pydantic issues (#689)",
"author_name": "Emmanuel Ferdman",
"author_login": "emmanuel-ferdman",
"committed_at": "2025-06-13T11:15:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d26eb509d8817998ca8b327382040daf6361f16d",
"body": null,
"is_bot": false,
"headline": "chore: bump 0.1.26 (#686)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-06T17:36:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf559d8d368f35aaf68da4a485b485211c0623d2",
"body": "* ref: refactor agent\n\n* fix: agent resume with stopping criterion\n\n* update\n\n* update",
"is_bot": false,
"headline": "Ref agent multiturn minor (#685)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-06T03:42:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "411f5054101b5a99685a69f3ce5cf8842940ee6b",
"body": "* ref: check structured outputs support with litellm\n\n* update\n\n* update",
"is_bot": false,
"headline": "ref: check structured outputs support with litellm (#683)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-04T18:14:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "645de4015b175c49949d489dc56fd08009d93bd9",
"body": "* fix torch error\n\n* modify test\n\n* ruff",
"is_bot": false,
"headline": "fix error when torch isn't installed (#663)",
"author_name": "Shreyas Pimpalgaonkar",
"author_login": "shreyaspimpalgaonkar",
"committed_at": "2025-06-04T15:36:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "70f2e8960145a2b59053dac0da17af25762dcc8b",
"body": null,
"is_bot": false,
"headline": "feat: add stopping criteron in agent (#684)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-04T06:13:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92ab260097cf048e47c239a88cf5b08f4b605bff",
"body": "Co-authored-by: TheDude <kartik4949@gmail.com>",
"is_bot": false,
"headline": "If the model is not known, let the cost be None. (#681)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-06-03T22:45:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cd48e77aa5f0f06c64e81d51c625ad079a6adbc",
"body": "* feat: add support to download dataset from viewer\n\n* add parquest support in load daatset\n\n* update",
"is_bot": false,
"headline": "feat: add support to download dataset from viewer (#652)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-02T03:44:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4973e66378383669a9d9fdd1d4e2ef4fb24da67c",
"body": null,
"is_bot": false,
"headline": "fix: viewer url bug in curator response (#682)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-06-01T16:48:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d517c881645ad9a9805fc9c19f89e2a1ed05b24a",
"body": null,
"is_bot": false,
"headline": "chore: bump 0.1.25 (#680)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-30T16:54:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8fe4f7b8bd18bede83ee37e7b69fdde3b1df45da",
"body": "* Add o3 to list of models supporting structured outputs\n\n* Add o3 to list of models supporting structured output.",
"is_bot": false,
"headline": "Add o3 to list of models supporting structured outputs (#679)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-05-30T16:36:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05e9d7666b87cb762022e3447e27035f3d3c9ab9",
"body": null,
"is_bot": false,
"headline": "Delete HOSTED_CURATOR_VIEWER environment variable. (#674)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-05-24T02:23:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c5904fe71287d393265ea579fdf00a1238e59153",
"body": "* feat: add curator viewer in agent\n\n* endh",
"is_bot": false,
"headline": "Feat/add/curator/link/agent (#672)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-23T17:34:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e6f04b03b08a7321fbd69e96ea02fff19c1bf9e6",
"body": "* make agentic curation response format as openai\n\n* update example\n\n* update",
"is_bot": false,
"headline": "make agentic curation response format as openai (#673)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-23T06:16:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fd21a1fc3b38103afdb8c3d0b9ee7524025eda79",
"body": "* feat: add response object in agent\n\n* update test",
"is_bot": false,
"headline": "feat: add response object in agent (#671)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-23T03:23:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "86338af9d306fa8d5594ea541cb84d5ba8294694",
"body": null,
"is_bot": false,
"headline": "updated examples (#670)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-23T00:57:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd2cf6ad7546c1343d46edb663d163c31307cdab",
"body": "I prefer to \"return\" as soon as possible.\nOtherwise, it's possible that one sets _request_processor at some place, but it gets modified erroneously elsewhere before returning at the very end.",
"is_bot": false,
"headline": "Clean up _factory.py (#668)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-05-23T00:38:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "269d133a07790b5fecec5636b116ca708dc37eb2",
"body": null,
"is_bot": false,
"headline": "update agentic multi turn example (#667)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-22T21:47:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d05fc9c6da1b688d4d4b59a9d5dc99149574a9d4",
"body": "* feat: add agentic conversation curator\n\n* feat: add agentic conversation curator\n\n* feat: add conversation support in multiturn\n\n* feat: status tracker and cost\n\n* update\n\n* update\n\n* update\n\n* update example\n\n* ruff",
"is_bot": false,
"headline": "Feat/agentic/multiturn (#658)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-21T13:03:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ae417e5cab5891bb39d8c0afeb1e13aa71a3bb1",
"body": "* perf: make download batch lazy in gemini processor\n\n* ref: add support for cache dir in gemini batch gcs\n\n* perf: reduce memory footprint of batch in gemini\n\n* ref: add chunk streaming in batch mode\n\n* handle non async download returns",
"is_bot": false,
"headline": "perf: make download batch lazy in gemini processor (#654)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-20T00:59:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b54a9dc450d2ecd1a5edb06df8f5b499e3c38c3e",
"body": "Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>",
"is_bot": false,
"headline": "fix: migrate to `logger.warning` (#666)",
"author_name": "Emmanuel Ferdman",
"author_login": "emmanuel-ferdman",
"committed_at": "2025-05-13T05:34:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bde5473e51256c87cd6f0e252114c595620093e6",
"body": "* feat: add example of prescription extraction\n\n* add readme\n\n* update example",
"is_bot": false,
"headline": "feat: add example of prescription extraction (#661)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-07T17:57:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c45485912faa1d63ffec137919525a806cd439ab",
"body": "* init on submitted batch statistics account, not yet tested\n\n* checkpoint progress\n\n* update pbar for batch status tracker\n\n* fix test curator cli display",
"is_bot": false,
"headline": "Fix/curator-cli-batch-update-freq-increase (#632)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-05-06T22:13:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "00ce9759ad69a1442ccc0b90bbaaa871dd78d255",
"body": "* Feat/openai/deepseek api\n\nfeat: make structured output supported in openai online for deepseek-reasoner model\n\n* deepseek samples to code-execution/math-animation\n\n* fix ruff format checked failed\n\n* fix math-animation/generate_script.py\nit should be the \"scripts_dataset\" to save and push_to_hub",
"is_bot": false,
"headline": "Feat/openai/deepseek api (#640)",
"author_name": "feng lui",
"author_login": "fenglui",
"committed_at": "2025-05-06T22:11:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9dd2d25928837a59162870f1a251dccd94d7346c",
"body": null,
"is_bot": false,
"headline": "docs: revert lint changes",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-06T18:58:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31e46115458a44feb7dbc9d01092fc59ddad40a0",
"body": null,
"is_bot": false,
"headline": "docs: fix typo",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-06T18:58:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "940c04b3d2f138b348b7287b814a0fbb81219071",
"body": null,
"is_bot": false,
"headline": "docs: small tweaks",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-06T18:58:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0da9c8291a51853a75371db1a547efda3c49cc4",
"body": null,
"is_bot": false,
"headline": "docs: clean up wording",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-06T18:58:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fdecd96627e2b5b0745312394e2cab984b2d7b27",
"body": null,
"is_bot": false,
"headline": "fix: small typo in doc",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-05T21:19:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "67c617cf14495c94935ee12014a8c18c6458ca54",
"body": null,
"is_bot": false,
"headline": "docs: updated README with authentication",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-05-05T21:19:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5b551ac0a4b253d1ee5bbb41d5408501b585ab2",
"body": "* init\n\n* update curator response\n\n* update tests\n\n* feat: add warning in curator response",
"is_bot": false,
"headline": "feat: add response object in curator (#643)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-05T12:45:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0aae819fcac6c7d184ab3462f6a0641c4dad410",
"body": null,
"is_bot": false,
"headline": "chore: bump 0.1.24 (#659)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-02T07:21:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "401f689f2b31b51cf572815933098d83783bf680",
"body": "* ref: support anthropic backend for multimodal input\n\n* ref: remove openai multimodal check",
"is_bot": false,
"headline": "ref: support anthropic backend for multimodal input (#656)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-05-02T06:36:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e30df6791da2b422d54e7059b1351aa5b648b63",
"body": null,
"is_bot": false,
"headline": "ref: check job state before download in gemini (#646)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-22T13:52:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3cd80238f1d4539b24bb5db5fa3b8ce0339702ef",
"body": null,
"is_bot": false,
"headline": "Update anthropic_online_request_processor.py (#649)",
"author_name": "Ryan Marten",
"author_login": "RyanMarten",
"committed_at": "2025-04-22T08:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5537f1b30b293db4b6024de65b1ff417f1121264",
"body": "* feature: set dtype flag\n\n* add type annotation for dtype\n\n* fix: initialize dtype attribute in BaseOfflineRequestProcessor to resolve AttributeError",
"is_bot": false,
"headline": "feature: set dtype flag (#645)",
"author_name": "Aakash Thatte",
"author_login": "sky-2002",
"committed_at": "2025-04-22T06:00:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d24b8fef799d78dcf9fe2ae325ae5be695e5cce",
"body": "* add display fixes for batch\n\n* fix cost processor not using batch cost\n\n* fix batch=True cost calculation for all providers\n\n* moved cost processor to base class",
"is_bot": false,
"headline": "fix/final_statistics_display_fixes (#644)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-17T20:16:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "44b32861a94112b00d2147c03cc410cb17b23bef",
"body": null,
"is_bot": false,
"headline": "feat: add gpt-4.1 structured output mapping",
"author_name": "Mithil Poojary",
"author_login": "Mithil467",
"committed_at": "2025-04-17T13:26:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0157982d27094127a37417595d725d0937f6be74",
"body": null,
"is_bot": false,
"headline": "feat: add gpt-4.1 structured output mapping",
"author_name": "Mithil Poojary",
"author_login": "Mithil467",
"committed_at": "2025-04-17T13:26:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f125f23916ce52545b0390c2d271acf137e53df",
"body": null,
"is_bot": false,
"headline": "cost streaming for batch (#638)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-16T11:00:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff1c12392fb2dd9b3d0bacd423a5684eedd71b85",
"body": null,
"is_bot": false,
"headline": "feat: fix batch mode structure outputs bug (#639)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-15T13:16:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d69e2a6849641d4aa844ad9a3714882c88c9418d",
"body": null,
"is_bot": false,
"headline": "add gpt 4.1 structured output support from curator (#637)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-15T13:10:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e19ec4c7aaefdd17369fecbb8633e121ddb4490b",
"body": null,
"is_bot": false,
"headline": "feat: add flag to disable metadata db (#583)",
"author_name": "Shreyas Pimpalgaonkar",
"author_login": "shreyaspimpalgaonkar",
"committed_at": "2025-04-15T10:42:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "373adbbf3eeecc260e314524be94210fefbb5552",
"body": null,
"is_bot": false,
"headline": "update metadata schema with cost",
"author_name": "TheDude",
"author_login": "kartik4949",
"committed_at": "2025-04-15T01:42:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "acd64fe3cda2f3e72678f5c9b8d3c2e702738c3d",
"body": null,
"is_bot": false,
"headline": "improve projected total, projected remaining UI (#631)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-14T05:32:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "52f08e95323b7da08a6f950fd41aee3ad14c1bb4",
"body": "* First round of updates on the documentation.\n\n* Updates",
"is_bot": false,
"headline": "Update README to add new updates and a better example (#628)",
"author_name": "Mahesh Sathiamoorthy",
"author_login": "madiator",
"committed_at": "2025-04-13T21:22:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c6088431ba1185e01a82e34970f3e9bfcf3d3529",
"body": "* fix deepseek rpm\n\n* make semaphore release",
"is_bot": false,
"headline": "Fix/deepseek/rpm (#630)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-13T17:59:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b506f59167c24c41cf6e431fd8e76463d3b57b0c",
"body": null,
"is_bot": false,
"headline": "add fixes for rpm display and frequent tqdm update for tqdm (#629)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-13T08:38:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7542d8f33c168d4ec0777dba5a008562993839f2",
"body": null,
"is_bot": false,
"headline": "bump: 0.1.23.post1",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T23:19:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4ed48a9b463bf2c7c49ca07e0e5d0c36701db29",
"body": null,
"is_bot": false,
"headline": "ref: remove curator viewer related code",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T23:19:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4486f7b8fc01f86c57c5871fd6a1d2207bf97ab5",
"body": null,
"is_bot": false,
"headline": "fix: set CURATOR_VIEWER=\"true\" in push_to_viewer",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b8d96b318483a9c935c9f4d35b17707095b30337",
"body": null,
"is_bot": false,
"headline": "fix: exclude flaky litellm cost requests",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ecd7e27fe9bb8b8470467373fb22c86efeb3a2ce",
"body": null,
"is_bot": false,
"headline": "fix: conftest to use none",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fedc315c9ebb02dced0037ed94f328f08f4f9446",
"body": null,
"is_bot": false,
"headline": "fix: lint",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "305b6f487b153269202910b3fa3039c8ad7d3e30",
"body": null,
"is_bot": false,
"headline": "fix: add more robust assertions for tests",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17137b193e2adf0fb4fc03d6d846128287f71273",
"body": null,
"is_bot": false,
"headline": "fix: gemini batch error",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c3c9becaf6d0e479cc3a286d562bebfb47b5600",
"body": null,
"is_bot": false,
"headline": "fix: gemini batch test",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "63e60e57b508a92e885dd5a97828206ab34d793c",
"body": null,
"is_bot": false,
"headline": "fix: failing tests",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c97f51a44c066386ae72d530247dee4c60fb9cc7",
"body": null,
"is_bot": false,
"headline": "fix: auto confirmation tests",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1327735693facf44b04295d660f346deb9f6046",
"body": null,
"is_bot": false,
"headline": "feat: ask users to confirm during batch cancellation",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1add9eed87abc17dd45761fed605d3080d68f674",
"body": null,
"is_bot": false,
"headline": "fix: address some comments",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c34a7b31b66e1ed9f8a41ec7c831f36683ad69bc",
"body": null,
"is_bot": false,
"headline": "fix: failing test by repatching",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c52b8b5618db0bdc1da1cd5fc28a5b65146dfb10",
"body": null,
"is_bot": false,
"headline": "fix: lint",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c430319adca77e74ccc45ce6aa77162555a530f6",
"body": null,
"is_bot": false,
"headline": "fix: multiple bugs in batch cancellation logic + add tests",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ade0e99cd51d06a412b2ba2e86f8f5f7b67dc80",
"body": null,
"is_bot": false,
"headline": "fix: cancel does not any arguments, remove working_dir",
"author_name": "Trung Vu",
"author_login": "vutrung96",
"committed_at": "2025-04-11T22:42:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75d09dcd37aa7a1014f67705c28ee09ee17e110d",
"body": null,
"is_bot": false,
"headline": "bump 0.1.23 (#625)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-11T06:38:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "db241310127d35c506a616dae1ad1f1da1cbbd61",
"body": null,
"is_bot": false,
"headline": "update (#621)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-10T17:43:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eddd131b9655bcf2a10107b7d01da66902314a7f",
"body": null,
"is_bot": false,
"headline": "Disable loud log (#624)",
"author_name": "Ryan Marten",
"author_login": "RyanMarten",
"committed_at": "2025-04-10T16:42:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b30cd17ea55cd3e46be776126c12d13595aaf7d3",
"body": "* feat: make long lived requests support in openai online for deepseek\n\n* fix: update rstrip in baseurl online processor\n\n* update semaphore\n\n* update error msg",
"is_bot": false,
"headline": "Feat/openai/deepseek api (#579)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-08T14:41:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c3ecfbd2fb921e63df0086079d5783b8f198fa0",
"body": "* feat: add failed requests jsonl\n\n* fix\n\n* fix test",
"is_bot": false,
"headline": "feat: add failed requests jsonl (#615)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-08T12:44:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d516a59041b507d555bcb3dc645ae88186ae083e",
"body": "* update config map\n\n* update output costs and rate limits\n\n* update new meta models and fix deepseek model",
"is_bot": false,
"headline": "Add llama4 models from klusterAI (#622)",
"author_name": "Shreyas Pimpalgaonkar",
"author_login": "shreyaspimpalgaonkar",
"committed_at": "2025-04-08T11:41:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab907705e096ad17cf1b9c59d149557859ede9c4",
"body": "* feat: fix gemini batch parts key missing\n\n* ref: handle recitation logic for gemini batch\n\n* ref: serialize citatoins\n\n* update",
"is_bot": false,
"headline": "feat: fix gemini batch parts key missing (#612)",
"author_name": "The Dude",
"author_login": "kartik4949",
"committed_at": "2025-04-06T19:03:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2c68f36b44a5cbc6cfcb579444b4eac024a242b1",
"body": "* update config map\n\n* update output costs and rate limits",
"is_bot": false,
"headline": "update config map for kluster (#620)",
"author_name": "Shreyas Pimpalgaonkar",
"author_login": "shreyaspimpalgaonkar",
"committed_at": "2025-04-06T19:01:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d1c355e053fc519ea6f196843b86a5a10910cf98",
"body": "feat: improve tqdm CLI display and batch tracking; unify cost calc; update env flags\n\n- Init tqdm CLI display with checkpointing\n- Add logger viewer link, message format, and refresh interval variable for logger\n- Fix and unify batch cost/statistics calculation via status tracker\n- Support online mo\n[…]\nUpdate environment flag to CURATOR_DISABLE_RICH_DISPLAY and document all flags\n- Revert test comments; update tests for resubmitted batches\n- General fixes: linting, imports, RPM calc, and test passes",
"is_bot": false,
"headline": "feat/env-disable-rich-cli (#600)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-05T07:18:40Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "2461788b2e03e762df448a753c50dd04b079fc71",
"body": null,
"is_bot": false,
"headline": "remove split from card template (#619)",
"author_name": "Daniel van Strien",
"author_login": "davanstrien",
"committed_at": "2025-04-04T16:40:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae6fbf3de271a8dbce9c5f56bdf6638d15353e03",
"body": "* new curator cli gif",
"is_bot": false,
"headline": "Update curator rich cli gif (#617)",
"author_name": "Charlie Cheng-Jie Ji",
"author_login": "CharlieJCJ",
"committed_at": "2025-04-03T19:49:22Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 26,
"commits_last_year": 22,
"latest_release_at": "2026-03-15T17:57:15Z",
"latest_release_tag": "v0.1.27",
"releases_from_tags": false,
"days_since_last_push": 4,
"active_weeks_last_year": 9,
"days_since_latest_release": 133,
"mean_days_between_releases": 42.4
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 50,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "bespokelabs-curator",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"ai",
"curator",
"bespoke",
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/bespokelabs-curator/",
"is_deprecated": false,
"latest_version": "0.1.29",
"repository_url": "https://github.com/bespokelabsai/curator",
"versions_count": 57,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": 25080,
"first_published_at": "2024-11-06T21:25:39.101920Z",
"latest_published_at": "2026-07-13T12:17:52.112306Z",
"latest_version_yanked": null,
"days_since_latest_publish": 13
}
]
},
"popularity": {
"forks": 143,
"stars": 1704,
"watchers": 11,
"fork_history": {
"days": [
{
"date": "2024-11-14",
"count": 1
},
{
"date": "2024-11-16",
"count": 1
},
{
"date": "2024-12-14",
"count": 1
},
{
"date": "2024-12-22",
"count": 1
},
{
"date": "2024-12-28",
"count": 1
},
{
"date": "2024-12-31",
"count": 1
},
{
"date": "2025-01-05",
"count": 1
},
{
"date": "2025-01-07",
"count": 1
},
{
"date": "2025-01-15",
"count": 5
},
{
"date": "2025-01-16",
"count": 8
},
{
"date": "2025-01-17",
"count": 2
},
{
"date": "2025-01-18",
"count": 2
},
{
"date": "2025-01-20",
"count": 2
},
{
"date": "2025-01-22",
"count": 3
},
{
"date": "2025-01-23",
"count": 2
},
{
"date": "2025-01-25",
"count": 2
},
{
"date": "2025-01-26",
"count": 1
},
{
"date": "2025-01-28",
"count": 1
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-01-30",
"count": 1
},
{
"date": "2025-01-31",
"count": 2
},
{
"date": "2025-02-01",
"count": 1
},
{
"date": "2025-02-02",
"count": 1
},
{
"date": "2025-02-03",
"count": 1
},
{
"date": "2025-02-04",
"count": 1
},
{
"date": "2025-02-05",
"count": 1
},
{
"date": "2025-02-06",
"count": 3
},
{
"date": "2025-02-10",
"count": 2
},
{
"date": "2025-02-14",
"count": 2
},
{
"date": "2025-02-16",
"count": 1
},
{
"date": "2025-02-18",
"count": 1
},
{
"date": "2025-02-20",
"count": 1
},
{
"date": "2025-02-21",
"count": 1
},
{
"date": "2025-02-26",
"count": 1
},
{
"date": "2025-02-27",
"count": 2
},
{
"date": "2025-03-05",
"count": 1
},
{
"date": "2025-03-08",
"count": 1
},
{
"date": "2025-03-09",
"count": 1
},
{
"date": "2025-03-11",
"count": 2
},
{
"date": "2025-03-12",
"count": 1
},
{
"date": "2025-03-13",
"count": 1
},
{
"date": "2025-03-16",
"count": 3
},
{
"date": "2025-03-20",
"count": 2
},
{
"date": "2025-03-25",
"count": 1
},
{
"date": "2025-03-28",
"count": 3
},
{
"date": "2025-03-29",
"count": 1
},
{
"date": "2025-04-02",
"count": 3
},
{
"date": "2025-04-03",
"count": 2
},
{
"date": "2025-04-09",
"count": 1
},
{
"date": "2025-04-10",
"count": 1
},
{
"date": "2025-04-14",
"count": 1
},
{
"date": "2025-04-16",
"count": 1
},
{
"date": "2025-04-18",
"count": 1
},
{
"date": "2025-04-23",
"count": 3
},
{
"date": "2025-04-28",
"count": 2
},
{
"date": "2025-05-03",
"count": 1
},
{
"date": "2025-05-07",
"count": 1
},
{
"date": "2025-05-15",
"count": 1
},
{
"date": "2025-05-25",
"count": 1
},
{
"date": "2025-05-28",
"count": 1
},
{
"date": "2025-06-09",
"count": 1
},
{
"date": "2025-06-13",
"count": 1
},
{
"date": "2025-06-19",
"count": 1
},
{
"date": "2025-06-26",
"count": 1
},
{
"date": "2025-06-30",
"count": 1
},
{
"date": "2025-07-01",
"count": 1
},
{
"date": "2025-07-03",
"count": 1
},
{
"date": "2025-07-06",
"count": 1
},
{
"date": "2025-07-13",
"count": 1
},
{
"date": "2025-07-30",
"count": 1
},
{
"date": "2025-08-05",
"count": 1
},
{
"date": "2025-08-11",
"count": 1
},
{
"date": "2025-08-28",
"count": 1
},
{
"date": "2025-09-09",
"count": 1
},
{
"date": "2025-09-28",
"count": 1
},
{
"date": "2025-10-11",
"count": 1
},
{
"date": "2025-10-16",
"count": 1
},
{
"date": "2025-11-03",
"count": 1
},
{
"date": "2025-11-06",
"count": 1
},
{
"date": "2025-11-16",
"count": 1
},
{
"date": "2025-11-19",
"count": 1
},
{
"date": "2025-11-23",
"count": 1
},
{
"date": "2025-11-26",
"count": 1
},
{
"date": "2025-12-12",
"count": 1
},
{
"date": "2026-01-02",
"count": 1
},
{
"date": "2026-01-09",
"count": 1
},
{
"date": "2026-01-22",
"count": 1
},
{
"date": "2026-01-23",
"count": 1
},
{
"date": "2026-01-25",
"count": 1
},
{
"date": "2026-01-26",
"count": 1
},
{
"date": "2026-02-08",
"count": 1
},
{
"date": "2026-02-25",
"count": 1
},
{
"date": "2026-03-01",
"count": 1
},
{
"date": "2026-03-13",
"count": 1
},
{
"date": "2026-03-14",
"count": 1
},
{
"date": "2026-03-25",
"count": 1
},
{
"date": "2026-04-20",
"count": 1
},
{
"date": "2026-04-21",
"count": 1
},
{
"date": "2026-04-27",
"count": 1
},
{
"date": "2026-05-01",
"count": 1
},
{
"date": "2026-05-08",
"count": 1
},
{
"date": "2026-06-10",
"count": 1
},
{
"date": "2026-06-15",
"count": 1
},
{
"date": "2026-07-09",
"count": 1
},
{
"date": "2026-07-16",
"count": 1
}
],
"complete": true,
"collected": 141,
"total_forks": 143
},
"star_history": null,
"open_issues_and_prs": 71
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"examples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 35987,
"source_files_sampled": 175,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"pyproject.toml"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "litellm",
"direct": true,
"version": "1.83.7",
"severity": "critical",
"ecosystem": "pypi",
"cvss_score": 9.8,
"advisory_ids": [
"GHSA-4g5m-c9r5-49xf",
"GHSA-4xpc-pv4p-pm3w",
"GHSA-7488-6r32-c95q",
"GHSA-qrc4-49gv-mv9m",
"GHSA-wpfp-gwwc-vwq6",
"GHSA-wxxx-gvqv-xp7p",
"PYSEC-2026-2598",
"PYSEC-2026-2600",
"PYSEC-2026-2601",
"PYSEC-2026-3476"
],
"fixed_version": "1.84.0",
"advisory_count": 12,
"oldest_advisory_days": 76
},
{
"name": "aiohttp",
"direct": false,
"version": "3.13.5",
"severity": "high",
"ecosystem": "pypi",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-2fqr-mr3j-6wp8",
"GHSA-4fvr-rgm6-gqmc",
"GHSA-4m7w-qmgq-4wj5",
"GHSA-63hw-fmq6-xxg2",
"GHSA-9x8q-7h8h-wcw9",
"GHSA-g3cq-j2xw-wf74",
"GHSA-hg6j-4rv6-33pg",
"GHSA-hpj7-wq8m-9hgp",
"GHSA-jg22-mg44-37j8",
"GHSA-m6qw-4cw2-hm4m"
],
"fixed_version": "3.14.1",
"advisory_count": 22,
"oldest_advisory_days": 54
},
{
"name": "click",
"direct": false,
"version": "8.1.8",
"severity": "high",
"ecosystem": "pypi",
"cvss_score": 7.2,
"advisory_ids": [
"PYSEC-2026-2132"
],
"fixed_version": "8.3.3",
"advisory_count": 1,
"oldest_advisory_days": 87
},
{
"name": "google-cloud-aiplatform",
"direct": false,
"version": "1.71.1",
"severity": "high",
"ecosystem": "pypi",
"cvss_score": null,
"advisory_ids": [
"GHSA-wh2j-26j7-9728",
"PYSEC-2026-2500"
],
"fixed_version": "1.133.0",
"advisory_count": 2,
"oldest_advisory_days": 156
},
{
"name": "python-dotenv",
"direct": false,
"version": "1.0.1",
"severity": "moderate",
"ecosystem": "pypi",
"cvss_score": 6.6,
"advisory_ids": [
"GHSA-mf9w-mj56-hr94",
"PYSEC-2026-2270"
],
"fixed_version": "1.2.2",
"advisory_count": 2,
"oldest_advisory_days": 97
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 3,
"critical": 1,
"moderate": 1
},
"advisory_count": 39,
"affected_count": 5,
"assessed_count": 114,
"malicious_count": 0,
"assessed_package": "pypi:bespokelabs-curator@0.1.29",
"unassessed_count": 0,
"direct_affected_count": 1
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "pydantic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.9.2"
},
{
"name": "datasets",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^3.0.2"
},
{
"name": "instructor",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^1.6.3"
},
{
"name": "pandas",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "2.2.2"
},
{
"name": "xxhash",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^3.5.0"
},
{
"name": "tqdm",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^4.67.0"
},
{
"name": "matplotlib",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^3.9.2"
},
{
"name": "nest-asyncio",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^1.6.0"
},
{
"name": "rich",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^13.7.0"
},
{
"name": "litellm",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "1.83.7"
},
{
"name": "tiktoken",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=0.7.0"
},
{
"name": "aiofiles",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=22.0,<26.0"
},
{
"name": "anthropic",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^0.84.0"
},
{
"name": "vertexai",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "1.71.1"
},
{
"name": "vllm",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^0.6.3"
},
{
"name": "bespokelabs-sandbox",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "0.1.1"
},
{
"name": "tinker",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^0.8.0"
},
{
"name": "posthog",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^3.11.0"
},
{
"name": "mistralai",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": "^1.5.1"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "aiofiles",
"direct": true,
"version": "25.1.0",
"ecosystem": "pypi"
},
{
"name": "anthropic",
"direct": true,
"version": "0.84.0",
"ecosystem": "pypi"
},
{
"name": "bespokelabs-sandbox",
"direct": true,
"version": "0.1.1",
"ecosystem": "pypi"
},
{
"name": "datasets",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "datasets",
"direct": true,
"version": "3.2.0",
"ecosystem": "pypi"
},
{
"name": "datasets",
"direct": true,
"version": "3.6.0",
"ecosystem": "pypi"
},
{
"name": "instructor",
"direct": true,
"version": "1.14.5",
"ecosystem": "pypi"
},
{
"name": "litellm",
"direct": true,
"version": "1.83.7",
"ecosystem": "pypi"
},
{
"name": "matplotlib",
"direct": true,
"version": "3.10.8",
"ecosystem": "pypi"
},
{
"name": "mistralai",
"direct": true,
"version": "1.12.4",
"ecosystem": "pypi"
},
{
"name": "nest-asyncio",
"direct": true,
"version": "1.6.0",
"ecosystem": "pypi"
},
{
"name": "pandas",
"direct": true,
"version": "2.2.2",
"ecosystem": "pypi"
},
{
"name": "posthog",
"direct": true,
"version": "3.25.0",
"ecosystem": "pypi"
},
{
"name": "pydantic",
"direct": true,
"version": "2.12.5",
"ecosystem": "pypi"
},
{
"name": "rich",
"direct": true,
"version": "13.9.4",
"ecosystem": "pypi"
},
{
"name": "tiktoken",
"direct": true,
"version": "0.12.0",
"ecosystem": "pypi"
},
{
"name": "tinker",
"direct": true,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "tqdm",
"direct": true,
"version": "4.67.3",
"ecosystem": "pypi"
},
{
"name": "vertexai",
"direct": true,
"version": "1.71.1",
"ecosystem": "pypi"
},
{
"name": "vllm",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "vllm",
"direct": true,
"version": "0.6.6.post1",
"ecosystem": "pypi"
},
{
"name": "xxhash",
"direct": true,
"version": "3.6.0",
"ecosystem": "pypi"
},
{
"name": "accelerate",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "aiohappyeyeballs",
"direct": false,
"version": "2.6.1",
"ecosystem": "pypi"
},
{
"name": "aiohttp",
"direct": false,
"version": "3.13.5",
"ecosystem": "pypi"
},
{
"name": "aiohttp-cors",
"direct": false,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "aiosignal",
"direct": false,
"version": "1.4.0",
"ecosystem": "pypi"
},
{
"name": "airportsdata",
"direct": false,
"version": "20260304",
"ecosystem": "pypi"
},
{
"name": "annotated-doc",
"direct": false,
"version": "0.0.4",
"ecosystem": "pypi"
},
{
"name": "annotated-types",
"direct": false,
"version": "0.7.0",
"ecosystem": "pypi"
},
{
"name": "anyio",
"direct": false,
"version": "4.12.1",
"ecosystem": "pypi"
},
{
"name": "aryn-sdk",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "astor",
"direct": false,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "async-timeout",
"direct": false,
"version": "5.0.1",
"ecosystem": "pypi"
},
{
"name": "attrs",
"direct": false,
"version": "25.4.0",
"ecosystem": "pypi"
},
{
"name": "backoff",
"direct": false,
"version": "2.2.1",
"ecosystem": "pypi"
},
{
"name": "backports-tarfile",
"direct": false,
"version": "1.2.0",
"ecosystem": "pypi"
},
{
"name": "bespokelabs-curator",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "bespokelabs-curator",
"direct": false,
"version": "0.1.16",
"ecosystem": "pypi"
},
{
"name": "blake3",
"direct": false,
"version": "1.0.8",
"ecosystem": "pypi"
},
{
"name": "certifi",
"direct": false,
"version": "2026.2.25",
"ecosystem": "pypi"
},
{
"name": "cffi",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "cfgv",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "charset-normalizer",
"direct": false,
"version": "3.4.5",
"ecosystem": "pypi"
},
{
"name": "click",
"direct": false,
"version": "8.1.8",
"ecosystem": "pypi"
},
{
"name": "cloudpickle",
"direct": false,
"version": "3.1.2",
"ecosystem": "pypi"
},
{
"name": "colorama",
"direct": false,
"version": "0.4.6",
"ecosystem": "pypi"
},
{
"name": "colorful",
"direct": false,
"version": "0.5.8",
"ecosystem": "pypi"
},
{
"name": "compressed-tensors",
"direct": false,
"version": "0.8.1",
"ecosystem": "pypi"
},
{
"name": "contourpy",
"direct": false,
"version": "1.3.2",
"ecosystem": "pypi"
},
{
"name": "coverage",
"direct": false,
"version": "7.13.4",
"ecosystem": "pypi"
},
{
"name": "cryptography",
"direct": false,
"version": "46.0.5",
"ecosystem": "pypi"
},
{
"name": "cycler",
"direct": false,
"version": "0.12.1",
"ecosystem": "pypi"
},
{
"name": "deepspeed",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "depyf",
"direct": false,
"version": "0.18.0",
"ecosystem": "pypi"
},
{
"name": "dill",
"direct": false,
"version": "0.3.8",
"ecosystem": "pypi"
},
{
"name": "diskcache",
"direct": false,
"version": "5.6.3",
"ecosystem": "pypi"
},
{
"name": "distlib",
"direct": false,
"version": "0.4.0",
"ecosystem": "pypi"
},
{
"name": "distro",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "docstring-parser",
"direct": false,
"version": "0.17.0",
"ecosystem": "pypi"
},
{
"name": "docutils",
"direct": false,
"version": "0.22.4",
"ecosystem": "pypi"
},
{
"name": "einops",
"direct": false,
"version": "0.8.2",
"ecosystem": "pypi"
},
{
"name": "eval-type-backport",
"direct": false,
"version": "0.3.1",
"ecosystem": "pypi"
},
{
"name": "exceptiongroup",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "faiss-cpu",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fastapi",
"direct": false,
"version": "0.135.1",
"ecosystem": "pypi"
},
{
"name": "fastuuid",
"direct": false,
"version": "0.14.0",
"ecosystem": "pypi"
},
{
"name": "filelock",
"direct": false,
"version": "3.25.2",
"ecosystem": "pypi"
},
{
"name": "fonttools",
"direct": false,
"version": "4.62.1",
"ecosystem": "pypi"
},
{
"name": "frozenlist",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "fsspec",
"direct": false,
"version": "2025.3.0",
"ecosystem": "pypi"
},
{
"name": "gguf",
"direct": false,
"version": "0.10.0",
"ecosystem": "pypi"
},
{
"name": "google-api-core",
"direct": false,
"version": "2.25.2",
"ecosystem": "pypi"
},
{
"name": "google-auth",
"direct": false,
"version": "2.49.1",
"ecosystem": "pypi"
},
{
"name": "google-cloud-aiplatform",
"direct": false,
"version": "1.71.1",
"ecosystem": "pypi"
},
{
"name": "google-cloud-bigquery",
"direct": false,
"version": "3.40.1",
"ecosystem": "pypi"
},
{
"name": "google-cloud-core",
"direct": false,
"version": "2.5.0",
"ecosystem": "pypi"
},
{
"name": "google-cloud-resource-manager",
"direct": false,
"version": "1.16.0",
"ecosystem": "pypi"
},
{
"name": "google-cloud-storage",
"direct": false,
"version": "2.19.0",
"ecosystem": "pypi"
},
{
"name": "google-crc32c",
"direct": false,
"version": "1.8.0",
"ecosystem": "pypi"
},
{
"name": "google-resumable-media",
"direct": false,
"version": "2.8.0",
"ecosystem": "pypi"
},
{
"name": "googleapis-common-protos",
"direct": false,
"version": "1.73.0",
"ecosystem": "pypi"
},
{
"name": "grpc-google-iam-v1",
"direct": false,
"version": "0.14.3",
"ecosystem": "pypi"
},
{
"name": "grpcio",
"direct": false,
"version": "1.78.0",
"ecosystem": "pypi"
},
{
"name": "grpcio-status",
"direct": false,
"version": "1.71.2",
"ecosystem": "pypi"
},
{
"name": "h11",
"direct": false,
"version": "0.16.0",
"ecosystem": "pypi"
},
{
"name": "h2",
"direct": false,
"version": "4.3.0",
"ecosystem": "pypi"
},
{
"name": "hf-xet",
"direct": false,
"version": "1.4.2",
"ecosystem": "pypi"
},
{
"name": "hpack",
"direct": false,
"version": "4.1.0",
"ecosystem": "pypi"
},
{
"name": "httpcore",
"direct": false,
"version": "1.0.9",
"ecosystem": "pypi"
},
{
"name": "httptools",
"direct": false,
"version": "0.7.1",
"ecosystem": "pypi"
},
{
"name": "httpx",
"direct": false,
"version": "0.28.1",
"ecosystem": "pypi"
},
{
"name": "huggingface-hub",
"direct": false,
"version": "1.7.1",
"ecosystem": "pypi"
},
{
"name": "hyperframe",
"direct": false,
"version": "6.1.0",
"ecosystem": "pypi"
},
{
"name": "identify",
"direct": false,
"version": "2.6.17",
"ecosystem": "pypi"
},
{
"name": "idna",
"direct": false,
"version": "3.11",
"ecosystem": "pypi"
},
{
"name": "importlib-metadata",
"direct": false,
"version": "8.5.0",
"ecosystem": "pypi"
},
{
"name": "iniconfig",
"direct": false,
"version": "2.3.0",
"ecosystem": "pypi"
},
{
"name": "interegular",
"direct": false,
"version": "0.3.3",
"ecosystem": "pypi"
},
{
"name": "invoke",
"direct": false,
"version": "2.2.1",
"ecosystem": "pypi"
},
{
"name": "isort",
"direct": false,
"version": "5.13.2",
"ecosystem": "pypi"
},
{
"name": "jaraco-classes",
"direct": false,
"version": "3.4.0",
"ecosystem": "pypi"
},
{
"name": "jaraco-context",
"direct": false,
"version": "6.1.1",
"ecosystem": "pypi"
},
{
"name": "jaraco-functools",
"direct": false,
"version": "4.4.0",
"ecosystem": "pypi"
},
{
"name": "jeepney",
"direct": false,
"version": "0.9.0",
"ecosystem": "pypi"
},
{
"name": "jinja2",
"direct": false,
"version": "3.1.6",
"ecosystem": "pypi"
},
{
"name": "jiter",
"direct": false,
"version": "0.11.1",
"ecosystem": "pypi"
},
{
"name": "jsonschema",
"direct": false,
"version": "4.23.0",
"ecosystem": "pypi"
},
{
"name": "jsonschema-specifications",
"direct": false,
"version": "2025.9.1",
"ecosystem": "pypi"
},
{
"name": "keyring",
"direct": false,
"version": "25.7.0",
"ecosystem": "pypi"
},
{
"name": "kiwisolver",
"direct": false,
"version": "1.5.0",
"ecosystem": "pypi"
},
{
"name": "langchain",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "langchain-experimental",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "langchain-openai",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "lark",
"direct": false,
"version": "1.2.2",
"ecosystem": "pypi"
},
{
"name": "latex2sympy2",
"direct": false,
"version": "1.9.1",
"ecosystem": "pypi"
},
{
"name": "lm-format-enforcer",
"direct": false,
"version": "0.10.12",
"ecosystem": "pypi"
},
{
"name": "markdown-it-py",
"direct": false,
"version": "4.0.0",
"ecosystem": "pypi"
},
{
"name": "markupsafe",
"direct": false,
"version": "3.0.3",
"ecosystem": "pypi"
},
{
"name": "mdurl",
"direct": false,
"version": "0.1.2",
"ecosystem": "pypi"
},
{
"name": "mistral-common",
"direct": false,
"version": "1.5.6",
"ecosystem": "pypi"
},
{
"name": "monotonic",
"direct": false,
"version": "1.6",
"ecosystem": "pypi"
},
{
"name": "more-itertools",
"direct": false,
"version": "10.8.0",
"ecosystem": "pypi"
},
{
"name": "mpmath",
"direct": false,
"version": "1.3.0",
"ecosystem": "pypi"
},
{
"name": "msgpack",
"direct": false,
"version": "1.1.2",
"ecosystem": "pypi"
},
{
"name": "msgspec",
"direct": false,
"version": "0.20.0",
"ecosystem": "pypi"
},
{
"name": "multidict",
"direct": false,
"version": "6.7.1",
"ecosystem": "pypi"
},
{
"name": "multiprocess",
"direct": false,
"version": "0.70.16",
"ecosystem": "pypi"
},
{
"name": "networkx",
"direct": false,
"version": "3.4.2",
"ecosystem": "pypi"
},
{
"name": "nh3",
"direct": false,
"version": "0.3.3",
"ecosystem": "pypi"
},
{
"name": "nodeenv",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "numpy",
"direct": false,
"version": "1.26.4",
"ecosystem": "pypi"
},
{
"name": "nvidia-cublas-cu12",
"direct": false,
"version": "12.4.5.8",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-cupti-cu12",
"direct": false,
"version": "12.4.127",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-nvrtc-cu12",
"direct": false,
"version": "12.4.127",
"ecosystem": "pypi"
},
{
"name": "nvidia-cuda-runtime-cu12",
"direct": false,
"version": "12.4.127",
"ecosystem": "pypi"
},
{
"name": "nvidia-cudnn-cu12",
"direct": false,
"version": "9.1.0.70",
"ecosystem": "pypi"
},
{
"name": "nvidia-cufft-cu12",
"direct": false,
"version": "11.2.1.3",
"ecosystem": "pypi"
},
{
"name": "nvidia-curand-cu12",
"direct": false,
"version": "10.3.5.147",
"ecosystem": "pypi"
},
{
"name": "nvidia-cusolver-cu12",
"direct": false,
"version": "11.6.1.9",
"ecosystem": "pypi"
},
{
"name": "nvidia-cusparse-cu12",
"direct": false,
"version": "12.3.1.170",
"ecosystem": "pypi"
},
{
"name": "nvidia-ml-py",
"direct": false,
"version": "13.590.48",
"ecosystem": "pypi"
},
{
"name": "nvidia-nccl-cu12",
"direct": false,
"version": "2.21.5",
"ecosystem": "pypi"
},
{
"name": "nvidia-nvjitlink-cu12",
"direct": false,
"version": "12.4.127",
"ecosystem": "pypi"
},
{
"name": "nvidia-nvtx-cu12",
"direct": false,
"version": "12.4.127",
"ecosystem": "pypi"
},
{
"name": "openai",
"direct": false,
"version": "2.30.0",
"ecosystem": "pypi"
},
{
"name": "opencensus",
"direct": false,
"version": "0.11.4",
"ecosystem": "pypi"
},
{
"name": "opencensus-context",
"direct": false,
"version": "0.1.3",
"ecosystem": "pypi"
},
{
"name": "opencv-python-headless",
"direct": false,
"version": "4.11.0.86",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-api",
"direct": false,
"version": "1.40.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-common",
"direct": false,
"version": "1.40.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-otlp-proto-http",
"direct": false,
"version": "1.40.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-exporter-prometheus",
"direct": false,
"version": "0.61b0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-proto",
"direct": false,
"version": "1.40.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-sdk",
"direct": false,
"version": "1.40.0",
"ecosystem": "pypi"
},
{
"name": "opentelemetry-semantic-conventions",
"direct": false,
"version": "0.61b0",
"ecosystem": "pypi"
},
{
"name": "outlines",
"direct": false,
"version": "0.1.11",
"ecosystem": "pypi"
},
{
"name": "outlines-core",
"direct": false,
"version": "0.1.26",
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": "26.0",
"ecosystem": "pypi"
},
{
"name": "partial-json-parser",
"direct": false,
"version": "0.2.1.1.post7",
"ecosystem": "pypi"
},
{
"name": "pdfplumber",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pillow",
"direct": false,
"version": "12.1.1",
"ecosystem": "pypi"
},
{
"name": "pkginfo",
"direct": false,
"version": "1.10.0",
"ecosystem": "pypi"
},
{
"name": "platformdirs",
"direct": false,
"version": "4.9.4",
"ecosystem": "pypi"
},
{
"name": "pluggy",
"direct": false,
"version": "1.6.0",
"ecosystem": "pypi"
},
{
"name": "pre-commit",
"direct": false,
"version": "4.5.1",
"ecosystem": "pypi"
},
{
"name": "prometheus-client",
"direct": false,
"version": "0.24.1",
"ecosystem": "pypi"
},
{
"name": "prometheus-fastapi-instrumentator",
"direct": false,
"version": "7.1.0",
"ecosystem": "pypi"
},
{
"name": "propcache",
"direct": false,
"version": "0.4.1",
"ecosystem": "pypi"
},
{
"name": "proto-plus",
"direct": false,
"version": "1.27.1",
"ecosystem": "pypi"
},
{
"name": "protobuf",
"direct": false,
"version": "5.29.6",
"ecosystem": "pypi"
},
{
"name": "psutil",
"direct": false,
"version": "6.1.1",
"ecosystem": "pypi"
},
{
"name": "py-cpuinfo",
"direct": false,
"version": "9.0.0",
"ecosystem": "pypi"
},
{
"name": "py-spy",
"direct": false,
"version": "0.4.1",
"ecosystem": "pypi"
},
{
"name": "pyarrow",
"direct": false,
"version": "23.0.1",
"ecosystem": "pypi"
},
{
"name": "pyasn1",
"direct": false,
"version": "0.6.2",
"ecosystem": "pypi"
},
{
"name": "pyasn1-modules",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "pycountry",
"direct": false,
"version": "26.2.16",
"ecosystem": "pypi"
},
{
"name": "pycparser",
"direct": false,
"version": "3.0",
"ecosystem": "pypi"
},
{
"name": "pydantic-core",
"direct": false,
"version": "2.41.5",
"ecosystem": "pypi"
},
{
"name": "pygments",
"direct": false,
"version": "2.19.2",
"ecosystem": "pypi"
},
{
"name": "pyparsing",
"direct": false,
"version": "3.3.2",
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": "8.4.2",
"ecosystem": "pypi"
},
{
"name": "pytest-asyncio",
"direct": false,
"version": "0.24.0",
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": "6.3.0",
"ecosystem": "pypi"
},
{
"name": "pytest-dependency",
"direct": false,
"version": "0.6.1",
"ecosystem": "pypi"
},
{
"name": "pytest-timeout",
"direct": false,
"version": "2.4.0",
"ecosystem": "pypi"
},
{
"name": "python-dateutil",
"direct": false,
"version": "2.9.0.post0",
"ecosystem": "pypi"
},
{
"name": "python-discovery",
"direct": false,
"version": "1.1.3",
"ecosystem": "pypi"
},
{
"name": "python-dotenv",
"direct": false,
"version": "1.0.1",
"ecosystem": "pypi"
},
{
"name": "pytz",
"direct": false,
"version": "2026.1.post1",
"ecosystem": "pypi"
},
{
"name": "pywin32-ctypes",
"direct": false,
"version": "0.2.3",
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": false,
"version": "6.0.3",
"ecosystem": "pypi"
},
{
"name": "pyzmq",
"direct": false,
"version": "27.1.0",
"ecosystem": "pypi"
},
{
"name": "ray",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "ray",
"direct": false,
"version": "2.54.0",
"ecosystem": "pypi"
},
{
"name": "readme-renderer",
"direct": false,
"version": "44.0",
"ecosystem": "pypi"
},
{
"name": "referencing",
"direct": false,
"version": "0.37.0",
"ecosystem": "pypi"
},
{
"name": "regex",
"direct": false,
"version": "2026.2.28",
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": "2.32.5",
"ecosystem": "pypi"
},
{
"name": "requests-toolbelt",
"direct": false,
"version": "1.0.0",
"ecosystem": "pypi"
},
{
"name": "rfc3986",
"direct": false,
"version": "2.0.0",
"ecosystem": "pypi"
},
{
"name": "rpds-py",
"direct": false,
"version": "0.30.0",
"ecosystem": "pypi"
},
{
"name": "ruff",
"direct": false,
"version": "0.8.6",
"ecosystem": "pypi"
},
{
"name": "safetensors",
"direct": false,
"version": "0.7.0",
"ecosystem": "pypi"
},
{
"name": "scikit-learn",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "scipy",
"direct": false,
"version": "1.15.1",
"ecosystem": "pypi"
},
{
"name": "secretstorage",
"direct": false,
"version": "3.5.0",
"ecosystem": "pypi"
},
{
"name": "sentence-transformers",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "sentencepiece",
"direct": false,
"version": "0.2.1",
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": "82.0.1",
"ecosystem": "pypi"
},
{
"name": "shapely",
"direct": false,
"version": "2.1.2",
"ecosystem": "pypi"
},
{
"name": "shellingham",
"direct": false,
"version": "1.5.4",
"ecosystem": "pypi"
},
{
"name": "six",
"direct": false,
"version": "1.17.0",
"ecosystem": "pypi"
},
{
"name": "smart-open",
"direct": false,
"version": "7.5.1",
"ecosystem": "pypi"
},
{
"name": "sniffio",
"direct": false,
"version": "1.3.1",
"ecosystem": "pypi"
},
{
"name": "starlette",
"direct": false,
"version": "0.52.1",
"ecosystem": "pypi"
},
{
"name": "sympy",
"direct": false,
"version": "1.13.1",
"ecosystem": "pypi"
},
{
"name": "tenacity",
"direct": false,
"version": "9.1.4",
"ecosystem": "pypi"
},
{
"name": "timeout-decorator",
"direct": false,
"version": "0.5.0",
"ecosystem": "pypi"
},
{
"name": "tokenizers",
"direct": false,
"version": "0.22.2",
"ecosystem": "pypi"
},
{
"name": "tomli",
"direct": false,
"version": "2.4.0",
"ecosystem": "pypi"
},
{
"name": "torch",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "torch",
"direct": false,
"version": "2.5.1",
"ecosystem": "pypi"
},
{
"name": "torchvision",
"direct": false,
"version": "0.20.1",
"ecosystem": "pypi"
},
{
"name": "transformers",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "transformers",
"direct": false,
"version": "5.3.0",
"ecosystem": "pypi"
},
{
"name": "triton",
"direct": false,
"version": "3.1.0",
"ecosystem": "pypi"
},
{
"name": "twine",
"direct": false,
"version": "5.1.1",
"ecosystem": "pypi"
},
{
"name": "typer",
"direct": false,
"version": "0.26.7",
"ecosystem": "pypi"
},
{
"name": "typing-extensions",
"direct": false,
"version": "4.15.0",
"ecosystem": "pypi"
},
{
"name": "typing-inspection",
"direct": false,
"version": "0.4.2",
"ecosystem": "pypi"
},
{
"name": "tzdata",
"direct": false,
"version": "2025.3",
"ecosystem": "pypi"
},
{
"name": "urllib3",
"direct": false,
"version": "1.26.20",
"ecosystem": "pypi"
},
{
"name": "uvicorn",
"direct": false,
"version": "0.41.0",
"ecosystem": "pypi"
},
{
"name": "uvloop",
"direct": false,
"version": "0.22.1",
"ecosystem": "pypi"
},
{
"name": "vcrpy",
"direct": false,
"version": "7.0.0",
"ecosystem": "pypi"
},
{
"name": "virtualenv",
"direct": false,
"version": "21.2.0",
"ecosystem": "pypi"
},
{
"name": "watchfiles",
"direct": false,
"version": "1.1.1",
"ecosystem": "pypi"
},
{
"name": "websockets",
"direct": false,
"version": "16.0",
"ecosystem": "pypi"
},
{
"name": "word2number",
"direct": false,
"version": "1.1",
"ecosystem": "pypi"
},
{
"name": "wrapt",
"direct": false,
"version": "2.1.2",
"ecosystem": "pypi"
},
{
"name": "xformers",
"direct": false,
"version": "0.0.28.post3",
"ecosystem": "pypi"
},
{
"name": "xgrammar",
"direct": false,
"version": "0.1.32",
"ecosystem": "pypi"
},
{
"name": "yarl",
"direct": false,
"version": "1.23.0",
"ecosystem": "pypi"
},
{
"name": "zipp",
"direct": false,
"version": "3.23.0",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 248,
"direct_count": 22,
"indirect_count": 226
}
},
"maintainership": {
"issues": {
"open_prs": 14,
"merged_prs": 387,
"open_issues": 57,
"closed_ratio": 0.789,
"closed_issues": 213,
"closed_unmerged_prs": 57
},
"bus_factor": 3,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "RyanMarten",
"commits": 369,
"avatar_url": "https://avatars.githubusercontent.com/u/18333503?v=4"
},
{
"type": "User",
"login": "CharlieJCJ",
"commits": 304,
"avatar_url": "https://avatars.githubusercontent.com/u/55744150?v=4"
},
{
"type": "User",
"login": "vutrung96",
"commits": 287,
"avatar_url": "https://avatars.githubusercontent.com/u/12313075?v=4"
},
{
"type": "User",
"login": "kartik4949",
"commits": 179,
"avatar_url": "https://avatars.githubusercontent.com/u/38289341?v=4"
},
{
"type": "User",
"login": "madiator",
"commits": 164,
"avatar_url": "https://avatars.githubusercontent.com/u/1088491?v=4"
},
{
"type": "User",
"login": "shreyaspimpalgaonkar",
"commits": 101,
"avatar_url": "https://avatars.githubusercontent.com/u/27310144?v=4"
},
{
"type": "User",
"login": "adamoptimizer",
"commits": 73,
"avatar_url": "https://avatars.githubusercontent.com/u/194053190?v=4"
},
{
"type": "User",
"login": "Saharsh1005",
"commits": 33,
"avatar_url": "https://avatars.githubusercontent.com/u/60308409?v=4"
},
{
"type": "User",
"login": "marianna13",
"commits": 16,
"avatar_url": "https://avatars.githubusercontent.com/u/43296932?v=4"
},
{
"type": "User",
"login": "GeorgiosSmyrnis",
"commits": 10,
"avatar_url": "https://avatars.githubusercontent.com/u/26143743?v=4"
}
],
"contributors_sampled": 22,
"top_contributor_share": 0.235
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"lint-and-test.yaml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"security_signals": {
"lockfiles": [
"poetry.lock"
],
"scorecard": null,
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-22T23:01:53Z",
"oldest_open_prs": [
{
"number": 653,
"created_at": "2025-04-26T06:12:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 675,
"created_at": "2025-05-24T04:19:23Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 690,
"created_at": "2025-06-13T09:51:24Z",
"last_comment_at": "2025-06-13T11:16:55Z",
"last_comment_author": "kartik4949"
},
{
"number": 693,
"created_at": "2025-06-26T08:28:34Z",
"last_comment_at": "2025-07-03T01:26:02Z",
"last_comment_author": "lyuwen"
},
{
"number": 698,
"created_at": "2025-10-21T12:46:40Z",
"last_comment_at": "2025-10-24T08:41:58Z",
"last_comment_author": "jinzhuer"
},
{
"number": 709,
"created_at": "2026-01-27T07:33:23Z",
"last_comment_at": "2026-02-09T19:47:08Z",
"last_comment_author": "agdhruv"
},
{
"number": 713,
"created_at": "2026-03-17T05:29:04Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 723,
"created_at": "2026-07-08T07:19:31Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 724,
"created_at": "2026-07-08T07:19:51Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 729,
"created_at": "2026-07-13T20:54:21Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 730,
"created_at": "2026-07-16T16:05:24Z",
"last_comment_at": "2026-07-17T06:58:24Z",
"last_comment_author": "RitwijParmar"
},
{
"number": 731,
"created_at": "2026-07-21T09:17:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 732,
"created_at": "2026-07-22T14:53:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 733,
"created_at": "2026-07-22T14:53:26Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-13T12:16:32Z",
"ci_last_conclusion": "FAILURE",
"oldest_open_issues": [
{
"number": 52,
"created_at": "2024-11-10T22:13:08Z",
"last_comment_at": "2025-01-05T22:23:39Z",
"last_comment_author": "RyanMarten"
},
{
"number": 102,
"created_at": "2024-11-14T05:56:05Z",
"last_comment_at": "2025-01-06T00:09:00Z",
"last_comment_author": "RyanMarten"
},
{
"number": 121,
"created_at": "2024-11-15T18:25:06Z",
"last_comment_at": "2025-01-15T21:04:48Z",
"last_comment_author": "adsharma"
},
{
"number": 124,
"created_at": "2024-11-15T18:41:12Z",
"last_comment_at": "2024-11-21T04:34:11Z",
"last_comment_author": "RyanMarten"
},
{
"number": 207,
"created_at": "2024-12-04T19:56:07Z",
"last_comment_at": "2025-03-02T22:06:54Z",
"last_comment_author": "CharlieJCJ"
},
{
"number": 233,
"created_at": "2024-12-09T21:06:32Z",
"last_comment_at": "2025-01-14T23:45:56Z",
"last_comment_author": "RyanMarten"
},
{
"number": 290,
"created_at": "2024-12-26T06:37:54Z",
"last_comment_at": "2025-01-26T06:30:09Z",
"last_comment_author": "cryptowooser"
},
{
"number": 293,
"created_at": "2024-12-29T01:12:26Z",
"last_comment_at": "2025-03-02T22:02:09Z",
"last_comment_author": "RyanMarten"
},
{
"number": 294,
"created_at": "2024-12-29T04:16:11Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 301,
"created_at": "2025-01-05T23:08:53Z",
"last_comment_at": "2025-01-31T19:32:36Z",
"last_comment_author": "RyanMarten"
},
{
"number": 328,
"created_at": "2025-01-08T20:46:39Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 351,
"created_at": "2025-01-12T13:57:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 376,
"created_at": "2025-01-17T20:12:21Z",
"last_comment_at": "2025-01-17T20:19:56Z",
"last_comment_author": "RyanMarten"
},
{
"number": 399,
"created_at": "2025-01-23T04:19:40Z",
"last_comment_at": "2025-03-02T23:24:58Z",
"last_comment_author": "RyanMarten"
},
{
"number": 401,
"created_at": "2025-01-23T19:23:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 414,
"created_at": "2025-01-28T16:45:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 415,
"created_at": "2025-01-28T16:46:47Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 416,
"created_at": "2025-01-28T20:48:11Z",
"last_comment_at": "2025-01-28T21:09:38Z",
"last_comment_author": "RyanMarten"
},
{
"number": 423,
"created_at": "2025-01-30T01:51:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 436,
"created_at": "2025-02-03T10:58:04Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/bespokelabsai/curator",
"host": "github.com",
"name": "curator",
"owner": "bespokelabsai"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"security": 10,
"vitality": 72,
"community": 73,
"governance": 78,
"engineering": 95
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 72,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"commits_last_year": 22,
"human_commit_share": 1,
"days_since_last_push": 4,
"active_weeks_last_year": 9
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 4 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 4
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "9/52 weeks with commits",
"points": 6.2,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 9
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "22 commits in the last year",
"points": 12.2,
"status": "partial",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 22
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 26,
"latest_release_tag": "v0.1.27",
"releases_from_tags": false,
"days_since_latest_release": 133,
"mean_days_between_releases": 42.4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "26 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 26
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 133 days ago",
"points": 27,
"status": "partial",
"details": [
{
"code": "release_recency",
"params": {
"days": 133
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~42.4 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 42.4
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 13,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 13 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 13
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 73,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "good",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 76,
"inputs": {
"forks": 143,
"stars": 1704,
"watchers": 11,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "1,704 stars",
"points": 52.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 1704
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "143 forks",
"points": 17.9,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 143
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "11 watchers",
"points": 5.6,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 11
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 70,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 73,
"inputs": {
"packages": [
"bespokelabs-curator"
],
"dependents": null,
"ecosystems": "pypi",
"total_downloads": null,
"monthly_downloads": 25080
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "25,080 downloads/month across pypi",
"points": 58.7,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 25080,
"ecosystems": "pypi"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "good",
"name": "Sustainability & Governance",
"value": 78,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "good",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 74,
"inputs": {
"bus_factor": 3,
"contributors_sampled": 22,
"top_contributor_share": 0.235
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "3 contributor(s) cover half of all commits",
"points": 36,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 3
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 24% of commits",
"points": 17.2,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 24
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "22 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 22
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 83,
"inputs": {
"merged_prs": 387,
"open_issues": 57,
"closed_issues": 213,
"issue_closed_ratio": 0.789,
"closed_unmerged_prs": 57
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "79% of issues closed",
"points": 36.9,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 79
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "387/444 decided PRs merged",
"points": 33.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 387,
"decided": 444
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"followers": 128,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "bespokelabsai",
"public_repos": 17,
"account_age_days": 825
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "128 followers of bespokelabsai",
"points": 15.2,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 128,
"login": "bespokelabsai"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "17 public repos, account ~2 yr old",
"points": 13.7,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 17
}
},
{
"code": "account_age_years",
"params": {
"years": 2
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"bespokelabs-curator"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 13
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 13 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 13
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "57 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 57
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "excellent",
"name": "Engineering Quality",
"value": 95,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": true
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "1 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 1
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 16,
"status": "met",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 9.6,
"status": "met",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "excellent",
"name": "Documentation",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"topics": [
"synthetic-data",
"agents",
"llm",
"prompt",
"python",
"synthetic-dataset-generation",
"deep-learning",
"fine-tuning",
"instruction-tuning",
"machine-learning",
"natural-language-processing"
],
"has_wiki": true,
"homepage": "https://docs.bespokelabs.ai/bespoke-curator",
"has_readme": true,
"has_docs_dir": true,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://docs.bespokelabs.ai/bespoke-curator",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "11 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 11
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "critical",
"name": "Security",
"value": 10,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"dependency_lockfiles"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"source": "file_signals",
"lockfiles": [
"poetry.lock"
],
"manifests": [
"pyproject.toml"
],
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"components": [
{
"key": "security_policy_security_md",
"name": "Security policy (SECURITY.md)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "dependabot_config",
"name": "Dependabot config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "dependency_lockfiles",
"name": "Dependency lockfiles",
"detail": "published library — lockfiles are an application concern, not expected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "lockfiles_not_expected",
"params": {}
}
],
"max_points": 25
},
{
"key": "codeql_workflow",
"name": "CodeQL workflow",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"key": "dependency_advisories",
"band": "at_risk",
"name": "Dependency advisories",
"note": "Matched the pypi:bespokelabs-curator@0.1.29 runtime dependency closure — what installing the published package pulls in — 114 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "pypi:bespokelabs-curator@0.1.29",
"assessed": 114
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 44,
"inputs": {
"source": "osv",
"advisories": 39,
"affected_packages": 5,
"assessed_packages": 114,
"unassessed_packages": 0,
"affected_by_severity": "critical 1, high 3, moderate 1",
"direct_affected_packages": 1
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "1 affected: litellm 1.83.7 (critical 9.8)",
"points": 7.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "litellm 1.83.7 (critical 9.8)"
}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "4 affected: aiohttp 3.13.5 (high 7.5), click 8.1.8 (high 7.2), google-cloud-aiplatform 1.71.1 (high), +1 more",
"points": 6.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 4,
"packages": "aiohttp 3.13.5 (high 7.5), click 8.1.8 (high 7.2), google-cloud-aiplatform 1.71.1 (high)"
}
},
{
"code": "advisories_affected_more",
"params": {
"count": 1
}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "2 advisory-carrying package(s) unaddressed past 90 days; oldest published 156 days ago",
"points": 29.9,
"status": "partial",
"details": [
{
"code": "advisories_stale",
"params": {
"days": 90,
"count": 2,
"oldest": 156
}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "excellent",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 114,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "excellent",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"review_only_matches": 0,
"assessed_self_published_locations": 8
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "moderate",
"name": "AI Readiness",
"value": 58,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "at_risk",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.99,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "99 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 99,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 79,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"poetry.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0.12,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 11,
"status": "met",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "12 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 12,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 35987,
"source_files_sampled": 175,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/175 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 175,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"examples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "examples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "examples"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"OpenSSF Scorecard did not return a usable result (exit code -9); skipping Scorecard checks"
],
"report_type": "repository",
"generated_at": "2026-07-27T08:56:25.673742Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/b/bespokelabsai/curator.svg",
"full_name": "bespokelabsai/curator",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}