{"id":23865,"library":"hydra-joblib-launcher","title":"Hydra Joblib Launcher","description":"Provides a Joblib-based launcher for Hydra applications, enabling parallel execution of joblib tasks (e.g., using loky or threading backend). Current version 1.2.0 is compatible with Hydra 1.1 and 1.2. Low release cadence; last updated 2021.","status":"active","version":"1.2.0","language":"python","source_language":"en","source_url":"https://github.com/facebookresearch/hydra/tree/main/plugins/hydra_joblib_launcher","tags":["hydra","launcher","joblib","parallel","hydra-plugin"],"install":[{"cmd":"pip install hydra-joblib-launcher","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Core Hydra framework required.","package":"hydra-core","optional":false}],"imports":[{"note":"Module lives under hydra_plugins namespace.","wrong":"from hydra_joblib_launcher import JoblibLauncher","symbol":"JoblibLauncher","correct":"from hydra_plugins.hydra_joblib_launcher.joblib_launcher import JoblibLauncher"}],"quickstart":{"code":"import hydra\nfrom omegaconf import DictConfig\n\n@hydra.main(config_name=\"config\", config_path=\".\", version_base=None)\ndef my_app(cfg: DictConfig):\n    # joblib launcher is specified in config\n    print(f\"Working on {cfg.job_id}\")\n\nif __name__ == \"__main__\":\n    my_app()","lang":"python","description":"Example Hydra app using joblib launcher (launcher config set in YAML)."},"warnings":[{"fix":"Stay on hydra-core<1.3 or use the built-in Hydra joblib launcher (experimental) from Hydra 1.3.","message":"Hydra 1.3 changed the launcher API; hydra-joblib-launcher 1.2.0 is not compatible with Hydra 1.3.","severity":"breaking","affected_versions":"hydra-core>=1.3"},{"fix":"Add `hydra.joblib: {backend: 'loky', n_jobs: 4}` to your config.","message":"The plugin must be installed and the config key 'hydra.joblib' must be set in your Hydra config to activate the launcher, else it defaults to the SequentialLauncher.","severity":"gotcha","affected_versions":"all"},{"fix":"Configure n_jobs in the config YAML, not at runtime.","message":"JoblibLauncher does not support dynamic n_jobs changes; n_jobs must be set before the job starts.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'1.1':32 '1.2':34 '1.2.0':27 '2021':40 'applic':12 'backend':24 'base':8 'cadenc':37 'compat':29 'current':25 'e.g':19 'enabl':13 'execut':15 'hydra':1,11,31,41,46 'hydra-plugin':45 'joblib':2,7,17,43 'joblib-bas':6 'last':38 'launcher':3,9,42 'loki':21 'low':35 'parallel':14,44 'plugin':47 'provid':4 'releas':36 'task':18 'thread':23 'updat':39 'use':20 'version':26","created_at":"2026-05-01T08:10:02.030510+00:00","updated_at":"2026-05-01T08:10:02.030510+00:00","problems":[{"fix":"Use `from hydra_plugins.hydra_joblib_launcher.joblib_launcher import JoblibLauncher`.","cause":"Incorrect import path; using 'hydra_joblib_launcher' instead of 'hydra_plugins.hydra_joblib_launcher'.","error":"ModuleNotFoundError: No module named 'hydra_joblib_launcher'"},{"fix":"Add `- joblib` to your defaults list or set `hydra.joblib.backend: loky` in your config.","cause":"Missing or misconfigured joblib launcher config in your Hydra configuration.","error":"KeyError: 'hydra.joblib'"},{"fix":"Ensure your config includes `hydra.joblib.backend` and `hydra.joblib.n_jobs`.","cause":"The launcher is not activated because the config key `hydra.joblib` is not defined.","error":"AttributeError: 'NoneType' object has no attribute 'backend'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":"1.2.0","cli_name":"","cli_version":null,"type":"library","homepage":null,"github":"https://github.com/facebookresearch/hydra","docs":null,"changelog":null,"pypi":"https://pypi.org/project/hydra-joblib-launcher/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["devops","workflow"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-06-29","last_verified":"2026-06-29","next_check":"2026-07-29","install_tag":null}}