)]}'
{
  "commit": "18442eeacf1ece7fcf4d5268b03c1f4e9229e90c",
  "tree": "b4394b79b9a3dde94f703eaf91d197889ae486e8",
  "parents": [
    "a288e84ff55afdc48b8922ba336f01ffa04de126"
  ],
  "author": {
    "name": "elijahbenizzy",
    "email": "elijah_ben_izzy@alumni.brown.edu",
    "time": "Mon Feb 03 21:12:06 2025 -0800"
  },
  "committer": {
    "name": "elijahbenizzy",
    "email": "elijah_ben_izzy@alumni.brown.edu",
    "time": "Tue Feb 04 13:45:54 2025 -0800"
  },
  "message": "Updates from_functions and from_molues to use the same base \"compile\"\nfunction\n\nThis makes it so that we reduce code paths -- we\u0027ll eventually use\ncompile for everything. This also allows us to push functions up to the\nuser level, enabling `with_functions`\n\nNote the following desired behavior:\n\nDesired behavior:\n\n- .with_modules() is the main entrypoint, users pass code that\u0027s stored in versionable file\n- .allow_module_overrides() (current behavior) allows .with_modules(module_a, module_b) to have module_b override nodes from module_a\n- .with_functions() allows to build a DAG from functions alone or in combination with .with_modules(). Node names must be unique (current behavior)\n- .with_functions() + .allow_module_overrides() means the content from .with_functions() is applied last.\n    - nodes produced by .with_functions() are overriden in order if duplicates\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5351fb719b68ca8d7ce09d441a72e4593589718a",
      "old_mode": 33188,
      "old_path": "dag_example_module.png",
      "new_id": "6bacf4647d72389dd1078cfc22bc333c839453f9",
      "new_mode": 33188,
      "new_path": "dag_example_module.png"
    },
    {
      "type": "modify",
      "old_id": "63d3a8bf6efbc5beeb17ba27d6efecccc08f9606",
      "old_mode": 33188,
      "old_path": "hamilton/async_driver.py",
      "new_id": "1c79ce6e37e047cdf31779ab706ca15ea8007e1f",
      "new_mode": 33188,
      "new_path": "hamilton/async_driver.py"
    },
    {
      "type": "modify",
      "old_id": "868764e58f34717aaf0de3556fc68796c7af92ef",
      "old_mode": 33188,
      "old_path": "hamilton/driver.py",
      "new_id": "0646673dc08f3ecae1897d8e6dbe52246974dc57",
      "new_mode": 33188,
      "new_path": "hamilton/driver.py"
    },
    {
      "type": "modify",
      "old_id": "43ccd24ca1c325d62f920fdf8a51b694a9259a47",
      "old_mode": 33188,
      "old_path": "hamilton/graph.py",
      "new_id": "68ae94d5f2de3fc394fcfa5e53f366c796ef0cb5",
      "new_mode": 33188,
      "new_path": "hamilton/graph.py"
    },
    {
      "type": "modify",
      "old_id": "24f8da0e9be2a80288b3a1b71203a79d123770fa",
      "old_mode": 33188,
      "old_path": "pyproject.toml",
      "new_id": "e7945e15d507f9afc109304fa76b98f56d454f4a",
      "new_mode": 33188,
      "new_path": "pyproject.toml"
    }
  ]
}
