)]}'
{
  "commit": "b3baefd8a2e1c1edf57a2c87427111ba58a5dae9",
  "tree": "6add5f1f0547a81ba2e295e0c0cd768b1bec10fb",
  "parents": [
    "f0ffb4c86a5df6b8446aa23236fc9c59764ed7e6"
  ],
  "author": {
    "name": "elijahbenizzy",
    "email": "elijah_ben_izzy@alumni.brown.edu",
    "time": "Thu Feb 16 12:01:17 2023 -0800"
  },
  "committer": {
    "name": "elijahbenizzy",
    "email": "elijah_ben_izzy@alumni.brown.edu",
    "time": "Thu Feb 16 12:01:17 2023 -0800"
  },
  "message": "Decorators now declare the configuration parameters they need\n\nThis allows for inspection/visibility, and will be essential in\ncheckpointing/storage options. We want decorators to declare these\nupfront, rather than relying on the internals of the decorators to\nbreak, enabling clearer error messages for more usable\nconfiguration-driven pipelines.\n\nFurthermore, we also allow for some \"optional\" configuration parameters.\nThese enable us to provide a default. The use-case here is config.when\n-- which currently defaults to None. Allowing this from the start is not\nideal, but it\u0027s what we did and users rely on it.\n\nThere *is* an out, however. If someone is using the base `@config`,\nthey were able to declare a lambda function, which yields no insight\ninto the parameters required by the function. To bypass this, we pass\nNone out, and the framework knows not to filter the required parameters.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9cdcfc30a8eaff0d3a6751dc1eab4f9fa123a041",
      "old_mode": 33188,
      "old_path": "hamilton/function_modifiers/base.py",
      "new_id": "cd896047662a84b800c6caa9fe3075e2c638a499",
      "new_mode": 33188,
      "new_path": "hamilton/function_modifiers/base.py"
    },
    {
      "type": "modify",
      "old_id": "75532b7caf4aa81882827ee58b3bfbf8385a31d7",
      "old_mode": 33188,
      "old_path": "hamilton/function_modifiers/configuration.py",
      "new_id": "e49ad20a4002ffd0194c0e06cf6d49fb167e3127",
      "new_mode": 33188,
      "new_path": "hamilton/function_modifiers/configuration.py"
    },
    {
      "type": "modify",
      "old_id": "a133c56fca5c984d7b03ea4c3b69e0129dd46c33",
      "old_mode": 33188,
      "old_path": "hamilton/function_modifiers/macros.py",
      "new_id": "70b1e0146e59c9a1f83ea9aec9117dc2772cf426",
      "new_mode": 33188,
      "new_path": "hamilton/function_modifiers/macros.py"
    }
  ]
}
