Skip to main content
Version: Next

Developer Guide Overview

This guide assumes you have checked-out the repository.

Environment setup​

Contributor setup instructions are maintained in CONTRIBUTING.md.

The core Hydra framework supports Python 3.10 through 3.14. You may need to create additional environments for different Python versions if CI detects issues on a supported Python version.

Unsanitized tracebacks​

When an application raises, Hydra removes its startup frames before the application entry point. After that point, it replaces spans of Hydra frames with a "Hydra frames hidden" marker while retaining application and third-party frames, including OmegaConf frames. User-created exception chains remain visible. This output highlights application code but hides Hydra internals that may be needed to diagnose a framework bug.

This also applies to failures during instantiate(): the application call site and available user target frames remain visible. Target exceptions retain their original type and chain within the process. Across process boundaries, an exception that fails a local pickle round-trip becomes a RuntimeError naming its original type; its serialized traceback and chain remain available. InstantiationException is not compact; compact configuration errors before the application starts still show only their messages.

Set HYDRA_FULL_ERROR=1 to disable the sanitization and get the complete Hydra and OmegaConf call stack:

HYDRA_FULL_ERROR=1 python my_app.py

Hydra also skips sanitization automatically when it detects that the process is running under a debugger.

This is a framework debugging facility rather than a troubleshooting step for application users, so Hydra does not suggest it after runtime failures. Ask for it when triaging a bug report that needs the unsanitized traceback.