[{"data":1,"prerenderedAt":394},["ShallowReactive",2],{"navigation":3,"api-navigation":184,"\u002Fresources\u002Fintegrations":206,"docyard:crossref-index":393},[4,8,155,174,180],{"title":5,"path":6,"stem":7},"Getting Started","\u002Fgetting-started","1.getting-started",{"title":9,"path":10,"stem":11,"children":12},"Learn","\u002Flearn","2.learn",[13,15,66,99,133],{"title":9,"path":10,"stem":14},"2.learn\u002Findex",{"title":16,"path":17,"stem":18,"children":19},"Tutorials","\u002Flearn\u002Ftutorials","2.learn\u002F1.tutorials\u002Findex",[20,21,26,30,34,38,42,46,50,54,58,62],{"title":16,"path":17,"stem":18},{"title":22,"path":23,"stem":24,"icon":25},"Why Laco?","\u002Flearn\u002Ftutorials\u002Fwhy-laco","2.learn\u002F1.tutorials\u002F01.why-laco","i-lucide-notebook",{"title":27,"path":28,"stem":29,"icon":25},"First Steps with Laco","\u002Flearn\u002Ftutorials\u002Ffirst-steps","2.learn\u002F1.tutorials\u002F02.first-steps",{"title":31,"path":32,"stem":33,"icon":25},"Lazy Call and Partial","\u002Flearn\u002Ftutorials\u002Flazy-call-and-partial","2.learn\u002F1.tutorials\u002F03.lazy-call-and-partial",{"title":35,"path":36,"stem":37,"icon":25},"Hyperparameters and Interpolation","\u002Flearn\u002Ftutorials\u002Fhyperparameters-and-interpolation","2.learn\u002F1.tutorials\u002F04.hyperparameters-and-interpolation",{"title":39,"path":40,"stem":41,"icon":25},"Loading, Saving, and the CLI","\u002Flearn\u002Ftutorials\u002Floading-saving-cli","2.learn\u002F1.tutorials\u002F05.loading-saving-cli",{"title":43,"path":44,"stem":45,"icon":25},"Nested Configs and Containers","\u002Flearn\u002Ftutorials\u002Fnested-configs-and-containers","2.learn\u002F1.tutorials\u002F06.nested-configs-and-containers",{"title":47,"path":48,"stem":49,"icon":25},"Typed Groups and Schemas","\u002Flearn\u002Ftutorials\u002Ftyped-groups-and-schemas","2.learn\u002F1.tutorials\u002F07.typed-groups-and-schemas",{"title":51,"path":52,"stem":53,"icon":25},"Pipeline Configs","\u002Flearn\u002Ftutorials\u002Fpipeline-configs","2.learn\u002F1.tutorials\u002F08.pipeline-configs",{"title":55,"path":56,"stem":57,"icon":25},"Tasks and the App Loop","\u002Flearn\u002Ftutorials\u002Ftasks-and-app-loop","2.learn\u002F1.tutorials\u002F09.tasks-and-app-loop",{"title":59,"path":60,"stem":61,"icon":25},"Tracing","\u002Flearn\u002Ftutorials\u002Ftracing","2.learn\u002F1.tutorials\u002F10.tracing",{"title":63,"path":64,"stem":65,"icon":25},"Production Patterns","\u002Flearn\u002Ftutorials\u002Fproduction-patterns","2.learn\u002F1.tutorials\u002F11.production-patterns",{"title":67,"path":68,"stem":69,"children":70},"Concepts","\u002Flearn\u002Fconcepts","2.learn\u002F2.concepts\u002Findex",[71,72,76,80,84,88,92,95],{"title":67,"path":68,"stem":69},{"title":73,"path":74,"stem":75},"Config as Python","\u002Flearn\u002Fconcepts\u002Fconfig-as-python","2.learn\u002F2.concepts\u002F1.config-as-python",{"title":77,"path":78,"stem":79},"Lazy Construction","\u002Flearn\u002Fconcepts\u002Flazy-construction","2.learn\u002F2.concepts\u002F2.lazy-construction",{"title":81,"path":82,"stem":83},"Lie-Typing","\u002Flearn\u002Fconcepts\u002Flie-typing","2.learn\u002F2.concepts\u002F3.lie-typing",{"title":85,"path":86,"stem":87},"Interpolation","\u002Flearn\u002Fconcepts\u002Finterpolation","2.learn\u002F2.concepts\u002F4.interpolation",{"title":89,"path":90,"stem":91},"Typed Groups","\u002Flearn\u002Fconcepts\u002Ftyped-groups","2.learn\u002F2.concepts\u002F5.typed-groups",{"title":59,"path":93,"stem":94},"\u002Flearn\u002Fconcepts\u002Ftracing","2.learn\u002F2.concepts\u002F6.tracing",{"title":96,"path":97,"stem":98},"App Loop","\u002Flearn\u002Fconcepts\u002Fapp-loop","2.learn\u002F2.concepts\u002F7.app-loop",{"title":100,"path":101,"stem":102,"children":103},"How-To Guides","\u002Flearn\u002Fhow-to","2.learn\u002F3.how-to\u002Findex",[104,105,109,113,117,121,125,129],{"title":100,"path":101,"stem":102},{"title":106,"path":107,"stem":108},"Override Configs","\u002Flearn\u002Fhow-to\u002Foverride-configs","2.learn\u002F3.how-to\u002F1.override-configs",{"title":110,"path":111,"stem":112},"Safe Loading","\u002Flearn\u002Fhow-to\u002Fsafe-loading","2.learn\u002F3.how-to\u002F2.safe-loading",{"title":114,"path":115,"stem":116},"Custom Resolvers","\u002Flearn\u002Fhow-to\u002Fcustom-resolvers","2.learn\u002F3.how-to\u002F3.custom-resolvers",{"title":118,"path":119,"stem":120},"Lint and Strict Mode","\u002Flearn\u002Fhow-to\u002Flint-and-strict","2.learn\u002F3.how-to\u002F4.lint-and-strict",{"title":122,"path":123,"stem":124},"Publishing a reproducible app with laco app","\u002Flearn\u002Fhow-to\u002Flaco-app","2.learn\u002F3.how-to\u002F5.laco-app",{"title":126,"path":127,"stem":128},"Reproduce an Experiment","\u002Flearn\u002Fhow-to\u002Freproduce-experiment","2.learn\u002F3.how-to\u002F6.reproduce-experiment",{"title":130,"path":131,"stem":132},"Migrate from argparse","\u002Flearn\u002Fhow-to\u002Fmigrate-from-argparse","2.learn\u002F3.how-to\u002F7.migrate-from-argparse",{"title":134,"path":135,"stem":136,"children":137},"Examples Curriculum","\u002Flearn\u002Fexamples","2.learn\u002F4.examples\u002Findex",[138,139,143,147,151],{"title":134,"path":135,"stem":136},{"title":140,"path":141,"stem":142},"Foundation Examples","\u002Flearn\u002Fexamples\u002Ffoundations","2.learn\u002F4.examples\u002F1.foundations",{"title":144,"path":145,"stem":146},"Building Blocks","\u002Flearn\u002Fexamples\u002Fbuilding-blocks","2.learn\u002F4.examples\u002F2.building-blocks",{"title":148,"path":149,"stem":150},"Typed-Group Variants","\u002Flearn\u002Fexamples\u002Ftyped-variants","2.learn\u002F4.examples\u002F3.typed-variants",{"title":152,"path":153,"stem":154},"End-to-End Pipelines","\u002Flearn\u002Fexamples\u002Fpipelines","2.learn\u002F4.examples\u002F4.pipelines",{"title":156,"path":157,"stem":158,"children":159},"Resources","\u002Fresources","3.resources",[160,162,166,170],{"title":156,"path":157,"stem":161},"3.resources\u002Findex",{"title":163,"path":164,"stem":165},"Integrations","\u002Fresources\u002Fintegrations","3.resources\u002F1.integrations",{"title":167,"path":168,"stem":169},"Migration guide: Laco 0.x → 1.0","\u002Fresources\u002Fmigration-0.x-to-1.0","3.resources\u002F2.migration-0.x-to-1.0",{"title":171,"path":172,"stem":173},"Laco vs hydra-zen","\u002Fresources\u002Flaco-vs-hydra-zen","3.resources\u002F3.laco-vs-hydra-zen",{"title":175,"path":176,"stem":177,"children":178},"API Reference","\u002Fapi","4.api\u002Findex",[179],{"title":175,"path":176,"stem":177},{"title":181,"path":182,"stem":183},"Lazy Configuration for Python","\u002F","index",[185,188,191,194,197,200,203],{"title":186,"path":187},"cli","\u002Fapi\u002Fcli",{"title":189,"path":190},"compat","\u002Fapi\u002Fcompat",{"title":192,"path":193},"handler","\u002Fapi\u002Fhandler",{"title":195,"path":196},"keys","\u002Fapi\u002Fkeys",{"title":198,"path":199},"language","\u002Fapi\u002Flanguage",{"title":201,"path":202},"ops","\u002Fapi\u002Fops",{"title":204,"path":205},"utils","\u002Fapi\u002Futils",{"id":207,"title":163,"body":208,"description":387,"extension":388,"meta":389,"navigation":390,"path":164,"seo":391,"stem":165,"__hash__":392},"content\u002F3.resources\u002F1.integrations.md",{"type":209,"value":210,"toc":383},"minimark",[211,215,224],[212,213,163],"h1",{"id":214},"integrations",[216,217,218,219,223],"p",{},"Laco ships optional extension packages under the ",[220,221,222],"code",{},"laco.integrations"," namespace. Each is installed separately and registers itself automatically via entry points.",[225,226,227,245],"table",{},[228,229,230],"thead",{},[231,232,233,237,242],"tr",{},[234,235,236],"th",{},"Package",[234,238,239],{},[220,240,241],{},"pip install",[234,243,244],{},"Description",[246,247,248,267,283,299,315,331,347,363],"tbody",{},[231,249,250,260,264],{},[251,252,253],"td",{},[254,255,259],"a",{"href":256,"rel":257},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-torch",[258],"nofollow","laco-torch",[251,261,262],{},[220,263,259],{},[251,265,266],{},"PyTorch optimizer and scheduler configurables",[231,268,269,276,280],{},[251,270,271],{},[254,272,275],{"href":273,"rel":274},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-lightning",[258],"laco-lightning",[251,277,278],{},[220,279,275],{},[251,281,282],{},"PyTorch Lightning trainer integration",[231,284,285,292,296],{},[251,286,287],{},[254,288,291],{"href":289,"rel":290},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-logging",[258],"laco-logging",[251,293,294],{},[220,295,291],{},[251,297,298],{},"Unified experiment logging (W&B, MLflow, TensorBoard)",[231,300,301,308,312],{},[251,302,303],{},[254,304,307],{"href":305,"rel":306},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-pydantic",[258],"laco-pydantic",[251,309,310],{},[220,311,307],{},[251,313,314],{},"Pydantic v2 bridge for structured configs",[231,316,317,324,328],{},[251,318,319],{},[254,320,323],{"href":321,"rel":322},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-pytest",[258],"laco-pytest",[251,325,326],{},[220,327,323],{},[251,329,330],{},"Pytest plugin and fixtures",[231,332,333,340,344],{},[251,334,335],{},[254,336,339],{"href":337,"rel":338},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-submitit",[258],"laco-submitit",[251,341,342],{},[220,343,339],{},[251,345,346],{},"SLURM\u002Fsubmitit cluster job submission",[231,348,349,356,360],{},[251,350,351],{},[254,352,355],{"href":353,"rel":354},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-dvc",[258],"laco-dvc",[251,357,358],{},[220,359,355],{},[251,361,362],{},"DVC artifact tracking",[231,364,365,372,376],{},[251,366,367],{},[254,368,371],{"href":369,"rel":370},"https:\u002F\u002Fgithub.com\u002Fkhwstolle\u002Flaco\u002Ftree\u002Fmaster\u002Fpackages\u002Flaco-typer",[258],"laco-typer",[251,373,374],{},[220,375,371],{},[251,377,378,379,382],{},"Typer CLI generation from ",[220,380,381],{},"@L.params"," blocks",{"title":384,"searchDepth":385,"depth":385,"links":386},"",3,[],"Laco ships optional extension packages under the laco.integrations namespace. Each is installed separately and registers itself automatically via entry points.","md",{},true,{"title":163,"description":387},"btL91A7b8Ri02f_N3xm2pF8Bw7_dWBpUI6dTMYGZCV4",{},1785687296013]