)]}'
{
  "commit": "8741d30cd812e4668f3f9187b56f12ce2de0d6e7",
  "tree": "d7fa7ec580a8ce057c76934d8a7ef01f3e710ce2",
  "parents": [
    "8a5d783c7e418bfbbd95e48a2d9cacafea6162c7"
  ],
  "author": {
    "name": "Tim Saucer",
    "email": "timsaucer@gmail.com",
    "time": "Thu Apr 23 22:01:01 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Apr 23 22:01:01 2026 -0400"
  },
  "message": "docs: enrich module docstrings and add doctest examples (#1498)\n\n* Enrich module docstrings and add doctest examples\n\nExpands the module docstrings for `functions.py`, `dataframe.py`,\n`expr.py`, and `context.py` so each module opens with a concept summary,\ncross-references to related APIs, and a small executable example.\n\nAdds doctest examples to the high-traffic `DataFrame` methods that\npreviously lacked them: `select`, `aggregate`, `sort`, `limit`, `join`,\nand `union`. Optional parameters are demonstrated with keyword syntax,\nand examples reuse the same input data across variants so the effect of\neach option is easy to see.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Use distinct group sums in aggregate docstring example\n\nChange the score data from [1, 2, 3] to [1, 2, 5] so the grouped\nresult produces [3, 5] instead of [3, 3], removing ambiguity about\nwhich total belongs to which team.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n\n* Align module-docstring examples with SKILL.md idioms\n\nDrop the redundant lit() in the dataframe.py module-docstring filter\nexample and use a plain string group key in the aggregate() doctest, so\nboth examples model the style SKILL.md recommends. Also document the\nsort(\"a\") string form and sort_by() shortcut in SKILL.md\u0027s sorting\nsection.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n\n---------\n\nCo-authored-by: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "14ea5c60915d1df53e220de41f9e775a3a4c596c",
      "old_mode": 33188,
      "old_path": "SKILL.md",
      "new_id": "7b07b430faaf46a6d2e98a1a74977d21cbea6d3a",
      "new_mode": 33188,
      "new_path": "SKILL.md"
    },
    {
      "type": "modify",
      "old_id": "c3f94cc16c0ff7ee130f93de9f9c202032c55c9b",
      "old_mode": 33188,
      "old_path": "python/datafusion/context.py",
      "new_id": "dd6790402cf36e22048b2d9b83f22127ca0e38c0",
      "new_mode": 33188,
      "new_path": "python/datafusion/context.py"
    },
    {
      "type": "modify",
      "old_id": "c00c85fdb9d9fa8e7d2e48b543f6c3f503e0da95",
      "old_mode": 33188,
      "old_path": "python/datafusion/dataframe.py",
      "new_id": "2b07861da0b103e26a5e5d9bbdeaa0f7de272bcd",
      "new_mode": 33188,
      "new_path": "python/datafusion/dataframe.py"
    },
    {
      "type": "modify",
      "old_id": "32004656fc7b68838cb9326df21428e1b3663979",
      "old_mode": 33188,
      "old_path": "python/datafusion/expr.py",
      "new_id": "1ff6976f7df294db49fb1d27174cb1ce318d7327",
      "new_mode": 33188,
      "new_path": "python/datafusion/expr.py"
    },
    {
      "type": "modify",
      "old_id": "841cd9c0bc23742ac780779bb8c2ae343bf0ec5e",
      "old_mode": 33188,
      "old_path": "python/datafusion/functions.py",
      "new_id": "280a6d3ac50de336121c2ebb5d91f38bd2adea81",
      "new_mode": 33188,
      "new_path": "python/datafusion/functions.py"
    }
  ]
}
