Run ML experiments with different hyperparameters by overriding YAML config values from the command line without editing files.
Split a large application's settings across multiple YAML files that Hydra automatically merges at startup.
Replace boilerplate argparse argument-parsing code with structured, composable configuration files.
Use Hydra's multirun feature to sweep over a grid of hyperparameters in a single command.
| facebookresearch/hydra | harelba/q | vega/altair | |
|---|---|---|---|
| Stars | 10,360 | 10,347 | 10,375 |
| Language | Python | Python | Python |
| Setup difficulty | easy | easy | easy |
| Complexity | 2/5 | 2/5 | 2/5 |
| Audience | researcher | data | data |
Figures from each repo's GitHub metadata at analysis time.
Requires Python 3.10+ and familiarity with YAML syntax to get the most out of config composition.
Hydra is a Python framework from Meta's research team that makes it easier to manage configuration in complex applications. Configuration refers to all the settings and options your program needs to run: things like which model to use, where to find data, what learning rate to apply, or which server to connect to. As applications grow, managing all these settings in a clean and flexible way becomes a real challenge. Hydra is built to solve that. The core idea is that you define your configuration in structured files (using a format called YAML), and Hydra loads and composes those files when your program starts. You can override any setting from the command line without changing the files, which makes it easy to run experiments with different parameters. You can also combine multiple configuration files together, so a large application can split its settings across many files that get merged at runtime. Hydra is especially popular in machine learning research, where people frequently run the same program many times with slightly different settings to compare results. It reduces the boilerplate involved in parsing command-line arguments and managing configuration across runs. A number of third-party libraries build on top of it, including templates that combine Hydra with popular training frameworks for convenience. Installation is a single pip command. The stable version is 1.3, and a development version (1.4) is available from source. It supports Python 3.10 through 3.14 and is licensed under the MIT open-source license. Documentation lives on the project's own website, and the community uses GitHub Discussions and StackOverflow for questions.
A Python framework from Meta that manages complex application configuration through composable YAML files with command-line overrides, especially popular for running machine learning experiments with different settings.
Mainly Python. The stack also includes Python, YAML, pip.
Licensed under the MIT license, use freely for any purpose, including commercial projects, as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Verify against the repo before relying on details.