[{"data":1,"prerenderedAt":608},["ShallowReactive",2],{"navigation_docs":3,"-pybrowzarr-environment":159,"-pybrowzarr-environment-surround":603},[4,25,60,85,120,135],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting Started",false,"\u002Fgetting-started","1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-soup",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation","i-lucide-download",{"title":21,"path":22,"stem":23,"icon":24},"Crash Course","\u002Fgetting-started\u002Flanding","1.getting-started\u002F3.landing","i-lucide-plane-landing",{"title":26,"path":27,"stem":28,"children":29,"page":6},"Menus","\u002Fmenus","2.Menus",[30,35,40,45,50,55],{"title":31,"path":32,"stem":33,"icon":34},"Dataset loading","\u002Fmenus\u002Fdataset-loading","2.Menus\u002F1.dataset-loading","i-lucide-database",{"title":36,"path":37,"stem":38,"icon":39},"Variable selection","\u002Fmenus\u002Fvariable-selection","2.Menus\u002F2.variable-selection","i-lucide-variable",{"title":41,"path":42,"stem":43,"icon":44},"Plot types","\u002Fmenus\u002Fplot-types","2.Menus\u002F3.plot-types","i-lucide-chart-scatter",{"title":46,"path":47,"stem":48,"icon":49},"Colorbar","\u002Fmenus\u002Fcolorbar","2.Menus\u002F4.colorbar","i-lucide-paint-bucket",{"title":51,"path":52,"stem":53,"icon":54},"Plot settings","\u002Fmenus\u002Fplot-settings","2.Menus\u002F5.plot-settings","i-heroicons-adjustments-horizontal",{"title":56,"path":57,"stem":58,"icon":59},"Analytics","\u002Fmenus\u002Fanalytics","2.Menus\u002F6.analytics","i-ph-math-operations-bold",{"title":61,"icon":6,"path":62,"stem":63,"children":64,"page":6},"Guides","\u002Fguides","3.guides",[65,70,75,80],{"title":66,"path":67,"stem":68,"icon":69},"Remote data","\u002Fguides\u002Fremote-data","3.guides\u002F1.remote-data","i-lucide-cloud",{"title":71,"path":72,"stem":73,"icon":74},"Local data","\u002Fguides\u002Flocal-data","3.guides\u002F2.local-data","i-lucide-hard-drive",{"title":76,"path":77,"stem":78,"icon":79},"Bivariate colormaps","\u002Fguides\u002Fbivariate-colormaps","3.guides\u002F3.bivariate-colormaps","i-lucide-palette",{"title":81,"path":82,"stem":83,"icon":84},"Animation and export","\u002Fguides\u002Fanimation-and-export","3.guides\u002F4.animation-and-export","i-lucide-image",{"title":86,"icon":6,"path":87,"stem":88,"children":89,"page":6},"pyBrowzarr","\u002Fpybrowzarr","4.pyBrowzarr",[90,95,100,105,110,115],{"title":91,"path":92,"stem":93,"icon":94},"Overview","\u002Fpybrowzarr\u002Foverview","4.pyBrowzarr\u002F1.overview","i-lucide-terminal",{"title":96,"path":97,"stem":98,"icon":99},"Quickstart","\u002Fpybrowzarr\u002Fquickstart","4.pyBrowzarr\u002F2.quickstart","i-lucide-rocket",{"title":101,"path":102,"stem":103,"icon":104},"Export & Animation","\u002Fpybrowzarr\u002Fexport","4.pyBrowzarr\u002F4.export","i-lucide-clapperboard",{"title":106,"path":107,"stem":108,"icon":109},"Environments","\u002Fpybrowzarr\u002Fenvironment","4.pyBrowzarr\u002F5.environment","i-lucide-monitor",{"title":111,"path":112,"stem":113,"icon":114},"Build & Update","\u002Fpybrowzarr\u002Fbuild-and-update","4.pyBrowzarr\u002F6.build-and-update","i-lucide-refresh-cw",{"title":116,"path":117,"stem":118,"icon":119},"API Reference","\u002Fpybrowzarr\u002Fapi-reference","4.pyBrowzarr\u002F7.api-reference","i-lucide-book-open",{"title":121,"icon":6,"path":122,"stem":123,"children":124,"page":6},"Community","\u002Fcommunity","5.community",[125,130],{"title":126,"path":127,"stem":128,"icon":129},"Contributing","\u002Fcommunity\u002Fcontributing","5.community\u002F1.contributing","i-lucide-git-pull-request-arrow",{"title":131,"path":132,"stem":133,"icon":134},"About","\u002Fcommunity\u002Fabout","5.community\u002F2.about","i-lucide-badge-info",{"title":136,"icon":6,"path":137,"stem":138,"children":139,"page":6},"Reference","\u002Freference","6.reference",[140,145,149,154],{"title":141,"path":142,"stem":143,"icon":144},"Supported formats","\u002Freference\u002Fsupported-formats","6.reference\u002F2.supported-formats","i-lucide-file-box",{"title":146,"path":147,"stem":148,"icon":109},"Browser support","\u002Freference\u002Fbrowser-support","6.reference\u002F3.browser-support",{"title":150,"path":151,"stem":152,"icon":153},"Troubleshooting","\u002Freference\u002Ftroubleshooting","6.reference\u002F4.troubleshooting","i-lucide-wrench",{"title":155,"path":156,"stem":157,"icon":158},"FAQ","\u002Freference\u002Ffaq","6.reference\u002F5.faq","i-lucide-message-circle-question",{"id":160,"title":106,"body":161,"description":596,"extension":597,"links":598,"meta":599,"navigation":600,"path":107,"seo":601,"stem":108,"__hash__":602},"docs\u002F4.pyBrowzarr\u002F5.environment.md",{"type":162,"value":163,"toc":582},"minimark",[164,172,177,184,244,248,252,266,318,321,331,334,337,341,344,348,354,422,498,502,536,578],[165,166,167,171],"p",{},[168,169,170],"code",{},"plot()"," detects where your code is running and opens the Browzarr view in the most\nconvenient place for that environment. You rarely need to do anything — but here is what\nhappens in each context, and how to override it.",[173,174,176],"h2",{"id":175},"how-detection-works","How detection works",[165,178,179,180,183],{},"When you call ",[168,181,182],{},".plot()",", the library checks, in order:",[185,186,187,197,205,215,228,238],"ol",{},[188,189,190,196],"li",{},[191,192,193],"strong",{},[168,194,195],{},"give_url=True"," — skip opening anything; just return the hosted URL string.",[188,198,199,204],{},[191,200,201],{},[168,202,203],{},"external_browser=True"," — always open in your OS default browser.",[188,206,207,210,211,214],{},[191,208,209],{},"Jupyter \u002F JupyterLab"," — embed the view as an inline ",[168,212,213],{},"IFrame"," in the notebook output.",[188,216,217,220,221,224,225,227],{},[191,218,219],{},"VS Code"," — open the view in VS Code's built-in ",[191,222,223],{},"Simple Browser"," tab (via the\n",[168,226,168],{}," CLI). Falls back to an external browser if the Simple Browser can't open.",[188,229,230,233,234,237],{},[191,231,232],{},"Google Colab"," — serve the local port as an inline iframe via\n",[168,235,236],{},"output.serve_kernel_port_as_iframe",".",[188,239,240,243],{},[191,241,242],{},"Otherwise"," — open in the OS default browser (with a note printed that the\nenvironment wasn't recognized).",[173,245,247],{"id":246},"behavior-per-environment","Behavior per environment",[249,250,209],"h3",{"id":251},"jupyter-jupyterlab",[165,253,254,255,257,258,261,262,265],{},"The view is rendered inline in the cell output using an ",[168,256,213],{},". Size it with\n",[168,259,260],{},"width","\u002F",[168,263,264],{},"height",":",[267,268,273],"pre",{"className":269,"code":270,"language":271,"meta":272,"style":272},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","bz.plot(width=900, height=600)\n","python","",[168,274,275],{"__ignoreMap":272},[276,277,280,284,287,291,294,297,300,304,307,310,312,315],"span",{"class":278,"line":279},"line",1,[276,281,283],{"class":282},"sTEyZ","bz",[276,285,237],{"class":286},"sMK4o",[276,288,290],{"class":289},"s2Zo4","plot",[276,292,293],{"class":286},"(",[276,295,260],{"class":296},"sHdIc",[276,298,299],{"class":286},"=",[276,301,303],{"class":302},"sbssI","900",[276,305,306],{"class":286},",",[276,308,309],{"class":296}," height",[276,311,299],{"class":286},[276,313,314],{"class":302},"600",[276,316,317],{"class":286},")\n",[249,319,219],{"id":320},"vs-code",[165,322,323,324,326,327,330],{},"If not using Jupyter within VS Code, plotting opens in the built-in Simple Browser tab, so the view stays inside the editor. This\nrequires the ",[168,325,168],{}," CLI to be on your ",[168,328,329],{},"PATH"," (it is, by default, in a VS Code\ninstallation). If it can't open, it falls back to the external browser.",[249,332,232],{"id":333},"google-colab",[165,335,336],{},"Uses the Colab kernel to serve the local port as an inline iframe, so the view appears\ninside the notebook without opening a new tab.",[249,338,340],{"id":339},"plain-terminal-script","Plain terminal \u002F script",[165,342,343],{},"Opens your OS default web browser at the local server URL.",[173,345,347],{"id":346},"controlling-where-it-opens","Controlling where it opens",[249,349,351,353],{"id":350},"plot-arguments",[168,352,170],{}," arguments",[355,356,357,370],"table",{},[358,359,360],"thead",{},[361,362,363,367],"tr",{},[364,365,366],"th",{},"Argument",[364,368,369],{},"Effect",[371,372,373,387,396,408],"tbody",{},[361,374,375,380],{},[376,377,378],"td",{},[168,379,195],{},[376,381,382,383,386],{},"Return the hosted ",[168,384,385],{},"https:\u002F\u002Fbrowzarr.io\u002Flatest\u002F?..."," URL instead of opening anything.",[361,388,389,393],{},[376,390,391],{},[168,392,203],{},[376,394,395],{},"Force the OS browser, bypassing all detection.",[361,397,398,405],{},[376,399,400,402,403],{},[168,401,260],{},", ",[168,404,264],{},[376,406,407],{},"Iframe size in Jupyter\u002FColab.",[361,409,410,415],{},[376,411,412],{},[168,413,414],{},"wait",[376,416,417,418,421],{},"Seconds to wait before opening (default ",[168,419,420],{},"0.3","), so the server is ready.",[267,423,425],{"className":269,"code":424,"language":271,"meta":272,"style":272},"# Just get a shareable URL\nurl = bz.plot(give_url=True)\nprint(url)\n\n# Always use the OS browser, even in a notebook\nbz.plot(external_browser=True)\n",[168,426,427,433,456,469,476,482],{"__ignoreMap":272},[276,428,429],{"class":278,"line":279},[276,430,432],{"class":431},"sHwdD","# Just get a shareable URL\n",[276,434,436,439,441,444,446,448,450,453],{"class":278,"line":435},2,[276,437,438],{"class":282},"url ",[276,440,299],{"class":286},[276,442,443],{"class":282}," bz",[276,445,237],{"class":286},[276,447,290],{"class":289},[276,449,293],{"class":286},[276,451,452],{"class":296},"give_url",[276,454,455],{"class":286},"=True)\n",[276,457,459,462,464,467],{"class":278,"line":458},3,[276,460,461],{"class":289},"print",[276,463,293],{"class":286},[276,465,466],{"class":289},"url",[276,468,317],{"class":286},[276,470,472],{"class":278,"line":471},4,[276,473,475],{"emptyLinePlaceholder":474},true,"\n",[276,477,479],{"class":278,"line":478},5,[276,480,481],{"class":431},"# Always use the OS browser, even in a notebook\n",[276,483,485,487,489,491,493,496],{"class":278,"line":484},6,[276,486,283],{"class":282},[276,488,237],{"class":286},[276,490,290],{"class":289},[276,492,293],{"class":286},[276,494,495],{"class":296},"external_browser",[276,497,455],{"class":286},[173,499,501],{"id":500},"local-server-ports","Local server & ports",[503,504,505,519,533],"ul",{},[188,506,507,508,511,512,515,516,518],{},"A ",[191,509,510],{},"single local HTTP server"," is shared across all ",[168,513,514],{},"Browzarr"," objects in a process.\nRepeated ",[168,517,182],{}," calls reuse it rather than spawning duplicates.",[188,520,521,522,525,526,529,530,532],{},"The server binds to ",[168,523,524],{},"localhost"," and picks the ",[191,527,528],{},"first free port starting at 8765",".\nBrowsers treat ",[168,531,524],{}," as a secure context, which WebGPU requires — so no HTTPS\nor certificate setup is needed.",[188,534,535],{},"To stop the shared server and free its port, call:",[267,537,539],{"className":269,"code":538,"language":271,"meta":272,"style":272},"from browzarr.api import BrowzarrSession\n\nBrowzarrSession.shutdown()\n",[168,540,541,561,565],{"__ignoreMap":272},[276,542,543,547,550,552,555,558],{"class":278,"line":279},[276,544,546],{"class":545},"s7zQu","from",[276,548,549],{"class":282}," browzarr",[276,551,237],{"class":286},[276,553,554],{"class":282},"api ",[276,556,557],{"class":545},"import",[276,559,560],{"class":282}," BrowzarrSession\n",[276,562,563],{"class":278,"line":435},[276,564,475],{"emptyLinePlaceholder":474},[276,566,567,570,572,575],{"class":278,"line":458},[276,568,569],{"class":282},"BrowzarrSession",[276,571,237],{"class":286},[276,573,574],{"class":289},"shutdown",[276,576,577],{"class":286},"()\n",[579,580,581],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}",{"title":272,"searchDepth":435,"depth":435,"links":583},[584,585,591,595],{"id":175,"depth":435,"text":176},{"id":246,"depth":435,"text":247,"children":586},[587,588,589,590],{"id":251,"depth":458,"text":209},{"id":320,"depth":458,"text":219},{"id":333,"depth":458,"text":232},{"id":339,"depth":458,"text":340},{"id":346,"depth":435,"text":347,"children":592},[593],{"id":350,"depth":458,"text":594},"plot() arguments",{"id":500,"depth":435,"text":501},"How pyBrowzarr opens the Browzarr view in terminal, Jupyter, VS Code, and Colab.","md",null,{},{"icon":109},{"title":106,"description":596},"pHEYc26S_hZ21U6cK9yu_hC4e4HDJYXRs7MvzZzntt0",[604,606],{"title":101,"path":102,"stem":103,"description":605,"icon":104,"children":-1},"Static image export, video export, and scripted walkthrough keyframes with pyBrowzarr.",{"title":111,"path":112,"stem":113,"description":607,"icon":114,"children":-1},"Update or rebuild the Browzarr frontend bundled with the pyBrowzarr package.",1790773465147]