Hydra 1.2 __full__ (2024)

# Old (Hydra 1.1) @hydra.main(config_path="conf", config_name="config") def main(cfg): ... def main(): cfg = hydra.initialize_and_run(config_path="conf", config_name="config", task_function=my_task)

If you have ever tried to manage a massive Python configuration file full of nested dictionaries, you know the pain. That is why the open-source community fell in love with (from Facebook Research). It allows you to compose dynamic configurations from multiple files and override anything from the command line.

Version 1.2 introduces for certain resolver functions. Early benchmarks show a 40% reduction in instantiation time for large config suites. 5. Deprecation of hydra.main This is the breaking change you need to watch for. The decorator @hydra.main() has been a staple since day one. It now throws a DeprecationWarning . In Hydra 2.0 (planned for Q3 2026), it will be removed. hydra 1.2

Navigating the Labyrinth: What’s New in Hydra 1.2

Last week, the team released , and it is not just a minor patch—it changes how we think about configuration composition. # Old (Hydra 1

pip install hydra-core --upgrade Happy composing! Let us know in the comments if you have found the 1.2 resolver syntax tricky—I will be writing a deep dive on that next week.

This moves Hydra away from rigid inheritance trees (which often broke) toward a more flexible composition model. You can now write: It allows you to compose dynamic configurations from

This change allows for better type checking and allows you to run Hydra inside Jupyter Notebooks (finally!) without weird hacks. Yes, but carefully. If you are starting a new project today, use Hydra 1.2 . The new composition rules and Jupyter support are worth it.