/hydra

Hydra is a framework for elegantly configuring complex applications

Primary LanguagePythonMIT LicenseMIT

logo

PyPI CircleCI PyPI - License PyPI - Python Version Downloads Code style: black Total alerts Language grade: Python

A framework for elegantly configuring complex applications.

Check the website for more information,
or click the thumbnail below for a one-minute video introduction to Hydra.

1 minute overview


Releases

Stable

Hydra 1.3 is the stable version of Hydra.

See the NEWS.md file for a summary of recent changes to Hydra.

License

Hydra is licensed under MIT License.

Hydra Ecosystem

Check out these third-party libraries that build on Hydra's functionality:

  • hydra-zen: Pythonic utilities for working with Hydra. Dynamic config generation capabilities, enhanced config store features, a Python API for launching Hydra jobs, and more.
  • lightning-hydra-template: user-friendly template combining Hydra with Pytorch-Lightning for ML experimentation.
  • hydra-torch: configen-generated configuration classes enabling type-safe PyTorch configuration for Hydra apps.
  • NVIDIA's DeepLearningExamples repository contains a Hydra Launcher plugin, the distributed_launcher, which makes use of the pytorch distributed.launch API.

Ask questions in Github Discussions or StackOverflow (Use the tag #fb-hydra or #omegaconf):

Check out the Meta AI blog post to learn about how Hydra fits into Meta's efforts to reengineer deep learning platforms for interoperability.

Citing Hydra

If you use Hydra in your research please use the following BibTeX entry:

@Misc{Yadan2019Hydra,
  author =       {Omry Yadan},
  title =        {Hydra - A framework for elegantly configuring complex applications},
  howpublished = {Github},
  year =         {2019},
  url =          {https://github.com/facebookresearch/hydra}
}