From 8b813c7a87d62f9972b193f19d23c5c672a71ff3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Mazzucotelli?= <dev@pawamoy.fr> Date: Wed, 14 Aug 2024 19:51:23 +0200 Subject: [PATCH] Deployed 45e9468 with MkDocs version: 1.6.0 --- 404.html | 2 +- ...d249fdc4.min.js => bundle.ef37796b.min.js} | 4 +- ...0e8c34cb.min.css => main.dad623df.min.css} | 2 +- changelog/index.html | 4 +- code_of_conduct/index.html | 4 +- contributing/index.html | 4 +- credits/index.html | 4 +- index.html | 4 +- insiders/changelog/index.html | 4 +- insiders/index.html | 4 +- insiders/installation/index.html | 4 +- license/index.html | 4 +- reference/SUMMARY/index.html | 4 +- .../python/debug/index.html | 4 +- .../python/handler/index.html | 4 +- .../mkdocstrings_handlers/python/index.html | 4 +- .../python/rendering/index.html | 4 +- search/search_index.json | 2 +- sitemap.xml | 50 +++++++++--------- sitemap.xml.gz | Bin 425 -> 424 bytes usage/configuration/docstrings/index.html | 4 +- usage/configuration/general/index.html | 4 +- usage/configuration/headings/index.html | 4 +- usage/configuration/members/index.html | 4 +- usage/configuration/signatures/index.html | 4 +- usage/customization/index.html | 4 +- usage/docstrings/google/index.html | 4 +- usage/docstrings/numpy/index.html | 4 +- usage/docstrings/sphinx/index.html | 4 +- usage/extensions/index.html | 4 +- usage/index.html | 4 +- 31 files changed, 80 insertions(+), 80 deletions(-) rename assets/javascripts/{bundle.d249fdc4.min.js => bundle.ef37796b.min.js} (58%) rename assets/stylesheets/{main.0e8c34cb.min.css => main.dad623df.min.css} (89%) diff --git a/404.html b/404.html index e99f6e2e..57f31b54 100644 --- a/404.html +++ b/404.html @@ -1 +1 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link rel=icon href=/python/assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>mkdocstrings-python</title><link rel=stylesheet href=/python/assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=/python/assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=/python/assets/_markdown_exec_pyodide.css><link rel=stylesheet href=/python/assets/_mkdocstrings.css><link rel=stylesheet href=/python/css/material.css><link rel=stylesheet href=/python/css/mkdocstrings.css><link rel=stylesheet href=/python/css/insiders.css><script>__md_scope=new URL("/python/",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=/python/insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=/python/. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=/python/logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=/python/. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=/python/usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=/python/reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=/python/contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=/python/insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=/python/. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=/python/logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=/python/. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=/python/credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=/python/license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=/python/usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=/python/reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=/python/code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=/python/insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=/python/insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>404 - Not found</h1> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "/python/", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "/python/assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=/python/assets/javascripts/bundle.d249fdc4.min.js></script> <script src=/python/assets/_markdown_exec_pyodide.js></script> <script src=/python/js/feedback.js></script> </body> </html> \ No newline at end of file +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link rel=icon href=/python/assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>mkdocstrings-python</title><link rel=stylesheet href=/python/assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=/python/assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=/python/assets/_markdown_exec_pyodide.css><link rel=stylesheet href=/python/assets/_mkdocstrings.css><link rel=stylesheet href=/python/css/material.css><link rel=stylesheet href=/python/css/mkdocstrings.css><link rel=stylesheet href=/python/css/insiders.css><script>__md_scope=new URL("/python/",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=/python/insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=/python/. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=/python/logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=/python/. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=/python/usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=/python/reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=/python/contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=/python/insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=/python/. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=/python/logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=/python/. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=/python/credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=/python/license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=/python/usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=/python/usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=/python/reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=/python/reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=/python/code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=/python/insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/python/insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=/python/insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>404 - Not found</h1> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "/python/", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "/python/assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=/python/assets/javascripts/bundle.ef37796b.min.js></script> <script src=/python/assets/_markdown_exec_pyodide.js></script> <script src=/python/js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/assets/javascripts/bundle.d249fdc4.min.js b/assets/javascripts/bundle.ef37796b.min.js similarity index 58% rename from assets/javascripts/bundle.d249fdc4.min.js rename to assets/javascripts/bundle.ef37796b.min.js index e565eb78..e9ffcbe7 100644 --- a/assets/javascripts/bundle.d249fdc4.min.js +++ b/assets/javascripts/bundle.ef37796b.min.js @@ -1,3 +1,3 @@ -"use strict";(()=>{var Bi=Object.create;var _r=Object.defineProperty;var Gi=Object.getOwnPropertyDescriptor;var Ji=Object.getOwnPropertyNames,Bt=Object.getOwnPropertySymbols,Xi=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty,uo=Object.prototype.propertyIsEnumerable;var fo=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&fo(e,r,t[r]);if(Bt)for(var r of Bt(t))uo.call(t,r)&&fo(e,r,t[r]);return e};var ho=(e,t)=>{var r={};for(var o in e)Ar.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Bt)for(var o of Bt(e))t.indexOf(o)<0&&uo.call(e,o)&&(r[o]=e[o]);return r};var Cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var Zi=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ji(t))!Ar.call(e,n)&&n!==r&&_r(e,n,{get:()=>t[n],enumerable:!(o=Gi(t,n))||o.enumerable});return e};var Gt=(e,t,r)=>(r=e!=null?Bi(Xi(e)):{},Zi(t||!e||!e.__esModule?_r(r,"default",{value:e,enumerable:!0}):r,e));var bo=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{a(r.next(c))}catch(p){n(p)}},s=c=>{try{a(r.throw(c))}catch(p){n(p)}},a=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);a((r=r.apply(e,t)).next())});var go=Cr((Hr,vo)=>{(function(e,t){typeof Hr=="object"&&typeof vo!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Hr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function c(H){var ft=H.type,Fe=H.tagName;return!!(Fe==="INPUT"&&s[ft]&&!H.readOnly||Fe==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function p(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(H){o=!1}function d(H){a(H.target)&&(o||c(H.target))&&p(H.target)}function g(H){a(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function L(H){document.visibilityState==="hidden"&&(n&&(o=!0),ee())}function ee(){document.addEventListener("mousemove",Z),document.addEventListener("mousedown",Z),document.addEventListener("mouseup",Z),document.addEventListener("pointermove",Z),document.addEventListener("pointerdown",Z),document.addEventListener("pointerup",Z),document.addEventListener("touchmove",Z),document.addEventListener("touchstart",Z),document.addEventListener("touchend",Z)}function ne(){document.removeEventListener("mousemove",Z),document.removeEventListener("mousedown",Z),document.removeEventListener("mouseup",Z),document.removeEventListener("pointermove",Z),document.removeEventListener("pointerdown",Z),document.removeEventListener("pointerup",Z),document.removeEventListener("touchmove",Z),document.removeEventListener("touchstart",Z),document.removeEventListener("touchend",Z)}function Z(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ne())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),ee(),r.addEventListener("focus",d,!0),r.addEventListener("blur",g,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var io=Cr((Vt,no)=>{(function(t,r){typeof Vt=="object"&&typeof no=="object"?no.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Vt=="object"?Vt.ClipboardJS=r():t.ClipboardJS=r()})(Vt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Yi}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(q){try{return document.execCommand(q)}catch(C){return!1}}var d=function(C){var _=f()(C);return u("cut"),_},g=d;function L(q){var C=document.documentElement.getAttribute("dir")==="rtl",_=document.createElement("textarea");_.style.fontSize="12pt",_.style.border="0",_.style.padding="0",_.style.margin="0",_.style.position="absolute",_.style[C?"right":"left"]="-9999px";var D=window.pageYOffset||document.documentElement.scrollTop;return _.style.top="".concat(D,"px"),_.setAttribute("readonly",""),_.value=q,_}var ee=function(C,_){var D=L(C);_.container.appendChild(D);var V=f()(D);return u("copy"),D.remove(),V},ne=function(C){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},D="";return typeof C=="string"?D=ee(C,_):C instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(C==null?void 0:C.type)?D=ee(C.value,_):(D=f()(C),u("copy")),D},Z=ne;function H(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(_){return typeof _}:H=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},H(q)}var ft=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=C.action,D=_===void 0?"copy":_,V=C.container,G=C.target,Ue=C.text;if(D!=="copy"&&D!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(G!==void 0)if(G&&H(G)==="object"&&G.nodeType===1){if(D==="copy"&&G.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(D==="cut"&&(G.hasAttribute("readonly")||G.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ue)return Z(Ue,{container:V});if(G)return D==="cut"?g(G):Z(G,{container:V})},Fe=ft;function R(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?R=function(_){return typeof _}:R=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},R(q)}function se(q,C){if(!(q instanceof C))throw new TypeError("Cannot call a class as a function")}function ce(q,C){for(var _=0;_<C.length;_++){var D=C[_];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(q,D.key,D)}}function he(q,C,_){return C&&ce(q.prototype,C),_&&ce(q,_),q}function Se(q,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function");q.prototype=Object.create(C&&C.prototype,{constructor:{value:q,writable:!0,configurable:!0}}),C&&je(q,C)}function je(q,C){return je=Object.setPrototypeOf||function(D,V){return D.__proto__=V,D},je(q,C)}function Vi(q){var C=Ki();return function(){var D=Qt(q),V;if(C){var G=Qt(this).constructor;V=Reflect.construct(D,arguments,G)}else V=D.apply(this,arguments);return zi(this,V)}}function zi(q,C){return C&&(R(C)==="object"||typeof C=="function")?C:qi(q)}function qi(q){if(q===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return q}function Ki(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(q){return!1}}function Qt(q){return Qt=Object.setPrototypeOf?Object.getPrototypeOf:function(_){return _.__proto__||Object.getPrototypeOf(_)},Qt(q)}function Mr(q,C){var _="data-clipboard-".concat(q);if(C.hasAttribute(_))return C.getAttribute(_)}var Qi=function(q){Se(_,q);var C=Vi(_);function _(D,V){var G;return se(this,_),G=C.call(this),G.resolveOptions(V),G.listenClick(D),G}return he(_,[{key:"resolveOptions",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=R(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var G=this;this.listener=p()(V,"click",function(Ue){return G.onClick(Ue)})}},{key:"onClick",value:function(V){var G=V.delegateTarget||V.currentTarget,Ue=this.action(G)||"copy",Yt=Fe({action:Ue,container:this.container,target:this.target(G),text:this.text(G)});this.emit(Yt?"success":"error",{action:Ue,text:Yt,trigger:G,clearSelection:function(){G&&G.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return Mr("action",V)}},{key:"defaultTarget",value:function(V){var G=Mr("target",V);if(G)return document.querySelector(G)}},{key:"defaultText",value:function(V){return Mr("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Z(V,G)}},{key:"cut",value:function(V){return g(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],G=typeof V=="string"?[V]:V,Ue=!!document.queryCommandSupported;return G.forEach(function(Yt){Ue=Ue&&!!document.queryCommandSupported(Yt)}),Ue}}]),_}(a()),Yi=Qi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,d,g){var L=p.apply(this,arguments);return l.addEventListener(u,L,g),{destroy:function(){l.removeEventListener(u,L,g)}}}function c(l,f,u,d,g){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return a(L,f,u,d,g)}))}function p(l,f,u,d){return function(g){g.delegateTarget=s(g.target,f),g.delegateTarget&&d.call(l,g)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,d,g){if(!u&&!d&&!g)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(g))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,d,g);if(s.nodeList(u))return l(u,d,g);if(s.string(u))return f(u,d,g);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,d,g){return u.addEventListener(d,g),{destroy:function(){u.removeEventListener(d,g)}}}function l(u,d,g){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,g)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,g)})}}}function f(u,d,g){return a(document.body,u,d,g)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c<p;c++)a[c].fn.apply(a[c].ctx,s);return this},off:function(i,s){var a=this.e||(this.e={}),c=a[i],p=[];if(c&&s)for(var l=0,f=c.length;l<f;l++)c[l].fn!==s&&c[l].fn._!==s&&p.push(c[l]);return p.length?a[i]=p:delete a[i],this}},o.exports=n,o.exports.TinyEmitter=n}},t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}return function(){r.n=function(o){var n=o&&o.__esModule?function(){return o.default}:function(){return o};return r.d(n,{a:n}),n}}(),function(){r.d=function(o,n){for(var i in n)r.o(n,i)&&!r.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:n[i]})}}(),function(){r.o=function(o,n){return Object.prototype.hasOwnProperty.call(o,n)}}(),r(686)}().default})});var hi=Cr((nS,di)=>{"use strict";var fs=/["'&<>]/;di.exports=us;function us(e){var t=""+e,r=fs.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:o=""";break;case 38:o="&";break;case 39:o="'";break;case 60:o="<";break;case 62:o=">";break;default:continue}s!==i&&(n+=t.substring(s,i)),s=i+1,n+=o}return s!==i?n+t.substring(s,i):n}});var zM=Gt(go());var kr=function(e,t){return kr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])},kr(e,t)};function ie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");kr(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function xo(e,t,r,o){function n(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function a(l){try{p(o.next(l))}catch(f){s(f)}}function c(l){try{p(o.throw(l))}catch(f){s(f)}}function p(l){l.done?i(l.value):n(l.value).then(a,c)}p((o=o.apply(e,t||[])).next())})}function Jt(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,i,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(p){return function(l){return c([p,l])}}function c(p){if(o)throw new TypeError("Generator is already executing.");for(;r;)try{if(o=1,n&&(i=p[0]&2?n.return:p[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,p[1])).done)return i;switch(n=0,i&&(p=[p[0]&2,i.value]),p[0]){case 0:case 1:i=p;break;case 4:return r.label++,{value:p[1],done:!1};case 5:r.label++,n=p[1],p=[0];continue;case 7:p=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]<i[3])){r.label=p[1];break}if(p[0]===6&&r.label<i[1]){r.label=i[1],i=p;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(p);break}i[2]&&r.ops.pop(),r.trys.pop();continue}p=t.call(e,r)}catch(l){p=[6,l],n=0}finally{o=i=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function Oe(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],o=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function B(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o<n;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}function ut(e){return this instanceof ut?(this.v=e,this):new ut(e)}function yo(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=r.apply(e,t||[]),n,i=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(u){o[u]&&(n[u]=function(d){return new Promise(function(g,L){i.push([u,d,g,L])>1||a(u,d)})})}function a(u,d){try{c(o[u](d))}catch(g){f(i[0][3],g)}}function c(u){u.value instanceof ut?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,d){u(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function Eo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Oe=="function"?Oe(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function P(e){return typeof e=="function"}function xt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Xt=xt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +"use strict";(()=>{var Gi=Object.create;var _r=Object.defineProperty;var Ji=Object.getOwnPropertyDescriptor;var Xi=Object.getOwnPropertyNames,Bt=Object.getOwnPropertySymbols,Zi=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty,uo=Object.prototype.propertyIsEnumerable;var fo=(e,t,r)=>t in e?_r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,j=(e,t)=>{for(var r in t||(t={}))Ar.call(t,r)&&fo(e,r,t[r]);if(Bt)for(var r of Bt(t))uo.call(t,r)&&fo(e,r,t[r]);return e};var ho=(e,t)=>{var r={};for(var o in e)Ar.call(e,o)&&t.indexOf(o)<0&&(r[o]=e[o]);if(e!=null&&Bt)for(var o of Bt(e))t.indexOf(o)<0&&uo.call(e,o)&&(r[o]=e[o]);return r};var Cr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var ea=(e,t,r,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Xi(t))!Ar.call(e,n)&&n!==r&&_r(e,n,{get:()=>t[n],enumerable:!(o=Ji(t,n))||o.enumerable});return e};var Gt=(e,t,r)=>(r=e!=null?Gi(Zi(e)):{},ea(t||!e||!e.__esModule?_r(r,"default",{value:e,enumerable:!0}):r,e));var bo=(e,t,r)=>new Promise((o,n)=>{var i=c=>{try{a(r.next(c))}catch(p){n(p)}},s=c=>{try{a(r.throw(c))}catch(p){n(p)}},a=c=>c.done?o(c.value):Promise.resolve(c.value).then(i,s);a((r=r.apply(e,t)).next())});var go=Cr((Hr,vo)=>{(function(e,t){typeof Hr=="object"&&typeof vo!="undefined"?t():typeof define=="function"&&define.amd?define(t):t()})(Hr,function(){"use strict";function e(r){var o=!0,n=!1,i=null,s={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function a(H){return!!(H&&H!==document&&H.nodeName!=="HTML"&&H.nodeName!=="BODY"&&"classList"in H&&"contains"in H.classList)}function c(H){var ft=H.type,Fe=H.tagName;return!!(Fe==="INPUT"&&s[ft]&&!H.readOnly||Fe==="TEXTAREA"&&!H.readOnly||H.isContentEditable)}function p(H){H.classList.contains("focus-visible")||(H.classList.add("focus-visible"),H.setAttribute("data-focus-visible-added",""))}function l(H){H.hasAttribute("data-focus-visible-added")&&(H.classList.remove("focus-visible"),H.removeAttribute("data-focus-visible-added"))}function f(H){H.metaKey||H.altKey||H.ctrlKey||(a(r.activeElement)&&p(r.activeElement),o=!0)}function u(H){o=!1}function d(H){a(H.target)&&(o||c(H.target))&&p(H.target)}function g(H){a(H.target)&&(H.target.classList.contains("focus-visible")||H.target.hasAttribute("data-focus-visible-added"))&&(n=!0,window.clearTimeout(i),i=window.setTimeout(function(){n=!1},100),l(H.target))}function L(H){document.visibilityState==="hidden"&&(n&&(o=!0),ee())}function ee(){document.addEventListener("mousemove",Z),document.addEventListener("mousedown",Z),document.addEventListener("mouseup",Z),document.addEventListener("pointermove",Z),document.addEventListener("pointerdown",Z),document.addEventListener("pointerup",Z),document.addEventListener("touchmove",Z),document.addEventListener("touchstart",Z),document.addEventListener("touchend",Z)}function ne(){document.removeEventListener("mousemove",Z),document.removeEventListener("mousedown",Z),document.removeEventListener("mouseup",Z),document.removeEventListener("pointermove",Z),document.removeEventListener("pointerdown",Z),document.removeEventListener("pointerup",Z),document.removeEventListener("touchmove",Z),document.removeEventListener("touchstart",Z),document.removeEventListener("touchend",Z)}function Z(H){H.target.nodeName&&H.target.nodeName.toLowerCase()==="html"||(o=!1,ne())}document.addEventListener("keydown",f,!0),document.addEventListener("mousedown",u,!0),document.addEventListener("pointerdown",u,!0),document.addEventListener("touchstart",u,!0),document.addEventListener("visibilitychange",L,!0),ee(),r.addEventListener("focus",d,!0),r.addEventListener("blur",g,!0),r.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&r.host?r.host.setAttribute("data-js-focus-visible",""):r.nodeType===Node.DOCUMENT_NODE&&(document.documentElement.classList.add("js-focus-visible"),document.documentElement.setAttribute("data-js-focus-visible",""))}if(typeof window!="undefined"&&typeof document!="undefined"){window.applyFocusVisiblePolyfill=e;var t;try{t=new CustomEvent("focus-visible-polyfill-ready")}catch(r){t=document.createEvent("CustomEvent"),t.initCustomEvent("focus-visible-polyfill-ready",!1,!1,{})}window.dispatchEvent(t)}typeof document!="undefined"&&e(document)})});var io=Cr((Vt,no)=>{(function(t,r){typeof Vt=="object"&&typeof no=="object"?no.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Vt=="object"?Vt.ClipboardJS=r():t.ClipboardJS=r()})(Vt,function(){return function(){var e={686:function(o,n,i){"use strict";i.d(n,{default:function(){return Bi}});var s=i(279),a=i.n(s),c=i(370),p=i.n(c),l=i(817),f=i.n(l);function u(q){try{return document.execCommand(q)}catch(C){return!1}}var d=function(C){var _=f()(C);return u("cut"),_},g=d;function L(q){var C=document.documentElement.getAttribute("dir")==="rtl",_=document.createElement("textarea");_.style.fontSize="12pt",_.style.border="0",_.style.padding="0",_.style.margin="0",_.style.position="absolute",_.style[C?"right":"left"]="-9999px";var D=window.pageYOffset||document.documentElement.scrollTop;return _.style.top="".concat(D,"px"),_.setAttribute("readonly",""),_.value=q,_}var ee=function(C,_){var D=L(C);_.container.appendChild(D);var V=f()(D);return u("copy"),D.remove(),V},ne=function(C){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body},D="";return typeof C=="string"?D=ee(C,_):C instanceof HTMLInputElement&&!["text","search","url","tel","password"].includes(C==null?void 0:C.type)?D=ee(C.value,_):(D=f()(C),u("copy")),D},Z=ne;function H(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?H=function(_){return typeof _}:H=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},H(q)}var ft=function(){var C=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},_=C.action,D=_===void 0?"copy":_,V=C.container,G=C.target,Ue=C.text;if(D!=="copy"&&D!=="cut")throw new Error('Invalid "action" value, use either "copy" or "cut"');if(G!==void 0)if(G&&H(G)==="object"&&G.nodeType===1){if(D==="copy"&&G.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if(D==="cut"&&(G.hasAttribute("readonly")||G.hasAttribute("disabled")))throw new Error(`Invalid "target" attribute. You can't cut text from elements with "readonly" or "disabled" attributes`)}else throw new Error('Invalid "target" value, use a valid Element');if(Ue)return Z(Ue,{container:V});if(G)return D==="cut"?g(G):Z(G,{container:V})},Fe=ft;function R(q){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?R=function(_){return typeof _}:R=function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},R(q)}function se(q,C){if(!(q instanceof C))throw new TypeError("Cannot call a class as a function")}function ce(q,C){for(var _=0;_<C.length;_++){var D=C[_];D.enumerable=D.enumerable||!1,D.configurable=!0,"value"in D&&(D.writable=!0),Object.defineProperty(q,D.key,D)}}function he(q,C,_){return C&&ce(q.prototype,C),_&&ce(q,_),q}function Se(q,C){if(typeof C!="function"&&C!==null)throw new TypeError("Super expression must either be null or a function");q.prototype=Object.create(C&&C.prototype,{constructor:{value:q,writable:!0,configurable:!0}}),C&&je(q,C)}function je(q,C){return je=Object.setPrototypeOf||function(D,V){return D.__proto__=V,D},je(q,C)}function zi(q){var C=Qi();return function(){var D=Qt(q),V;if(C){var G=Qt(this).constructor;V=Reflect.construct(D,arguments,G)}else V=D.apply(this,arguments);return qi(this,V)}}function qi(q,C){return C&&(R(C)==="object"||typeof C=="function")?C:Ki(q)}function Ki(q){if(q===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return q}function Qi(){if(typeof Reflect=="undefined"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(q){return!1}}function Qt(q){return Qt=Object.setPrototypeOf?Object.getPrototypeOf:function(_){return _.__proto__||Object.getPrototypeOf(_)},Qt(q)}function Mr(q,C){var _="data-clipboard-".concat(q);if(C.hasAttribute(_))return C.getAttribute(_)}var Yi=function(q){Se(_,q);var C=zi(_);function _(D,V){var G;return se(this,_),G=C.call(this),G.resolveOptions(V),G.listenClick(D),G}return he(_,[{key:"resolveOptions",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};this.action=typeof V.action=="function"?V.action:this.defaultAction,this.target=typeof V.target=="function"?V.target:this.defaultTarget,this.text=typeof V.text=="function"?V.text:this.defaultText,this.container=R(V.container)==="object"?V.container:document.body}},{key:"listenClick",value:function(V){var G=this;this.listener=p()(V,"click",function(Ue){return G.onClick(Ue)})}},{key:"onClick",value:function(V){var G=V.delegateTarget||V.currentTarget,Ue=this.action(G)||"copy",Yt=Fe({action:Ue,container:this.container,target:this.target(G),text:this.text(G)});this.emit(Yt?"success":"error",{action:Ue,text:Yt,trigger:G,clearSelection:function(){G&&G.focus(),window.getSelection().removeAllRanges()}})}},{key:"defaultAction",value:function(V){return Mr("action",V)}},{key:"defaultTarget",value:function(V){var G=Mr("target",V);if(G)return document.querySelector(G)}},{key:"defaultText",value:function(V){return Mr("text",V)}},{key:"destroy",value:function(){this.listener.destroy()}}],[{key:"copy",value:function(V){var G=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{container:document.body};return Z(V,G)}},{key:"cut",value:function(V){return g(V)}},{key:"isSupported",value:function(){var V=arguments.length>0&&arguments[0]!==void 0?arguments[0]:["copy","cut"],G=typeof V=="string"?[V]:V,Ue=!!document.queryCommandSupported;return G.forEach(function(Yt){Ue=Ue&&!!document.queryCommandSupported(Yt)}),Ue}}]),_}(a()),Bi=Yi},828:function(o){var n=9;if(typeof Element!="undefined"&&!Element.prototype.matches){var i=Element.prototype;i.matches=i.matchesSelector||i.mozMatchesSelector||i.msMatchesSelector||i.oMatchesSelector||i.webkitMatchesSelector}function s(a,c){for(;a&&a.nodeType!==n;){if(typeof a.matches=="function"&&a.matches(c))return a;a=a.parentNode}}o.exports=s},438:function(o,n,i){var s=i(828);function a(l,f,u,d,g){var L=p.apply(this,arguments);return l.addEventListener(u,L,g),{destroy:function(){l.removeEventListener(u,L,g)}}}function c(l,f,u,d,g){return typeof l.addEventListener=="function"?a.apply(null,arguments):typeof u=="function"?a.bind(null,document).apply(null,arguments):(typeof l=="string"&&(l=document.querySelectorAll(l)),Array.prototype.map.call(l,function(L){return a(L,f,u,d,g)}))}function p(l,f,u,d){return function(g){g.delegateTarget=s(g.target,f),g.delegateTarget&&d.call(l,g)}}o.exports=c},879:function(o,n){n.node=function(i){return i!==void 0&&i instanceof HTMLElement&&i.nodeType===1},n.nodeList=function(i){var s=Object.prototype.toString.call(i);return i!==void 0&&(s==="[object NodeList]"||s==="[object HTMLCollection]")&&"length"in i&&(i.length===0||n.node(i[0]))},n.string=function(i){return typeof i=="string"||i instanceof String},n.fn=function(i){var s=Object.prototype.toString.call(i);return s==="[object Function]"}},370:function(o,n,i){var s=i(879),a=i(438);function c(u,d,g){if(!u&&!d&&!g)throw new Error("Missing required arguments");if(!s.string(d))throw new TypeError("Second argument must be a String");if(!s.fn(g))throw new TypeError("Third argument must be a Function");if(s.node(u))return p(u,d,g);if(s.nodeList(u))return l(u,d,g);if(s.string(u))return f(u,d,g);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function p(u,d,g){return u.addEventListener(d,g),{destroy:function(){u.removeEventListener(d,g)}}}function l(u,d,g){return Array.prototype.forEach.call(u,function(L){L.addEventListener(d,g)}),{destroy:function(){Array.prototype.forEach.call(u,function(L){L.removeEventListener(d,g)})}}}function f(u,d,g){return a(document.body,u,d,g)}o.exports=c},817:function(o){function n(i){var s;if(i.nodeName==="SELECT")i.focus(),s=i.value;else if(i.nodeName==="INPUT"||i.nodeName==="TEXTAREA"){var a=i.hasAttribute("readonly");a||i.setAttribute("readonly",""),i.select(),i.setSelectionRange(0,i.value.length),a||i.removeAttribute("readonly"),s=i.value}else{i.hasAttribute("contenteditable")&&i.focus();var c=window.getSelection(),p=document.createRange();p.selectNodeContents(i),c.removeAllRanges(),c.addRange(p),s=c.toString()}return s}o.exports=n},279:function(o){function n(){}n.prototype={on:function(i,s,a){var c=this.e||(this.e={});return(c[i]||(c[i]=[])).push({fn:s,ctx:a}),this},once:function(i,s,a){var c=this;function p(){c.off(i,p),s.apply(a,arguments)}return p._=s,this.on(i,p,a)},emit:function(i){var s=[].slice.call(arguments,1),a=((this.e||(this.e={}))[i]||[]).slice(),c=0,p=a.length;for(c;c<p;c++)a[c].fn.apply(a[c].ctx,s);return this},off:function(i,s){var a=this.e||(this.e={}),c=a[i],p=[];if(c&&s)for(var l=0,f=c.length;l<f;l++)c[l].fn!==s&&c[l].fn._!==s&&p.push(c[l]);return p.length?a[i]=p:delete a[i],this}},o.exports=n,o.exports.TinyEmitter=n}},t={};function r(o){if(t[o])return t[o].exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}return function(){r.n=function(o){var n=o&&o.__esModule?function(){return o.default}:function(){return o};return r.d(n,{a:n}),n}}(),function(){r.d=function(o,n){for(var i in n)r.o(n,i)&&!r.o(o,i)&&Object.defineProperty(o,i,{enumerable:!0,get:n[i]})}}(),function(){r.o=function(o,n){return Object.prototype.hasOwnProperty.call(o,n)}}(),r(686)}().default})});var bi=Cr((iS,hi)=>{"use strict";var us=/["'&<>]/;hi.exports=ds;function ds(e){var t=""+e,r=us.exec(t);if(!r)return t;var o,n="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:o=""";break;case 38:o="&";break;case 39:o="'";break;case 60:o="<";break;case 62:o=">";break;default:continue}s!==i&&(n+=t.substring(s,i)),s=i+1,n+=o}return s!==i?n+t.substring(s,i):n}});var qM=Gt(go());var $r=function(e,t){return $r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,o){r.__proto__=o}||function(r,o){for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(r[n]=o[n])},$r(e,t)};function ie(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");$r(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function xo(e,t,r,o){function n(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function a(l){try{p(o.next(l))}catch(f){s(f)}}function c(l){try{p(o.throw(l))}catch(f){s(f)}}function p(l){l.done?i(l.value):n(l.value).then(a,c)}p((o=o.apply(e,t||[])).next())})}function Jt(e,t){var r={label:0,sent:function(){if(i[0]&1)throw i[1];return i[1]},trys:[],ops:[]},o,n,i,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(p){return function(l){return c([p,l])}}function c(p){if(o)throw new TypeError("Generator is already executing.");for(;r;)try{if(o=1,n&&(i=p[0]&2?n.return:p[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,p[1])).done)return i;switch(n=0,i&&(p=[p[0]&2,i.value]),p[0]){case 0:case 1:i=p;break;case 4:return r.label++,{value:p[1],done:!1};case 5:r.label++,n=p[1],p=[0];continue;case 7:p=r.ops.pop(),r.trys.pop();continue;default:if(i=r.trys,!(i=i.length>0&&i[i.length-1])&&(p[0]===6||p[0]===2)){r=0;continue}if(p[0]===3&&(!i||p[1]>i[0]&&p[1]<i[3])){r.label=p[1];break}if(p[0]===6&&r.label<i[1]){r.label=i[1],i=p;break}if(i&&r.label<i[2]){r.label=i[2],r.ops.push(p);break}i[2]&&r.ops.pop(),r.trys.pop();continue}p=t.call(e,r)}catch(l){p=[6,l],n=0}finally{o=i=0}if(p[0]&5)throw p[1];return{value:p[0]?p[1]:void 0,done:!0}}}function Oe(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],o=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&o>=e.length&&(e=void 0),{value:e&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function K(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var o=r.call(e),n,i=[],s;try{for(;(t===void 0||t-- >0)&&!(n=o.next()).done;)i.push(n.value)}catch(a){s={error:a}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(s)throw s.error}}return i}function B(e,t,r){if(r||arguments.length===2)for(var o=0,n=t.length,i;o<n;o++)(i||!(o in t))&&(i||(i=Array.prototype.slice.call(t,0,o)),i[o]=t[o]);return e.concat(i||Array.prototype.slice.call(t))}function ut(e){return this instanceof ut?(this.v=e,this):new ut(e)}function yo(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o=r.apply(e,t||[]),n,i=[];return n={},s("next"),s("throw"),s("return"),n[Symbol.asyncIterator]=function(){return this},n;function s(u){o[u]&&(n[u]=function(d){return new Promise(function(g,L){i.push([u,d,g,L])>1||a(u,d)})})}function a(u,d){try{c(o[u](d))}catch(g){f(i[0][3],g)}}function c(u){u.value instanceof ut?Promise.resolve(u.value.v).then(p,l):f(i[0][2],u)}function p(u){a("next",u)}function l(u){a("throw",u)}function f(u,d){u(d),i.shift(),i.length&&a(i[0][0],i[0][1])}}function Eo(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof Oe=="function"?Oe(e):e[Symbol.iterator](),r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r);function o(i){r[i]=e[i]&&function(s){return new Promise(function(a,c){s=e[i](s),n(a,c,s.done,s.value)})}}function n(i,s,a,c){Promise.resolve(c).then(function(p){i({value:p,done:a})},s)}}function P(e){return typeof e=="function"}function xt(e){var t=function(o){Error.call(o),o.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Xt=xt(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: `+r.map(function(o,n){return n+1+") "+o.toString()}).join(` - `):"",this.name="UnsubscriptionError",this.errors=r}});function Xe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var ze=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Oe(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(L){t={error:L}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(P(l))try{l()}catch(L){i=L instanceof Xt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=Oe(f),d=u.next();!d.done;d=u.next()){var g=d.value;try{wo(g)}catch(L){i=i!=null?i:[],L instanceof Xt?i=B(B([],K(i)),K(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Xt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)wo(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Xe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Xe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var $r=ze.EMPTY;function Zt(e){return e instanceof ze||e&&"closed"in e&&P(e.remove)&&P(e.add)&&P(e.unsubscribe)}function wo(e){P(e)?e():e.unsubscribe()}var We={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var yt={setTimeout:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=yt.delegate;return n!=null&&n.setTimeout?n.setTimeout.apply(n,B([e,t],K(r))):setTimeout.apply(void 0,B([e,t],K(r)))},clearTimeout:function(e){var t=yt.delegate;return((t==null?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function er(e){yt.setTimeout(function(){var t=We.onUnhandledError;if(t)t(e);else throw e})}function ve(){}var To=function(){return Rr("C",void 0,void 0)}();function So(e){return Rr("E",void 0,e)}function Oo(e){return Rr("N",e,void 0)}function Rr(e,t,r){return{kind:e,value:t,error:r}}var dt=null;function Et(e){if(We.useDeprecatedSynchronousErrorHandling){var t=!dt;if(t&&(dt={errorThrown:!1,error:null}),e(),t){var r=dt,o=r.errorThrown,n=r.error;if(dt=null,o)throw n}}else e()}function Lo(e){We.useDeprecatedSynchronousErrorHandling&&dt&&(dt.errorThrown=!0,dt.error=e)}var Rt=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o.isStopped=!1,r?(o.destination=r,Zt(r)&&r.add(o)):o.destination=oa,o}return t.create=function(r,o,n){return new ht(r,o,n)},t.prototype.next=function(r){this.isStopped?Ir(Oo(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Ir(So(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Ir(To,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(ze);var ea=Function.prototype.bind;function Pr(e,t){return ea.call(e,t)}var ta=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(o){tr(o)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(o){tr(o)}else tr(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){tr(r)}},e}(),ht=function(e){ie(t,e);function t(r,o,n){var i=e.call(this)||this,s;if(P(r)||!r)s={next:r!=null?r:void 0,error:o!=null?o:void 0,complete:n!=null?n:void 0};else{var a;i&&We.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Pr(r.next,a),error:r.error&&Pr(r.error,a),complete:r.complete&&Pr(r.complete,a)}):s=r}return i.destination=new ta(s),i}return t}(Rt);function tr(e){We.useDeprecatedSynchronousErrorHandling?Lo(e):er(e)}function ra(e){throw e}function Ir(e,t){var r=We.onStoppedNotification;r&&yt.setTimeout(function(){return r(e,t)})}var oa={closed:!0,next:ve,error:ra,complete:ve};var wt=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function be(e){return e}function Mo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Fr(e)}function Fr(e){return e.length===0?be:e.length===1?e[0]:function(r){return e.reduce(function(o,n){return n(o)},r)}}var I=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var r=new e;return r.source=this,r.operator=t,r},e.prototype.subscribe=function(t,r,o){var n=this,i=ia(t)?t:new ht(t,r,o);return Et(function(){var s=n,a=s.operator,c=s.source;i.add(a?a.call(i,c):c?n._subscribe(i):n._trySubscribe(i))}),i},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){t.error(r)}},e.prototype.forEach=function(t,r){var o=this;return r=_o(r),new r(function(n,i){var s=new ht({next:function(a){try{t(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:n});o.subscribe(s)})},e.prototype._subscribe=function(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)},e.prototype[wt]=function(){return this},e.prototype.pipe=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Fr(t)(this)},e.prototype.toPromise=function(t){var r=this;return t=_o(t),new t(function(o,n){var i;r.subscribe(function(s){return i=s},function(s){return n(s)},function(){return o(i)})})},e.create=function(t){return new e(t)},e}();function _o(e){var t;return(t=e!=null?e:We.Promise)!==null&&t!==void 0?t:Promise}function na(e){return e&&P(e.next)&&P(e.error)&&P(e.complete)}function ia(e){return e&&e instanceof Rt||na(e)&&Zt(e)}function aa(e){return P(e==null?void 0:e.lift)}function E(e){return function(t){if(aa(t))return t.lift(function(r){try{return e(r,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function w(e,t,r,o,n){return new sa(e,t,r,o,n)}var sa=function(e){ie(t,e);function t(r,o,n,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=o?function(p){try{o(p)}catch(l){r.error(l)}}:e.prototype._next,c._error=i?function(p){try{i(p)}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=n?function(){try{n()}catch(p){r.error(p)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;e.prototype.unsubscribe.call(this),!o&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t}(Rt);var Tt={schedule:function(e){var t=requestAnimationFrame,r=cancelAnimationFrame,o=Tt.delegate;o&&(t=o.requestAnimationFrame,r=o.cancelAnimationFrame);var n=t(function(i){r=void 0,e(i)});return new ze(function(){return r==null?void 0:r(n)})},requestAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Tt.delegate;return((r==null?void 0:r.requestAnimationFrame)||requestAnimationFrame).apply(void 0,B([],K(e)))},cancelAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Tt.delegate;return((r==null?void 0:r.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,B([],K(e)))},delegate:void 0};var Ao=xt(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}});var T=function(e){ie(t,e);function t(){var r=e.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return t.prototype.lift=function(r){var o=new Co(this,this);return o.operator=r,o},t.prototype._throwIfClosed=function(){if(this.closed)throw new Ao},t.prototype.next=function(r){var o=this;Et(function(){var n,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var s=Oe(o.currentObservers),a=s.next();!a.done;a=s.next()){var c=a.value;c.next(r)}}catch(p){n={error:p}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}}})},t.prototype.error=function(r){var o=this;Et(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=!0,o.thrownError=r;for(var n=o.observers;n.length;)n.shift().error(r)}})},t.prototype.complete=function(){var r=this;Et(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var o=r.observers;o.length;)o.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?$r:(this.currentObservers=null,a.push(r),new ze(function(){o.currentObservers=null,Xe(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new I;return r.source=this,r},t.create=function(r,o){return new Co(r,o)},t}(I);var Co=function(e){ie(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:$r},t}(T);var jr=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(T);var Pt={now:function(){return(Pt.delegate||Date).now()},delegate:void 0};var It=function(e){ie(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=Pt);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c<a.length&&!r.closed;c+=i?1:2)r.next(a[c]);return this._checkFinalizedStatuses(r),o},t.prototype._trimBuffer=function(){var r=this,o=r._bufferSize,n=r._timestampProvider,i=r._buffer,s=r._infiniteTimeWindow,a=(s?1:2)*o;if(o<1/0&&a<i.length&&i.splice(0,i.length-a),!s){for(var c=n.now(),p=0,l=1;l<i.length&&i[l]<=c;l+=2)p=l;p&&i.splice(0,p+1)}},t}(T);var Ho=function(e){ie(t,e);function t(r,o){return e.call(this)||this}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),this},t}(ze);var Ft={setInterval:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=Ft.delegate;return n!=null&&n.setInterval?n.setInterval.apply(n,B([e,t],K(r))):setInterval.apply(void 0,B([e,t],K(r)))},clearInterval:function(e){var t=Ft.delegate;return((t==null?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0};var St=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n.pending=!1,n}return t.prototype.schedule=function(r,o){var n;if(o===void 0&&(o=0),this.closed)return this;this.state=r;var i=this.id,s=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(s,i,o)),this.pending=!0,this.delay=o,this.id=(n=this.id)!==null&&n!==void 0?n:this.requestAsyncId(s,this.id,o),this},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),Ft.setInterval(r.flush.bind(r,this),n)},t.prototype.recycleAsyncId=function(r,o,n){if(n===void 0&&(n=0),n!=null&&this.delay===n&&this.pending===!1)return o;o!=null&&Ft.clearInterval(o)},t.prototype.execute=function(r,o){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(r,o);if(n)return n;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(r,o){var n=!1,i;try{this.work(r)}catch(s){n=!0,i=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),i},t.prototype.unsubscribe=function(){if(!this.closed){var r=this,o=r.id,n=r.scheduler,i=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Xe(i,this),o!=null&&(this.id=this.recycleAsyncId(n,o,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Ho);var Ur=function(){function e(t,r){r===void 0&&(r=e.now),this.schedulerActionCtor=t,this.now=r}return e.prototype.schedule=function(t,r,o){return r===void 0&&(r=0),new this.schedulerActionCtor(this,t).schedule(o,r)},e.now=Pt.now,e}();var Ot=function(e){ie(t,e);function t(r,o){o===void 0&&(o=Ur.now);var n=e.call(this,r,o)||this;return n.actions=[],n._active=!1,n}return t.prototype.flush=function(r){var o=this.actions;if(this._active){o.push(r);return}var n;this._active=!0;do if(n=r.execute(r.state,r.delay))break;while(r=o.shift());if(this._active=!1,n){for(;r=o.shift();)r.unsubscribe();throw n}},t}(Ur);var pe=new Ot(St),Wr=pe;var ko=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),o>0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(St);var $o=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Ot);var Dr=new $o(ko);var Ro=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=Tt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(Tt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(St);var Po=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(Ot);var ge=new Po(Ro);var x=new I(function(e){return e.complete()});function rr(e){return e&&P(e.schedule)}function Nr(e){return e[e.length-1]}function ct(e){return P(Nr(e))?e.pop():void 0}function Ie(e){return rr(Nr(e))?e.pop():void 0}function or(e,t){return typeof Nr(e)=="number"?e.pop():t}var Lt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function nr(e){return P(e==null?void 0:e.then)}function ir(e){return P(e[wt])}function ar(e){return Symbol.asyncIterator&&P(e==null?void 0:e[Symbol.asyncIterator])}function sr(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function ca(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var cr=ca();function pr(e){return P(e==null?void 0:e[cr])}function lr(e){return yo(this,arguments,function(){var r,o,n,i;return Jt(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,ut(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,ut(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,ut(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function mr(e){return P(e==null?void 0:e.getReader)}function U(e){if(e instanceof I)return e;if(e!=null){if(ir(e))return pa(e);if(Lt(e))return la(e);if(nr(e))return ma(e);if(ar(e))return Io(e);if(pr(e))return fa(e);if(mr(e))return ua(e)}throw sr(e)}function pa(e){return new I(function(t){var r=e[wt]();if(P(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function la(e){return new I(function(t){for(var r=0;r<e.length&&!t.closed;r++)t.next(e[r]);t.complete()})}function ma(e){return new I(function(t){e.then(function(r){t.closed||(t.next(r),t.complete())},function(r){return t.error(r)}).then(null,er)})}function fa(e){return new I(function(t){var r,o;try{for(var n=Oe(e),i=n.next();!i.done;i=n.next()){var s=i.value;if(t.next(s),t.closed)return}}catch(a){r={error:a}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(r)throw r.error}}t.complete()})}function Io(e){return new I(function(t){da(e,t).catch(function(r){return t.error(r)})})}function ua(e){return Io(lr(e))}function da(e,t){var r,o,n,i;return xo(this,void 0,void 0,function(){var s,a;return Jt(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),r=Eo(e),c.label=1;case 1:return[4,r.next()];case 2:if(o=c.sent(),!!o.done)return[3,4];if(s=o.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),n={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),o&&!o.done&&(i=r.return)?[4,i.call(r)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(n)throw n.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function _e(e,t,r,o,n){o===void 0&&(o=0),n===void 0&&(n=!1);var i=t.schedule(function(){r(),n?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(i),!n)return i}function xe(e,t){return t===void 0&&(t=0),E(function(r,o){r.subscribe(w(o,function(n){return _e(o,e,function(){return o.next(n)},t)},function(){return _e(o,e,function(){return o.complete()},t)},function(n){return _e(o,e,function(){return o.error(n)},t)}))})}function Ze(e,t){return t===void 0&&(t=0),E(function(r,o){o.add(e.schedule(function(){return r.subscribe(o)},t))})}function Fo(e,t){return U(e).pipe(Ze(t),xe(t))}function jo(e,t){return U(e).pipe(Ze(t),xe(t))}function Uo(e,t){return new I(function(r){var o=0;return t.schedule(function(){o===e.length?r.complete():(r.next(e[o++]),r.closed||this.schedule())})})}function Wo(e,t){return new I(function(r){var o;return _e(r,t,function(){o=e[cr](),_e(r,t,function(){var n,i,s;try{n=o.next(),i=n.value,s=n.done}catch(a){r.error(a);return}s?r.complete():r.next(i)},0,!0)}),function(){return P(o==null?void 0:o.return)&&o.return()}})}function fr(e,t){if(!e)throw new Error("Iterable cannot be null");return new I(function(r){_e(r,t,function(){var o=e[Symbol.asyncIterator]();_e(r,t,function(){o.next().then(function(n){n.done?r.complete():r.next(n.value)})},0,!0)})})}function Do(e,t){return fr(lr(e),t)}function No(e,t){if(e!=null){if(ir(e))return Fo(e,t);if(Lt(e))return Uo(e,t);if(nr(e))return jo(e,t);if(ar(e))return fr(e,t);if(pr(e))return Wo(e,t);if(mr(e))return Do(e,t)}throw sr(e)}function fe(e,t){return t?No(e,t):U(e)}function $(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e);return fe(e,r)}function Vr(e,t){var r=P(e)?e:function(){return e},o=function(n){return n.error(r())};return new I(t?function(n){return t.schedule(o,0,n)}:o)}var ur=xt(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Vo(e){return e instanceof Date&&!isNaN(e)}function m(e,t){return E(function(r,o){var n=0;r.subscribe(w(o,function(i){o.next(e.call(t,i,n++))}))})}var ha=Array.isArray;function ba(e,t){return ha(t)?e.apply(void 0,B([],K(t))):e(t)}function pt(e){return m(function(t){return ba(e,t)})}var va=Array.isArray,ga=Object.getPrototypeOf,xa=Object.prototype,ya=Object.keys;function zo(e){if(e.length===1){var t=e[0];if(va(t))return{args:t,keys:null};if(Ea(t)){var r=ya(t);return{args:r.map(function(o){return t[o]}),keys:r}}}return{args:e,keys:null}}function Ea(e){return e&&typeof e=="object"&&ga(e)===xa}function qo(e,t){return e.reduce(function(r,o,n){return r[o]=t[n],r},{})}function z(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=ct(e),n=zo(e),i=n.args,s=n.keys;if(i.length===0)return fe([],r);var a=new I(zr(i,r,s?function(c){return qo(s,c)}:be));return o?a.pipe(pt(o)):a}function zr(e,t,r){return r===void 0&&(r=be),function(o){Ko(t,function(){for(var n=e.length,i=new Array(n),s=n,a=n,c=function(l){Ko(t,function(){var f=fe(e[l],t),u=!1;f.subscribe(w(o,function(d){i[l]=d,u||(u=!0,a--),a||o.next(r(i.slice()))},function(){--s||o.complete()}))},o)},p=0;p<n;p++)c(p)},o)}}function Ko(e,t,r){e?_e(r,e,t):t()}function Qo(e,t,r,o,n,i,s,a){var c=[],p=0,l=0,f=!1,u=function(){f&&!c.length&&!p&&t.complete()},d=function(L){return p<o?g(L):c.push(L)},g=function(L){i&&t.next(L),p++;var ee=!1;U(r(L,l++)).subscribe(w(t,function(ne){n==null||n(ne),i?d(ne):t.next(ne)},function(){ee=!0},void 0,function(){if(ee)try{p--;for(var ne=function(){var Z=c.shift();s?_e(t,s,function(){return g(Z)}):g(Z)};c.length&&p<o;)ne();u()}catch(Z){t.error(Z)}}))};return e.subscribe(w(t,d,function(){f=!0,u()})),function(){a==null||a()}}function J(e,t,r){return r===void 0&&(r=1/0),P(t)?J(function(o,n){return m(function(i,s){return t(o,i,n,s)})(U(e(o,n)))},r):(typeof t=="number"&&(r=t),E(function(o,n){return Qo(o,n,e,r)}))}function Mt(e){return e===void 0&&(e=1/0),J(be,e)}function Yo(){return Mt(1)}function qe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Yo()(fe(e,Ie(e)))}function k(e){return new I(function(t){U(e()).subscribe(t)})}var wa=["addListener","removeListener"],Ta=["addEventListener","removeEventListener"],Sa=["on","off"];function h(e,t,r,o){if(P(r)&&(o=r,r=void 0),o)return h(e,t,r).pipe(pt(o));var n=K(Ma(e)?Ta.map(function(a){return function(c){return e[a](t,c,r)}}):Oa(e)?wa.map(Bo(e,t)):La(e)?Sa.map(Bo(e,t)):[],2),i=n[0],s=n[1];if(!i&&Lt(e))return J(function(a){return h(a,t,r)})(U(e));if(!i)throw new TypeError("Invalid event target");return new I(function(a){var c=function(){for(var p=[],l=0;l<arguments.length;l++)p[l]=arguments[l];return a.next(1<p.length?p:p[0])};return i(c),function(){return s(c)}})}function Bo(e,t){return function(r){return function(o){return e[r](t,o)}}}function Oa(e){return P(e.addListener)&&P(e.removeListener)}function La(e){return P(e.on)&&P(e.off)}function Ma(e){return P(e.addEventListener)&&P(e.removeEventListener)}function dr(e,t,r){return r?dr(e,t).pipe(pt(r)):new I(function(o){var n=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];return o.next(s.length===1?s[0]:s)},i=e(n);return P(t)?function(){return t(n,i)}:void 0})}function ke(e,t,r){e===void 0&&(e=0),r===void 0&&(r=Wr);var o=-1;return t!=null&&(rr(t)?r=t:o=t),new I(function(n){var i=Vo(e)?+e-r.now():e;i<0&&(i=0);var s=0;return r.schedule(function(){n.closed||(n.next(s++),0<=o?this.schedule(void 0,o):n.complete())},i)})}function O(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=or(e,1/0),n=e;return n.length?n.length===1?U(n[0]):Mt(o)(fe(n,r)):x}var et=new I(ve);var _a=Array.isArray;function _t(e){return e.length===1&&_a(e[0])?e[0]:e}function v(e,t){return E(function(r,o){var n=0;r.subscribe(w(o,function(i){return e.call(t,i,n++)&&o.next(i)}))})}function bt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e),o=_t(e);return o.length?new I(function(n){var i=o.map(function(){return[]}),s=o.map(function(){return!1});n.add(function(){i=s=null});for(var a=function(p){U(o[p]).subscribe(w(n,function(l){if(i[p].push(l),i.every(function(u){return u.length})){var f=i.map(function(u){return u.shift()});n.next(r?r.apply(void 0,B([],K(f))):f),i.some(function(u,d){return!u.length&&s[d]})&&n.complete()}},function(){s[p]=!0,!i[p].length&&n.complete()}))},c=0;!n.closed&&c<o.length;c++)a(c);return function(){i=s=null}}):x}function Go(e){return E(function(t,r){var o=!1,n=null,i=null,s=!1,a=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var p=n;n=null,r.next(p)}s&&r.complete()},c=function(){i=null,s&&r.complete()};t.subscribe(w(r,function(p){o=!0,n=p,i||U(e(p)).subscribe(i=w(r,a,c))},function(){s=!0,(!o||!i||i.closed)&&r.complete()}))})}function $e(e,t){return t===void 0&&(t=pe),Go(function(){return ke(e,t)})}function tt(e,t){return t===void 0&&(t=null),t=t!=null?t:e,E(function(r,o){var n=[],i=0;r.subscribe(w(o,function(s){var a,c,p,l,f=null;i++%t===0&&n.push([]);try{for(var u=Oe(n),d=u.next();!d.done;d=u.next()){var g=d.value;g.push(s),e<=g.length&&(f=f!=null?f:[],f.push(g))}}catch(ne){a={error:ne}}finally{try{d&&!d.done&&(c=u.return)&&c.call(u)}finally{if(a)throw a.error}}if(f)try{for(var L=Oe(f),ee=L.next();!ee.done;ee=L.next()){var g=ee.value;Xe(n,g),o.next(g)}}catch(ne){p={error:ne}}finally{try{ee&&!ee.done&&(l=L.return)&&l.call(L)}finally{if(p)throw p.error}}},function(){var s,a;try{for(var c=Oe(n),p=c.next();!p.done;p=c.next()){var l=p.value;o.next(l)}}catch(f){s={error:f}}finally{try{p&&!p.done&&(a=c.return)&&a.call(c)}finally{if(s)throw s.error}}o.complete()},void 0,function(){n=null}))})}function ye(e){return E(function(t,r){var o=null,n=!1,i;o=t.subscribe(w(r,void 0,void 0,function(s){i=U(e(s,ye(e)(t))),o?(o.unsubscribe(),o=null,i.subscribe(r)):n=!0})),n&&(o.unsubscribe(),o=null,i.subscribe(r))})}function Jo(e,t,r,o,n){return function(i,s){var a=r,c=t,p=0;i.subscribe(w(s,function(l){var f=p++;c=a?e(c,l,f):(a=!0,l),o&&s.next(c)},n&&function(){a&&s.next(c),s.complete()}))}}function qr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e);return r?Mo(qr.apply(void 0,B([],K(e))),pt(r)):E(function(o,n){zr(B([o],K(_t(e))))(n)})}function De(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return qr.apply(void 0,B([],K(e)))}function jt(e){return E(function(t,r){var o=!1,n=null,i=null,s=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var a=n;n=null,r.next(a)}};t.subscribe(w(r,function(a){i==null||i.unsubscribe(),o=!0,n=a,i=w(r,s,ve),U(e(a)).subscribe(i)},function(){s(),r.complete()},void 0,function(){n=i=null}))})}function Ae(e,t){return t===void 0&&(t=pe),E(function(r,o){var n=null,i=null,s=null,a=function(){if(n){n.unsubscribe(),n=null;var p=i;i=null,o.next(p)}};function c(){var p=s+e,l=t.now();if(l<p){n=this.schedule(void 0,p-l),o.add(n);return}a()}r.subscribe(w(o,function(p){i=p,s=t.now(),n||(n=t.schedule(c,e),o.add(n))},function(){a(),o.complete()},void 0,function(){i=n=null}))})}function rt(e){return E(function(t,r){var o=!1;t.subscribe(w(r,function(n){o=!0,r.next(n)},function(){o||r.next(e),r.complete()}))})}function Ee(e){return e<=0?function(){return x}:E(function(t,r){var o=0;t.subscribe(w(r,function(n){++o<=e&&(r.next(n),e<=o&&r.complete())}))})}function re(){return E(function(e,t){e.subscribe(w(t,ve))})}function Xo(e){return m(function(){return e})}function Kr(e,t){return t?function(r){return qe(t.pipe(Ee(1),re()),r.pipe(Kr(e)))}:J(function(r,o){return U(e(r,o)).pipe(Ee(1),Xo(r))})}function ot(e,t){t===void 0&&(t=pe);var r=ke(e,t);return Kr(function(){return r})}function Qr(e,t){return E(function(r,o){var n=new Set;r.subscribe(w(o,function(i){var s=e?e(i):i;n.has(s)||(n.add(s),o.next(i))})),t&&U(t).subscribe(w(o,function(){return n.clear()},ve))})}function Y(e,t){return t===void 0&&(t=be),e=e!=null?e:Aa,E(function(r,o){var n,i=!0;r.subscribe(w(o,function(s){var a=t(s);(i||!e(n,a))&&(i=!1,n=a,o.next(s))}))})}function Aa(e,t){return e===t}function oe(e,t){return Y(function(r,o){return t?t(r[e],o[e]):r[e]===o[e]})}function Zo(e){return e===void 0&&(e=Ca),E(function(t,r){var o=!1;t.subscribe(w(r,function(n){o=!0,r.next(n)},function(){return o?r.complete():r.error(e())}))})}function Ca(){return new ur}function ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(r){return qe(r,$.apply(void 0,B([],K(e))))}}function hr(e,t){return t?function(r){return r.pipe(hr(function(o,n){return U(e(o,n)).pipe(m(function(i,s){return t(o,i,n,s)}))}))}:E(function(r,o){var n=0,i=null,s=!1;r.subscribe(w(o,function(a){i||(i=w(o,void 0,function(){i=null,s&&o.complete()}),U(e(a,n++)).subscribe(i))},function(){s=!0,!i&&o.complete()}))})}function A(e){return E(function(t,r){try{t.subscribe(r)}finally{r.add(e)}})}function Re(e,t){var r=arguments.length>=2;return function(o){return o.pipe(e?v(function(n,i){return e(n,i,o)}):be,Ee(1),r?rt(t):Zo(function(){return new ur}))}}function Yr(e){return e<=0?function(){return x}:E(function(t,r){var o=[];t.subscribe(w(r,function(n){o.push(n),e<o.length&&o.shift()},function(){var n,i;try{for(var s=Oe(o),a=s.next();!a.done;a=s.next()){var c=a.value;r.next(c)}}catch(p){n={error:p}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}r.complete()},void 0,function(){o=null}))})}function en(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=or(e,1/0);return e=_t(e),E(function(n,i){Mt(o)(fe(B([n],K(e)),r)).subscribe(i)})}function Ne(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return en.apply(void 0,B([],K(e)))}function vt(e){var t,r=1/0,o;return e!=null&&(typeof e=="object"?(t=e.count,r=t===void 0?1/0:t,o=e.delay):r=e),r<=0?function(){return x}:E(function(n,i){var s=0,a,c=function(){if(a==null||a.unsubscribe(),a=null,o!=null){var l=typeof o=="number"?ke(o):U(o(s)),f=w(i,function(){f.unsubscribe(),p()});l.subscribe(f)}else p()},p=function(){var l=!1;a=n.subscribe(w(i,void 0,function(){++s<r?a?c():l=!0:i.complete()})),l&&c()};p()})}function Ut(e,t){return E(Jo(e,t,arguments.length>=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new T}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,d=0,g=!1,L=!1,ee=function(){f==null||f.unsubscribe(),f=void 0},ne=function(){ee(),l=u=void 0,g=L=!1},Z=function(){var H=l;ne(),H==null||H.unsubscribe()};return E(function(H,ft){d++,!L&&!g&&ee();var Fe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!g&&(f=Br(Z,c))}),Fe.subscribe(ft),!l&&d>0&&(l=new ht({next:function(R){return Fe.next(R)},error:function(R){L=!0,ee(),f=Br(ne,n,R),Fe.error(R)},complete:function(){g=!0,ee(),f=Br(ne,s),Fe.complete()}}),U(H).subscribe(l))})(p)}}function Br(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];if(t===!0){e();return}if(t!==!1){var n=new ht({next:function(){n.unsubscribe(),e()}});return U(t.apply(void 0,B([],K(r)))).subscribe(n)}}function X(e,t,r){var o,n,i,s,a=!1;return e&&typeof e=="object"?(o=e.bufferSize,s=o===void 0?1/0:o,n=e.windowTime,t=n===void 0?1/0:n,i=e.refCount,a=i===void 0?!1:i,r=e.scheduler):s=e!=null?e:1/0,le({connector:function(){return new It(s,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function Pe(e){return v(function(t,r){return e<=r})}function Gr(e){return E(function(t,r){var o=!1,n=w(r,function(){n==null||n.unsubscribe(),o=!0},ve);U(e).subscribe(n),t.subscribe(w(r,function(i){return o&&r.next(i)}))})}function Q(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e);return E(function(o,n){(r?qe(e,o,r):qe(e,o)).subscribe(n)})}function b(e,t){return E(function(r,o){var n=null,i=0,s=!1,a=function(){return s&&!n&&o.complete()};r.subscribe(w(o,function(c){n==null||n.unsubscribe();var p=0,l=i++;U(e(c,l)).subscribe(n=w(o,function(f){return o.next(t?t(c,f,l,p++):f)},function(){n=null,a()}))},function(){s=!0,a()}))})}function W(e){return E(function(t,r){U(e).subscribe(w(r,function(){return r.complete()},ve)),!r.closed&&t.subscribe(r)})}function Jr(e,t){return t===void 0&&(t=!1),E(function(r,o){var n=0;r.subscribe(w(o,function(i){var s=e(i,n++);(s||t)&&o.next(i),!s&&o.complete()}))})}function S(e,t,r){var o=P(e)||t||r?{next:e,error:t,complete:r}:e;return o?E(function(n,i){var s;(s=o.subscribe)===null||s===void 0||s.call(o);var a=!0;n.subscribe(w(i,function(c){var p;(p=o.next)===null||p===void 0||p.call(o,c),i.next(c)},function(){var c;a=!1,(c=o.complete)===null||c===void 0||c.call(o),i.complete()},function(c){var p;a=!1,(p=o.error)===null||p===void 0||p.call(o,c),i.error(c)},function(){var c,p;a&&((c=o.unsubscribe)===null||c===void 0||c.call(o)),(p=o.finalize)===null||p===void 0||p.call(o)}))}):be}function tn(e,t){return E(function(r,o){var n=t!=null?t:{},i=n.leading,s=i===void 0?!0:i,a=n.trailing,c=a===void 0?!1:a,p=!1,l=null,f=null,u=!1,d=function(){f==null||f.unsubscribe(),f=null,c&&(ee(),u&&o.complete())},g=function(){f=null,u&&o.complete()},L=function(ne){return f=U(e(ne)).subscribe(w(o,d,g))},ee=function(){if(p){p=!1;var ne=l;l=null,o.next(ne),!u&&L(ne)}};r.subscribe(w(o,function(ne){p=!0,l=ne,!(f&&!f.closed)&&(s?ee():L(ne))},function(){u=!0,!(c&&p&&f&&!f.closed)&&o.complete()}))})}function gt(e,t,r){t===void 0&&(t=pe);var o=ke(e,t);return tn(function(){return o},r)}function te(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e);return E(function(o,n){for(var i=e.length,s=new Array(i),a=e.map(function(){return!1}),c=!1,p=function(f){U(e[f]).subscribe(w(n,function(u){s[f]=u,!c&&!a[f]&&(a[f]=!0,(c=a.every(be))&&(a=null))},ve))},l=0;l<i;l++)p(l);o.subscribe(w(n,function(f){if(c){var u=B([f],K(s));n.next(r?r.apply(void 0,B([],K(u))):u)}}))})}function rn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return E(function(r,o){bt.apply(void 0,B([r],K(e))).subscribe(o)})}function Xr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return rn.apply(void 0,B([],K(e)))}function on(){let e=new It(1);return h(document,"DOMContentLoaded",{once:!0}).subscribe(()=>e.next(document)),e}function M(e,t=document){return Array.from(t.querySelectorAll(e))}function F(e,t=document){let r=ue(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ue(e,t=document){return t.querySelector(e)||void 0}function Ve(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var Ha=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(Ae(1),Q(void 0),m(()=>Ve()||document.body),X(1));function Ke(e){return Ha.pipe(m(t=>e.contains(t)),Y())}function nt(e,t){return k(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?jt(r=>ke(+!r*t)):be,Q(e.matches(":hover"))))}function nn(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)nn(e,r)}function y(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)nn(o,n);return o}function br(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function At(e){let t=y("script",{src:e});return k(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(b(()=>Vr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),A(()=>document.head.removeChild(t)),Ee(1))))}var an=new T,ka=k(()=>typeof ResizeObserver=="undefined"?At("https://unpkg.com/resize-observer-polyfill"):$(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>an.next(t)))),b(e=>O(et,$(e)).pipe(A(()=>e.disconnect()))),X(1));function de(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Le(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return ka.pipe(S(r=>r.observe(t)),b(r=>an.pipe(v(o=>o.target===t),A(()=>r.unobserve(t)))),m(()=>de(e)),Q(de(e)))}function Ct(e){return{width:e.scrollWidth,height:e.scrollHeight}}function vr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function sn(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Qe(e){return{x:e.offsetLeft,y:e.offsetTop}}function cn(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function pn(e){return O(h(window,"load"),h(window,"resize")).pipe($e(0,ge),m(()=>Qe(e)),Q(Qe(e)))}function gr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ye(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe($e(0,ge),m(()=>gr(e)),Q(gr(e)))}var ln=new T,$a=k(()=>$(new IntersectionObserver(e=>{for(let t of e)ln.next(t)},{threshold:0}))).pipe(b(e=>O(et,$(e)).pipe(A(()=>e.disconnect()))),X(1));function lt(e){return $a.pipe(S(t=>t.observe(e)),b(t=>ln.pipe(v(({target:r})=>r===e),A(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function mn(e,t=16){return Ye(e).pipe(m(({y:r})=>{let o=de(e),n=Ct(e);return r>=n.height-o.height-t}),Y())}var xr={drawer:F("[data-md-toggle=drawer]"),search:F("[data-md-toggle=search]")};function fn(e){return xr[e].checked}function it(e,t){xr[e].checked!==t&&xr[e].click()}function Be(e){let t=xr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Ra(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Pa(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function un(){let e=h(window,"keydown").pipe(v(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:fn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),v(({mode:t,type:r})=>{if(t==="global"){let o=Ve();if(typeof o!="undefined")return!Ra(o,r)}return!0}),le());return Pa().pipe(b(t=>t?x:e))}function we(){return new URL(location.href)}function at(e,t=!1){if(N("navigation.instant")&&!t){let r=y("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function dn(){return new T}function hn(){return location.hash.slice(1)}function bn(e){let t=y("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Zr(e){return O(h(window,"hashchange"),e).pipe(m(hn),Q(hn()),v(t=>t.length>0),X(1))}function vn(e){return Zr(e).pipe(m(t=>ue(`[id="${t}"]`)),v(t=>typeof t!="undefined"))}function Wt(e){let t=matchMedia(e);return dr(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function gn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function eo(e,t){return e.pipe(b(r=>r?t():x))}function to(e,t){return new I(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let s=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+s*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function Ge(e,t){return to(e,t).pipe(b(r=>r.text()),m(r=>JSON.parse(r)),X(1))}function yr(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),X(1))}function xn(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),X(1))}function yn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function En(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(yn),Q(yn()))}function wn(){return{width:innerWidth,height:innerHeight}}function Tn(){return h(window,"resize",{passive:!0}).pipe(m(wn),Q(wn()))}function Sn(){return z([En(),Tn()]).pipe(m(([e,t])=>({offset:e,size:t})),X(1))}function Er(e,{viewport$:t,header$:r}){let o=t.pipe(oe("size")),n=z([o,r]).pipe(m(()=>Qe(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function Ia(e){return h(e,"message",t=>t.data)}function Fa(e){let t=new T;return t.subscribe(r=>e.postMessage(r)),t}function On(e,t=new Worker(e)){let r=Ia(t),o=Fa(t),n=new T;n.subscribe(o);let i=o.pipe(re(),ae(!0));return n.pipe(re(),Ne(r.pipe(W(i))),le())}var ja=F("#__config"),Ht=JSON.parse(ja.textContent);Ht.base=`${new URL(Ht.base,we())}`;function Te(){return Ht}function N(e){return Ht.features.includes(e)}function Me(e,t){return typeof t!="undefined"?Ht.translations[e].replace("#",t.toString()):Ht.translations[e]}function Ce(e,t=document){return F(`[data-md-component=${e}]`,t)}function me(e,t=document){return M(`[data-md-component=${e}]`,t)}function Ua(e){let t=F(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>F(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function Ln(e){if(!N("announce.dismiss")||!e.childElementCount)return x;if(!e.hidden){let t=F(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return k(()=>{let t=new T;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),Ua(e).pipe(S(r=>t.next(r)),A(()=>t.complete()),m(r=>j({ref:e},r)))})}function Wa(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function Mn(e,t){let r=new T;return r.subscribe(({hidden:o})=>{e.hidden=o}),Wa(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))}function Dt(e,t){return t==="inline"?y("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"})):y("div",{class:"md-tooltip",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"}))}function wr(...e){return y("div",{class:"md-tooltip2",role:"dialog"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function _n(...e){return y("div",{class:"md-tooltip2",role:"tooltip"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function An(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return y("aside",{class:"md-annotation",tabIndex:0},Dt(t),y("a",{href:r,class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}else return y("aside",{class:"md-annotation",tabIndex:0},Dt(t),y("span",{class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}function Cn(e){return y("button",{class:"md-code__button",title:Me("clipboard.copy"),"data-clipboard-target":`#${e} > code`,"data-md-type":"copy"})}function Hn(){return y("button",{class:"md-code__button",title:"Toggle line selection","data-md-type":"select"})}function kn(){return y("nav",{class:"md-code__nav"})}function ro(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,y("del",null,p)," "],[]).slice(0,-1),i=Te(),s=new URL(e.location,i.base);N("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=Te();return y("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},y("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&y("div",{class:"md-search-result__icon md-icon"}),r>0&&y("h1",null,e.title),r<=0&&y("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return y("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&y("p",{class:"md-search-result__terms"},Me("search.result.term.missing"),": ",...n)))}function $n(e){let t=e[0].score,r=[...e],o=Te(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.score<t);s===-1&&(s=r.length);let a=r.slice(0,s),c=r.slice(s),p=[ro(i,2|+(!n&&s===0)),...a.map(l=>ro(l,1)),...c.length?[y("details",{class:"md-search-result__more"},y("summary",{tabIndex:-1},y("div",null,c.length>0&&c.length===1?Me("search.result.more.one"):Me("search.result.more.other",c.length))),...c.map(l=>ro(l,1)))]:[]];return y("li",{class:"md-search-result__item"},p)}function Rn(e){return y("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>y("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?br(r):r)))}function oo(e){let t=`tabbed-control tabbed-control--${e}`;return y("div",{class:t,hidden:!0},y("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function Pn(e){return y("div",{class:"md-typeset__scrollwrap"},y("div",{class:"md-typeset__table"},e))}function Da(e){var o;let t=Te(),r=new URL(`../${e.version}/`,t.base);return y("li",{class:"md-version__item"},y("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&y("span",{class:"md-version__alias"},e.aliases[0])))}function In(e,t){var o;let r=Te();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),y("div",{class:"md-version"},y("button",{class:"md-version__current","aria-label":Me("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&y("span",{class:"md-version__alias"},t.aliases[0])),y("ul",{class:"md-version__list"},e.map(Da)))}var Na=0;function Va(e,t=250){let r=z([Ke(e),nt(e,t)]).pipe(m(([n,i])=>n||i),Y()),o=k(()=>sn(e)).pipe(J(Ye),gt(1),m(()=>cn(e)));return r.pipe(Re(n=>n),b(()=>z([r,o])),m(([n,i])=>({active:n,offset:i})),le())}function Nt(e,t,r=250){let{content$:o,viewport$:n}=t,i=`__tooltip2_${Na++}`;return k(()=>{let s=new T,a=new jr(!1);s.pipe(re(),ae(!1)).subscribe(a);let c=a.pipe(jt(l=>ke(+!l*250,Dr)),Y(),b(l=>l?o:x),S(l=>l.id=i),le());z([s.pipe(m(({active:l})=>l)),c.pipe(b(l=>nt(l,250)),Q(!1))]).pipe(m(l=>l.some(f=>f))).subscribe(a);let p=a.pipe(v(l=>l),te(c,n),m(([l,f,{size:u}])=>{let d=e.getBoundingClientRect(),g=d.width/2;if(f.role==="tooltip")return{x:g,y:8+d.height};if(d.y>=u.height/2){let{height:L}=de(f);return{x:g,y:-16-L}}else return{x:g,y:16+d.height}}));return z([c,s,p]).subscribe(([l,{offset:f},u])=>{l.style.setProperty("--md-tooltip-host-x",`${f.x}px`),l.style.setProperty("--md-tooltip-host-y",`${f.y}px`),l.style.setProperty("--md-tooltip-x",`${u.x}px`),l.style.setProperty("--md-tooltip-y",`${u.y}px`),l.classList.toggle("md-tooltip2--top",u.y<0),l.classList.toggle("md-tooltip2--bottom",u.y>=0)}),a.pipe(v(l=>l),te(c,(l,f)=>f),v(l=>l.role==="tooltip")).subscribe(l=>{let f=de(F(":scope > *",l));l.style.setProperty("--md-tooltip-width",`${f.width}px`),l.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(Y(),xe(ge),te(c)).subscribe(([l,f])=>{f.classList.toggle("md-tooltip2--active",l)}),z([a.pipe(v(l=>l)),c]).subscribe(([l,f])=>{f.role==="dialog"?(e.setAttribute("aria-controls",i),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",i)}),a.pipe(v(l=>!l)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),Va(e,r).pipe(S(l=>s.next(l)),A(()=>s.complete()),m(l=>j({ref:e},l)))})}function Je(e,{viewport$:t},r=document.body){return Nt(e,{content$:new I(o=>{let n=e.title,i=_n(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t},0)}function za(e,t){let r=k(()=>z([pn(e),Ye(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=de(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return Ke(e).pipe(b(o=>r.pipe(m(n=>({active:o,offset:n})),Ee(+!o||1/0))))}function Fn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return k(()=>{let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),lt(e).pipe(W(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),O(i.pipe(v(({active:a})=>a)),i.pipe(Ae(250),v(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe($e(16,ge)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(gt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(s),v(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),h(n,"mousedown").pipe(W(s),te(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Ve())==null||p.blur()}}),r.pipe(W(s),v(a=>a===o),ot(125)).subscribe(()=>e.focus()),za(e,t).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))})}function qa(e){let t=Te();if(e.tagName!=="CODE")return[e];let r=[".c",".c1",".cm"];if(typeof t.annotate!="undefined"){let o=e.closest("[class|=language]");if(o)for(let n of Array.from(o.classList)){if(!n.startsWith("language-"))continue;let[,i]=n.split("-");i in t.annotate&&r.push(...t.annotate[i])}}return M(r.join(", "),e)}function Ka(e){let t=[];for(let r of qa(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function jn(e,t){t.append(...Array.from(e.childNodes))}function Tr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of Ka(t)){let[,c]=a.textContent.match(/\((\d+)\)/);ue(`:scope > li:nth-child(${c})`,e)&&(s.set(c,An(c,i)),a.replaceWith(s.get(c)))}return s.size===0?x:k(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=[];for(let[l,f]of s)p.push([F(".md-typeset",f),F(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?jn(f,u):jn(u,f)}),O(...[...s].map(([,l])=>Fn(l,t,{target$:r}))).pipe(A(()=>a.complete()),le())})}function Un(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Un(t)}}function Wn(e,t){return k(()=>{let r=Un(e);return typeof r!="undefined"?Tr(r,e,t):x})}var Nn=Gt(io());var Qa=0,Dn=O(h(window,"keydown").pipe(m(()=>!0)),O(h(window,"keyup"),h(window,"contextmenu")).pipe(m(()=>!1))).pipe(Q(!1),X(1));function Vn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Vn(t)}}function Ya(e){return Le(e).pipe(m(({width:t})=>({scrollable:Ct(e).width>t})),oe("scrollable"))}function zn(e,t){let{matches:r}=matchMedia("(hover)"),o=k(()=>{let n=new T,i=n.pipe(Yr(1));n.subscribe(({scrollable:d})=>{d&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let s=[],a=e.closest("pre"),c=a.closest("[id]"),p=c?c.id:Qa++;a.id=`__code_${p}`;let l=[],f=e.closest(".highlight");if(f instanceof HTMLElement){let d=Vn(f);if(typeof d!="undefined"&&(f.classList.contains("annotate")||N("content.code.annotate"))){let g=Tr(d,e,t);l.push(Le(f).pipe(W(i),m(({width:L,height:ee})=>L&&ee),Y(),b(L=>L?g:x)))}}let u=M(":scope > span[id]",e);if(u.length&&(e.classList.add("md-code__content"),e.closest(".select")||N("content.code.select")&&!e.closest(".no-select"))){let d=+u[0].id.split("-").pop(),g=Hn();s.push(g),N("content.tooltips")&&l.push(Je(g,{viewport$}));let L=h(g,"click").pipe(Ut(R=>!R,!1),S(()=>g.blur()),le());L.subscribe(R=>{g.classList.toggle("md-code__button--active",R)});let ee=fe(u).pipe(J(R=>nt(R).pipe(m(se=>[R,se]))));L.pipe(b(R=>R?ee:x)).subscribe(([R,se])=>{let ce=ue(".hll.select",R);if(ce&&!se)ce.replaceWith(...Array.from(ce.childNodes));else if(!ce&&se){let he=document.createElement("span");he.className="hll select",he.append(...Array.from(R.childNodes).slice(1)),R.append(he)}});let ne=fe(u).pipe(J(R=>h(R,"mousedown").pipe(S(se=>se.preventDefault()),m(()=>R)))),Z=L.pipe(b(R=>R?ne:x),te(Dn),m(([R,se])=>{var he;let ce=u.indexOf(R)+d;if(se===!1)return[ce,ce];{let Se=M(".hll",e).map(je=>u.indexOf(je.parentElement)+d);return(he=window.getSelection())==null||he.removeAllRanges(),[Math.min(ce,...Se),Math.max(ce,...Se)]}})),H=Zr(x).pipe(v(R=>R.startsWith(`__codelineno-${p}-`)));H.subscribe(R=>{let[,,se]=R.split("-"),ce=se.split(":").map(Se=>+Se-d+1);ce.length===1&&ce.push(ce[0]);for(let Se of M(".hll:not(.select)",e))Se.replaceWith(...Array.from(Se.childNodes));let he=u.slice(ce[0]-1,ce[1]);for(let Se of he){let je=document.createElement("span");je.className="hll",je.append(...Array.from(Se.childNodes).slice(1)),Se.append(je)}}),H.pipe(Ee(1),xe(pe)).subscribe(R=>{if(R.includes(":")){let se=document.getElementById(R.split(":")[0]);se&&setTimeout(()=>{let ce=se,he=-64;for(;ce!==document.body;)he+=ce.offsetTop,ce=ce.offsetParent;window.scrollTo({top:he})},1)}});let Fe=fe(M('a[href^="#__codelineno"]',f)).pipe(J(R=>h(R,"click").pipe(S(se=>se.preventDefault()),m(()=>R)))).pipe(W(i),te(Dn),m(([R,se])=>{let he=+F(`[id="${R.hash.slice(1)}"]`).parentElement.id.split("-").pop();if(se===!1)return[he,he];{let Se=M(".hll",e).map(je=>+je.parentElement.id.split("-").pop());return[Math.min(he,...Se),Math.max(he,...Se)]}}));O(Z,Fe).subscribe(R=>{let se=`#__codelineno-${p}-`;R[0]===R[1]?se+=R[0]:se+=`${R[0]}:${R[1]}`,history.replaceState({},"",se),window.dispatchEvent(new HashChangeEvent("hashchange",{newURL:window.location.origin+window.location.pathname+se,oldURL:window.location.href}))})}if(Nn.default.isSupported()&&(e.closest(".copy")||N("content.code.copy")&&!e.closest(".no-copy"))){let d=Cn(a.id);s.push(d),N("content.tooltips")&&l.push(Je(d,{viewport$}))}if(s.length){let d=kn();d.append(...s),a.insertBefore(d,e)}return Ya(e).pipe(S(d=>n.next(d)),A(()=>n.complete()),m(d=>j({ref:e},d)),Ne(O(...l).pipe(W(i))))});return N("content.lazy")?lt(e).pipe(v(n=>n),Ee(1),b(()=>o)):o}function Ba(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),v(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(v(n=>n||!o),S(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function qn(e,t){return k(()=>{let r=new T;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Ba(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}function Ga(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],o=e.nextElementSibling;for(;o&&!(o instanceof HTMLHeadingElement);)r.push(o),o=o.nextElementSibling;return r}function Ja(e,t){for(let r of M("[href], [src]",e))for(let o of["href","src"]){let n=r.getAttribute(o);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){r[o]=new URL(r.getAttribute(o),t).toString();break}}return $(e)}function Kn(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return x;if(!(N("navigation.instant.preview")||e.hasAttribute("data-preview")))return x;let o=z([Ke(e),nt(e)]).pipe(m(([i,s])=>i||s),Y(),v(i=>i));return bt([r,o]).pipe(b(([i])=>{let s=new URL(e.href);return s.search=s.hash="",i.has(`${s}`)?$(s):x}),b(i=>yr(i).pipe(b(s=>Ja(s,i)))),b(i=>{let s=e.hash?`article [id="${e.hash.slice(1)}"]`:"article h1",a=ue(s,i);return typeof a=="undefined"?x:$(Ga(a))})).pipe(b(i=>{let s=new I(a=>{let c=wr(...i);return a.next(c),document.body.append(c),()=>c.remove()});return Nt(e,j({content$:s},t))}))}var Qn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var ao,Za=0;function es(){return typeof mermaid=="undefined"||mermaid instanceof Element?At("https://unpkg.com/mermaid@10/dist/mermaid.min.js"):$(void 0)}function Yn(e){return e.classList.remove("mermaid"),ao||(ao=es().pipe(S(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Qn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),X(1))),ao.subscribe(()=>bo(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${Za++}`,r=y("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})),ao.pipe(m(()=>({ref:e})))}var Bn=y("table");function Gn(e){return e.replaceWith(Bn),Bn.replaceWith(Pn(e)),$({ref:e})}function ts(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>F(`label[for="${r.id}"]`))))).pipe(Q(F(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Jn(e,{viewport$:t,target$:r}){let o=F(".tabbed-labels",e),n=M(":scope > input",e),i=oo("prev");e.append(i);let s=oo("next");return e.append(s),k(()=>{let a=new T,c=a.pipe(re(),ae(!0));z([a,Le(e),lt(e)]).pipe(W(c),$e(1,ge)).subscribe({next([{active:p},l]){let f=Qe(p),{width:u}=de(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=gr(o);(f.x<d.x||f.x+u>d.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ye(o),Le(o)]).pipe(W(c)).subscribe(([p,l])=>{let f=Ct(o);i.hidden=p.x<16,s.hidden=p.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(s,"click").pipe(m(()=>1))).pipe(W(c)).subscribe(p=>{let{width:l}=de(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(W(c),v(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=F(`label[for="${p.id}"]`);l.replaceChildren(y("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(c),v(f=>!(f.metaKey||f.ctrlKey)),S(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return N("content.tabs.link")&&a.pipe(Pe(1),te(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let g of M("[data-tabs]"))for(let L of M(":scope > input",g)){let ee=F(`label[for="${L.id}"]`);if(ee!==p&&ee.innerText.trim()===f){ee.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),a.pipe(W(c)).subscribe(()=>{for(let p of M("audio, video",e))p.pause()}),ts(n).pipe(S(p=>a.next(p)),A(()=>a.complete()),m(p=>j({ref:e},p)))}).pipe(Ze(pe))}function Xn(e,t){let{viewport$:r,target$:o,print$:n}=t;return O(...M(".annotate:not(.highlight)",e).map(i=>Wn(i,{target$:o,print$:n})),...M("pre:not(.mermaid) > code",e).map(i=>zn(i,{target$:o,print$:n})),...M("a:not([title])",e).map(i=>Kn(i,t)),...M("pre.mermaid",e).map(i=>Yn(i)),...M("table:not([class])",e).map(i=>Gn(i)),...M("details",e).map(i=>qn(i,{target$:o,print$:n})),...M("[data-tabs]",e).map(i=>Jn(i,{viewport$:r,target$:o})),...M("[title]",e).filter(()=>N("content.tooltips")).map(i=>Je(i,{viewport$:r})),...M(".footnote-ref",e).filter(()=>N("content.footnote.tooltips")).map(i=>Nt(i,{content$:new I(s=>{let a=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(a).cloneNode(!0).children),p=wr(...c);return s.next(p),document.body.append(p),()=>p.remove()}),viewport$:r})))}function rs(e,{alert$:t}){return t.pipe(b(r=>O($(!0),$(!1).pipe(ot(2e3))).pipe(m(o=>({message:r,active:o})))))}function Zn(e,t){let r=F(".md-typeset",e);return k(()=>{let o=new T;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),rs(e,t).pipe(S(n=>o.next(n)),A(()=>o.complete()),m(n=>j({ref:e},n)))})}var os=0;function ns(e,t){document.body.append(e);let{width:r}=de(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=vr(t),n=typeof o!="undefined"?Ye(o):$({x:0,y:0}),i=O(Ke(t),nt(t)).pipe(Y());return z([i,n]).pipe(m(([s,a])=>{let{x:c,y:p}=Qe(t),l=de(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:s,offset:{x:c-a.x+l.width/2-r/2,y:p-a.y+l.height+8}}}))}function ei(e){let t=e.title;if(!t.length)return x;let r=`__tooltip_${os++}`,o=Dt(r,"inline"),n=F(".md-typeset",o);return n.innerHTML=t,k(()=>{let i=new T;return i.subscribe({next({offset:s}){o.style.setProperty("--md-tooltip-x",`${s.x}px`),o.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(v(({active:s})=>s)),i.pipe(Ae(250),v(({active:s})=>!s))).subscribe({next({active:s}){s?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe($e(16,ge)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(gt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?o.style.setProperty("--md-tooltip-0",`${-s}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),ns(o,e).pipe(S(s=>i.next(s)),A(()=>i.complete()),m(s=>j({ref:e},s)))}).pipe(Ze(pe))}function is({viewport$:e}){if(!N("header.autohide"))return $(!1);let t=e.pipe(m(({offset:{y:n}})=>n),tt(2,1),m(([n,i])=>[n<i,i]),oe(0)),r=z([e,t]).pipe(v(([{offset:n},[,i]])=>Math.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=Be("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),b(n=>n?r:$(!1)),Q(!1))}function ti(e,t){return k(()=>z([Le(e),is(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),X(1))}function ri(e,{header$:t,main$:r}){return k(()=>{let o=new T,n=o.pipe(re(),ae(!0));o.pipe(oe("active"),De(t)).subscribe(([{active:s},{hidden:a}])=>{e.classList.toggle("md-header--shadow",s&&!a),e.hidden=a});let i=fe(M("[title]",e)).pipe(v(()=>N("content.tooltips")),J(s=>ei(s)));return r.subscribe(o),t.pipe(W(n),m(s=>j({ref:e},s)),Ne(i.pipe(W(n))))})}function as(e,{viewport$:t,header$:r}){return Er(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=de(e);return{active:o>=n}}),oe("active"))}function oi(e,t){return k(()=>{let r=new T;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=ue(".md-content h1");return typeof o=="undefined"?x:as(o,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>j({ref:e},n)))})}function ni(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(b(()=>Le(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),oe("bottom"))));return z([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),Y((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function ss(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return $(...e).pipe(J(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),X(1))}function ii(e){let t=M("input",e),r=y("meta",{name:"theme-color"});document.head.appendChild(r);let o=y("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Wt("(prefers-color-scheme: light)");return k(()=>{let i=new T;return i.subscribe(s=>{if(document.body.setAttribute("data-md-color-switching",""),s.color.media==="(prefers-color-scheme)"){let a=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(a.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");s.color.scheme=c.getAttribute("data-md-color-scheme"),s.color.primary=c.getAttribute("data-md-color-primary"),s.color.accent=c.getAttribute("data-md-color-accent")}for(let[a,c]of Object.entries(s.color))document.body.setAttribute(`data-md-color-${a}`,c);for(let a=0;a<t.length;a++){let c=t[a].nextElementSibling;c instanceof HTMLElement&&(c.hidden=s.index!==a)}__md_set("__palette",s)}),h(e,"keydown").pipe(v(s=>s.key==="Enter"),te(i,(s,a)=>a)).subscribe(({index:s})=>{s=(s+1)%t.length,t[s].click(),t[s].focus()}),i.pipe(m(()=>{let s=Ce("header"),a=window.getComputedStyle(s);return o.content=a.colorScheme,a.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(s=>r.content=`#${s}`),i.pipe(xe(pe)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),ss(t).pipe(W(n.pipe(Pe(1))),vt(),S(s=>i.next(s)),A(()=>i.complete()),m(s=>j({ref:e},s)))})}function ai(e,{progress$:t}){return k(()=>{let r=new T;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(S(o=>r.next({value:o})),A(()=>r.complete()),m(o=>({ref:e,value:o})))})}function si(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function cs(e,t){let r=new Map;for(let o of M("url",e)){let n=F("loc",o),i=[si(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let s of M("[rel=alternate]",o)){let a=s.getAttribute("href");a!=null&&i.push(si(new URL(a),t))}}return r}function kt(e){return xn(new URL("sitemap.xml",e)).pipe(m(t=>cs(t,new URL(e))),ye(()=>$(new Map)),le())}function ci({document$:e}){let t=new Map;e.pipe(b(()=>M("link[rel=alternate]")),m(r=>new URL(r.href)),v(r=>!t.has(r.toString())),J(r=>kt(r).pipe(m(o=>[r,o]),ye(()=>x)))).subscribe(([r,o])=>{t.set(r.toString().replace(/\/$/,""),o)}),h(document.body,"click").pipe(v(r=>!r.metaKey&&!r.ctrlKey),b(r=>{if(r.target instanceof Element){let o=r.target.closest("a");if(o&&!o.target){let n=[...t].find(([f])=>o.href.startsWith(`${f}/`));if(typeof n=="undefined")return x;let[i,s]=n,a=we();if(a.href.startsWith(i))return x;let c=Te(),p=a.href.replace(c.base,"");p=`${i}/${p}`;let l=s.has(p.split("#")[0])?new URL(p,c.base):new URL(i);return r.preventDefault(),$(l)}}return x})).subscribe(r=>at(r,!0))}var so=Gt(io());function ps(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function pi({alert$:e}){so.default.isSupported()&&new I(t=>{new so.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ps(F(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(S(t=>{t.trigger.focus()}),m(()=>Me("clipboard.copied"))).subscribe(e)}function li(e,t){if(!(e.target instanceof Element))return x;let r=e.target.closest("a");if(r===null)return x;if(r.target||e.metaKey||e.ctrlKey)return x;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),$(r)):x}function mi(e){let t=new Map;for(let r of M(":scope > *",e.head))t.set(r.outerHTML,r);return t}function fi(e){for(let t of M("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return $(e)}function ls(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...N("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=ue(o),i=ue(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=mi(document);for(let[o,n]of mi(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Ce("container");return qe(M("script",r)).pipe(b(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new I(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),x}),re(),ae(document))}function ui({sitemap$:e,location$:t,viewport$:r,progress$:o}){if(location.protocol==="file:")return x;$(document).subscribe(fi);let n=h(document.body,"click").pipe(De(e),b(([a,c])=>li(a,c)),m(({href:a})=>new URL(a)),le()),i=h(window,"popstate").pipe(m(we),le());n.pipe(te(r)).subscribe(([a,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",a)}),O(n,i).subscribe(t);let s=t.pipe(oe("pathname"),b(a=>yr(a,{progress$:o}).pipe(ye(()=>(at(a,!0),x)))),b(fi),b(ls),le());return O(s.pipe(te(t,(a,c)=>c)),s.pipe(b(()=>t),oe("pathname"),b(()=>t),oe("hash")),t.pipe(Y((a,c)=>a.pathname===c.pathname&&a.hash===c.hash),b(()=>n),S(()=>history.back()))).subscribe(a=>{var c,p;history.state!==null||!a.hash?window.scrollTo(0,(p=(c=history.state)==null?void 0:c.y)!=null?p:0):(history.scrollRestoration="auto",bn(a.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(oe("offset"),Ae(100)).subscribe(({offset:a})=>{history.replaceState(a,"")}),N("navigation.instant.prefetch")&&O(h(document.body,"mousemove"),h(document.body,"focusin")).pipe(De(e),b(([a,c])=>li(a,c)),Ae(25),Qr(({href:a})=>a),hr(a=>{let c=document.createElement("link");return c.rel="prefetch",c.href=a.toString(),document.head.appendChild(c),h(c,"load").pipe(m(()=>c),Ee(1))})).subscribe(a=>a.remove()),s}var bi=Gt(hi());function vi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}<mark data-md-highlight>${s}</mark>`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,bi.default)(s).replace(i,o).replace(/<\/mark>(\s+)<mark[^>]*>/img,"$1")}}function zt(e){return e.type===1}function Sr(e){return e.type===3}function gi(e,t){let r=On(e);return O($(location.protocol!=="file:"),Be("search")).pipe(Re(o=>o),b(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:N("search.suggest")}}})),r}function xi({document$:e}){let t=Te(),r=Ge(new URL("../versions.json",t.base)).pipe(ye(()=>x)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),b(n=>h(document.body,"click").pipe(v(i=>!i.metaKey&&!i.ctrlKey),te(o),b(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?x:(i.preventDefault(),$(c))}}return x}),b(i=>kt(new URL(i)).pipe(m(s=>{let c=we().href.replace(t.base,i);return s.has(c.split("#")[0])?new URL(c):new URL(i)})))))).subscribe(n=>at(n,!0)),z([r,o]).subscribe(([n,i])=>{F(".md-header__topic").appendChild(In(n,i))}),e.pipe(b(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of me("outdated"))a.hidden=!1})}function hs(e,{worker$:t}){let{searchParams:r}=we();r.has("q")&&(it("search",!0),e.value=r.get("q"),e.focus(),Be("search").pipe(Re(i=>!i)).subscribe(()=>{let i=we();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=Ke(e),n=O(t.pipe(Re(zt)),h(e,"keyup"),o).pipe(m(()=>e.value),Y());return z([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),X(1))}function yi(e,{worker$:t}){let r=new T,o=r.pipe(re(),ae(!0));z([t.pipe(Re(zt)),r],(i,s)=>s).pipe(oe("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(oe("focus")).subscribe(({focus:i})=>{i&&it("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=F("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),hs(e,{worker$:t}).pipe(S(i=>r.next(i)),A(()=>r.complete()),m(i=>j({ref:e},i)),X(1))}function Ei(e,{worker$:t,query$:r}){let o=new T,n=mn(e.parentElement).pipe(v(Boolean)),i=e.parentElement,s=F(":scope > :first-child",e),a=F(":scope > :last-child",e);Be("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(te(r),Gr(t.pipe(Re(zt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?Me("search.result.none"):Me("search.result.placeholder");break;case 1:s.textContent=Me("search.result.one");break;default:let u=br(l.length);s.textContent=Me("search.result.other",u)}});let c=o.pipe(S(()=>a.innerHTML=""),b(({items:l})=>O($(...l.slice(0,10)),$(...l.slice(10)).pipe(tt(4),Xr(n),b(([f])=>f)))),m($n),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(J(l=>{let f=ue("details",l);return typeof f=="undefined"?x:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(v(Sr),m(({data:l})=>l)).pipe(S(l=>o.next(l)),A(()=>o.complete()),m(l=>j({ref:e},l)))}function bs(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=we();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function wi(e,t){let r=new T,o=r.pipe(re(),ae(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),bs(e,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>j({ref:e},n)))}function Ti(e,{worker$:t,keyboard$:r}){let o=new T,n=Ce("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(xe(pe),m(()=>n.value),Y());return o.pipe(De(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(v(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(v(Sr),m(({data:a})=>a)).pipe(S(a=>o.next(a)),A(()=>o.complete()),m(()=>({ref:e})))}function Si(e,{index$:t,keyboard$:r}){let o=Te();try{let n=gi(o.search,t),i=Ce("search-query",e),s=Ce("search-result",e);h(e,"click").pipe(v(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>it("search",!1)),r.pipe(v(({mode:c})=>c==="search")).subscribe(c=>{let p=Ve();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of M(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}c.claim()}break;case"Escape":case"Tab":it("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...M(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Ve()&&i.focus()}}),r.pipe(v(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=yi(i,{worker$:n});return O(a,Ei(s,{worker$:n,query$:a})).pipe(Ne(...me("search-share",e).map(c=>wi(c,{query$:a})),...me("search-suggest",e).map(c=>Ti(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,et}}function Oi(e,{index$:t,location$:r}){return z([t,r.pipe(Q(we()),v(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>vi(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=y("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function vs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),Y((i,s)=>i.height===s.height&&i.locked===s.locked))}function co(e,o){var n=o,{header$:t}=n,r=ho(n,["header$"]);let i=F(".md-sidebar__scrollwrap",e),{y:s}=Qe(i);return k(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=a.pipe($e(0,ge));return p.pipe(te(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(Re()).subscribe(()=>{for(let l of M(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2})}}}),fe(M("label[tabindex]",e)).pipe(J(l=>h(l,"click").pipe(xe(pe),m(()=>l),W(c)))).subscribe(l=>{let f=F(`[id="${l.htmlFor}"]`);F(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),N("content.tooltips")&&fe(M("abbr[title]",e)).pipe(J(l=>Je(l,{viewport$})),W(c)).subscribe(),vs(e,r).pipe(S(l=>a.next(l)),A(()=>a.complete()),m(l=>j({ref:e},l)))})}function Li(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return bt(Ge(`${r}/releases/latest`).pipe(ye(()=>x),m(o=>({version:o.tag_name})),rt({})),Ge(r).pipe(ye(()=>x),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),rt({}))).pipe(m(([o,n])=>j(j({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ge(r).pipe(m(o=>({repositories:o.public_repos})),rt({}))}}function Mi(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ge(r).pipe(ye(()=>x),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),rt({}))}function _i(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return Li(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return Mi(r,o)}return x}var gs;function xs(e){return gs||(gs=k(()=>{let t=__md_get("__source",sessionStorage);if(t)return $(t);if(me("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return x}return _i(e.href).pipe(S(o=>__md_set("__source",o,sessionStorage)))}).pipe(ye(()=>x),v(t=>Object.keys(t).length>0),m(t=>({facts:t})),X(1)))}function Ai(e){let t=F(":scope > :last-child",e);return k(()=>{let r=new T;return r.subscribe(({facts:o})=>{t.appendChild(Rn(o)),t.classList.add("md-source__repository--active")}),xs(e).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}function ys(e,{viewport$:t,header$:r}){return Le(document.body).pipe(b(()=>Er(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),oe("hidden"))}function Ci(e,t){return k(()=>{let r=new T;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(N("navigation.tabs.sticky")?$({hidden:!1}):ys(e,t)).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}function Es(e,{viewport$:t,header$:r}){let o=new Map,n=M(".md-nav__link",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=ue(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(oe("height"),m(({height:a})=>{let c=Ce("main"),p=F(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return Le(document.body).pipe(oe("height"),b(a=>k(()=>{let c=[];return $([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),De(i),b(([c,p])=>t.pipe(Ut(([l,f],{offset:{y:u},size:d})=>{let g=u+d.height>=Math.floor(a.height);for(;f.length;){let[,L]=f[0];if(L-p<u||g)l=[...l,f.shift()];else break}for(;l.length;){let[,L]=l[l.length-1];if(L-p>=u&&!g)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),Q({prev:[],next:[]}),tt(2,1),m(([a,c])=>a.prev.length<c.prev.length?{prev:c.prev.slice(Math.max(0,a.prev.length-1),c.prev.length),next:[]}:{prev:c.prev.slice(-1),next:c.next.slice(0,c.next.length-a.next.length)}))}function Hi(e,{viewport$:t,header$:r,main$:o,target$:n}){return k(()=>{let i=new T,s=i.pipe(re(),ae(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),N("toc.follow")){let a=O(t.pipe(Ae(1),m(()=>{})),t.pipe(Ae(250),m(()=>"smooth")));i.pipe(v(({prev:c})=>c.length>0),De(o.pipe(xe(pe))),te(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=vr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2,behavior:p})}}})}return N("navigation.tracking")&&t.pipe(W(s),oe("offset"),Ae(250),Pe(1),W(n.pipe(Pe(1))),vt({delay:250}),te(i)).subscribe(([,{prev:a}])=>{let c=we(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),Es(e,{viewport$:t,header$:r}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))})}function ws(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),tt(2,1),m(([s,a])=>s>a&&a>0),Y()),i=r.pipe(m(({active:s})=>s));return z([i,n]).pipe(m(([s,a])=>!(s&&a)),Y(),W(o.pipe(Pe(1))),ae(!0),vt({delay:250}),m(s=>({hidden:s})))}function ki(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(s),oe("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),h(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),ws(e,{viewport$:t,main$:o,target$:n}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))}function $i({document$:e,viewport$:t}){e.pipe(b(()=>M(".md-ellipsis")),J(r=>lt(r).pipe(W(e.pipe(Pe(1))),v(o=>o),m(()=>r),Ee(1))),v(r=>r.offsetWidth<r.scrollWidth),J(r=>{let o=r.innerText,n=r.closest("a")||r;return n.title=o,N("content.tooltips")?Je(n,{viewport$:t}).pipe(W(e.pipe(Pe(1))),A(()=>n.removeAttribute("title"))):x})).subscribe(),N("content.tooltips")&&e.pipe(b(()=>M(".md-status")),J(r=>Je(r,{viewport$:t}))).subscribe()}function Ri({document$:e,tablet$:t}){e.pipe(b(()=>M(".md-toggle--indeterminate")),S(r=>{r.indeterminate=!0,r.checked=!1}),J(r=>h(r,"change").pipe(Jr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),te(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function Ts(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Pi({document$:e}){e.pipe(b(()=>M("[data-md-scrollfix]")),S(t=>t.removeAttribute("data-md-scrollfix")),v(Ts),J(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Ii({viewport$:e,tablet$:t}){z([Be("search"),t]).pipe(m(([r,o])=>r&&!o),b(r=>$(r).pipe(ot(r?400:100))),te(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function Ss(){return location.protocol==="file:"?At(`${new URL("search/search_index.js",Or.base)}`).pipe(m(()=>__index),X(1)):Ge(new URL("search/search_index.json",Or.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var st=on(),Kt=dn(),$t=vn(Kt),po=un(),He=Sn(),Lr=Wt("(min-width: 960px)"),ji=Wt("(min-width: 1220px)"),Ui=gn(),Or=Te(),Wi=document.forms.namedItem("search")?Ss():et,lo=new T;pi({alert$:lo});ci({document$:st});var mo=new T,Di=kt(Or.base);N("navigation.instant")&&ui({sitemap$:Di,location$:Kt,viewport$:He,progress$:mo}).subscribe(st);var Fi;((Fi=Or.version)==null?void 0:Fi.provider)==="mike"&&xi({document$:st});O(Kt,$t).pipe(ot(125)).subscribe(()=>{it("drawer",!1),it("search",!1)});po.pipe(v(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=ue("link[rel=prev]");typeof t!="undefined"&&at(t);break;case"n":case".":let r=ue("link[rel=next]");typeof r!="undefined"&&at(r);break;case"Enter":let o=Ve();o instanceof HTMLLabelElement&&o.click()}});$i({viewport$:He,document$:st});Ri({document$:st,tablet$:Lr});Pi({document$:st});Ii({viewport$:He,tablet$:Lr});var mt=ti(Ce("header"),{viewport$:He}),qt=st.pipe(m(()=>Ce("main")),b(e=>ni(e,{viewport$:He,header$:mt})),X(1)),Os=O(...me("consent").map(e=>Mn(e,{target$:$t})),...me("dialog").map(e=>Zn(e,{alert$:lo})),...me("header").map(e=>ri(e,{viewport$:He,header$:mt,main$:qt})),...me("palette").map(e=>ii(e)),...me("progress").map(e=>ai(e,{progress$:mo})),...me("search").map(e=>Si(e,{index$:Wi,keyboard$:po})),...me("source").map(e=>Ai(e))),Ls=k(()=>O(...me("announce").map(e=>Ln(e)),...me("content").map(e=>Xn(e,{sitemap$:Di,viewport$:He,target$:$t,print$:Ui})),...me("content").map(e=>N("search.highlight")?Oi(e,{index$:Wi,location$:Kt}):x),...me("header-title").map(e=>oi(e,{viewport$:He,header$:mt})),...me("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?eo(ji,()=>co(e,{viewport$:He,header$:mt,main$:qt})):eo(Lr,()=>co(e,{viewport$:He,header$:mt,main$:qt}))),...me("tabs").map(e=>Ci(e,{viewport$:He,header$:mt})),...me("toc").map(e=>Hi(e,{viewport$:He,header$:mt,main$:qt,target$:$t})),...me("top").map(e=>ki(e,{viewport$:He,header$:mt,main$:qt,target$:$t})))),Ni=st.pipe(b(()=>Ls),Ne(Os),X(1));Ni.subscribe();window.document$=st;window.location$=Kt;window.target$=$t;window.keyboard$=po;window.viewport$=He;window.tablet$=Lr;window.screen$=ji;window.print$=Ui;window.alert$=lo;window.progress$=mo;window.component$=Ni;})(); + `):"",this.name="UnsubscriptionError",this.errors=r}});function Xe(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var ze=function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,o,n,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=Oe(s),c=a.next();!c.done;c=a.next()){var p=c.value;p.remove(this)}}catch(L){t={error:L}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var l=this.initialTeardown;if(P(l))try{l()}catch(L){i=L instanceof Xt?L.errors:[L]}var f=this._finalizers;if(f){this._finalizers=null;try{for(var u=Oe(f),d=u.next();!d.done;d=u.next()){var g=d.value;try{wo(g)}catch(L){i=i!=null?i:[],L instanceof Xt?i=B(B([],K(i)),K(L.errors)):i.push(L)}}}catch(L){o={error:L}}finally{try{d&&!d.done&&(n=u.return)&&n.call(u)}finally{if(o)throw o.error}}}if(i)throw new Xt(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)wo(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&Xe(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&Xe(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=function(){var t=new e;return t.closed=!0,t}(),e}();var kr=ze.EMPTY;function Zt(e){return e instanceof ze||e&&"closed"in e&&P(e.remove)&&P(e.add)&&P(e.unsubscribe)}function wo(e){P(e)?e():e.unsubscribe()}var We={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var yt={setTimeout:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=yt.delegate;return n!=null&&n.setTimeout?n.setTimeout.apply(n,B([e,t],K(r))):setTimeout.apply(void 0,B([e,t],K(r)))},clearTimeout:function(e){var t=yt.delegate;return((t==null?void 0:t.clearTimeout)||clearTimeout)(e)},delegate:void 0};function er(e){yt.setTimeout(function(){var t=We.onUnhandledError;if(t)t(e);else throw e})}function ve(){}var To=function(){return Rr("C",void 0,void 0)}();function So(e){return Rr("E",void 0,e)}function Oo(e){return Rr("N",e,void 0)}function Rr(e,t,r){return{kind:e,value:t,error:r}}var dt=null;function Et(e){if(We.useDeprecatedSynchronousErrorHandling){var t=!dt;if(t&&(dt={errorThrown:!1,error:null}),e(),t){var r=dt,o=r.errorThrown,n=r.error;if(dt=null,o)throw n}}else e()}function Lo(e){We.useDeprecatedSynchronousErrorHandling&&dt&&(dt.errorThrown=!0,dt.error=e)}var Rt=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o.isStopped=!1,r?(o.destination=r,Zt(r)&&r.add(o)):o.destination=na,o}return t.create=function(r,o,n){return new ht(r,o,n)},t.prototype.next=function(r){this.isStopped?Ir(Oo(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Ir(So(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Ir(To,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(ze);var ta=Function.prototype.bind;function Pr(e,t){return ta.call(e,t)}var ra=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(o){tr(o)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(o){tr(o)}else tr(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){tr(r)}},e}(),ht=function(e){ie(t,e);function t(r,o,n){var i=e.call(this)||this,s;if(P(r)||!r)s={next:r!=null?r:void 0,error:o!=null?o:void 0,complete:n!=null?n:void 0};else{var a;i&&We.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Pr(r.next,a),error:r.error&&Pr(r.error,a),complete:r.complete&&Pr(r.complete,a)}):s=r}return i.destination=new ra(s),i}return t}(Rt);function tr(e){We.useDeprecatedSynchronousErrorHandling?Lo(e):er(e)}function oa(e){throw e}function Ir(e,t){var r=We.onStoppedNotification;r&&yt.setTimeout(function(){return r(e,t)})}var na={closed:!0,next:ve,error:oa,complete:ve};var wt=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function be(e){return e}function Mo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Fr(e)}function Fr(e){return e.length===0?be:e.length===1?e[0]:function(r){return e.reduce(function(o,n){return n(o)},r)}}var I=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var r=new e;return r.source=this,r.operator=t,r},e.prototype.subscribe=function(t,r,o){var n=this,i=aa(t)?t:new ht(t,r,o);return Et(function(){var s=n,a=s.operator,c=s.source;i.add(a?a.call(i,c):c?n._subscribe(i):n._trySubscribe(i))}),i},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){t.error(r)}},e.prototype.forEach=function(t,r){var o=this;return r=_o(r),new r(function(n,i){var s=new ht({next:function(a){try{t(a)}catch(c){i(c),s.unsubscribe()}},error:i,complete:n});o.subscribe(s)})},e.prototype._subscribe=function(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)},e.prototype[wt]=function(){return this},e.prototype.pipe=function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return Fr(t)(this)},e.prototype.toPromise=function(t){var r=this;return t=_o(t),new t(function(o,n){var i;r.subscribe(function(s){return i=s},function(s){return n(s)},function(){return o(i)})})},e.create=function(t){return new e(t)},e}();function _o(e){var t;return(t=e!=null?e:We.Promise)!==null&&t!==void 0?t:Promise}function ia(e){return e&&P(e.next)&&P(e.error)&&P(e.complete)}function aa(e){return e&&e instanceof Rt||ia(e)&&Zt(e)}function sa(e){return P(e==null?void 0:e.lift)}function E(e){return function(t){if(sa(t))return t.lift(function(r){try{return e(r,this)}catch(o){this.error(o)}});throw new TypeError("Unable to lift unknown Observable type")}}function w(e,t,r,o,n){return new ca(e,t,r,o,n)}var ca=function(e){ie(t,e);function t(r,o,n,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=o?function(p){try{o(p)}catch(l){r.error(l)}}:e.prototype._next,c._error=i?function(p){try{i(p)}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=n?function(){try{n()}catch(p){r.error(p)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var o=this.closed;e.prototype.unsubscribe.call(this),!o&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t}(Rt);var Tt={schedule:function(e){var t=requestAnimationFrame,r=cancelAnimationFrame,o=Tt.delegate;o&&(t=o.requestAnimationFrame,r=o.cancelAnimationFrame);var n=t(function(i){r=void 0,e(i)});return new ze(function(){return r==null?void 0:r(n)})},requestAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Tt.delegate;return((r==null?void 0:r.requestAnimationFrame)||requestAnimationFrame).apply(void 0,B([],K(e)))},cancelAnimationFrame:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Tt.delegate;return((r==null?void 0:r.cancelAnimationFrame)||cancelAnimationFrame).apply(void 0,B([],K(e)))},delegate:void 0};var Ao=xt(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}});var T=function(e){ie(t,e);function t(){var r=e.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return t.prototype.lift=function(r){var o=new Co(this,this);return o.operator=r,o},t.prototype._throwIfClosed=function(){if(this.closed)throw new Ao},t.prototype.next=function(r){var o=this;Et(function(){var n,i;if(o._throwIfClosed(),!o.isStopped){o.currentObservers||(o.currentObservers=Array.from(o.observers));try{for(var s=Oe(o.currentObservers),a=s.next();!a.done;a=s.next()){var c=a.value;c.next(r)}}catch(p){n={error:p}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}}})},t.prototype.error=function(r){var o=this;Et(function(){if(o._throwIfClosed(),!o.isStopped){o.hasError=o.isStopped=!0,o.thrownError=r;for(var n=o.observers;n.length;)n.shift().error(r)}})},t.prototype.complete=function(){var r=this;Et(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var o=r.observers;o.length;)o.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var o=this,n=this,i=n.hasError,s=n.isStopped,a=n.observers;return i||s?kr:(this.currentObservers=null,a.push(r),new ze(function(){o.currentObservers=null,Xe(a,r)}))},t.prototype._checkFinalizedStatuses=function(r){var o=this,n=o.hasError,i=o.thrownError,s=o.isStopped;n?r.error(i):s&&r.complete()},t.prototype.asObservable=function(){var r=new I;return r.source=this,r},t.create=function(r,o){return new Co(r,o)},t}(I);var Co=function(e){ie(t,e);function t(r,o){var n=e.call(this)||this;return n.destination=r,n.source=o,n}return t.prototype.next=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.next)===null||n===void 0||n.call(o,r)},t.prototype.error=function(r){var o,n;(n=(o=this.destination)===null||o===void 0?void 0:o.error)===null||n===void 0||n.call(o,r)},t.prototype.complete=function(){var r,o;(o=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||o===void 0||o.call(r)},t.prototype._subscribe=function(r){var o,n;return(n=(o=this.source)===null||o===void 0?void 0:o.subscribe(r))!==null&&n!==void 0?n:kr},t}(T);var jr=function(e){ie(t,e);function t(r){var o=e.call(this)||this;return o._value=r,o}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var o=e.prototype._subscribe.call(this,r);return!o.closed&&r.next(this._value),o},t.prototype.getValue=function(){var r=this,o=r.hasError,n=r.thrownError,i=r._value;if(o)throw n;return this._throwIfClosed(),i},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(T);var Pt={now:function(){return(Pt.delegate||Date).now()},delegate:void 0};var It=function(e){ie(t,e);function t(r,o,n){r===void 0&&(r=1/0),o===void 0&&(o=1/0),n===void 0&&(n=Pt);var i=e.call(this)||this;return i._bufferSize=r,i._windowTime=o,i._timestampProvider=n,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=o===1/0,i._bufferSize=Math.max(1,r),i._windowTime=Math.max(1,o),i}return t.prototype.next=function(r){var o=this,n=o.isStopped,i=o._buffer,s=o._infiniteTimeWindow,a=o._timestampProvider,c=o._windowTime;n||(i.push(r),!s&&i.push(a.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var o=this._innerSubscribe(r),n=this,i=n._infiniteTimeWindow,s=n._buffer,a=s.slice(),c=0;c<a.length&&!r.closed;c+=i?1:2)r.next(a[c]);return this._checkFinalizedStatuses(r),o},t.prototype._trimBuffer=function(){var r=this,o=r._bufferSize,n=r._timestampProvider,i=r._buffer,s=r._infiniteTimeWindow,a=(s?1:2)*o;if(o<1/0&&a<i.length&&i.splice(0,i.length-a),!s){for(var c=n.now(),p=0,l=1;l<i.length&&i[l]<=c;l+=2)p=l;p&&i.splice(0,p+1)}},t}(T);var Ho=function(e){ie(t,e);function t(r,o){return e.call(this)||this}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),this},t}(ze);var Ft={setInterval:function(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];var n=Ft.delegate;return n!=null&&n.setInterval?n.setInterval.apply(n,B([e,t],K(r))):setInterval.apply(void 0,B([e,t],K(r)))},clearInterval:function(e){var t=Ft.delegate;return((t==null?void 0:t.clearInterval)||clearInterval)(e)},delegate:void 0};var St=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n.pending=!1,n}return t.prototype.schedule=function(r,o){var n;if(o===void 0&&(o=0),this.closed)return this;this.state=r;var i=this.id,s=this.scheduler;return i!=null&&(this.id=this.recycleAsyncId(s,i,o)),this.pending=!0,this.delay=o,this.id=(n=this.id)!==null&&n!==void 0?n:this.requestAsyncId(s,this.id,o),this},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),Ft.setInterval(r.flush.bind(r,this),n)},t.prototype.recycleAsyncId=function(r,o,n){if(n===void 0&&(n=0),n!=null&&this.delay===n&&this.pending===!1)return o;o!=null&&Ft.clearInterval(o)},t.prototype.execute=function(r,o){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(r,o);if(n)return n;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(r,o){var n=!1,i;try{this.work(r)}catch(s){n=!0,i=s||new Error("Scheduled action threw falsy error")}if(n)return this.unsubscribe(),i},t.prototype.unsubscribe=function(){if(!this.closed){var r=this,o=r.id,n=r.scheduler,i=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Xe(i,this),o!=null&&(this.id=this.recycleAsyncId(n,o,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(Ho);var Ur=function(){function e(t,r){r===void 0&&(r=e.now),this.schedulerActionCtor=t,this.now=r}return e.prototype.schedule=function(t,r,o){return r===void 0&&(r=0),new this.schedulerActionCtor(this,t).schedule(o,r)},e.now=Pt.now,e}();var Ot=function(e){ie(t,e);function t(r,o){o===void 0&&(o=Ur.now);var n=e.call(this,r,o)||this;return n.actions=[],n._active=!1,n}return t.prototype.flush=function(r){var o=this.actions;if(this._active){o.push(r);return}var n;this._active=!0;do if(n=r.execute(r.state,r.delay))break;while(r=o.shift());if(this._active=!1,n){for(;r=o.shift();)r.unsubscribe();throw n}},t}(Ur);var pe=new Ot(St),Wr=pe;var $o=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.schedule=function(r,o){return o===void 0&&(o=0),o>0?e.prototype.schedule.call(this,r,o):(this.delay=o,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,o){return o>0||this.closed?e.prototype.execute.call(this,r,o):this._execute(r,o)},t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!=null&&n>0||n==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.flush(this),0)},t}(St);var ko=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Ot);var Dr=new ko($o);var Ro=function(e){ie(t,e);function t(r,o){var n=e.call(this,r,o)||this;return n.scheduler=r,n.work=o,n}return t.prototype.requestAsyncId=function(r,o,n){return n===void 0&&(n=0),n!==null&&n>0?e.prototype.requestAsyncId.call(this,r,o,n):(r.actions.push(this),r._scheduled||(r._scheduled=Tt.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,o,n){var i;if(n===void 0&&(n=0),n!=null?n>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,o,n);var s=r.actions;o!=null&&((i=s[s.length-1])===null||i===void 0?void 0:i.id)!==o&&(Tt.cancelAnimationFrame(o),r._scheduled=void 0)},t}(St);var Po=function(e){ie(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var o=this._scheduled;this._scheduled=void 0;var n=this.actions,i;r=r||n.shift();do if(i=r.execute(r.state,r.delay))break;while((r=n[0])&&r.id===o&&n.shift());if(this._active=!1,i){for(;(r=n[0])&&r.id===o&&n.shift();)r.unsubscribe();throw i}},t}(Ot);var ge=new Po(Ro);var x=new I(function(e){return e.complete()});function rr(e){return e&&P(e.schedule)}function Nr(e){return e[e.length-1]}function ct(e){return P(Nr(e))?e.pop():void 0}function Ie(e){return rr(Nr(e))?e.pop():void 0}function or(e,t){return typeof Nr(e)=="number"?e.pop():t}var Lt=function(e){return e&&typeof e.length=="number"&&typeof e!="function"};function nr(e){return P(e==null?void 0:e.then)}function ir(e){return P(e[wt])}function ar(e){return Symbol.asyncIterator&&P(e==null?void 0:e[Symbol.asyncIterator])}function sr(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function pa(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var cr=pa();function pr(e){return P(e==null?void 0:e[cr])}function lr(e){return yo(this,arguments,function(){var r,o,n,i;return Jt(this,function(s){switch(s.label){case 0:r=e.getReader(),s.label=1;case 1:s.trys.push([1,,9,10]),s.label=2;case 2:return[4,ut(r.read())];case 3:return o=s.sent(),n=o.value,i=o.done,i?[4,ut(void 0)]:[3,5];case 4:return[2,s.sent()];case 5:return[4,ut(n)];case 6:return[4,s.sent()];case 7:return s.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}function mr(e){return P(e==null?void 0:e.getReader)}function U(e){if(e instanceof I)return e;if(e!=null){if(ir(e))return la(e);if(Lt(e))return ma(e);if(nr(e))return fa(e);if(ar(e))return Io(e);if(pr(e))return ua(e);if(mr(e))return da(e)}throw sr(e)}function la(e){return new I(function(t){var r=e[wt]();if(P(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ma(e){return new I(function(t){for(var r=0;r<e.length&&!t.closed;r++)t.next(e[r]);t.complete()})}function fa(e){return new I(function(t){e.then(function(r){t.closed||(t.next(r),t.complete())},function(r){return t.error(r)}).then(null,er)})}function ua(e){return new I(function(t){var r,o;try{for(var n=Oe(e),i=n.next();!i.done;i=n.next()){var s=i.value;if(t.next(s),t.closed)return}}catch(a){r={error:a}}finally{try{i&&!i.done&&(o=n.return)&&o.call(n)}finally{if(r)throw r.error}}t.complete()})}function Io(e){return new I(function(t){ha(e,t).catch(function(r){return t.error(r)})})}function da(e){return Io(lr(e))}function ha(e,t){var r,o,n,i;return xo(this,void 0,void 0,function(){var s,a;return Jt(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),r=Eo(e),c.label=1;case 1:return[4,r.next()];case 2:if(o=c.sent(),!!o.done)return[3,4];if(s=o.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),n={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),o&&!o.done&&(i=r.return)?[4,i.call(r)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(n)throw n.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})}function _e(e,t,r,o,n){o===void 0&&(o=0),n===void 0&&(n=!1);var i=t.schedule(function(){r(),n?e.add(this.schedule(null,o)):this.unsubscribe()},o);if(e.add(i),!n)return i}function xe(e,t){return t===void 0&&(t=0),E(function(r,o){r.subscribe(w(o,function(n){return _e(o,e,function(){return o.next(n)},t)},function(){return _e(o,e,function(){return o.complete()},t)},function(n){return _e(o,e,function(){return o.error(n)},t)}))})}function Ze(e,t){return t===void 0&&(t=0),E(function(r,o){o.add(e.schedule(function(){return r.subscribe(o)},t))})}function Fo(e,t){return U(e).pipe(Ze(t),xe(t))}function jo(e,t){return U(e).pipe(Ze(t),xe(t))}function Uo(e,t){return new I(function(r){var o=0;return t.schedule(function(){o===e.length?r.complete():(r.next(e[o++]),r.closed||this.schedule())})})}function Wo(e,t){return new I(function(r){var o;return _e(r,t,function(){o=e[cr](),_e(r,t,function(){var n,i,s;try{n=o.next(),i=n.value,s=n.done}catch(a){r.error(a);return}s?r.complete():r.next(i)},0,!0)}),function(){return P(o==null?void 0:o.return)&&o.return()}})}function fr(e,t){if(!e)throw new Error("Iterable cannot be null");return new I(function(r){_e(r,t,function(){var o=e[Symbol.asyncIterator]();_e(r,t,function(){o.next().then(function(n){n.done?r.complete():r.next(n.value)})},0,!0)})})}function Do(e,t){return fr(lr(e),t)}function No(e,t){if(e!=null){if(ir(e))return Fo(e,t);if(Lt(e))return Uo(e,t);if(nr(e))return jo(e,t);if(ar(e))return fr(e,t);if(pr(e))return Wo(e,t);if(mr(e))return Do(e,t)}throw sr(e)}function fe(e,t){return t?No(e,t):U(e)}function k(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e);return fe(e,r)}function Vr(e,t){var r=P(e)?e:function(){return e},o=function(n){return n.error(r())};return new I(t?function(n){return t.schedule(o,0,n)}:o)}var ur=xt(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Vo(e){return e instanceof Date&&!isNaN(e)}function m(e,t){return E(function(r,o){var n=0;r.subscribe(w(o,function(i){o.next(e.call(t,i,n++))}))})}var ba=Array.isArray;function va(e,t){return ba(t)?e.apply(void 0,B([],K(t))):e(t)}function pt(e){return m(function(t){return va(e,t)})}var ga=Array.isArray,xa=Object.getPrototypeOf,ya=Object.prototype,Ea=Object.keys;function zo(e){if(e.length===1){var t=e[0];if(ga(t))return{args:t,keys:null};if(wa(t)){var r=Ea(t);return{args:r.map(function(o){return t[o]}),keys:r}}}return{args:e,keys:null}}function wa(e){return e&&typeof e=="object"&&xa(e)===ya}function qo(e,t){return e.reduce(function(r,o,n){return r[o]=t[n],r},{})}function z(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=ct(e),n=zo(e),i=n.args,s=n.keys;if(i.length===0)return fe([],r);var a=new I(zr(i,r,s?function(c){return qo(s,c)}:be));return o?a.pipe(pt(o)):a}function zr(e,t,r){return r===void 0&&(r=be),function(o){Ko(t,function(){for(var n=e.length,i=new Array(n),s=n,a=n,c=function(l){Ko(t,function(){var f=fe(e[l],t),u=!1;f.subscribe(w(o,function(d){i[l]=d,u||(u=!0,a--),a||o.next(r(i.slice()))},function(){--s||o.complete()}))},o)},p=0;p<n;p++)c(p)},o)}}function Ko(e,t,r){e?_e(r,e,t):t()}function Qo(e,t,r,o,n,i,s,a){var c=[],p=0,l=0,f=!1,u=function(){f&&!c.length&&!p&&t.complete()},d=function(L){return p<o?g(L):c.push(L)},g=function(L){i&&t.next(L),p++;var ee=!1;U(r(L,l++)).subscribe(w(t,function(ne){n==null||n(ne),i?d(ne):t.next(ne)},function(){ee=!0},void 0,function(){if(ee)try{p--;for(var ne=function(){var Z=c.shift();s?_e(t,s,function(){return g(Z)}):g(Z)};c.length&&p<o;)ne();u()}catch(Z){t.error(Z)}}))};return e.subscribe(w(t,d,function(){f=!0,u()})),function(){a==null||a()}}function J(e,t,r){return r===void 0&&(r=1/0),P(t)?J(function(o,n){return m(function(i,s){return t(o,i,n,s)})(U(e(o,n)))},r):(typeof t=="number"&&(r=t),E(function(o,n){return Qo(o,n,e,r)}))}function Mt(e){return e===void 0&&(e=1/0),J(be,e)}function Yo(){return Mt(1)}function qe(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return Yo()(fe(e,Ie(e)))}function $(e){return new I(function(t){U(e()).subscribe(t)})}var Ta=["addListener","removeListener"],Sa=["addEventListener","removeEventListener"],Oa=["on","off"];function h(e,t,r,o){if(P(r)&&(o=r,r=void 0),o)return h(e,t,r).pipe(pt(o));var n=K(_a(e)?Sa.map(function(a){return function(c){return e[a](t,c,r)}}):La(e)?Ta.map(Bo(e,t)):Ma(e)?Oa.map(Bo(e,t)):[],2),i=n[0],s=n[1];if(!i&&Lt(e))return J(function(a){return h(a,t,r)})(U(e));if(!i)throw new TypeError("Invalid event target");return new I(function(a){var c=function(){for(var p=[],l=0;l<arguments.length;l++)p[l]=arguments[l];return a.next(1<p.length?p:p[0])};return i(c),function(){return s(c)}})}function Bo(e,t){return function(r){return function(o){return e[r](t,o)}}}function La(e){return P(e.addListener)&&P(e.removeListener)}function Ma(e){return P(e.on)&&P(e.off)}function _a(e){return P(e.addEventListener)&&P(e.removeEventListener)}function dr(e,t,r){return r?dr(e,t).pipe(pt(r)):new I(function(o){var n=function(){for(var s=[],a=0;a<arguments.length;a++)s[a]=arguments[a];return o.next(s.length===1?s[0]:s)},i=e(n);return P(t)?function(){return t(n,i)}:void 0})}function $e(e,t,r){e===void 0&&(e=0),r===void 0&&(r=Wr);var o=-1;return t!=null&&(rr(t)?r=t:o=t),new I(function(n){var i=Vo(e)?+e-r.now():e;i<0&&(i=0);var s=0;return r.schedule(function(){n.closed||(n.next(s++),0<=o?this.schedule(void 0,o):n.complete())},i)})}function O(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=or(e,1/0),n=e;return n.length?n.length===1?U(n[0]):Mt(o)(fe(n,r)):x}var et=new I(ve);var Aa=Array.isArray;function _t(e){return e.length===1&&Aa(e[0])?e[0]:e}function v(e,t){return E(function(r,o){var n=0;r.subscribe(w(o,function(i){return e.call(t,i,n++)&&o.next(i)}))})}function bt(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e),o=_t(e);return o.length?new I(function(n){var i=o.map(function(){return[]}),s=o.map(function(){return!1});n.add(function(){i=s=null});for(var a=function(p){U(o[p]).subscribe(w(n,function(l){if(i[p].push(l),i.every(function(u){return u.length})){var f=i.map(function(u){return u.shift()});n.next(r?r.apply(void 0,B([],K(f))):f),i.some(function(u,d){return!u.length&&s[d]})&&n.complete()}},function(){s[p]=!0,!i[p].length&&n.complete()}))},c=0;!n.closed&&c<o.length;c++)a(c);return function(){i=s=null}}):x}function Go(e){return E(function(t,r){var o=!1,n=null,i=null,s=!1,a=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var p=n;n=null,r.next(p)}s&&r.complete()},c=function(){i=null,s&&r.complete()};t.subscribe(w(r,function(p){o=!0,n=p,i||U(e(p)).subscribe(i=w(r,a,c))},function(){s=!0,(!o||!i||i.closed)&&r.complete()}))})}function ke(e,t){return t===void 0&&(t=pe),Go(function(){return $e(e,t)})}function tt(e,t){return t===void 0&&(t=null),t=t!=null?t:e,E(function(r,o){var n=[],i=0;r.subscribe(w(o,function(s){var a,c,p,l,f=null;i++%t===0&&n.push([]);try{for(var u=Oe(n),d=u.next();!d.done;d=u.next()){var g=d.value;g.push(s),e<=g.length&&(f=f!=null?f:[],f.push(g))}}catch(ne){a={error:ne}}finally{try{d&&!d.done&&(c=u.return)&&c.call(u)}finally{if(a)throw a.error}}if(f)try{for(var L=Oe(f),ee=L.next();!ee.done;ee=L.next()){var g=ee.value;Xe(n,g),o.next(g)}}catch(ne){p={error:ne}}finally{try{ee&&!ee.done&&(l=L.return)&&l.call(L)}finally{if(p)throw p.error}}},function(){var s,a;try{for(var c=Oe(n),p=c.next();!p.done;p=c.next()){var l=p.value;o.next(l)}}catch(f){s={error:f}}finally{try{p&&!p.done&&(a=c.return)&&a.call(c)}finally{if(s)throw s.error}}o.complete()},void 0,function(){n=null}))})}function ye(e){return E(function(t,r){var o=null,n=!1,i;o=t.subscribe(w(r,void 0,void 0,function(s){i=U(e(s,ye(e)(t))),o?(o.unsubscribe(),o=null,i.subscribe(r)):n=!0})),n&&(o.unsubscribe(),o=null,i.subscribe(r))})}function Jo(e,t,r,o,n){return function(i,s){var a=r,c=t,p=0;i.subscribe(w(s,function(l){var f=p++;c=a?e(c,l,f):(a=!0,l),o&&s.next(c)},n&&function(){a&&s.next(c),s.complete()}))}}function qr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e);return r?Mo(qr.apply(void 0,B([],K(e))),pt(r)):E(function(o,n){zr(B([o],K(_t(e))))(n)})}function De(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return qr.apply(void 0,B([],K(e)))}function jt(e){return E(function(t,r){var o=!1,n=null,i=null,s=function(){if(i==null||i.unsubscribe(),i=null,o){o=!1;var a=n;n=null,r.next(a)}};t.subscribe(w(r,function(a){i==null||i.unsubscribe(),o=!0,n=a,i=w(r,s,ve),U(e(a)).subscribe(i)},function(){s(),r.complete()},void 0,function(){n=i=null}))})}function Ae(e,t){return t===void 0&&(t=pe),E(function(r,o){var n=null,i=null,s=null,a=function(){if(n){n.unsubscribe(),n=null;var p=i;i=null,o.next(p)}};function c(){var p=s+e,l=t.now();if(l<p){n=this.schedule(void 0,p-l),o.add(n);return}a()}r.subscribe(w(o,function(p){i=p,s=t.now(),n||(n=t.schedule(c,e),o.add(n))},function(){a(),o.complete()},void 0,function(){i=n=null}))})}function rt(e){return E(function(t,r){var o=!1;t.subscribe(w(r,function(n){o=!0,r.next(n)},function(){o||r.next(e),r.complete()}))})}function Ee(e){return e<=0?function(){return x}:E(function(t,r){var o=0;t.subscribe(w(r,function(n){++o<=e&&(r.next(n),e<=o&&r.complete())}))})}function re(){return E(function(e,t){e.subscribe(w(t,ve))})}function Xo(e){return m(function(){return e})}function Kr(e,t){return t?function(r){return qe(t.pipe(Ee(1),re()),r.pipe(Kr(e)))}:J(function(r,o){return U(e(r,o)).pipe(Ee(1),Xo(r))})}function ot(e,t){t===void 0&&(t=pe);var r=$e(e,t);return Kr(function(){return r})}function Qr(e,t){return E(function(r,o){var n=new Set;r.subscribe(w(o,function(i){var s=e?e(i):i;n.has(s)||(n.add(s),o.next(i))})),t&&U(t).subscribe(w(o,function(){return n.clear()},ve))})}function Y(e,t){return t===void 0&&(t=be),e=e!=null?e:Ca,E(function(r,o){var n,i=!0;r.subscribe(w(o,function(s){var a=t(s);(i||!e(n,a))&&(i=!1,n=a,o.next(s))}))})}function Ca(e,t){return e===t}function oe(e,t){return Y(function(r,o){return t?t(r[e],o[e]):r[e]===o[e]})}function Zo(e){return e===void 0&&(e=Ha),E(function(t,r){var o=!1;t.subscribe(w(r,function(n){o=!0,r.next(n)},function(){return o?r.complete():r.error(e())}))})}function Ha(){return new ur}function ae(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return function(r){return qe(r,k.apply(void 0,B([],K(e))))}}function hr(e,t){return t?function(r){return r.pipe(hr(function(o,n){return U(e(o,n)).pipe(m(function(i,s){return t(o,i,n,s)}))}))}:E(function(r,o){var n=0,i=null,s=!1;r.subscribe(w(o,function(a){i||(i=w(o,void 0,function(){i=null,s&&o.complete()}),U(e(a,n++)).subscribe(i))},function(){s=!0,!i&&o.complete()}))})}function A(e){return E(function(t,r){try{t.subscribe(r)}finally{r.add(e)}})}function Re(e,t){var r=arguments.length>=2;return function(o){return o.pipe(e?v(function(n,i){return e(n,i,o)}):be,Ee(1),r?rt(t):Zo(function(){return new ur}))}}function Yr(e){return e<=0?function(){return x}:E(function(t,r){var o=[];t.subscribe(w(r,function(n){o.push(n),e<o.length&&o.shift()},function(){var n,i;try{for(var s=Oe(o),a=s.next();!a.done;a=s.next()){var c=a.value;r.next(c)}}catch(p){n={error:p}}finally{try{a&&!a.done&&(i=s.return)&&i.call(s)}finally{if(n)throw n.error}}r.complete()},void 0,function(){o=null}))})}function en(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e),o=or(e,1/0);return e=_t(e),E(function(n,i){Mt(o)(fe(B([n],K(e)),r)).subscribe(i)})}function Ne(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return en.apply(void 0,B([],K(e)))}function vt(e){var t,r=1/0,o;return e!=null&&(typeof e=="object"?(t=e.count,r=t===void 0?1/0:t,o=e.delay):r=e),r<=0?function(){return x}:E(function(n,i){var s=0,a,c=function(){if(a==null||a.unsubscribe(),a=null,o!=null){var l=typeof o=="number"?$e(o):U(o(s)),f=w(i,function(){f.unsubscribe(),p()});l.subscribe(f)}else p()},p=function(){var l=!1;a=n.subscribe(w(i,void 0,function(){++s<r?a?c():l=!0:i.complete()})),l&&c()};p()})}function Ut(e,t){return E(Jo(e,t,arguments.length>=2,!0))}function le(e){e===void 0&&(e={});var t=e.connector,r=t===void 0?function(){return new T}:t,o=e.resetOnError,n=o===void 0?!0:o,i=e.resetOnComplete,s=i===void 0?!0:i,a=e.resetOnRefCountZero,c=a===void 0?!0:a;return function(p){var l,f,u,d=0,g=!1,L=!1,ee=function(){f==null||f.unsubscribe(),f=void 0},ne=function(){ee(),l=u=void 0,g=L=!1},Z=function(){var H=l;ne(),H==null||H.unsubscribe()};return E(function(H,ft){d++,!L&&!g&&ee();var Fe=u=u!=null?u:r();ft.add(function(){d--,d===0&&!L&&!g&&(f=Br(Z,c))}),Fe.subscribe(ft),!l&&d>0&&(l=new ht({next:function(R){return Fe.next(R)},error:function(R){L=!0,ee(),f=Br(ne,n,R),Fe.error(R)},complete:function(){g=!0,ee(),f=Br(ne,s),Fe.complete()}}),U(H).subscribe(l))})(p)}}function Br(e,t){for(var r=[],o=2;o<arguments.length;o++)r[o-2]=arguments[o];if(t===!0){e();return}if(t!==!1){var n=new ht({next:function(){n.unsubscribe(),e()}});return U(t.apply(void 0,B([],K(r)))).subscribe(n)}}function X(e,t,r){var o,n,i,s,a=!1;return e&&typeof e=="object"?(o=e.bufferSize,s=o===void 0?1/0:o,n=e.windowTime,t=n===void 0?1/0:n,i=e.refCount,a=i===void 0?!1:i,r=e.scheduler):s=e!=null?e:1/0,le({connector:function(){return new It(s,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:a})}function Pe(e){return v(function(t,r){return e<=r})}function Gr(e){return E(function(t,r){var o=!1,n=w(r,function(){n==null||n.unsubscribe(),o=!0},ve);U(e).subscribe(n),t.subscribe(w(r,function(i){return o&&r.next(i)}))})}function Q(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=Ie(e);return E(function(o,n){(r?qe(e,o,r):qe(e,o)).subscribe(n)})}function b(e,t){return E(function(r,o){var n=null,i=0,s=!1,a=function(){return s&&!n&&o.complete()};r.subscribe(w(o,function(c){n==null||n.unsubscribe();var p=0,l=i++;U(e(c,l)).subscribe(n=w(o,function(f){return o.next(t?t(c,f,l,p++):f)},function(){n=null,a()}))},function(){s=!0,a()}))})}function W(e){return E(function(t,r){U(e).subscribe(w(r,function(){return r.complete()},ve)),!r.closed&&t.subscribe(r)})}function Jr(e,t){return t===void 0&&(t=!1),E(function(r,o){var n=0;r.subscribe(w(o,function(i){var s=e(i,n++);(s||t)&&o.next(i),!s&&o.complete()}))})}function S(e,t,r){var o=P(e)||t||r?{next:e,error:t,complete:r}:e;return o?E(function(n,i){var s;(s=o.subscribe)===null||s===void 0||s.call(o);var a=!0;n.subscribe(w(i,function(c){var p;(p=o.next)===null||p===void 0||p.call(o,c),i.next(c)},function(){var c;a=!1,(c=o.complete)===null||c===void 0||c.call(o),i.complete()},function(c){var p;a=!1,(p=o.error)===null||p===void 0||p.call(o,c),i.error(c)},function(){var c,p;a&&((c=o.unsubscribe)===null||c===void 0||c.call(o)),(p=o.finalize)===null||p===void 0||p.call(o)}))}):be}function tn(e,t){return E(function(r,o){var n=t!=null?t:{},i=n.leading,s=i===void 0?!0:i,a=n.trailing,c=a===void 0?!1:a,p=!1,l=null,f=null,u=!1,d=function(){f==null||f.unsubscribe(),f=null,c&&(ee(),u&&o.complete())},g=function(){f=null,u&&o.complete()},L=function(ne){return f=U(e(ne)).subscribe(w(o,d,g))},ee=function(){if(p){p=!1;var ne=l;l=null,o.next(ne),!u&&L(ne)}};r.subscribe(w(o,function(ne){p=!0,l=ne,!(f&&!f.closed)&&(s?ee():L(ne))},function(){u=!0,!(c&&p&&f&&!f.closed)&&o.complete()}))})}function gt(e,t,r){t===void 0&&(t=pe);var o=$e(e,t);return tn(function(){return o},r)}function te(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var r=ct(e);return E(function(o,n){for(var i=e.length,s=new Array(i),a=e.map(function(){return!1}),c=!1,p=function(f){U(e[f]).subscribe(w(n,function(u){s[f]=u,!c&&!a[f]&&(a[f]=!0,(c=a.every(be))&&(a=null))},ve))},l=0;l<i;l++)p(l);o.subscribe(w(n,function(f){if(c){var u=B([f],K(s));n.next(r?r.apply(void 0,B([],K(u))):u)}}))})}function rn(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return E(function(r,o){bt.apply(void 0,B([r],K(e))).subscribe(o)})}function Xr(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return rn.apply(void 0,B([],K(e)))}function on(){let e=new It(1);return h(document,"DOMContentLoaded",{once:!0}).subscribe(()=>e.next(document)),e}function M(e,t=document){return Array.from(t.querySelectorAll(e))}function F(e,t=document){let r=ue(e,t);if(typeof r=="undefined")throw new ReferenceError(`Missing element: expected "${e}" to be present`);return r}function ue(e,t=document){return t.querySelector(e)||void 0}function Ve(){var e,t,r,o;return(o=(r=(t=(e=document.activeElement)==null?void 0:e.shadowRoot)==null?void 0:t.activeElement)!=null?r:document.activeElement)!=null?o:void 0}var $a=O(h(document.body,"focusin"),h(document.body,"focusout")).pipe(Ae(1),Q(void 0),m(()=>Ve()||document.body),X(1));function Ke(e){return $a.pipe(m(t=>e.contains(t)),Y())}function nt(e,t){return $(()=>O(h(e,"mouseenter").pipe(m(()=>!0)),h(e,"mouseleave").pipe(m(()=>!1))).pipe(t?jt(r=>$e(+!r*t)):be,Q(e.matches(":hover"))))}function nn(e,t){if(typeof t=="string"||typeof t=="number")e.innerHTML+=t.toString();else if(t instanceof Node)e.appendChild(t);else if(Array.isArray(t))for(let r of t)nn(e,r)}function y(e,t,...r){let o=document.createElement(e);if(t)for(let n of Object.keys(t))typeof t[n]!="undefined"&&(typeof t[n]!="boolean"?o.setAttribute(n,t[n]):o.setAttribute(n,""));for(let n of r)nn(o,n);return o}function br(e){if(e>999){let t=+((e-950)%1e3>99);return`${((e+1e-6)/1e3).toFixed(t)}k`}else return e.toString()}function At(e){let t=y("script",{src:e});return $(()=>(document.head.appendChild(t),O(h(t,"load"),h(t,"error").pipe(b(()=>Vr(()=>new ReferenceError(`Invalid script: ${e}`))))).pipe(m(()=>{}),A(()=>document.head.removeChild(t)),Ee(1))))}var an=new T,ka=$(()=>typeof ResizeObserver=="undefined"?At("https://unpkg.com/resize-observer-polyfill"):k(void 0)).pipe(m(()=>new ResizeObserver(e=>e.forEach(t=>an.next(t)))),b(e=>O(et,k(e)).pipe(A(()=>e.disconnect()))),X(1));function de(e){return{width:e.offsetWidth,height:e.offsetHeight}}function Le(e){let t=e;for(;t.clientWidth===0&&t.parentElement;)t=t.parentElement;return ka.pipe(S(r=>r.observe(t)),b(r=>an.pipe(v(o=>o.target===t),A(()=>r.unobserve(t)))),m(()=>de(e)),Q(de(e)))}function Ct(e){return{width:e.scrollWidth,height:e.scrollHeight}}function vr(e){let t=e.parentElement;for(;t&&(e.scrollWidth<=t.scrollWidth&&e.scrollHeight<=t.scrollHeight);)t=(e=t).parentElement;return t?e:void 0}function sn(e){let t=[],r=e.parentElement;for(;r;)(e.clientWidth>r.clientWidth||e.clientHeight>r.clientHeight)&&t.push(r),r=(e=r).parentElement;return t.length===0&&t.push(document.documentElement),t}function Qe(e){return{x:e.offsetLeft,y:e.offsetTop}}function cn(e){let t=e.getBoundingClientRect();return{x:t.x+window.scrollX,y:t.y+window.scrollY}}function pn(e){return O(h(window,"load"),h(window,"resize")).pipe(ke(0,ge),m(()=>Qe(e)),Q(Qe(e)))}function gr(e){return{x:e.scrollLeft,y:e.scrollTop}}function Ye(e){return O(h(e,"scroll"),h(window,"scroll"),h(window,"resize")).pipe(ke(0,ge),m(()=>gr(e)),Q(gr(e)))}var ln=new T,Ra=$(()=>k(new IntersectionObserver(e=>{for(let t of e)ln.next(t)},{threshold:0}))).pipe(b(e=>O(et,k(e)).pipe(A(()=>e.disconnect()))),X(1));function lt(e){return Ra.pipe(S(t=>t.observe(e)),b(t=>ln.pipe(v(({target:r})=>r===e),A(()=>t.unobserve(e)),m(({isIntersecting:r})=>r))))}function mn(e,t=16){return Ye(e).pipe(m(({y:r})=>{let o=de(e),n=Ct(e);return r>=n.height-o.height-t}),Y())}var xr={drawer:F("[data-md-toggle=drawer]"),search:F("[data-md-toggle=search]")};function fn(e){return xr[e].checked}function it(e,t){xr[e].checked!==t&&xr[e].click()}function Be(e){let t=xr[e];return h(t,"change").pipe(m(()=>t.checked),Q(t.checked))}function Pa(e,t){switch(e.constructor){case HTMLInputElement:return e.type==="radio"?/^Arrow/.test(t):!0;case HTMLSelectElement:case HTMLTextAreaElement:return!0;default:return e.isContentEditable}}function Ia(){return O(h(window,"compositionstart").pipe(m(()=>!0)),h(window,"compositionend").pipe(m(()=>!1))).pipe(Q(!1))}function un(){let e=h(window,"keydown").pipe(v(t=>!(t.metaKey||t.ctrlKey)),m(t=>({mode:fn("search")?"search":"global",type:t.key,claim(){t.preventDefault(),t.stopPropagation()}})),v(({mode:t,type:r})=>{if(t==="global"){let o=Ve();if(typeof o!="undefined")return!Pa(o,r)}return!0}),le());return Ia().pipe(b(t=>t?x:e))}function we(){return new URL(location.href)}function at(e,t=!1){if(N("navigation.instant")&&!t){let r=y("a",{href:e.href});document.body.appendChild(r),r.click(),r.remove()}else location.href=e.href}function dn(){return new T}function hn(){return location.hash.slice(1)}function bn(e){let t=y("a",{href:e});t.addEventListener("click",r=>r.stopPropagation()),t.click()}function Zr(e){return O(h(window,"hashchange"),e).pipe(m(hn),Q(hn()),v(t=>t.length>0),X(1))}function vn(e){return Zr(e).pipe(m(t=>ue(`[id="${t}"]`)),v(t=>typeof t!="undefined"))}function Wt(e){let t=matchMedia(e);return dr(r=>t.addListener(()=>r(t.matches))).pipe(Q(t.matches))}function gn(){let e=matchMedia("print");return O(h(window,"beforeprint").pipe(m(()=>!0)),h(window,"afterprint").pipe(m(()=>!1))).pipe(Q(e.matches))}function eo(e,t){return e.pipe(b(r=>r?t():x))}function to(e,t){return new I(r=>{let o=new XMLHttpRequest;return o.open("GET",`${e}`),o.responseType="blob",o.addEventListener("load",()=>{o.status>=200&&o.status<300?(r.next(o.response),r.complete()):r.error(new Error(o.statusText))}),o.addEventListener("error",()=>{r.error(new Error("Network error"))}),o.addEventListener("abort",()=>{r.complete()}),typeof(t==null?void 0:t.progress$)!="undefined"&&(o.addEventListener("progress",n=>{var i;if(n.lengthComputable)t.progress$.next(n.loaded/n.total*100);else{let s=(i=o.getResponseHeader("Content-Length"))!=null?i:0;t.progress$.next(n.loaded/+s*100)}}),t.progress$.next(5)),o.send(),()=>o.abort()})}function Ge(e,t){return to(e,t).pipe(b(r=>r.text()),m(r=>JSON.parse(r)),X(1))}function yr(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/html")),X(1))}function xn(e,t){let r=new DOMParser;return to(e,t).pipe(b(o=>o.text()),m(o=>r.parseFromString(o,"text/xml")),X(1))}function yn(){return{x:Math.max(0,scrollX),y:Math.max(0,scrollY)}}function En(){return O(h(window,"scroll",{passive:!0}),h(window,"resize",{passive:!0})).pipe(m(yn),Q(yn()))}function wn(){return{width:innerWidth,height:innerHeight}}function Tn(){return h(window,"resize",{passive:!0}).pipe(m(wn),Q(wn()))}function Sn(){return z([En(),Tn()]).pipe(m(([e,t])=>({offset:e,size:t})),X(1))}function Er(e,{viewport$:t,header$:r}){let o=t.pipe(oe("size")),n=z([o,r]).pipe(m(()=>Qe(e)));return z([r,t,n]).pipe(m(([{height:i},{offset:s,size:a},{x:c,y:p}])=>({offset:{x:s.x-c,y:s.y-p+i},size:a})))}function Fa(e){return h(e,"message",t=>t.data)}function ja(e){let t=new T;return t.subscribe(r=>e.postMessage(r)),t}function On(e,t=new Worker(e)){let r=Fa(t),o=ja(t),n=new T;n.subscribe(o);let i=o.pipe(re(),ae(!0));return n.pipe(re(),Ne(r.pipe(W(i))),le())}var Ua=F("#__config"),Ht=JSON.parse(Ua.textContent);Ht.base=`${new URL(Ht.base,we())}`;function Te(){return Ht}function N(e){return Ht.features.includes(e)}function Me(e,t){return typeof t!="undefined"?Ht.translations[e].replace("#",t.toString()):Ht.translations[e]}function Ce(e,t=document){return F(`[data-md-component=${e}]`,t)}function me(e,t=document){return M(`[data-md-component=${e}]`,t)}function Wa(e){let t=F(".md-typeset > :first-child",e);return h(t,"click",{once:!0}).pipe(m(()=>F(".md-typeset",e)),m(r=>({hash:__md_hash(r.innerHTML)})))}function Ln(e){if(!N("announce.dismiss")||!e.childElementCount)return x;if(!e.hidden){let t=F(".md-typeset",e);__md_hash(t.innerHTML)===__md_get("__announce")&&(e.hidden=!0)}return $(()=>{let t=new T;return t.subscribe(({hash:r})=>{e.hidden=!0,__md_set("__announce",r)}),Wa(e).pipe(S(r=>t.next(r)),A(()=>t.complete()),m(r=>j({ref:e},r)))})}function Da(e,{target$:t}){return t.pipe(m(r=>({hidden:r!==e})))}function Mn(e,t){let r=new T;return r.subscribe(({hidden:o})=>{e.hidden=o}),Da(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))}function Dt(e,t){return t==="inline"?y("div",{class:"md-tooltip md-tooltip--inline",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"})):y("div",{class:"md-tooltip",id:e,role:"tooltip"},y("div",{class:"md-tooltip__inner md-typeset"}))}function wr(...e){return y("div",{class:"md-tooltip2",role:"dialog"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function _n(...e){return y("div",{class:"md-tooltip2",role:"tooltip"},y("div",{class:"md-tooltip2__inner md-typeset"},e))}function An(e,t){if(t=t?`${t}_annotation_${e}`:void 0,t){let r=t?`#${t}`:void 0;return y("aside",{class:"md-annotation",tabIndex:0},Dt(t),y("a",{href:r,class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}else return y("aside",{class:"md-annotation",tabIndex:0},Dt(t),y("span",{class:"md-annotation__index",tabIndex:-1},y("span",{"data-md-annotation-id":e})))}function Cn(e){return y("button",{class:"md-code__button",title:Me("clipboard.copy"),"data-clipboard-target":`#${e} > code`,"data-md-type":"copy"})}function Hn(){return y("button",{class:"md-code__button",title:"Toggle line selection","data-md-type":"select"})}function $n(){return y("nav",{class:"md-code__nav"})}function ro(e,t){let r=t&2,o=t&1,n=Object.keys(e.terms).filter(c=>!e.terms[c]).reduce((c,p)=>[...c,y("del",null,p)," "],[]).slice(0,-1),i=Te(),s=new URL(e.location,i.base);N("search.highlight")&&s.searchParams.set("h",Object.entries(e.terms).filter(([,c])=>c).reduce((c,[p])=>`${c} ${p}`.trim(),""));let{tags:a}=Te();return y("a",{href:`${s}`,class:"md-search-result__link",tabIndex:-1},y("article",{class:"md-search-result__article md-typeset","data-md-score":e.score.toFixed(2)},r>0&&y("div",{class:"md-search-result__icon md-icon"}),r>0&&y("h1",null,e.title),r<=0&&y("h2",null,e.title),o>0&&e.text.length>0&&e.text,e.tags&&e.tags.map(c=>{let p=a?c in a?`md-tag-icon md-tag--${a[c]}`:"md-tag-icon":"";return y("span",{class:`md-tag ${p}`},c)}),o>0&&n.length>0&&y("p",{class:"md-search-result__terms"},Me("search.result.term.missing"),": ",...n)))}function kn(e){let t=e[0].score,r=[...e],o=Te(),n=r.findIndex(l=>!`${new URL(l.location,o.base)}`.includes("#")),[i]=r.splice(n,1),s=r.findIndex(l=>l.score<t);s===-1&&(s=r.length);let a=r.slice(0,s),c=r.slice(s),p=[ro(i,2|+(!n&&s===0)),...a.map(l=>ro(l,1)),...c.length?[y("details",{class:"md-search-result__more"},y("summary",{tabIndex:-1},y("div",null,c.length>0&&c.length===1?Me("search.result.more.one"):Me("search.result.more.other",c.length))),...c.map(l=>ro(l,1)))]:[]];return y("li",{class:"md-search-result__item"},p)}function Rn(e){return y("ul",{class:"md-source__facts"},Object.entries(e).map(([t,r])=>y("li",{class:`md-source__fact md-source__fact--${t}`},typeof r=="number"?br(r):r)))}function oo(e){let t=`tabbed-control tabbed-control--${e}`;return y("div",{class:t,hidden:!0},y("button",{class:"tabbed-button",tabIndex:-1,"aria-hidden":"true"}))}function Pn(e){return y("div",{class:"md-typeset__scrollwrap"},y("div",{class:"md-typeset__table"},e))}function Na(e){var o;let t=Te(),r=new URL(`../${e.version}/`,t.base);return y("li",{class:"md-version__item"},y("a",{href:`${r}`,class:"md-version__link"},e.title,((o=t.version)==null?void 0:o.alias)&&e.aliases.length>0&&y("span",{class:"md-version__alias"},e.aliases[0])))}function In(e,t){var o;let r=Te();return e=e.filter(n=>{var i;return!((i=n.properties)!=null&&i.hidden)}),y("div",{class:"md-version"},y("button",{class:"md-version__current","aria-label":Me("select.version")},t.title,((o=r.version)==null?void 0:o.alias)&&t.aliases.length>0&&y("span",{class:"md-version__alias"},t.aliases[0])),y("ul",{class:"md-version__list"},e.map(Na)))}var Va=0;function za(e,t=250){let r=z([Ke(e),nt(e,t)]).pipe(m(([n,i])=>n||i),Y()),o=$(()=>sn(e)).pipe(J(Ye),gt(1),m(()=>cn(e)));return r.pipe(Re(n=>n),b(()=>z([r,o])),m(([n,i])=>({active:n,offset:i})),le())}function Nt(e,t,r=250){let{content$:o,viewport$:n}=t,i=`__tooltip2_${Va++}`;return $(()=>{let s=new T,a=new jr(!1);s.pipe(re(),ae(!1)).subscribe(a);let c=a.pipe(jt(l=>$e(+!l*250,Dr)),Y(),b(l=>l?o:x),S(l=>l.id=i),le());z([s.pipe(m(({active:l})=>l)),c.pipe(b(l=>nt(l,250)),Q(!1))]).pipe(m(l=>l.some(f=>f))).subscribe(a);let p=a.pipe(v(l=>l),te(c,n),m(([l,f,{size:u}])=>{let d=e.getBoundingClientRect(),g=d.width/2;if(f.role==="tooltip")return{x:g,y:8+d.height};if(d.y>=u.height/2){let{height:L}=de(f);return{x:g,y:-16-L}}else return{x:g,y:16+d.height}}));return z([c,s,p]).subscribe(([l,{offset:f},u])=>{l.style.setProperty("--md-tooltip-host-x",`${f.x}px`),l.style.setProperty("--md-tooltip-host-y",`${f.y}px`),l.style.setProperty("--md-tooltip-x",`${u.x}px`),l.style.setProperty("--md-tooltip-y",`${u.y}px`),l.classList.toggle("md-tooltip2--top",u.y<0),l.classList.toggle("md-tooltip2--bottom",u.y>=0)}),a.pipe(v(l=>l),te(c,(l,f)=>f),v(l=>l.role==="tooltip")).subscribe(l=>{let f=de(F(":scope > *",l));l.style.setProperty("--md-tooltip-width",`${f.width}px`),l.style.setProperty("--md-tooltip-tail","0px")}),a.pipe(Y(),xe(ge),te(c)).subscribe(([l,f])=>{f.classList.toggle("md-tooltip2--active",l)}),z([a.pipe(v(l=>l)),c]).subscribe(([l,f])=>{f.role==="dialog"?(e.setAttribute("aria-controls",i),e.setAttribute("aria-haspopup","dialog")):e.setAttribute("aria-describedby",i)}),a.pipe(v(l=>!l)).subscribe(()=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-describedby"),e.removeAttribute("aria-haspopup")}),za(e,r).pipe(S(l=>s.next(l)),A(()=>s.complete()),m(l=>j({ref:e},l)))})}function Je(e,{viewport$:t},r=document.body){return Nt(e,{content$:new I(o=>{let n=e.title,i=_n(n);return o.next(i),e.removeAttribute("title"),r.append(i),()=>{i.remove(),e.setAttribute("title",n)}}),viewport$:t},0)}function qa(e,t){let r=$(()=>z([pn(e),Ye(t)])).pipe(m(([{x:o,y:n},i])=>{let{width:s,height:a}=de(e);return{x:o-i.x+s/2,y:n-i.y+a/2}}));return Ke(e).pipe(b(o=>r.pipe(m(n=>({active:o,offset:n})),Ee(+!o||1/0))))}function Fn(e,t,{target$:r}){let[o,n]=Array.from(e.children);return $(()=>{let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({offset:a}){e.style.setProperty("--md-tooltip-x",`${a.x}px`),e.style.setProperty("--md-tooltip-y",`${a.y}px`)},complete(){e.style.removeProperty("--md-tooltip-x"),e.style.removeProperty("--md-tooltip-y")}}),lt(e).pipe(W(s)).subscribe(a=>{e.toggleAttribute("data-md-visible",a)}),O(i.pipe(v(({active:a})=>a)),i.pipe(Ae(250),v(({active:a})=>!a))).subscribe({next({active:a}){a?e.prepend(o):o.remove()},complete(){e.prepend(o)}}),i.pipe(ke(16,ge)).subscribe(({active:a})=>{o.classList.toggle("md-tooltip--active",a)}),i.pipe(gt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:a})=>a)).subscribe({next(a){a?e.style.setProperty("--md-tooltip-0",`${-a}px`):e.style.removeProperty("--md-tooltip-0")},complete(){e.style.removeProperty("--md-tooltip-0")}}),h(n,"click").pipe(W(s),v(a=>!(a.metaKey||a.ctrlKey))).subscribe(a=>{a.stopPropagation(),a.preventDefault()}),h(n,"mousedown").pipe(W(s),te(i)).subscribe(([a,{active:c}])=>{var p;if(a.button!==0||a.metaKey||a.ctrlKey)a.preventDefault();else if(c){a.preventDefault();let l=e.parentElement.closest(".md-annotation");l instanceof HTMLElement?l.focus():(p=Ve())==null||p.blur()}}),r.pipe(W(s),v(a=>a===o),ot(125)).subscribe(()=>e.focus()),qa(e,t).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))})}function Ka(e){let t=Te();if(e.tagName!=="CODE")return[e];let r=[".c",".c1",".cm"];if(typeof t.annotate!="undefined"){let o=e.closest("[class|=language]");if(o)for(let n of Array.from(o.classList)){if(!n.startsWith("language-"))continue;let[,i]=n.split("-");i in t.annotate&&r.push(...t.annotate[i])}}return M(r.join(", "),e)}function Qa(e){let t=[];for(let r of Ka(e)){let o=[],n=document.createNodeIterator(r,NodeFilter.SHOW_TEXT);for(let i=n.nextNode();i;i=n.nextNode())o.push(i);for(let i of o){let s;for(;s=/(\(\d+\))(!)?/.exec(i.textContent);){let[,a,c]=s;if(typeof c=="undefined"){let p=i.splitText(s.index);i=p.splitText(a.length),t.push(p)}else{i.textContent=a,t.push(i);break}}}}return t}function jn(e,t){t.append(...Array.from(e.childNodes))}function Tr(e,t,{target$:r,print$:o}){let n=t.closest("[id]"),i=n==null?void 0:n.id,s=new Map;for(let a of Qa(t)){let[,c]=a.textContent.match(/\((\d+)\)/);ue(`:scope > li:nth-child(${c})`,e)&&(s.set(c,An(c,i)),a.replaceWith(s.get(c)))}return s.size===0?x:$(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=[];for(let[l,f]of s)p.push([F(".md-typeset",f),F(`:scope > li:nth-child(${l})`,e)]);return o.pipe(W(c)).subscribe(l=>{e.hidden=!l,e.classList.toggle("md-annotation-list",l);for(let[f,u]of p)l?jn(f,u):jn(u,f)}),O(...[...s].map(([,l])=>Fn(l,t,{target$:r}))).pipe(A(()=>a.complete()),le())})}function Un(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Un(t)}}function Wn(e,t){return $(()=>{let r=Un(e);return typeof r!="undefined"?Tr(r,e,t):x})}var Nn=Gt(io());var Ya=0,Dn=O(h(window,"keydown").pipe(m(()=>!0)),O(h(window,"keyup"),h(window,"contextmenu")).pipe(m(()=>!1))).pipe(Q(!1),X(1));function Vn(e){if(e.nextElementSibling){let t=e.nextElementSibling;if(t.tagName==="OL")return t;if(t.tagName==="P"&&!t.children.length)return Vn(t)}}function Ba(e){return Le(e).pipe(m(({width:t})=>({scrollable:Ct(e).width>t})),oe("scrollable"))}function zn(e,t){let{matches:r}=matchMedia("(hover)"),o=$(()=>{let n=new T,i=n.pipe(Yr(1));n.subscribe(({scrollable:d})=>{d&&r?e.setAttribute("tabindex","0"):e.removeAttribute("tabindex")});let s=[],a=e.closest("pre"),c=a.closest("[id]"),p=c?c.id:Ya++;a.id=`__code_${p}`;let l=[],f=e.closest(".highlight");if(f instanceof HTMLElement){let d=Vn(f);if(typeof d!="undefined"&&(f.classList.contains("annotate")||N("content.code.annotate"))){let g=Tr(d,e,t);l.push(Le(f).pipe(W(i),m(({width:L,height:ee})=>L&&ee),Y(),b(L=>L?g:x)))}}let u=M(":scope > span[id]",e);if(u.length&&(e.classList.add("md-code__content"),e.closest(".select")||N("content.code.select")&&!e.closest(".no-select"))){let d=+u[0].id.split("-").pop(),g=Hn();s.push(g),N("content.tooltips")&&l.push(Je(g,{viewport$}));let L=h(g,"click").pipe(Ut(R=>!R,!1),S(()=>g.blur()),le());L.subscribe(R=>{g.classList.toggle("md-code__button--active",R)});let ee=fe(u).pipe(J(R=>nt(R).pipe(m(se=>[R,se]))));L.pipe(b(R=>R?ee:x)).subscribe(([R,se])=>{let ce=ue(".hll.select",R);if(ce&&!se)ce.replaceWith(...Array.from(ce.childNodes));else if(!ce&&se){let he=document.createElement("span");he.className="hll select",he.append(...Array.from(R.childNodes).slice(1)),R.append(he)}});let ne=fe(u).pipe(J(R=>h(R,"mousedown").pipe(S(se=>se.preventDefault()),m(()=>R)))),Z=L.pipe(b(R=>R?ne:x),te(Dn),m(([R,se])=>{var he;let ce=u.indexOf(R)+d;if(se===!1)return[ce,ce];{let Se=M(".hll",e).map(je=>u.indexOf(je.parentElement)+d);return(he=window.getSelection())==null||he.removeAllRanges(),[Math.min(ce,...Se),Math.max(ce,...Se)]}})),H=Zr(x).pipe(v(R=>R.startsWith(`__codelineno-${p}-`)));H.subscribe(R=>{let[,,se]=R.split("-"),ce=se.split(":").map(Se=>+Se-d+1);ce.length===1&&ce.push(ce[0]);for(let Se of M(".hll:not(.select)",e))Se.replaceWith(...Array.from(Se.childNodes));let he=u.slice(ce[0]-1,ce[1]);for(let Se of he){let je=document.createElement("span");je.className="hll",je.append(...Array.from(Se.childNodes).slice(1)),Se.append(je)}}),H.pipe(Ee(1),xe(pe)).subscribe(R=>{if(R.includes(":")){let se=document.getElementById(R.split(":")[0]);se&&setTimeout(()=>{let ce=se,he=-64;for(;ce!==document.body;)he+=ce.offsetTop,ce=ce.offsetParent;window.scrollTo({top:he})},1)}});let Fe=fe(M('a[href^="#__codelineno"]',f)).pipe(J(R=>h(R,"click").pipe(S(se=>se.preventDefault()),m(()=>R)))).pipe(W(i),te(Dn),m(([R,se])=>{let he=+F(`[id="${R.hash.slice(1)}"]`).parentElement.id.split("-").pop();if(se===!1)return[he,he];{let Se=M(".hll",e).map(je=>+je.parentElement.id.split("-").pop());return[Math.min(he,...Se),Math.max(he,...Se)]}}));O(Z,Fe).subscribe(R=>{let se=`#__codelineno-${p}-`;R[0]===R[1]?se+=R[0]:se+=`${R[0]}:${R[1]}`,history.replaceState({},"",se),window.dispatchEvent(new HashChangeEvent("hashchange",{newURL:window.location.origin+window.location.pathname+se,oldURL:window.location.href}))})}if(Nn.default.isSupported()&&(e.closest(".copy")||N("content.code.copy")&&!e.closest(".no-copy"))){let d=Cn(a.id);s.push(d),N("content.tooltips")&&l.push(Je(d,{viewport$}))}if(s.length){let d=$n();d.append(...s),a.insertBefore(d,e)}return Ba(e).pipe(S(d=>n.next(d)),A(()=>n.complete()),m(d=>j({ref:e},d)),Ne(O(...l).pipe(W(i))))});return N("content.lazy")?lt(e).pipe(v(n=>n),Ee(1),b(()=>o)):o}function Ga(e,{target$:t,print$:r}){let o=!0;return O(t.pipe(m(n=>n.closest("details:not([open])")),v(n=>e===n),m(()=>({action:"open",reveal:!0}))),r.pipe(v(n=>n||!o),S(()=>o=e.open),m(n=>({action:n?"open":"close"}))))}function qn(e,t){return $(()=>{let r=new T;return r.subscribe(({action:o,reveal:n})=>{e.toggleAttribute("open",o==="open"),n&&e.scrollIntoView()}),Ga(e,t).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}var Kn=0;function Ja(e){let t=document.createElement("h3");t.innerHTML=e.innerHTML;let r=[t],o=e.nextElementSibling;for(;o&&!(o instanceof HTMLHeadingElement);)r.push(o),o=o.nextElementSibling;return r}function Xa(e,t){for(let r of M("[href], [src]",e))for(let o of["href","src"]){let n=r.getAttribute(o);if(n&&!/^(?:[a-z]+:)?\/\//i.test(n)){r[o]=new URL(r.getAttribute(o),t).toString();break}}for(let r of M("[name^=__], [for]",e))for(let o of["id","for","name"]){let n=r.getAttribute(o);n&&r.setAttribute(o,`${n}$preview_${Kn}`)}return Kn++,k(e)}function Qn(e,t){let{sitemap$:r}=t;if(!(e instanceof HTMLAnchorElement))return x;if(!(N("navigation.instant.preview")||e.hasAttribute("data-preview")))return x;let o=z([Ke(e),nt(e)]).pipe(m(([i,s])=>i||s),Y(),v(i=>i));return bt([r,o]).pipe(b(([i])=>{let s=new URL(e.href);return s.search=s.hash="",i.has(`${s}`)?k(s):x}),b(i=>yr(i).pipe(b(s=>Xa(s,i)))),b(i=>{let s=e.hash?`article [id="${e.hash.slice(1)}"]`:"article h1",a=ue(s,i);return typeof a=="undefined"?x:k(Ja(a))})).pipe(b(i=>{let s=new I(a=>{let c=wr(...i);return a.next(c),document.body.append(c),()=>c.remove()});return Nt(e,j({content$:s},t))}))}var Yn=".node circle,.node ellipse,.node path,.node polygon,.node rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}marker{fill:var(--md-mermaid-edge-color)!important}.edgeLabel .label rect{fill:#0000}.label{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.label foreignObject{line-height:normal;overflow:visible}.label div .edgeLabel{color:var(--md-mermaid-label-fg-color)}.edgeLabel,.edgeLabel rect,.label div .edgeLabel{background-color:var(--md-mermaid-label-bg-color)}.edgeLabel,.edgeLabel rect{fill:var(--md-mermaid-label-bg-color);color:var(--md-mermaid-edge-color)}.edgePath .path,.flowchart-link{stroke:var(--md-mermaid-edge-color);stroke-width:.05rem}.edgePath .arrowheadPath{fill:var(--md-mermaid-edge-color);stroke:none}.cluster rect{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}.cluster span{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}g #flowchart-circleEnd,g #flowchart-circleStart,g #flowchart-crossEnd,g #flowchart-crossStart,g #flowchart-pointEnd,g #flowchart-pointStart{stroke:none}g.classGroup line,g.classGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.classGroup text{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.classLabel .box{fill:var(--md-mermaid-label-bg-color);background-color:var(--md-mermaid-label-bg-color);opacity:1}.classLabel .label{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.node .divider{stroke:var(--md-mermaid-node-fg-color)}.relation{stroke:var(--md-mermaid-edge-color)}.cardinality{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.cardinality text{fill:inherit!important}defs #classDiagram-compositionEnd,defs #classDiagram-compositionStart,defs #classDiagram-dependencyEnd,defs #classDiagram-dependencyStart,defs #classDiagram-extensionEnd,defs #classDiagram-extensionStart{fill:var(--md-mermaid-edge-color)!important;stroke:var(--md-mermaid-edge-color)!important}defs #classDiagram-aggregationEnd,defs #classDiagram-aggregationStart{fill:var(--md-mermaid-label-bg-color)!important;stroke:var(--md-mermaid-edge-color)!important}g.stateGroup rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}g.stateGroup .state-title{fill:var(--md-mermaid-label-fg-color)!important;font-family:var(--md-mermaid-font-family)}g.stateGroup .composit{fill:var(--md-mermaid-label-bg-color)}.nodeLabel,.nodeLabel p{color:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}a .nodeLabel{text-decoration:underline}.node circle.state-end,.node circle.state-start,.start-state{fill:var(--md-mermaid-edge-color);stroke:none}.end-state-inner,.end-state-outer{fill:var(--md-mermaid-edge-color)}.end-state-inner,.node circle.state-end{stroke:var(--md-mermaid-label-bg-color)}.transition{stroke:var(--md-mermaid-edge-color)}[id^=state-fork] rect,[id^=state-join] rect{fill:var(--md-mermaid-edge-color)!important;stroke:none!important}.statediagram-cluster.statediagram-cluster .inner{fill:var(--md-default-bg-color)}.statediagram-cluster rect{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.statediagram-state rect.divider{fill:var(--md-default-fg-color--lightest);stroke:var(--md-default-fg-color--lighter)}defs #statediagram-barbEnd{stroke:var(--md-mermaid-edge-color)}.attributeBoxEven,.attributeBoxOdd{fill:var(--md-mermaid-node-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityBox{fill:var(--md-mermaid-label-bg-color);stroke:var(--md-mermaid-node-fg-color)}.entityLabel{fill:var(--md-mermaid-label-fg-color);font-family:var(--md-mermaid-font-family)}.relationshipLabelBox{fill:var(--md-mermaid-label-bg-color);fill-opacity:1;background-color:var(--md-mermaid-label-bg-color);opacity:1}.relationshipLabel{fill:var(--md-mermaid-label-fg-color)}.relationshipLine{stroke:var(--md-mermaid-edge-color)}defs #ONE_OR_MORE_END *,defs #ONE_OR_MORE_START *,defs #ONLY_ONE_END *,defs #ONLY_ONE_START *,defs #ZERO_OR_MORE_END *,defs #ZERO_OR_MORE_START *,defs #ZERO_OR_ONE_END *,defs #ZERO_OR_ONE_START *{stroke:var(--md-mermaid-edge-color)!important}defs #ZERO_OR_MORE_END circle,defs #ZERO_OR_MORE_START circle{fill:var(--md-mermaid-label-bg-color)}.actor{fill:var(--md-mermaid-sequence-actor-bg-color);stroke:var(--md-mermaid-sequence-actor-border-color)}text.actor>tspan{fill:var(--md-mermaid-sequence-actor-fg-color);font-family:var(--md-mermaid-font-family)}line{stroke:var(--md-mermaid-sequence-actor-line-color)}.actor-man circle,.actor-man line{fill:var(--md-mermaid-sequence-actorman-bg-color);stroke:var(--md-mermaid-sequence-actorman-line-color)}.messageLine0,.messageLine1{stroke:var(--md-mermaid-sequence-message-line-color)}.note{fill:var(--md-mermaid-sequence-note-bg-color);stroke:var(--md-mermaid-sequence-note-border-color)}.loopText,.loopText>tspan,.messageText,.noteText>tspan{stroke:none;font-family:var(--md-mermaid-font-family)!important}.messageText{fill:var(--md-mermaid-sequence-message-fg-color)}.loopText,.loopText>tspan{fill:var(--md-mermaid-sequence-loop-fg-color)}.noteText>tspan{fill:var(--md-mermaid-sequence-note-fg-color)}#arrowhead path{fill:var(--md-mermaid-sequence-message-line-color);stroke:none}.loopLine{fill:var(--md-mermaid-sequence-loop-bg-color);stroke:var(--md-mermaid-sequence-loop-border-color)}.labelBox{fill:var(--md-mermaid-sequence-label-bg-color);stroke:none}.labelText,.labelText>span{fill:var(--md-mermaid-sequence-label-fg-color);font-family:var(--md-mermaid-font-family)}.sequenceNumber{fill:var(--md-mermaid-sequence-number-fg-color)}rect.rect{fill:var(--md-mermaid-sequence-box-bg-color);stroke:none}rect.rect+text.text{fill:var(--md-mermaid-sequence-box-fg-color)}defs #sequencenumber{fill:var(--md-mermaid-sequence-number-bg-color)!important}";var ao,es=0;function ts(){return typeof mermaid=="undefined"||mermaid instanceof Element?At("https://unpkg.com/mermaid@10/dist/mermaid.min.js"):k(void 0)}function Bn(e){return e.classList.remove("mermaid"),ao||(ao=ts().pipe(S(()=>mermaid.initialize({startOnLoad:!1,themeCSS:Yn,sequence:{actorFontSize:"16px",messageFontSize:"16px",noteFontSize:"16px"}})),m(()=>{}),X(1))),ao.subscribe(()=>bo(this,null,function*(){e.classList.add("mermaid");let t=`__mermaid_${es++}`,r=y("div",{class:"mermaid"}),o=e.textContent,{svg:n,fn:i}=yield mermaid.render(t,o),s=r.attachShadow({mode:"closed"});s.innerHTML=n,e.replaceWith(r),i==null||i(s)})),ao.pipe(m(()=>({ref:e})))}var Gn=y("table");function Jn(e){return e.replaceWith(Gn),Gn.replaceWith(Pn(e)),k({ref:e})}function rs(e){let t=e.find(r=>r.checked)||e[0];return O(...e.map(r=>h(r,"change").pipe(m(()=>F(`label[for="${r.id}"]`))))).pipe(Q(F(`label[for="${t.id}"]`)),m(r=>({active:r})))}function Xn(e,{viewport$:t,target$:r}){let o=F(".tabbed-labels",e),n=M(":scope > input",e),i=oo("prev");e.append(i);let s=oo("next");return e.append(s),$(()=>{let a=new T,c=a.pipe(re(),ae(!0));z([a,Le(e),lt(e)]).pipe(W(c),ke(1,ge)).subscribe({next([{active:p},l]){let f=Qe(p),{width:u}=de(p);e.style.setProperty("--md-indicator-x",`${f.x}px`),e.style.setProperty("--md-indicator-width",`${u}px`);let d=gr(o);(f.x<d.x||f.x+u>d.x+l.width)&&o.scrollTo({left:Math.max(0,f.x-16),behavior:"smooth"})},complete(){e.style.removeProperty("--md-indicator-x"),e.style.removeProperty("--md-indicator-width")}}),z([Ye(o),Le(o)]).pipe(W(c)).subscribe(([p,l])=>{let f=Ct(o);i.hidden=p.x<16,s.hidden=p.x>f.width-l.width-16}),O(h(i,"click").pipe(m(()=>-1)),h(s,"click").pipe(m(()=>1))).pipe(W(c)).subscribe(p=>{let{width:l}=de(o);o.scrollBy({left:l*p,behavior:"smooth"})}),r.pipe(W(c),v(p=>n.includes(p))).subscribe(p=>p.click()),o.classList.add("tabbed-labels--linked");for(let p of n){let l=F(`label[for="${p.id}"]`);l.replaceChildren(y("a",{href:`#${l.htmlFor}`,tabIndex:-1},...Array.from(l.childNodes))),h(l.firstElementChild,"click").pipe(W(c),v(f=>!(f.metaKey||f.ctrlKey)),S(f=>{f.preventDefault(),f.stopPropagation()})).subscribe(()=>{history.replaceState({},"",`#${l.htmlFor}`),l.click()})}return N("content.tabs.link")&&a.pipe(Pe(1),te(t)).subscribe(([{active:p},{offset:l}])=>{let f=p.innerText.trim();if(p.hasAttribute("data-md-switching"))p.removeAttribute("data-md-switching");else{let u=e.offsetTop-l.y;for(let g of M("[data-tabs]"))for(let L of M(":scope > input",g)){let ee=F(`label[for="${L.id}"]`);if(ee!==p&&ee.innerText.trim()===f){ee.setAttribute("data-md-switching",""),L.click();break}}window.scrollTo({top:e.offsetTop-u});let d=__md_get("__tabs")||[];__md_set("__tabs",[...new Set([f,...d])])}}),a.pipe(W(c)).subscribe(()=>{for(let p of M("audio, video",e))p.pause()}),rs(n).pipe(S(p=>a.next(p)),A(()=>a.complete()),m(p=>j({ref:e},p)))}).pipe(Ze(pe))}function Zn(e,t){let{viewport$:r,target$:o,print$:n}=t;return O(...M(".annotate:not(.highlight)",e).map(i=>Wn(i,{target$:o,print$:n})),...M("pre:not(.mermaid) > code",e).map(i=>zn(i,{target$:o,print$:n})),...M("a:not([title])",e).map(i=>Qn(i,t)),...M("pre.mermaid",e).map(i=>Bn(i)),...M("table:not([class])",e).map(i=>Jn(i)),...M("details",e).map(i=>qn(i,{target$:o,print$:n})),...M("[data-tabs]",e).map(i=>Xn(i,{viewport$:r,target$:o})),...M("[title]",e).filter(()=>N("content.tooltips")).map(i=>Je(i,{viewport$:r})),...M(".footnote-ref",e).filter(()=>N("content.footnote.tooltips")).map(i=>Nt(i,{content$:new I(s=>{let a=new URL(i.href).hash.slice(1),c=Array.from(document.getElementById(a).cloneNode(!0).children),p=wr(...c);return s.next(p),document.body.append(p),()=>p.remove()}),viewport$:r})))}function os(e,{alert$:t}){return t.pipe(b(r=>O(k(!0),k(!1).pipe(ot(2e3))).pipe(m(o=>({message:r,active:o})))))}function ei(e,t){let r=F(".md-typeset",e);return $(()=>{let o=new T;return o.subscribe(({message:n,active:i})=>{e.classList.toggle("md-dialog--active",i),r.textContent=n}),os(e,t).pipe(S(n=>o.next(n)),A(()=>o.complete()),m(n=>j({ref:e},n)))})}var ns=0;function is(e,t){document.body.append(e);let{width:r}=de(e);e.style.setProperty("--md-tooltip-width",`${r}px`),e.remove();let o=vr(t),n=typeof o!="undefined"?Ye(o):k({x:0,y:0}),i=O(Ke(t),nt(t)).pipe(Y());return z([i,n]).pipe(m(([s,a])=>{let{x:c,y:p}=Qe(t),l=de(t),f=t.closest("table");return f&&t.parentElement&&(c+=f.offsetLeft+t.parentElement.offsetLeft,p+=f.offsetTop+t.parentElement.offsetTop),{active:s,offset:{x:c-a.x+l.width/2-r/2,y:p-a.y+l.height+8}}}))}function ti(e){let t=e.title;if(!t.length)return x;let r=`__tooltip_${ns++}`,o=Dt(r,"inline"),n=F(".md-typeset",o);return n.innerHTML=t,$(()=>{let i=new T;return i.subscribe({next({offset:s}){o.style.setProperty("--md-tooltip-x",`${s.x}px`),o.style.setProperty("--md-tooltip-y",`${s.y}px`)},complete(){o.style.removeProperty("--md-tooltip-x"),o.style.removeProperty("--md-tooltip-y")}}),O(i.pipe(v(({active:s})=>s)),i.pipe(Ae(250),v(({active:s})=>!s))).subscribe({next({active:s}){s?(e.insertAdjacentElement("afterend",o),e.setAttribute("aria-describedby",r),e.removeAttribute("title")):(o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t))},complete(){o.remove(),e.removeAttribute("aria-describedby"),e.setAttribute("title",t)}}),i.pipe(ke(16,ge)).subscribe(({active:s})=>{o.classList.toggle("md-tooltip--active",s)}),i.pipe(gt(125,ge),v(()=>!!e.offsetParent),m(()=>e.offsetParent.getBoundingClientRect()),m(({x:s})=>s)).subscribe({next(s){s?o.style.setProperty("--md-tooltip-0",`${-s}px`):o.style.removeProperty("--md-tooltip-0")},complete(){o.style.removeProperty("--md-tooltip-0")}}),is(o,e).pipe(S(s=>i.next(s)),A(()=>i.complete()),m(s=>j({ref:e},s)))}).pipe(Ze(pe))}function as({viewport$:e}){if(!N("header.autohide"))return k(!1);let t=e.pipe(m(({offset:{y:n}})=>n),tt(2,1),m(([n,i])=>[n<i,i]),oe(0)),r=z([e,t]).pipe(v(([{offset:n},[,i]])=>Math.abs(i-n.y)>100),m(([,[n]])=>n),Y()),o=Be("search");return z([e,o]).pipe(m(([{offset:n},i])=>n.y>400&&!i),Y(),b(n=>n?r:k(!1)),Q(!1))}function ri(e,t){return $(()=>z([Le(e),as(t)])).pipe(m(([{height:r},o])=>({height:r,hidden:o})),Y((r,o)=>r.height===o.height&&r.hidden===o.hidden),X(1))}function oi(e,{header$:t,main$:r}){return $(()=>{let o=new T,n=o.pipe(re(),ae(!0));o.pipe(oe("active"),De(t)).subscribe(([{active:s},{hidden:a}])=>{e.classList.toggle("md-header--shadow",s&&!a),e.hidden=a});let i=fe(M("[title]",e)).pipe(v(()=>N("content.tooltips")),J(s=>ti(s)));return r.subscribe(o),t.pipe(W(n),m(s=>j({ref:e},s)),Ne(i.pipe(W(n))))})}function ss(e,{viewport$:t,header$:r}){return Er(e,{viewport$:t,header$:r}).pipe(m(({offset:{y:o}})=>{let{height:n}=de(e);return{active:o>=n}}),oe("active"))}function ni(e,t){return $(()=>{let r=new T;r.subscribe({next({active:n}){e.classList.toggle("md-header__title--active",n)},complete(){e.classList.remove("md-header__title--active")}});let o=ue(".md-content h1");return typeof o=="undefined"?x:ss(o,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>j({ref:e},n)))})}function ii(e,{viewport$:t,header$:r}){let o=r.pipe(m(({height:i})=>i),Y()),n=o.pipe(b(()=>Le(e).pipe(m(({height:i})=>({top:e.offsetTop,bottom:e.offsetTop+i})),oe("bottom"))));return z([o,n,t]).pipe(m(([i,{top:s,bottom:a},{offset:{y:c},size:{height:p}}])=>(p=Math.max(0,p-Math.max(0,s-c,i)-Math.max(0,p+c-a)),{offset:s-i,height:p,active:s-i<=c})),Y((i,s)=>i.offset===s.offset&&i.height===s.height&&i.active===s.active))}function cs(e){let t=__md_get("__palette")||{index:e.findIndex(o=>matchMedia(o.getAttribute("data-md-color-media")).matches)},r=Math.max(0,Math.min(t.index,e.length-1));return k(...e).pipe(J(o=>h(o,"change").pipe(m(()=>o))),Q(e[r]),m(o=>({index:e.indexOf(o),color:{media:o.getAttribute("data-md-color-media"),scheme:o.getAttribute("data-md-color-scheme"),primary:o.getAttribute("data-md-color-primary"),accent:o.getAttribute("data-md-color-accent")}})),X(1))}function ai(e){let t=M("input",e),r=y("meta",{name:"theme-color"});document.head.appendChild(r);let o=y("meta",{name:"color-scheme"});document.head.appendChild(o);let n=Wt("(prefers-color-scheme: light)");return $(()=>{let i=new T;return i.subscribe(s=>{if(document.body.setAttribute("data-md-color-switching",""),s.color.media==="(prefers-color-scheme)"){let a=matchMedia("(prefers-color-scheme: light)"),c=document.querySelector(a.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");s.color.scheme=c.getAttribute("data-md-color-scheme"),s.color.primary=c.getAttribute("data-md-color-primary"),s.color.accent=c.getAttribute("data-md-color-accent")}for(let[a,c]of Object.entries(s.color))document.body.setAttribute(`data-md-color-${a}`,c);for(let a=0;a<t.length;a++){let c=t[a].nextElementSibling;c instanceof HTMLElement&&(c.hidden=s.index!==a)}__md_set("__palette",s)}),h(e,"keydown").pipe(v(s=>s.key==="Enter"),te(i,(s,a)=>a)).subscribe(({index:s})=>{s=(s+1)%t.length,t[s].click(),t[s].focus()}),i.pipe(m(()=>{let s=Ce("header"),a=window.getComputedStyle(s);return o.content=a.colorScheme,a.backgroundColor.match(/\d+/g).map(c=>(+c).toString(16).padStart(2,"0")).join("")})).subscribe(s=>r.content=`#${s}`),i.pipe(xe(pe)).subscribe(()=>{document.body.removeAttribute("data-md-color-switching")}),cs(t).pipe(W(n.pipe(Pe(1))),vt(),S(s=>i.next(s)),A(()=>i.complete()),m(s=>j({ref:e},s)))})}function si(e,{progress$:t}){return $(()=>{let r=new T;return r.subscribe(({value:o})=>{e.style.setProperty("--md-progress-value",`${o}`)}),t.pipe(S(o=>r.next({value:o})),A(()=>r.complete()),m(o=>({ref:e,value:o})))})}function ci(e,t){return e.protocol=t.protocol,e.hostname=t.hostname,e}function ps(e,t){let r=new Map;for(let o of M("url",e)){let n=F("loc",o),i=[ci(new URL(n.textContent),t)];r.set(`${i[0]}`,i);for(let s of M("[rel=alternate]",o)){let a=s.getAttribute("href");a!=null&&i.push(ci(new URL(a),t))}}return r}function $t(e){return xn(new URL("sitemap.xml",e)).pipe(m(t=>ps(t,new URL(e))),ye(()=>k(new Map)),le())}function pi({document$:e}){let t=new Map;e.pipe(b(()=>M("link[rel=alternate]")),m(r=>new URL(r.href)),v(r=>!t.has(r.toString())),J(r=>$t(r).pipe(m(o=>[r,o]),ye(()=>x)))).subscribe(([r,o])=>{t.set(r.toString().replace(/\/$/,""),o)}),h(document.body,"click").pipe(v(r=>!r.metaKey&&!r.ctrlKey),b(r=>{if(r.target instanceof Element){let o=r.target.closest("a");if(o&&!o.target){let n=[...t].find(([f])=>o.href.startsWith(`${f}/`));if(typeof n=="undefined")return x;let[i,s]=n,a=we();if(a.href.startsWith(i))return x;let c=Te(),p=a.href.replace(c.base,"");p=`${i}/${p}`;let l=s.has(p.split("#")[0])?new URL(p,c.base):new URL(i);return r.preventDefault(),k(l)}}return x})).subscribe(r=>at(r,!0))}var so=Gt(io());function ls(e){e.setAttribute("data-md-copying","");let t=e.closest("[data-copy]"),r=t?t.getAttribute("data-copy"):e.innerText;return e.removeAttribute("data-md-copying"),r.trimEnd()}function li({alert$:e}){so.default.isSupported()&&new I(t=>{new so.default("[data-clipboard-target], [data-clipboard-text]",{text:r=>r.getAttribute("data-clipboard-text")||ls(F(r.getAttribute("data-clipboard-target")))}).on("success",r=>t.next(r))}).pipe(S(t=>{t.trigger.focus()}),m(()=>Me("clipboard.copied"))).subscribe(e)}function mi(e,t){if(!(e.target instanceof Element))return x;let r=e.target.closest("a");if(r===null)return x;if(r.target||e.metaKey||e.ctrlKey)return x;let o=new URL(r.href);return o.search=o.hash="",t.has(`${o}`)?(e.preventDefault(),k(r)):x}function fi(e){let t=new Map;for(let r of M(":scope > *",e.head))t.set(r.outerHTML,r);return t}function ui(e){for(let t of M("[href], [src]",e))for(let r of["href","src"]){let o=t.getAttribute(r);if(o&&!/^(?:[a-z]+:)?\/\//i.test(o)){t[r]=t[r];break}}return k(e)}function ms(e){for(let o of["[data-md-component=announce]","[data-md-component=container]","[data-md-component=header-topic]","[data-md-component=outdated]","[data-md-component=logo]","[data-md-component=skip]",...N("navigation.tabs.sticky")?["[data-md-component=tabs]"]:[]]){let n=ue(o),i=ue(o,e);typeof n!="undefined"&&typeof i!="undefined"&&n.replaceWith(i)}let t=fi(document);for(let[o,n]of fi(e))t.has(o)?t.delete(o):document.head.appendChild(n);for(let o of t.values()){let n=o.getAttribute("name");n!=="theme-color"&&n!=="color-scheme"&&o.remove()}let r=Ce("container");return qe(M("script",r)).pipe(b(o=>{let n=e.createElement("script");if(o.src){for(let i of o.getAttributeNames())n.setAttribute(i,o.getAttribute(i));return o.replaceWith(n),new I(i=>{n.onload=()=>i.complete()})}else return n.textContent=o.textContent,o.replaceWith(n),x}),re(),ae(document))}function di({sitemap$:e,location$:t,viewport$:r,progress$:o}){if(location.protocol==="file:")return x;k(document).subscribe(ui);let n=h(document.body,"click").pipe(De(e),b(([a,c])=>mi(a,c)),m(({href:a})=>new URL(a)),le()),i=h(window,"popstate").pipe(m(we),le());n.pipe(te(r)).subscribe(([a,{offset:c}])=>{history.replaceState(c,""),history.pushState(null,"",a)}),O(n,i).subscribe(t);let s=t.pipe(oe("pathname"),b(a=>yr(a,{progress$:o}).pipe(ye(()=>(at(a,!0),x)))),b(ui),b(ms),le());return O(s.pipe(te(t,(a,c)=>c)),s.pipe(b(()=>t),oe("pathname"),b(()=>t),oe("hash")),t.pipe(Y((a,c)=>a.pathname===c.pathname&&a.hash===c.hash),b(()=>n),S(()=>history.back()))).subscribe(a=>{var c,p;history.state!==null||!a.hash?window.scrollTo(0,(p=(c=history.state)==null?void 0:c.y)!=null?p:0):(history.scrollRestoration="auto",bn(a.hash),history.scrollRestoration="manual")}),t.subscribe(()=>{history.scrollRestoration="manual"}),h(window,"beforeunload").subscribe(()=>{history.scrollRestoration="auto"}),r.pipe(oe("offset"),Ae(100)).subscribe(({offset:a})=>{history.replaceState(a,"")}),N("navigation.instant.prefetch")&&O(h(document.body,"mousemove"),h(document.body,"focusin")).pipe(De(e),b(([a,c])=>mi(a,c)),Ae(25),Qr(({href:a})=>a),hr(a=>{let c=document.createElement("link");return c.rel="prefetch",c.href=a.toString(),document.head.appendChild(c),h(c,"load").pipe(m(()=>c),Ee(1))})).subscribe(a=>a.remove()),s}var vi=Gt(bi());function gi(e){let t=e.separator.split("|").map(n=>n.replace(/(\(\?[!=<][^)]+\))/g,"").length===0?"\uFFFD":n).join("|"),r=new RegExp(t,"img"),o=(n,i,s)=>`${i}<mark data-md-highlight>${s}</mark>`;return n=>{n=n.replace(/[\s*+\-:~^]+/g," ").trim();let i=new RegExp(`(^|${e.separator}|)(${n.replace(/[|\\{}()[\]^$+*?.-]/g,"\\$&").replace(r,"|")})`,"img");return s=>(0,vi.default)(s).replace(i,o).replace(/<\/mark>(\s+)<mark[^>]*>/img,"$1")}}function zt(e){return e.type===1}function Sr(e){return e.type===3}function xi(e,t){let r=On(e);return O(k(location.protocol!=="file:"),Be("search")).pipe(Re(o=>o),b(()=>t)).subscribe(({config:o,docs:n})=>r.next({type:0,data:{config:o,docs:n,options:{suggest:N("search.suggest")}}})),r}function yi({document$:e}){let t=Te(),r=Ge(new URL("../versions.json",t.base)).pipe(ye(()=>x)),o=r.pipe(m(n=>{let[,i]=t.base.match(/([^/]+)\/?$/);return n.find(({version:s,aliases:a})=>s===i||a.includes(i))||n[0]}));r.pipe(m(n=>new Map(n.map(i=>[`${new URL(`../${i.version}/`,t.base)}`,i]))),b(n=>h(document.body,"click").pipe(v(i=>!i.metaKey&&!i.ctrlKey),te(o),b(([i,s])=>{if(i.target instanceof Element){let a=i.target.closest("a");if(a&&!a.target&&n.has(a.href)){let c=a.href;return!i.target.closest(".md-version")&&n.get(c)===s?x:(i.preventDefault(),k(c))}}return x}),b(i=>$t(new URL(i)).pipe(m(s=>{let c=we().href.replace(t.base,i);return s.has(c.split("#")[0])?new URL(c):new URL(i)})))))).subscribe(n=>at(n,!0)),z([r,o]).subscribe(([n,i])=>{F(".md-header__topic").appendChild(In(n,i))}),e.pipe(b(()=>o)).subscribe(n=>{var s;let i=__md_get("__outdated",sessionStorage);if(i===null){i=!0;let a=((s=t.version)==null?void 0:s.default)||"latest";Array.isArray(a)||(a=[a]);e:for(let c of a)for(let p of n.aliases.concat(n.version))if(new RegExp(c,"i").test(p)){i=!1;break e}__md_set("__outdated",i,sessionStorage)}if(i)for(let a of me("outdated"))a.hidden=!1})}function bs(e,{worker$:t}){let{searchParams:r}=we();r.has("q")&&(it("search",!0),e.value=r.get("q"),e.focus(),Be("search").pipe(Re(i=>!i)).subscribe(()=>{let i=we();i.searchParams.delete("q"),history.replaceState({},"",`${i}`)}));let o=Ke(e),n=O(t.pipe(Re(zt)),h(e,"keyup"),o).pipe(m(()=>e.value),Y());return z([n,o]).pipe(m(([i,s])=>({value:i,focus:s})),X(1))}function Ei(e,{worker$:t}){let r=new T,o=r.pipe(re(),ae(!0));z([t.pipe(Re(zt)),r],(i,s)=>s).pipe(oe("value")).subscribe(({value:i})=>t.next({type:2,data:i})),r.pipe(oe("focus")).subscribe(({focus:i})=>{i&&it("search",i)}),h(e.form,"reset").pipe(W(o)).subscribe(()=>e.focus());let n=F("header [for=__search]");return h(n,"click").subscribe(()=>e.focus()),bs(e,{worker$:t}).pipe(S(i=>r.next(i)),A(()=>r.complete()),m(i=>j({ref:e},i)),X(1))}function wi(e,{worker$:t,query$:r}){let o=new T,n=mn(e.parentElement).pipe(v(Boolean)),i=e.parentElement,s=F(":scope > :first-child",e),a=F(":scope > :last-child",e);Be("search").subscribe(l=>a.setAttribute("role",l?"list":"presentation")),o.pipe(te(r),Gr(t.pipe(Re(zt)))).subscribe(([{items:l},{value:f}])=>{switch(l.length){case 0:s.textContent=f.length?Me("search.result.none"):Me("search.result.placeholder");break;case 1:s.textContent=Me("search.result.one");break;default:let u=br(l.length);s.textContent=Me("search.result.other",u)}});let c=o.pipe(S(()=>a.innerHTML=""),b(({items:l})=>O(k(...l.slice(0,10)),k(...l.slice(10)).pipe(tt(4),Xr(n),b(([f])=>f)))),m(kn),le());return c.subscribe(l=>a.appendChild(l)),c.pipe(J(l=>{let f=ue("details",l);return typeof f=="undefined"?x:h(f,"toggle").pipe(W(o),m(()=>f))})).subscribe(l=>{l.open===!1&&l.offsetTop<=i.scrollTop&&i.scrollTo({top:l.offsetTop})}),t.pipe(v(Sr),m(({data:l})=>l)).pipe(S(l=>o.next(l)),A(()=>o.complete()),m(l=>j({ref:e},l)))}function vs(e,{query$:t}){return t.pipe(m(({value:r})=>{let o=we();return o.hash="",r=r.replace(/\s+/g,"+").replace(/&/g,"%26").replace(/=/g,"%3D"),o.search=`q=${r}`,{url:o}}))}function Ti(e,t){let r=new T,o=r.pipe(re(),ae(!0));return r.subscribe(({url:n})=>{e.setAttribute("data-clipboard-text",e.href),e.href=`${n}`}),h(e,"click").pipe(W(o)).subscribe(n=>n.preventDefault()),vs(e,t).pipe(S(n=>r.next(n)),A(()=>r.complete()),m(n=>j({ref:e},n)))}function Si(e,{worker$:t,keyboard$:r}){let o=new T,n=Ce("search-query"),i=O(h(n,"keydown"),h(n,"focus")).pipe(xe(pe),m(()=>n.value),Y());return o.pipe(De(i),m(([{suggest:a},c])=>{let p=c.split(/([\s-]+)/);if(a!=null&&a.length&&p[p.length-1]){let l=a[a.length-1];l.startsWith(p[p.length-1])&&(p[p.length-1]=l)}else p.length=0;return p})).subscribe(a=>e.innerHTML=a.join("").replace(/\s/g," ")),r.pipe(v(({mode:a})=>a==="search")).subscribe(a=>{switch(a.type){case"ArrowRight":e.innerText.length&&n.selectionStart===n.value.length&&(n.value=e.innerText);break}}),t.pipe(v(Sr),m(({data:a})=>a)).pipe(S(a=>o.next(a)),A(()=>o.complete()),m(()=>({ref:e})))}function Oi(e,{index$:t,keyboard$:r}){let o=Te();try{let n=xi(o.search,t),i=Ce("search-query",e),s=Ce("search-result",e);h(e,"click").pipe(v(({target:c})=>c instanceof Element&&!!c.closest("a"))).subscribe(()=>it("search",!1)),r.pipe(v(({mode:c})=>c==="search")).subscribe(c=>{let p=Ve();switch(c.type){case"Enter":if(p===i){let l=new Map;for(let f of M(":first-child [href]",s)){let u=f.firstElementChild;l.set(f,parseFloat(u.getAttribute("data-md-score")))}if(l.size){let[[f]]=[...l].sort(([,u],[,d])=>d-u);f.click()}c.claim()}break;case"Escape":case"Tab":it("search",!1),i.blur();break;case"ArrowUp":case"ArrowDown":if(typeof p=="undefined")i.focus();else{let l=[i,...M(":not(details) > [href], summary, details[open] [href]",s)],f=Math.max(0,(Math.max(0,l.indexOf(p))+l.length+(c.type==="ArrowUp"?-1:1))%l.length);l[f].focus()}c.claim();break;default:i!==Ve()&&i.focus()}}),r.pipe(v(({mode:c})=>c==="global")).subscribe(c=>{switch(c.type){case"f":case"s":case"/":i.focus(),i.select(),c.claim();break}});let a=Ei(i,{worker$:n});return O(a,wi(s,{worker$:n,query$:a})).pipe(Ne(...me("search-share",e).map(c=>Ti(c,{query$:a})),...me("search-suggest",e).map(c=>Si(c,{worker$:n,keyboard$:r}))))}catch(n){return e.hidden=!0,et}}function Li(e,{index$:t,location$:r}){return z([t,r.pipe(Q(we()),v(o=>!!o.searchParams.get("h")))]).pipe(m(([o,n])=>gi(o.config)(n.searchParams.get("h"))),m(o=>{var s;let n=new Map,i=document.createNodeIterator(e,NodeFilter.SHOW_TEXT);for(let a=i.nextNode();a;a=i.nextNode())if((s=a.parentElement)!=null&&s.offsetHeight){let c=a.textContent,p=o(c);p.length>c.length&&n.set(a,p)}for(let[a,c]of n){let{childNodes:p}=y("span",null,c);a.replaceWith(...Array.from(p))}return{ref:e,nodes:n}}))}function gs(e,{viewport$:t,main$:r}){let o=e.closest(".md-grid"),n=o.offsetTop-o.parentElement.offsetTop;return z([r,t]).pipe(m(([{offset:i,height:s},{offset:{y:a}}])=>(s=s+Math.min(n,Math.max(0,a-i))-n,{height:s,locked:a>=i+n})),Y((i,s)=>i.height===s.height&&i.locked===s.locked))}function co(e,o){var n=o,{header$:t}=n,r=ho(n,["header$"]);let i=F(".md-sidebar__scrollwrap",e),{y:s}=Qe(i);return $(()=>{let a=new T,c=a.pipe(re(),ae(!0)),p=a.pipe(ke(0,ge));return p.pipe(te(t)).subscribe({next([{height:l},{height:f}]){i.style.height=`${l-2*s}px`,e.style.top=`${f}px`},complete(){i.style.height="",e.style.top=""}}),p.pipe(Re()).subscribe(()=>{for(let l of M(".md-nav__link--active[href]",e)){if(!l.clientHeight)continue;let f=l.closest(".md-sidebar__scrollwrap");if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2})}}}),fe(M("label[tabindex]",e)).pipe(J(l=>h(l,"click").pipe(xe(pe),m(()=>l),W(c)))).subscribe(l=>{let f=F(`[id="${l.htmlFor}"]`);F(`[aria-labelledby="${l.id}"]`).setAttribute("aria-expanded",`${f.checked}`)}),N("content.tooltips")&&fe(M("abbr[title]",e)).pipe(J(l=>Je(l,{viewport$})),W(c)).subscribe(),gs(e,r).pipe(S(l=>a.next(l)),A(()=>a.complete()),m(l=>j({ref:e},l)))})}function Mi(e,t){if(typeof t!="undefined"){let r=`https://api.github.com/repos/${e}/${t}`;return bt(Ge(`${r}/releases/latest`).pipe(ye(()=>x),m(o=>({version:o.tag_name})),rt({})),Ge(r).pipe(ye(()=>x),m(o=>({stars:o.stargazers_count,forks:o.forks_count})),rt({}))).pipe(m(([o,n])=>j(j({},o),n)))}else{let r=`https://api.github.com/users/${e}`;return Ge(r).pipe(m(o=>({repositories:o.public_repos})),rt({}))}}function _i(e,t){let r=`https://${e}/api/v4/projects/${encodeURIComponent(t)}`;return Ge(r).pipe(ye(()=>x),m(({star_count:o,forks_count:n})=>({stars:o,forks:n})),rt({}))}function Ai(e){let t=e.match(/^.+github\.com\/([^/]+)\/?([^/]+)?/i);if(t){let[,r,o]=t;return Mi(r,o)}if(t=e.match(/^.+?([^/]*gitlab[^/]+)\/(.+?)\/?$/i),t){let[,r,o]=t;return _i(r,o)}return x}var xs;function ys(e){return xs||(xs=$(()=>{let t=__md_get("__source",sessionStorage);if(t)return k(t);if(me("consent").length){let o=__md_get("__consent");if(!(o&&o.github))return x}return Ai(e.href).pipe(S(o=>__md_set("__source",o,sessionStorage)))}).pipe(ye(()=>x),v(t=>Object.keys(t).length>0),m(t=>({facts:t})),X(1)))}function Ci(e){let t=F(":scope > :last-child",e);return $(()=>{let r=new T;return r.subscribe(({facts:o})=>{t.appendChild(Rn(o)),t.classList.add("md-source__repository--active")}),ys(e).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}function Es(e,{viewport$:t,header$:r}){return Le(document.body).pipe(b(()=>Er(e,{header$:r,viewport$:t})),m(({offset:{y:o}})=>({hidden:o>=10})),oe("hidden"))}function Hi(e,t){return $(()=>{let r=new T;return r.subscribe({next({hidden:o}){e.hidden=o},complete(){e.hidden=!1}}),(N("navigation.tabs.sticky")?k({hidden:!1}):Es(e,t)).pipe(S(o=>r.next(o)),A(()=>r.complete()),m(o=>j({ref:e},o)))})}function ws(e,{viewport$:t,header$:r}){let o=new Map,n=M(".md-nav__link",e);for(let a of n){let c=decodeURIComponent(a.hash.substring(1)),p=ue(`[id="${c}"]`);typeof p!="undefined"&&o.set(a,p)}let i=r.pipe(oe("height"),m(({height:a})=>{let c=Ce("main"),p=F(":scope > :first-child",c);return a+.8*(p.offsetTop-c.offsetTop)}),le());return Le(document.body).pipe(oe("height"),b(a=>$(()=>{let c=[];return k([...o].reduce((p,[l,f])=>{for(;c.length&&o.get(c[c.length-1]).tagName>=f.tagName;)c.pop();let u=f.offsetTop;for(;!u&&f.parentElement;)f=f.parentElement,u=f.offsetTop;let d=f.offsetParent;for(;d;d=d.offsetParent)u+=d.offsetTop;return p.set([...c=[...c,l]].reverse(),u)},new Map))}).pipe(m(c=>new Map([...c].sort(([,p],[,l])=>p-l))),De(i),b(([c,p])=>t.pipe(Ut(([l,f],{offset:{y:u},size:d})=>{let g=u+d.height>=Math.floor(a.height);for(;f.length;){let[,L]=f[0];if(L-p<u||g)l=[...l,f.shift()];else break}for(;l.length;){let[,L]=l[l.length-1];if(L-p>=u&&!g)f=[l.pop(),...f];else break}return[l,f]},[[],[...c]]),Y((l,f)=>l[0]===f[0]&&l[1]===f[1])))))).pipe(m(([a,c])=>({prev:a.map(([p])=>p),next:c.map(([p])=>p)})),Q({prev:[],next:[]}),tt(2,1),m(([a,c])=>a.prev.length<c.prev.length?{prev:c.prev.slice(Math.max(0,a.prev.length-1),c.prev.length),next:[]}:{prev:c.prev.slice(-1),next:c.next.slice(0,c.next.length-a.next.length)}))}function $i(e,{viewport$:t,header$:r,main$:o,target$:n}){return $(()=>{let i=new T,s=i.pipe(re(),ae(!0));if(i.subscribe(({prev:a,next:c})=>{for(let[p]of c)p.classList.remove("md-nav__link--passed"),p.classList.remove("md-nav__link--active");for(let[p,[l]]of a.entries())l.classList.add("md-nav__link--passed"),l.classList.toggle("md-nav__link--active",p===a.length-1)}),N("toc.follow")){let a=O(t.pipe(Ae(1),m(()=>{})),t.pipe(Ae(250),m(()=>"smooth")));i.pipe(v(({prev:c})=>c.length>0),De(o.pipe(xe(pe))),te(a)).subscribe(([[{prev:c}],p])=>{let[l]=c[c.length-1];if(l.offsetHeight){let f=vr(l);if(typeof f!="undefined"){let u=l.offsetTop-f.offsetTop,{height:d}=de(f);f.scrollTo({top:u-d/2,behavior:p})}}})}return N("navigation.tracking")&&t.pipe(W(s),oe("offset"),Ae(250),Pe(1),W(n.pipe(Pe(1))),vt({delay:250}),te(i)).subscribe(([,{prev:a}])=>{let c=we(),p=a[a.length-1];if(p&&p.length){let[l]=p,{hash:f}=new URL(l.href);c.hash!==f&&(c.hash=f,history.replaceState({},"",`${c}`))}else c.hash="",history.replaceState({},"",`${c}`)}),ws(e,{viewport$:t,header$:r}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))})}function Ts(e,{viewport$:t,main$:r,target$:o}){let n=t.pipe(m(({offset:{y:s}})=>s),tt(2,1),m(([s,a])=>s>a&&a>0),Y()),i=r.pipe(m(({active:s})=>s));return z([i,n]).pipe(m(([s,a])=>!(s&&a)),Y(),W(o.pipe(Pe(1))),ae(!0),vt({delay:250}),m(s=>({hidden:s})))}function ki(e,{viewport$:t,header$:r,main$:o,target$:n}){let i=new T,s=i.pipe(re(),ae(!0));return i.subscribe({next({hidden:a}){e.hidden=a,a?(e.setAttribute("tabindex","-1"),e.blur()):e.removeAttribute("tabindex")},complete(){e.style.top="",e.hidden=!0,e.removeAttribute("tabindex")}}),r.pipe(W(s),oe("height")).subscribe(({height:a})=>{e.style.top=`${a+16}px`}),h(e,"click").subscribe(a=>{a.preventDefault(),window.scrollTo({top:0})}),Ts(e,{viewport$:t,main$:o,target$:n}).pipe(S(a=>i.next(a)),A(()=>i.complete()),m(a=>j({ref:e},a)))}function Ri({document$:e,viewport$:t}){e.pipe(b(()=>M(".md-ellipsis")),J(r=>lt(r).pipe(W(e.pipe(Pe(1))),v(o=>o),m(()=>r),Ee(1))),v(r=>r.offsetWidth<r.scrollWidth),J(r=>{let o=r.innerText,n=r.closest("a")||r;return n.title=o,N("content.tooltips")?Je(n,{viewport$:t}).pipe(W(e.pipe(Pe(1))),A(()=>n.removeAttribute("title"))):x})).subscribe(),N("content.tooltips")&&e.pipe(b(()=>M(".md-status")),J(r=>Je(r,{viewport$:t}))).subscribe()}function Pi({document$:e,tablet$:t}){e.pipe(b(()=>M(".md-toggle--indeterminate")),S(r=>{r.indeterminate=!0,r.checked=!1}),J(r=>h(r,"change").pipe(Jr(()=>r.classList.contains("md-toggle--indeterminate")),m(()=>r))),te(t)).subscribe(([r,o])=>{r.classList.remove("md-toggle--indeterminate"),o&&(r.checked=!1)})}function Ss(){return/(iPad|iPhone|iPod)/.test(navigator.userAgent)}function Ii({document$:e}){e.pipe(b(()=>M("[data-md-scrollfix]")),S(t=>t.removeAttribute("data-md-scrollfix")),v(Ss),J(t=>h(t,"touchstart").pipe(m(()=>t)))).subscribe(t=>{let r=t.scrollTop;r===0?t.scrollTop=1:r+t.offsetHeight===t.scrollHeight&&(t.scrollTop=r-1)})}function Fi({viewport$:e,tablet$:t}){z([Be("search"),t]).pipe(m(([r,o])=>r&&!o),b(r=>k(r).pipe(ot(r?400:100))),te(e)).subscribe(([r,{offset:{y:o}}])=>{if(r)document.body.setAttribute("data-md-scrolllock",""),document.body.style.top=`-${o}px`;else{let n=-1*parseInt(document.body.style.top,10);document.body.removeAttribute("data-md-scrolllock"),document.body.style.top="",n&&window.scrollTo(0,n)}})}Object.entries||(Object.entries=function(e){let t=[];for(let r of Object.keys(e))t.push([r,e[r]]);return t});Object.values||(Object.values=function(e){let t=[];for(let r of Object.keys(e))t.push(e[r]);return t});typeof Element!="undefined"&&(Element.prototype.scrollTo||(Element.prototype.scrollTo=function(e,t){typeof e=="object"?(this.scrollLeft=e.left,this.scrollTop=e.top):(this.scrollLeft=e,this.scrollTop=t)}),Element.prototype.replaceWith||(Element.prototype.replaceWith=function(...e){let t=this.parentNode;if(t){e.length===0&&t.removeChild(this);for(let r=e.length-1;r>=0;r--){let o=e[r];typeof o=="string"?o=document.createTextNode(o):o.parentNode&&o.parentNode.removeChild(o),r?t.insertBefore(this.previousSibling,o):t.replaceChild(o,this)}}}));function Os(){return location.protocol==="file:"?At(`${new URL("search/search_index.js",Or.base)}`).pipe(m(()=>__index),X(1)):Ge(new URL("search/search_index.json",Or.base))}document.documentElement.classList.remove("no-js");document.documentElement.classList.add("js");var st=on(),Kt=dn(),kt=vn(Kt),po=un(),He=Sn(),Lr=Wt("(min-width: 960px)"),Ui=Wt("(min-width: 1220px)"),Wi=gn(),Or=Te(),Di=document.forms.namedItem("search")?Os():et,lo=new T;li({alert$:lo});pi({document$:st});var mo=new T,Ni=$t(Or.base);N("navigation.instant")&&di({sitemap$:Ni,location$:Kt,viewport$:He,progress$:mo}).subscribe(st);var ji;((ji=Or.version)==null?void 0:ji.provider)==="mike"&&yi({document$:st});O(Kt,kt).pipe(ot(125)).subscribe(()=>{it("drawer",!1),it("search",!1)});po.pipe(v(({mode:e})=>e==="global")).subscribe(e=>{switch(e.type){case"p":case",":let t=ue("link[rel=prev]");typeof t!="undefined"&&at(t);break;case"n":case".":let r=ue("link[rel=next]");typeof r!="undefined"&&at(r);break;case"Enter":let o=Ve();o instanceof HTMLLabelElement&&o.click()}});Ri({viewport$:He,document$:st});Pi({document$:st,tablet$:Lr});Ii({document$:st});Fi({viewport$:He,tablet$:Lr});var mt=ri(Ce("header"),{viewport$:He}),qt=st.pipe(m(()=>Ce("main")),b(e=>ii(e,{viewport$:He,header$:mt})),X(1)),Ls=O(...me("consent").map(e=>Mn(e,{target$:kt})),...me("dialog").map(e=>ei(e,{alert$:lo})),...me("header").map(e=>oi(e,{viewport$:He,header$:mt,main$:qt})),...me("palette").map(e=>ai(e)),...me("progress").map(e=>si(e,{progress$:mo})),...me("search").map(e=>Oi(e,{index$:Di,keyboard$:po})),...me("source").map(e=>Ci(e))),Ms=$(()=>O(...me("announce").map(e=>Ln(e)),...me("content").map(e=>Zn(e,{sitemap$:Ni,viewport$:He,target$:kt,print$:Wi})),...me("content").map(e=>N("search.highlight")?Li(e,{index$:Di,location$:Kt}):x),...me("header-title").map(e=>ni(e,{viewport$:He,header$:mt})),...me("sidebar").map(e=>e.getAttribute("data-md-type")==="navigation"?eo(Ui,()=>co(e,{viewport$:He,header$:mt,main$:qt})):eo(Lr,()=>co(e,{viewport$:He,header$:mt,main$:qt}))),...me("tabs").map(e=>Hi(e,{viewport$:He,header$:mt})),...me("toc").map(e=>$i(e,{viewport$:He,header$:mt,main$:qt,target$:kt})),...me("top").map(e=>ki(e,{viewport$:He,header$:mt,main$:qt,target$:kt})))),Vi=st.pipe(b(()=>Ms),Ne(Ls),X(1));Vi.subscribe();window.document$=st;window.location$=Kt;window.target$=kt;window.keyboard$=po;window.viewport$=He;window.tablet$=Lr;window.screen$=Ui;window.print$=Wi;window.alert$=lo;window.progress$=mo;window.component$=Vi;})(); diff --git a/assets/stylesheets/main.0e8c34cb.min.css b/assets/stylesheets/main.dad623df.min.css similarity index 89% rename from assets/stylesheets/main.0e8c34cb.min.css rename to assets/stylesheets/main.dad623df.min.css index 79963bac..02b3c720 100644 --- a/assets/stylesheets/main.0e8c34cb.min.css +++ b/assets/stylesheets/main.dad623df.min.css @@ -1 +1 @@ -@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m18 21-4-4h3V7h-3l4-4 4 4h-3v10h3M2 19v-2h10v2M2 13v-2h7v2M2 7V5h4v2H2Z"/></svg>');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7h3l-4-4-4 4h3v14h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{cursor:help;text-decoration:none}.md-typeset [data-preview],.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light)}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"/></svg>')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 19h-4v2h4c1.1 0 2-.9 2-2v-4h-2m0-12h-4v2h4v4h2V5c0-1.1-.9-2-2-2M5 5h4V3H5c-1.1 0-2 .9-2 2v4h2m0 6H3v4c0 1.1.9 2 2 2h4v-2H5v-4m2-4h2v2H7v-2m4 0h2v2h-2v-2m4 0h2v2h-2v-2M7 7h2v2H7V7m4 0h2v2h-2V7m4 0h2v2h-2V7m-8 8h2v2H7v-2m4 0h2v2h-2v-2m4 0h2v2h-2v-2Z"/></svg>');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"/></svg>')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2Z"/></svg>')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}.md-nav__link .md-ellipsis code{word-break:normal}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link[for]:focus code,.md-nav__link[for]:hover code,.md-nav__link[href]:focus code,.md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:0 1.2rem}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2Z"/></svg>')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5Z"/></svg>')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/></svg>');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"/></svg>');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"/></svg>')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z"/></svg>');--md-status--new:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68L23 12m-10 5h-2v-2h2v2m0-4h-2V7h2v6Z"/></svg>');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3H9m0 5h2v9H9V8m4 0h2v9h-2V8Z"/></svg>');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4m0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3Z"/></svg>')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5.41 21 .71-4h-4l.35-2h4l1.06-6h-4l.35-2h4l.71-4h2l-.71 4h6l.71-4h2l-.71 4h4l-.35 2h-4l-1.06 6h4l-.35 2h-4l-.71 4h-2l.71-4h-6l-.71 4h-2M9.53 9l-1.06 6h6l1.06-6h-6Z"/></svg>')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301 191.9 288 191.9L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1-2.05-2.05 1-1c.1-.11.24-.16.38-.16m-1.97 1.74 2.06 2.06-6.06 6.06H7.07v-2.06l6.06-6.06Z"/></svg>');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Z"/></svg>');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.58.58 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27Z"/></svg>');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59 21 7Z"/></svg>');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10Z"/></svg>');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2 1 21Z"/></svg>');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2Z"/></svg>');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13h2v1h-2v-1m10-8v6c0 5.5-3.8 10.7-9 12-5.2-1.3-9-6.5-9-12V5l9-4 9 4m-4 5h-2.2c-.2-.6-.6-1.1-1.1-1.5l1.2-1.2-.7-.7L12.8 8H12c-.2 0-.5 0-.7.1L9.9 6.6l-.8.8 1.2 1.2c-.5.3-.9.8-1.1 1.4H7v1h2v1H7v1h2v1H7v1h2.2c.4 1.2 1.5 2 2.8 2s2.4-.8 2.8-2H17v-1h-2v-1h2v-1h-2v-1h2v-1m-6 2h2v-1h-2v1Z"/></svg>');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2h1v14a4 4 0 0 0 4 4 4 4 0 0 0 4-4V4h1V2H7m4 14c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m2-4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m1-5h-4V4h4v3Z"/></svg>');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4Z"/></svg>')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2Z"/></svg>')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.42Z"/></svg>');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file +@charset "UTF-8";html{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;box-sizing:border-box}*,:after,:before{box-sizing:inherit}@media (prefers-reduced-motion){*,:after,:before{transition:none!important}}body{margin:0}a,button,input,label{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}hr{border:0;box-sizing:initial;display:block;height:.05rem;overflow:visible;padding:0}small{font-size:80%}sub,sup{line-height:1em}img{border-style:none}table{border-collapse:initial;border-spacing:0}td,th{font-weight:400;vertical-align:top}button{background:#0000;border:0;font-family:inherit;font-size:inherit;margin:0;padding:0}input{border:0;outline:none}:root{--md-primary-fg-color:#4051b5;--md-primary-fg-color--light:#5d6cc0;--md-primary-fg-color--dark:#303fa1;--md-primary-bg-color:#fff;--md-primary-bg-color--light:#ffffffb3;--md-accent-fg-color:#526cfe;--md-accent-fg-color--transparent:#526cfe1a;--md-accent-bg-color:#fff;--md-accent-bg-color--light:#ffffffb3}[data-md-color-scheme=default]{color-scheme:light}[data-md-color-scheme=default] img[src$="#gh-dark-mode-only"],[data-md-color-scheme=default] img[src$="#only-dark"]{display:none}:root,[data-md-color-scheme=default]{--md-hue:225deg;--md-default-fg-color:#000000de;--md-default-fg-color--light:#0000008a;--md-default-fg-color--lighter:#00000052;--md-default-fg-color--lightest:#00000012;--md-default-bg-color:#fff;--md-default-bg-color--light:#ffffffb3;--md-default-bg-color--lighter:#ffffff4d;--md-default-bg-color--lightest:#ffffff1f;--md-code-fg-color:#36464e;--md-code-bg-color:#f5f5f5;--md-code-bg-color--light:#f5f5f5b3;--md-code-bg-color--lighter:#f5f5f54d;--md-code-hl-color:#4287ff;--md-code-hl-color--light:#4287ff1a;--md-code-hl-number-color:#d52a2a;--md-code-hl-special-color:#db1457;--md-code-hl-function-color:#a846b9;--md-code-hl-constant-color:#6e59d9;--md-code-hl-keyword-color:#3f6ec6;--md-code-hl-string-color:#1c7d4d;--md-code-hl-name-color:var(--md-code-fg-color);--md-code-hl-operator-color:var(--md-default-fg-color--light);--md-code-hl-punctuation-color:var(--md-default-fg-color--light);--md-code-hl-comment-color:var(--md-default-fg-color--light);--md-code-hl-generic-color:var(--md-default-fg-color--light);--md-code-hl-variable-color:var(--md-default-fg-color--light);--md-typeset-color:var(--md-default-fg-color);--md-typeset-a-color:var(--md-primary-fg-color);--md-typeset-del-color:#f5503d26;--md-typeset-ins-color:#0bd57026;--md-typeset-kbd-color:#fafafa;--md-typeset-kbd-accent-color:#fff;--md-typeset-kbd-border-color:#b8b8b8;--md-typeset-mark-color:#ffff0080;--md-typeset-table-color:#0000001f;--md-typeset-table-color--light:rgba(0,0,0,.035);--md-admonition-fg-color:var(--md-default-fg-color);--md-admonition-bg-color:var(--md-default-bg-color);--md-warning-fg-color:#000000de;--md-warning-bg-color:#ff9;--md-footer-fg-color:#fff;--md-footer-fg-color--light:#ffffffb3;--md-footer-fg-color--lighter:#ffffff73;--md-footer-bg-color:#000000de;--md-footer-bg-color--dark:#00000052;--md-shadow-z1:0 0.2rem 0.5rem #0000000d,0 0 0.05rem #0000001a;--md-shadow-z2:0 0.2rem 0.5rem #0000001a,0 0 0.05rem #00000040;--md-shadow-z3:0 0.2rem 0.5rem #0003,0 0 0.05rem #00000059}.md-icon svg{fill:currentcolor;display:block;height:1.2rem;width:1.2rem}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--md-text-font-family:var(--md-text-font,_),-apple-system,BlinkMacSystemFont,Helvetica,Arial,sans-serif;--md-code-font-family:var(--md-code-font,_),SFMono-Regular,Consolas,Menlo,monospace}aside,body,input{font-feature-settings:"kern","liga";color:var(--md-typeset-color);font-family:var(--md-text-font-family)}code,kbd,pre{font-feature-settings:"kern";font-family:var(--md-code-font-family)}:root{--md-typeset-table-sort-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m18 21-4-4h3V7h-3l4-4 4 4h-3v10h3M2 19v-2h10v2M2 13v-2h7v2M2 7V5h4v2H2Z"/></svg>');--md-typeset-table-sort-icon--asc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 17h3l-4 4-4-4h3V3h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>');--md-typeset-table-sort-icon--desc:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7h3l-4-4-4 4h3v14h2M2 17h10v2H2M6 5v2H2V5m0 6h7v2H2v-2Z"/></svg>')}.md-typeset{-webkit-print-color-adjust:exact;color-adjust:exact;font-size:.8rem;line-height:1.6}@media print{.md-typeset{font-size:.68rem}}.md-typeset blockquote,.md-typeset dl,.md-typeset figure,.md-typeset ol,.md-typeset pre,.md-typeset ul{margin-bottom:1em;margin-top:1em}.md-typeset h1{color:var(--md-default-fg-color--light);font-size:2em;line-height:1.3;margin:0 0 1.25em}.md-typeset h1,.md-typeset h2{font-weight:300;letter-spacing:-.01em}.md-typeset h2{font-size:1.5625em;line-height:1.4;margin:1.6em 0 .64em}.md-typeset h3{font-size:1.25em;font-weight:400;letter-spacing:-.01em;line-height:1.5;margin:1.6em 0 .8em}.md-typeset h2+h3{margin-top:.8em}.md-typeset h4{font-weight:700;letter-spacing:-.01em;margin:1em 0}.md-typeset h5,.md-typeset h6{color:var(--md-default-fg-color--light);font-size:.8em;font-weight:700;letter-spacing:-.01em;margin:1.25em 0}.md-typeset h5{text-transform:uppercase}.md-typeset hr{border-bottom:.05rem solid var(--md-default-fg-color--lightest);display:flow-root;margin:1.5em 0}.md-typeset a{color:var(--md-typeset-a-color);word-break:break-word}.md-typeset a,.md-typeset a:before{transition:color 125ms}.md-typeset a:focus,.md-typeset a:hover{color:var(--md-accent-fg-color)}.md-typeset a:focus code,.md-typeset a:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset a code{color:var(--md-typeset-a-color)}.md-typeset a.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset code,.md-typeset kbd,.md-typeset pre{color:var(--md-code-fg-color);direction:ltr;font-variant-ligatures:none;transition:background-color 125ms}@media print{.md-typeset code,.md-typeset kbd,.md-typeset pre{white-space:pre-wrap}}.md-typeset code{background-color:var(--md-code-bg-color);border-radius:.1rem;-webkit-box-decoration-break:clone;box-decoration-break:clone;font-size:.85em;padding:0 .2941176471em;transition:color 125ms,background-color 125ms;word-break:break-word}.md-typeset code:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-typeset pre{display:flow-root;line-height:1.4;position:relative}.md-typeset pre>code{-webkit-box-decoration-break:slice;box-decoration-break:slice;box-shadow:none;display:block;margin:0;outline-color:var(--md-accent-fg-color);overflow:auto;padding:.7720588235em 1.1764705882em;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin;touch-action:auto;word-break:normal}.md-typeset pre>code:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-typeset pre>code::-webkit-scrollbar{height:.2rem;width:.2rem}.md-typeset pre>code::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-typeset pre>code::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}.md-typeset kbd{background-color:var(--md-typeset-kbd-color);border-radius:.1rem;box-shadow:0 .1rem 0 .05rem var(--md-typeset-kbd-border-color),0 .1rem 0 var(--md-typeset-kbd-border-color),0 -.1rem .2rem var(--md-typeset-kbd-accent-color) inset;color:var(--md-default-fg-color);display:inline-block;font-size:.75em;padding:0 .6666666667em;vertical-align:text-top;word-break:break-word}.md-typeset mark{background-color:var(--md-typeset-mark-color);-webkit-box-decoration-break:clone;box-decoration-break:clone;color:inherit;word-break:break-word}.md-typeset abbr{cursor:help;text-decoration:none}.md-typeset [data-preview],.md-typeset abbr{border-bottom:.05rem dotted var(--md-default-fg-color--light)}.md-typeset small{opacity:.75}[dir=ltr] .md-typeset sub,[dir=ltr] .md-typeset sup{margin-left:.078125em}[dir=rtl] .md-typeset sub,[dir=rtl] .md-typeset sup{margin-right:.078125em}[dir=ltr] .md-typeset blockquote{padding-left:.6rem}[dir=rtl] .md-typeset blockquote{padding-right:.6rem}[dir=ltr] .md-typeset blockquote{border-left:.2rem solid var(--md-default-fg-color--lighter)}[dir=rtl] .md-typeset blockquote{border-right:.2rem solid var(--md-default-fg-color--lighter)}.md-typeset blockquote{color:var(--md-default-fg-color--light);margin-left:0;margin-right:0}.md-typeset ul{list-style-type:disc}[dir=ltr] .md-typeset ol,[dir=ltr] .md-typeset ul{margin-left:.625em}[dir=rtl] .md-typeset ol,[dir=rtl] .md-typeset ul{margin-right:.625em}.md-typeset ol,.md-typeset ul{padding:0}.md-typeset ol:not([hidden]),.md-typeset ul:not([hidden]){display:flow-root}.md-typeset ol ol,.md-typeset ul ol{list-style-type:lower-alpha}.md-typeset ol ol ol,.md-typeset ul ol ol{list-style-type:lower-roman}[dir=ltr] .md-typeset ol li,[dir=ltr] .md-typeset ul li{margin-left:1.25em}[dir=rtl] .md-typeset ol li,[dir=rtl] .md-typeset ul li{margin-right:1.25em}.md-typeset ol li,.md-typeset ul li{margin-bottom:.5em}.md-typeset ol li blockquote,.md-typeset ol li p,.md-typeset ul li blockquote,.md-typeset ul li p{margin:.5em 0}.md-typeset ol li:last-child,.md-typeset ul li:last-child{margin-bottom:0}[dir=ltr] .md-typeset ol li ol,[dir=ltr] .md-typeset ol li ul,[dir=ltr] .md-typeset ul li ol,[dir=ltr] .md-typeset ul li ul{margin-left:.625em}[dir=rtl] .md-typeset ol li ol,[dir=rtl] .md-typeset ol li ul,[dir=rtl] .md-typeset ul li ol,[dir=rtl] .md-typeset ul li ul{margin-right:.625em}.md-typeset ol li ol,.md-typeset ol li ul,.md-typeset ul li ol,.md-typeset ul li ul{margin-bottom:.5em;margin-top:.5em}[dir=ltr] .md-typeset dd{margin-left:1.875em}[dir=rtl] .md-typeset dd{margin-right:1.875em}.md-typeset dd{margin-bottom:1.5em;margin-top:1em}.md-typeset img,.md-typeset svg,.md-typeset video{height:auto;max-width:100%}.md-typeset img[align=left]{margin:1em 1em 1em 0}.md-typeset img[align=right]{margin:1em 0 1em 1em}.md-typeset img[align]:only-child{margin-top:0}.md-typeset figure{display:flow-root;margin:1em auto;max-width:100%;text-align:center;width:-moz-fit-content;width:fit-content}.md-typeset figure img{display:block;margin:0 auto}.md-typeset figcaption{font-style:italic;margin:1em auto;max-width:24rem}.md-typeset iframe{max-width:100%}.md-typeset table:not([class]){background-color:var(--md-default-bg-color);border:.05rem solid var(--md-typeset-table-color);border-radius:.1rem;display:inline-block;font-size:.64rem;max-width:100%;overflow:auto;touch-action:auto}@media print{.md-typeset table:not([class]){display:table}}.md-typeset table:not([class])+*{margin-top:1.5em}.md-typeset table:not([class]) td>:first-child,.md-typeset table:not([class]) th>:first-child{margin-top:0}.md-typeset table:not([class]) td>:last-child,.md-typeset table:not([class]) th>:last-child{margin-bottom:0}.md-typeset table:not([class]) td:not([align]),.md-typeset table:not([class]) th:not([align]){text-align:left}[dir=rtl] .md-typeset table:not([class]) td:not([align]),[dir=rtl] .md-typeset table:not([class]) th:not([align]){text-align:right}.md-typeset table:not([class]) th{font-weight:700;min-width:5rem;padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) td{border-top:.05rem solid var(--md-typeset-table-color);padding:.9375em 1.25em;vertical-align:top}.md-typeset table:not([class]) tbody tr{transition:background-color 125ms}.md-typeset table:not([class]) tbody tr:hover{background-color:var(--md-typeset-table-color--light);box-shadow:0 .05rem 0 var(--md-default-bg-color) inset}.md-typeset table:not([class]) a{word-break:normal}.md-typeset table th[role=columnheader]{cursor:pointer}[dir=ltr] .md-typeset table th[role=columnheader]:after{margin-left:.5em}[dir=rtl] .md-typeset table th[role=columnheader]:after{margin-right:.5em}.md-typeset table th[role=columnheader]:after{content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-typeset-table-sort-icon);mask-image:var(--md-typeset-table-sort-icon);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset table th[role=columnheader]:hover:after{background-color:var(--md-default-fg-color--lighter)}.md-typeset table th[role=columnheader][aria-sort=ascending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--asc);mask-image:var(--md-typeset-table-sort-icon--asc)}.md-typeset table th[role=columnheader][aria-sort=descending]:after{background-color:var(--md-default-fg-color--light);-webkit-mask-image:var(--md-typeset-table-sort-icon--desc);mask-image:var(--md-typeset-table-sort-icon--desc)}.md-typeset__scrollwrap{margin:1em -.8rem;overflow-x:auto;touch-action:auto}.md-typeset__table{display:inline-block;margin-bottom:.5em;padding:0 .8rem}@media print{.md-typeset__table{display:block}}html .md-typeset__table table{display:table;margin:0;overflow:hidden;width:100%}@media screen and (max-width:44.984375em){.md-content__inner>pre{margin:1em -.8rem}.md-content__inner>pre code{border-radius:0}}.md-typeset .md-author{border-radius:100%;display:block;flex-shrink:0;height:1.6rem;overflow:hidden;position:relative;transition:color 125ms,transform 125ms;width:1.6rem}.md-typeset .md-author img{display:block}.md-typeset .md-author--more{background:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--lighter);font-size:.6rem;font-weight:700;line-height:1.6rem;text-align:center}.md-typeset .md-author--long{height:2.4rem;width:2.4rem}.md-typeset a.md-author{transform:scale(1)}.md-typeset a.md-author img{border-radius:100%;filter:grayscale(100%) opacity(75%);transition:filter 125ms}.md-typeset a.md-author:focus,.md-typeset a.md-author:hover{transform:scale(1.1);z-index:1}.md-typeset a.md-author:focus img,.md-typeset a.md-author:hover img{filter:grayscale(0)}.md-banner{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color);overflow:auto}@media print{.md-banner{display:none}}.md-banner--warning{background-color:var(--md-warning-bg-color);color:var(--md-warning-fg-color)}.md-banner__inner{font-size:.7rem;margin:.6rem auto;padding:0 .8rem}[dir=ltr] .md-banner__button{float:right}[dir=rtl] .md-banner__button{float:left}.md-banner__button{color:inherit;cursor:pointer;transition:opacity .25s}.no-js .md-banner__button{display:none}.md-banner__button:hover{opacity:.7}html{font-size:125%;height:100%;overflow-x:hidden}@media screen and (min-width:100em){html{font-size:137.5%}}@media screen and (min-width:125em){html{font-size:150%}}body{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;font-size:.5rem;min-height:100%;position:relative;width:100%}@media print{body{display:block}}@media screen and (max-width:59.984375em){body[data-md-scrolllock]{position:fixed}}.md-grid{margin-left:auto;margin-right:auto;max-width:61rem}.md-container{display:flex;flex-direction:column;flex-grow:1}@media print{.md-container{display:block}}.md-main{flex-grow:1}.md-main__inner{display:flex;height:100%;margin-top:1.5rem}.md-ellipsis{overflow:hidden;text-overflow:ellipsis}.md-toggle{display:none}.md-option{height:0;opacity:0;position:absolute;width:0}.md-option:checked+label:not([hidden]){display:block}.md-option.focus-visible+label{outline-color:var(--md-accent-fg-color);outline-style:auto}.md-skip{background-color:var(--md-default-fg-color);border-radius:.1rem;color:var(--md-default-bg-color);font-size:.64rem;margin:.5rem;opacity:0;outline-color:var(--md-accent-fg-color);padding:.3rem .5rem;position:fixed;transform:translateY(.4rem);z-index:-1}.md-skip:focus{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 175ms 75ms;z-index:10}@page{margin:25mm}:root{--md-clipboard-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"/></svg>')}.md-clipboard{border-radius:.1rem;color:var(--md-default-fg-color--lightest);cursor:pointer;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em;z-index:1}@media print{.md-clipboard{display:none}}.md-clipboard:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}:hover>.md-clipboard{color:var(--md-default-fg-color--light)}.md-clipboard:focus,.md-clipboard:hover{color:var(--md-accent-fg-color)}.md-clipboard:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-image:var(--md-clipboard-icon);mask-image:var(--md-clipboard-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-clipboard--inline{cursor:pointer}.md-clipboard--inline code{transition:color .25s,background-color .25s}.md-clipboard--inline:focus code,.md-clipboard--inline:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}:root{--md-code-select-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 19h-4v2h4c1.1 0 2-.9 2-2v-4h-2m0-12h-4v2h4v4h2V5c0-1.1-.9-2-2-2M5 5h4V3H5c-1.1 0-2 .9-2 2v4h2m0 6H3v4c0 1.1.9 2 2 2h4v-2H5v-4m2-4h2v2H7v-2m4 0h2v2h-2v-2m4 0h2v2h-2v-2M7 7h2v2H7V7m4 0h2v2h-2V7m4 0h2v2h-2V7m-8 8h2v2H7v-2m4 0h2v2h-2v-2m4 0h2v2h-2v-2Z"/></svg>');--md-code-copy-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12V1Z"/></svg>')}.md-typeset .md-code__content{display:grid}.md-code__nav{background-color:var(--md-code-bg-color--lighter);border-radius:.1rem;display:flex;gap:.2rem;padding:.2rem;position:absolute;right:.25em;top:.25em;transition:background-color .25s;z-index:1}:hover>.md-code__nav{background-color:var(--md-code-bg-color--light)}.md-code__button{color:var(--md-default-fg-color--lightest);cursor:pointer;display:block;height:1.5em;outline-color:var(--md-accent-fg-color);outline-offset:.1rem;transition:color .25s;width:1.5em}:hover>*>.md-code__button{color:var(--md-default-fg-color--light)}.md-code__button.focus-visible,.md-code__button:hover{color:var(--md-accent-fg-color)}.md-code__button--active{color:var(--md-default-fg-color)!important}.md-code__button:after{background-color:currentcolor;content:"";display:block;height:1.125em;margin:0 auto;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:1.125em}.md-code__button[data-md-type=select]:after{-webkit-mask-image:var(--md-code-select-icon);mask-image:var(--md-code-select-icon)}.md-code__button[data-md-type=copy]:after{-webkit-mask-image:var(--md-code-copy-icon);mask-image:var(--md-code-copy-icon)}@keyframes consent{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes overlay{0%{opacity:0}to{opacity:1}}.md-consent__overlay{animation:overlay .25s both;-webkit-backdrop-filter:blur(.1rem);backdrop-filter:blur(.1rem);background-color:#0000008a;height:100%;opacity:1;position:fixed;top:0;width:100%;z-index:5}.md-consent__inner{animation:consent .5s cubic-bezier(.1,.7,.1,1) both;background-color:var(--md-default-bg-color);border:0;border-radius:.1rem;bottom:0;box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;max-height:100%;overflow:auto;padding:0;position:fixed;width:100%;z-index:5}.md-consent__form{padding:.8rem}.md-consent__settings{display:none;margin:1em 0}input:checked+.md-consent__settings{display:block}.md-consent__controls{margin-bottom:.8rem}.md-typeset .md-consent__controls .md-button{display:inline}@media screen and (max-width:44.984375em){.md-typeset .md-consent__controls .md-button{display:block;margin-top:.4rem;text-align:center;width:100%}}.md-consent label{cursor:pointer}.md-content{flex-grow:1;min-width:0}.md-content__inner{margin:0 .8rem 1.2rem;padding-top:.6rem}@media screen and (min-width:76.25em){[dir=ltr] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}[dir=ltr] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner,[dir=rtl] .md-sidebar--primary:not([hidden])~.md-content>.md-content__inner{margin-right:1.2rem}[dir=rtl] .md-sidebar--secondary:not([hidden])~.md-content>.md-content__inner{margin-left:1.2rem}}.md-content__inner:before{content:"";display:block;height:.4rem}.md-content__inner>:last-child{margin-bottom:0}[dir=ltr] .md-content__button{float:right}[dir=rtl] .md-content__button{float:left}[dir=ltr] .md-content__button{margin-left:.4rem}[dir=rtl] .md-content__button{margin-right:.4rem}.md-content__button{margin:.4rem 0;padding:0}@media print{.md-content__button{display:none}}.md-typeset .md-content__button{color:var(--md-default-fg-color--lighter)}.md-content__button svg{display:inline;vertical-align:top}[dir=rtl] .md-content__button svg{transform:scaleX(-1)}[dir=ltr] .md-dialog{right:.8rem}[dir=rtl] .md-dialog{left:.8rem}.md-dialog{background-color:var(--md-default-fg-color);border-radius:.1rem;bottom:.8rem;box-shadow:var(--md-shadow-z3);min-width:11.1rem;opacity:0;padding:.4rem .6rem;pointer-events:none;position:fixed;transform:translateY(100%);transition:transform 0ms .4s,opacity .4s;z-index:4}@media print{.md-dialog{display:none}}.md-dialog--active{opacity:1;pointer-events:auto;transform:translateY(0);transition:transform .4s cubic-bezier(.075,.85,.175,1),opacity .4s}.md-dialog__inner{color:var(--md-default-bg-color);font-size:.7rem}.md-feedback{margin:2em 0 1em;text-align:center}.md-feedback fieldset{border:none;margin:0;padding:0}.md-feedback__title{font-weight:700;margin:1em auto}.md-feedback__inner{position:relative}.md-feedback__list{display:flex;flex-wrap:wrap;place-content:baseline center;position:relative}.md-feedback__list:hover .md-icon:not(:disabled){color:var(--md-default-fg-color--lighter)}:disabled .md-feedback__list{min-height:1.8rem}.md-feedback__icon{color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;margin:0 .1rem;transition:color 125ms}.md-feedback__icon:not(:disabled).md-icon:hover{color:var(--md-accent-fg-color)}.md-feedback__icon:disabled{color:var(--md-default-fg-color--lightest);pointer-events:none}.md-feedback__note{opacity:0;position:relative;transform:translateY(.4rem);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-feedback__note>*{margin:0 auto;max-width:16rem}:disabled .md-feedback__note{opacity:1;transform:translateY(0)}.md-footer{background-color:var(--md-footer-bg-color);color:var(--md-footer-fg-color)}@media print{.md-footer{display:none}}.md-footer__inner{justify-content:space-between;overflow:auto;padding:.2rem}.md-footer__inner:not([hidden]){display:flex}.md-footer__link{align-items:end;display:flex;flex-grow:0.01;margin-bottom:.4rem;margin-top:1rem;max-width:100%;outline-color:var(--md-accent-fg-color);overflow:hidden;transition:opacity .25s}.md-footer__link:focus,.md-footer__link:hover{opacity:.7}[dir=rtl] .md-footer__link svg{transform:scaleX(-1)}@media screen and (max-width:44.984375em){.md-footer__link--prev{flex-shrink:0}.md-footer__link--prev .md-footer__title{display:none}}[dir=ltr] .md-footer__link--next{margin-left:auto}[dir=rtl] .md-footer__link--next{margin-right:auto}.md-footer__link--next{text-align:right}[dir=rtl] .md-footer__link--next{text-align:left}.md-footer__title{flex-grow:1;font-size:.9rem;margin-bottom:.7rem;max-width:calc(100% - 2.4rem);padding:0 1rem;white-space:nowrap}.md-footer__button{margin:.2rem;padding:.4rem}.md-footer__direction{font-size:.64rem;opacity:.7}.md-footer-meta{background-color:var(--md-footer-bg-color--dark)}.md-footer-meta__inner{display:flex;flex-wrap:wrap;justify-content:space-between;padding:.2rem}html .md-footer-meta.md-typeset a{color:var(--md-footer-fg-color--light)}html .md-footer-meta.md-typeset a:focus,html .md-footer-meta.md-typeset a:hover{color:var(--md-footer-fg-color)}.md-copyright{color:var(--md-footer-fg-color--lighter);font-size:.64rem;margin:auto .6rem;padding:.4rem 0;width:100%}@media screen and (min-width:45em){.md-copyright{width:auto}}.md-copyright__highlight{color:var(--md-footer-fg-color--light)}.md-social{display:inline-flex;gap:.2rem;margin:0 .4rem;padding:.2rem 0 .6rem}@media screen and (min-width:45em){.md-social{padding:.6rem 0}}.md-social__link{display:inline-block;height:1.6rem;text-align:center;width:1.6rem}.md-social__link:before{line-height:1.9}.md-social__link svg{fill:currentcolor;max-height:.8rem;vertical-align:-25%}.md-typeset .md-button{border:.1rem solid;border-radius:.1rem;color:var(--md-primary-fg-color);cursor:pointer;display:inline-block;font-weight:700;padding:.625em 2em;transition:color 125ms,background-color 125ms,border-color 125ms}.md-typeset .md-button--primary{background-color:var(--md-primary-fg-color);border-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color)}.md-typeset .md-button:focus,.md-typeset .md-button:hover{background-color:var(--md-accent-fg-color);border-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[dir=ltr] .md-typeset .md-input{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .md-input,[dir=rtl] .md-typeset .md-input{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .md-input{border-top-left-radius:.1rem}.md-typeset .md-input{border-bottom:.1rem solid var(--md-default-fg-color--lighter);box-shadow:var(--md-shadow-z1);font-size:.8rem;height:1.8rem;padding:0 .6rem;transition:border .25s,box-shadow .25s}.md-typeset .md-input:focus,.md-typeset .md-input:hover{border-bottom-color:var(--md-accent-fg-color);box-shadow:var(--md-shadow-z2)}.md-typeset .md-input--stretch{width:100%}.md-header{background-color:var(--md-primary-fg-color);box-shadow:0 0 .2rem #0000,0 .2rem .4rem #0000;color:var(--md-primary-bg-color);display:block;left:0;position:sticky;right:0;top:0;z-index:4}@media print{.md-header{display:none}}.md-header[hidden]{transform:translateY(-100%);transition:transform .25s cubic-bezier(.8,0,.6,1),box-shadow .25s}.md-header--shadow{box-shadow:0 0 .2rem #0000001a,0 .2rem .4rem #0003;transition:transform .25s cubic-bezier(.1,.7,.1,1),box-shadow .25s}.md-header__inner{align-items:center;display:flex;padding:0 .2rem}.md-header__button{color:currentcolor;cursor:pointer;margin:.2rem;outline-color:var(--md-accent-fg-color);padding:.4rem;position:relative;transition:opacity .25s;vertical-align:middle;z-index:1}.md-header__button:hover{opacity:.7}.md-header__button:not([hidden]){display:inline-block}.md-header__button:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}.md-header__button.md-logo{margin:.2rem;padding:.4rem}@media screen and (max-width:76.234375em){.md-header__button.md-logo{display:none}}.md-header__button.md-logo img,.md-header__button.md-logo svg{fill:currentcolor;display:block;height:1.2rem;width:auto}@media screen and (min-width:60em){.md-header__button[for=__search]{display:none}}.no-js .md-header__button[for=__search]{display:none}[dir=rtl] .md-header__button[for=__search] svg{transform:scaleX(-1)}@media screen and (min-width:76.25em){.md-header__button[for=__drawer]{display:none}}.md-header__topic{display:flex;max-width:100%;position:absolute;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;white-space:nowrap}.md-header__topic+.md-header__topic{opacity:0;pointer-events:none;transform:translateX(1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__topic+.md-header__topic{transform:translateX(-1.25rem)}.md-header__topic:first-child{font-weight:700}[dir=ltr] .md-header__title{margin-left:1rem;margin-right:.4rem}[dir=rtl] .md-header__title{margin-left:.4rem;margin-right:1rem}.md-header__title{flex-grow:1;font-size:.9rem;height:2.4rem;line-height:2.4rem}.md-header__title--active .md-header__topic{opacity:0;pointer-events:none;transform:translateX(-1.25rem);transition:transform .4s cubic-bezier(1,.7,.1,.1),opacity .15s;z-index:-1}[dir=rtl] .md-header__title--active .md-header__topic{transform:translateX(1.25rem)}.md-header__title--active .md-header__topic+.md-header__topic{opacity:1;pointer-events:auto;transform:translateX(0);transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .15s;z-index:0}.md-header__title>.md-header__ellipsis{height:100%;position:relative;width:100%}.md-header__option{display:flex;flex-shrink:0;max-width:100%;transition:max-width 0ms .25s,opacity .25s .25s;white-space:nowrap}[data-md-toggle=search]:checked~.md-header .md-header__option{max-width:0;opacity:0;transition:max-width 0ms,opacity 0ms}.md-header__option>input{bottom:0}.md-header__source{display:none}@media screen and (min-width:60em){[dir=ltr] .md-header__source{margin-left:1rem}[dir=rtl] .md-header__source{margin-right:1rem}.md-header__source{display:block;max-width:11.7rem;width:11.7rem}}@media screen and (min-width:76.25em){[dir=ltr] .md-header__source{margin-left:1.4rem}[dir=rtl] .md-header__source{margin-right:1.4rem}}.md-meta{color:var(--md-default-fg-color--light);font-size:.7rem;line-height:1.3}.md-meta__list{display:inline-flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}.md-meta__item:not(:last-child):after{content:"·";margin-left:.2rem;margin-right:.2rem}.md-meta__link{color:var(--md-typeset-a-color)}.md-meta__link:focus,.md-meta__link:hover{color:var(--md-accent-fg-color)}.md-draft{background-color:#ff1744;border-radius:.125em;color:#fff;display:inline-block;font-weight:700;padding-left:.5714285714em;padding-right:.5714285714em}:root{--md-nav-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>');--md-nav-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>');--md-toc-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 9h14V7H3v2m0 4h14v-2H3v2m0 4h14v-2H3v2m16 0h2v-2h-2v2m0-10v2h2V7h-2m0 6h2v-2h-2v2Z"/></svg>')}.md-nav{font-size:.7rem;line-height:1.3}.md-nav__title{color:var(--md-default-fg-color--light);display:block;font-weight:700;overflow:hidden;padding:0 .6rem;text-overflow:ellipsis}.md-nav__title .md-nav__button{display:none}.md-nav__title .md-nav__button img{height:100%;width:auto}.md-nav__title .md-nav__button.md-logo img,.md-nav__title .md-nav__button.md-logo svg{fill:currentcolor;display:block;height:2.4rem;max-width:100%;object-fit:contain;width:auto}.md-nav__list{list-style:none;margin:0;padding:0}.md-nav__link{align-items:flex-start;display:flex;gap:.4rem;margin-top:.625em;scroll-snap-align:start;transition:color 125ms}.md-nav__link--passed,.md-nav__link--passed code{color:var(--md-default-fg-color--light)}.md-nav__item .md-nav__link--active,.md-nav__item .md-nav__link--active code{color:var(--md-typeset-a-color)}.md-nav__link .md-ellipsis{position:relative}.md-nav__link .md-ellipsis code{word-break:normal}[dir=ltr] .md-nav__link .md-icon:last-child{margin-left:auto}[dir=rtl] .md-nav__link .md-icon:last-child{margin-right:auto}.md-nav__link .md-typeset{font-size:.7rem;line-height:1.3}.md-nav__link svg{fill:currentcolor;flex-shrink:0;height:1.3em;position:relative}.md-nav__link[for]:focus,.md-nav__link[for]:hover,.md-nav__link[href]:focus,.md-nav__link[href]:hover{color:var(--md-accent-fg-color);cursor:pointer}.md-nav__link[for]:focus code,.md-nav__link[for]:hover code,.md-nav__link[href]:focus code,.md-nav__link[href]:hover code{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-nav__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-nav--primary .md-nav__link[for=__toc]{display:none}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{background-color:currentcolor;display:block;height:100%;-webkit-mask-image:var(--md-toc-icon);mask-image:var(--md-toc-icon);width:100%}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:none}.md-nav__container>.md-nav__link{margin-top:0}.md-nav__container>.md-nav__link:first-child{flex-grow:1;min-width:0}.md-nav__icon{flex-shrink:0}.md-nav__source{display:none}@media screen and (max-width:76.234375em){.md-nav--primary,.md-nav--primary .md-nav{background-color:var(--md-default-bg-color);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;z-index:1}.md-nav--primary .md-nav__item,.md-nav--primary .md-nav__title{font-size:.8rem;line-height:1.5}.md-nav--primary .md-nav__title{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);cursor:pointer;height:5.6rem;line-height:2.4rem;padding:3rem .8rem .2rem;position:relative;white-space:nowrap}[dir=ltr] .md-nav--primary .md-nav__title .md-nav__icon{left:.4rem}[dir=rtl] .md-nav--primary .md-nav__title .md-nav__icon{right:.4rem}.md-nav--primary .md-nav__title .md-nav__icon{display:block;height:1.2rem;margin:.2rem;position:absolute;top:.4rem;width:1.2rem}.md-nav--primary .md-nav__title .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--prev);mask-image:var(--md-nav-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}.md-nav--primary .md-nav__title~.md-nav__list{background-color:var(--md-default-bg-color);box-shadow:0 .05rem 0 var(--md-default-fg-color--lightest) inset;overflow-y:auto;scroll-snap-type:y mandatory;touch-action:pan-y}.md-nav--primary .md-nav__title~.md-nav__list>:first-child{border-top:0}.md-nav--primary .md-nav__title[for=__drawer]{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);font-weight:700}.md-nav--primary .md-nav__title .md-logo{display:block;left:.2rem;margin:.2rem;padding:.4rem;position:absolute;right:.2rem;top:.2rem}.md-nav--primary .md-nav__list{flex:1}.md-nav--primary .md-nav__item{border-top:.05rem solid var(--md-default-fg-color--lightest)}.md-nav--primary .md-nav__item--active>.md-nav__link{color:var(--md-typeset-a-color)}.md-nav--primary .md-nav__item--active>.md-nav__link:focus,.md-nav--primary .md-nav__item--active>.md-nav__link:hover{color:var(--md-accent-fg-color)}.md-nav--primary .md-nav__link{margin-top:0;padding:.6rem .8rem}.md-nav--primary .md-nav__link svg{margin-top:.1em}.md-nav--primary .md-nav__link>.md-nav__link{padding:0}[dir=ltr] .md-nav--primary .md-nav__link .md-nav__icon{margin-right:-.2rem}[dir=rtl] .md-nav--primary .md-nav__link .md-nav__icon{margin-left:-.2rem}.md-nav--primary .md-nav__link .md-nav__icon{font-size:1.2rem;height:1.2rem;width:1.2rem}.md-nav--primary .md-nav__link .md-nav__icon:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-nav--primary .md-nav__icon:after{transform:scale(-1)}.md-nav--primary .md-nav--secondary .md-nav{background-color:initial;position:static}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-left:1.4rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav__link{padding-right:1.4rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-left:2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav__link{padding-right:2rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-left:2.6rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav__link{padding-right:2.6rem}[dir=ltr] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-left:3.2rem}[dir=rtl] .md-nav--primary .md-nav--secondary .md-nav .md-nav .md-nav .md-nav .md-nav__link{padding-right:3.2rem}.md-nav--secondary{background-color:initial}.md-nav__toggle~.md-nav{display:flex;opacity:0;transform:translateX(100%);transition:transform .25s cubic-bezier(.8,0,.6,1),opacity 125ms 50ms}[dir=rtl] .md-nav__toggle~.md-nav{transform:translateX(-100%)}.md-nav__toggle:checked~.md-nav{opacity:1;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),opacity 125ms 125ms}.md-nav__toggle:checked~.md-nav>.md-nav__list{-webkit-backface-visibility:hidden;backface-visibility:hidden}}@media screen and (max-width:59.984375em){.md-nav--primary .md-nav__link[for=__toc]{display:flex}.md-nav--primary .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--primary .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--primary .md-nav__link[for=__toc]~.md-nav{display:flex}.md-nav__source{background-color:var(--md-primary-fg-color--dark);color:var(--md-primary-bg-color);display:block;padding:0 .2rem}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-nav--integrated .md-nav__link[for=__toc]{display:flex}.md-nav--integrated .md-nav__link[for=__toc] .md-icon:after{content:""}.md-nav--integrated .md-nav__link[for=__toc]+.md-nav__link{display:none}.md-nav--integrated .md-nav__link[for=__toc]~.md-nav{display:flex}}@media screen and (min-width:60em){.md-nav{margin-bottom:-.4rem}.md-nav--secondary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--secondary .md-nav__title[for=__toc]{scroll-snap-align:start}.md-nav--secondary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--secondary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--secondary .md-nav__list{padding-right:.6rem}.md-nav--secondary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--secondary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--secondary .md-nav__item>.md-nav__link{margin-left:.4rem}}@media screen and (min-width:76.25em){.md-nav{margin-bottom:-.4rem;transition:max-height .25s cubic-bezier(.86,0,.07,1)}.md-nav--primary .md-nav__title{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);position:sticky;top:0;z-index:1}.md-nav--primary .md-nav__title[for=__drawer]{scroll-snap-align:start}.md-nav--primary .md-nav__title .md-nav__icon{display:none}[dir=ltr] .md-nav--primary .md-nav__list{padding-left:.6rem}[dir=rtl] .md-nav--primary .md-nav__list{padding-right:.6rem}.md-nav--primary .md-nav__list{padding-bottom:.4rem}[dir=ltr] .md-nav--primary .md-nav__item>.md-nav__link{margin-right:.4rem}[dir=rtl] .md-nav--primary .md-nav__item>.md-nav__link{margin-left:.4rem}.md-nav__toggle~.md-nav{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .25s,visibility 0ms .25s;visibility:collapse}.md-nav__toggle~.md-nav>.md-nav__list{overflow:hidden}.md-nav__toggle.md-toggle--indeterminate~.md-nav,.md-nav__toggle:checked~.md-nav{grid-template-rows:1fr;opacity:1;transition:grid-template-rows .25s cubic-bezier(.86,0,.07,1),opacity .15s .1s,visibility 0ms;visibility:visible}.md-nav__toggle.md-toggle--indeterminate~.md-nav{transition:none}.md-nav__item--nested>.md-nav>.md-nav__title{display:none}.md-nav__item--section{display:block;margin:1.25em 0}.md-nav__item--section:last-child{margin-bottom:0}.md-nav__item--section>.md-nav__link{font-weight:700}.md-nav__item--section>.md-nav__link[for]{color:var(--md-default-fg-color--light)}.md-nav__item--section>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav__item--section>.md-nav__link .md-icon,.md-nav__item--section>.md-nav__link>[for]{display:none}[dir=ltr] .md-nav__item--section>.md-nav{margin-left:-.6rem}[dir=rtl] .md-nav__item--section>.md-nav{margin-right:-.6rem}.md-nav__item--section>.md-nav{display:block;opacity:1;visibility:visible}.md-nav__item--section>.md-nav>.md-nav__list>.md-nav__item{padding:0}.md-nav__icon{border-radius:100%;height:.9rem;transition:background-color .25s;width:.9rem}.md-nav__icon:hover{background-color:var(--md-accent-fg-color--transparent)}.md-nav__icon:after{background-color:currentcolor;border-radius:100%;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-nav-icon--next);mask-image:var(--md-nav-icon--next);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:transform .25s;vertical-align:-.1rem;width:100%}[dir=rtl] .md-nav__icon:after{transform:rotate(180deg)}.md-nav__item--nested .md-nav__toggle:checked~.md-nav__link .md-nav__icon:after,.md-nav__item--nested .md-toggle--indeterminate~.md-nav__link .md-nav__icon:after{transform:rotate(90deg)}.md-nav--lifted>.md-nav__list>.md-nav__item,.md-nav--lifted>.md-nav__title{display:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active{display:block}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link{background:var(--md-default-bg-color);box-shadow:0 0 .4rem .4rem var(--md-default-bg-color);margin-top:0;position:sticky;top:0;z-index:1}.md-nav--lifted>.md-nav__list>.md-nav__item--active>.md-nav__link:not(.md-nav__container){pointer-events:none}.md-nav--lifted>.md-nav__list>.md-nav__item--active.md-nav__item--section{margin:0}[dir=ltr] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-left:-.6rem}[dir=rtl] .md-nav--lifted>.md-nav__list>.md-nav__item>.md-nav:not(.md-nav--secondary){margin-right:-.6rem}.md-nav--lifted>.md-nav__list>.md-nav__item>[for]{color:var(--md-default-fg-color--light)}.md-nav--lifted .md-nav[data-md-level="1"]{grid-template-rows:1fr;opacity:1;visibility:visible}[dir=ltr] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-left:.05rem solid var(--md-primary-fg-color)}[dir=rtl] .md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{border-right:.05rem solid var(--md-primary-fg-color)}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary{display:block;margin-bottom:1.25em;opacity:1;visibility:visible}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__list{overflow:visible;padding-bottom:0}.md-nav--integrated>.md-nav__list>.md-nav__item--active .md-nav--secondary>.md-nav__title{display:none}}.md-pagination{font-size:.8rem;font-weight:700;gap:.4rem}.md-pagination,.md-pagination>*{align-items:center;display:flex;justify-content:center}.md-pagination>*{border-radius:.2rem;height:1.8rem;min-width:1.8rem;text-align:center}.md-pagination__current{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light)}.md-pagination__link{transition:color 125ms,background-color 125ms}.md-pagination__link:focus,.md-pagination__link:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-pagination__link:focus svg,.md-pagination__link:hover svg{color:var(--md-accent-fg-color)}.md-pagination__link.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-pagination__link svg{fill:currentcolor;color:var(--md-default-fg-color--lighter);display:block;max-height:100%;width:1.2rem}:root{--md-path-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-path{font-size:.7rem;margin:0 .8rem;overflow:auto;padding-top:1.2rem}.md-path:not([hidden]){display:block}@media screen and (min-width:76.25em){.md-path{margin:0 1.2rem}}.md-path__list{align-items:center;display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.md-path__item:not(:first-child){display:inline-flex;gap:.2rem;white-space:nowrap}.md-path__item:not(:first-child):before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline;height:.8rem;-webkit-mask-image:var(--md-path-icon);mask-image:var(--md-path-icon);width:.8rem}.md-path__link{align-items:center;color:var(--md-default-fg-color--light);display:flex}.md-path__link:focus,.md-path__link:hover{color:var(--md-accent-fg-color)}:root{--md-post-pin-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M16 12V4h1V2H7v2h1v8l-2 2v2h5.2v6h1.6v-6H18v-2l-2-2Z"/></svg>')}.md-post__back{border-bottom:.05rem solid var(--md-default-fg-color--lightest);margin-bottom:1.2rem;padding-bottom:1.2rem}@media screen and (max-width:76.234375em){.md-post__back{display:none}}[dir=rtl] .md-post__back svg{transform:scaleX(-1)}.md-post__authors{display:flex;flex-direction:column;gap:.6rem;margin:0 .6rem 1.2rem}.md-post .md-post__meta a{transition:color 125ms}.md-post .md-post__meta a:focus,.md-post .md-post__meta a:hover{color:var(--md-accent-fg-color)}.md-post__title{color:var(--md-default-fg-color--light);font-weight:700}.md-post--excerpt{margin-bottom:3.2rem}.md-post--excerpt .md-post__header{align-items:center;display:flex;gap:.6rem;min-height:1.6rem}.md-post--excerpt .md-post__authors{align-items:center;display:inline-flex;flex-direction:row;gap:.2rem;margin:0;min-height:2.4rem}[dir=ltr] .md-post--excerpt .md-post__meta .md-meta__list{margin-right:.4rem}[dir=rtl] .md-post--excerpt .md-post__meta .md-meta__list{margin-left:.4rem}.md-post--excerpt .md-post__content>:first-child{--md-scroll-margin:6rem;margin-top:0}.md-post>.md-nav--secondary{margin:1em 0}.md-pin{background:var(--md-default-fg-color--lightest);border-radius:1rem;margin-top:-.05rem;padding:.2rem}.md-pin:after{background-color:currentcolor;content:"";display:block;height:.6rem;margin:0 auto;-webkit-mask-image:var(--md-post-pin-icon);mask-image:var(--md-post-pin-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.6rem}.md-profile{align-items:center;display:flex;font-size:.7rem;gap:.6rem;line-height:1.4;width:100%}.md-profile__description{flex-grow:1}.md-content--post{display:flex}@media screen and (max-width:76.234375em){.md-content--post{flex-flow:column-reverse}}.md-content--post>.md-content__inner{min-width:0}@media screen and (min-width:76.25em){[dir=ltr] .md-content--post>.md-content__inner{margin-left:1.2rem}[dir=rtl] .md-content--post>.md-content__inner{margin-right:1.2rem}}@media screen and (max-width:76.234375em){.md-sidebar.md-sidebar--post{padding:0;position:static;width:100%}.md-sidebar.md-sidebar--post .md-sidebar__scrollwrap{overflow:visible}.md-sidebar.md-sidebar--post .md-sidebar__inner{padding:0}.md-sidebar.md-sidebar--post .md-post__meta{margin-left:.6rem;margin-right:.6rem}.md-sidebar.md-sidebar--post .md-nav__item{border:none;display:inline}.md-sidebar.md-sidebar--post .md-nav__list{display:inline-flex;flex-wrap:wrap;gap:.6rem;padding-bottom:.6rem;padding-top:.6rem}.md-sidebar.md-sidebar--post .md-nav__link{padding:0}.md-sidebar.md-sidebar--post .md-nav{height:auto;margin-bottom:0;position:static}}:root{--md-progress-value:0;--md-progress-delay:400ms}.md-progress{background:var(--md-primary-bg-color);height:.075rem;opacity:min(clamp(0,var(--md-progress-value),1),clamp(0,100 - var(--md-progress-value),1));position:fixed;top:0;transform:scaleX(calc(var(--md-progress-value)*1%));transform-origin:left;transition:transform .5s cubic-bezier(.19,1,.22,1),opacity .25s var(--md-progress-delay);width:100%;z-index:4}:root{--md-search-result-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7c-.41-.25-.8-.56-1.14-.9-.33-.33-.61-.7-.86-1.1H6V4h7v5h5v1.18c.71.16 1.39.43 2 .82V8l-6-6m6.31 16.9c1.33-2.11.69-4.9-1.4-6.22-2.11-1.33-4.91-.68-6.22 1.4-1.34 2.11-.69 4.89 1.4 6.22 1.46.93 3.32.93 4.79.02L22 23.39 23.39 22l-3.08-3.1m-3.81.1a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5Z"/></svg>')}.md-search{position:relative}@media screen and (min-width:60em){.md-search{padding:.2rem 0}}.no-js .md-search{display:none}.md-search__overlay{opacity:0;z-index:1}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__overlay{left:-2.2rem}[dir=rtl] .md-search__overlay{right:-2.2rem}.md-search__overlay{background-color:var(--md-default-bg-color);border-radius:1rem;height:2rem;overflow:hidden;pointer-events:none;position:absolute;top:-1rem;transform-origin:center;transition:transform .3s .1s,opacity .2s .2s;width:2rem}[data-md-toggle=search]:checked~.md-header .md-search__overlay{opacity:1;transition:transform .4s,opacity .1s}}@media screen and (min-width:60em){[dir=ltr] .md-search__overlay{left:0}[dir=rtl] .md-search__overlay{right:0}.md-search__overlay{background-color:#0000008a;cursor:pointer;height:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0}[data-md-toggle=search]:checked~.md-header .md-search__overlay{height:200vh;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@media screen and (max-width:29.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(45)}}@media screen and (min-width:30em) and (max-width:44.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(60)}}@media screen and (min-width:45em) and (max-width:59.984375em){[data-md-toggle=search]:checked~.md-header .md-search__overlay{transform:scale(75)}}.md-search__inner{-webkit-backface-visibility:hidden;backface-visibility:hidden}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__inner{left:0}[dir=rtl] .md-search__inner{right:0}.md-search__inner{height:0;opacity:0;overflow:hidden;position:fixed;top:0;transform:translateX(5%);transition:width 0ms .3s,height 0ms .3s,transform .15s cubic-bezier(.4,0,.2,1) .15s,opacity .15s .15s;width:0;z-index:2}[dir=rtl] .md-search__inner{transform:translateX(-5%)}[data-md-toggle=search]:checked~.md-header .md-search__inner{height:100%;opacity:1;transform:translateX(0);transition:width 0ms 0ms,height 0ms 0ms,transform .15s cubic-bezier(.1,.7,.1,1) .15s,opacity .15s .15s;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__inner{float:right}[dir=rtl] .md-search__inner{float:left}.md-search__inner{padding:.1rem 0;position:relative;transition:width .25s cubic-bezier(.1,.7,.1,1);width:11.7rem}}@media screen and (min-width:60em) and (max-width:76.234375em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:23.4rem}}@media screen and (min-width:76.25em){[data-md-toggle=search]:checked~.md-header .md-search__inner{width:34.4rem}}.md-search__form{background-color:var(--md-default-bg-color);box-shadow:0 0 .6rem #0000;height:2.4rem;position:relative;transition:color .25s,background-color .25s;z-index:2}@media screen and (min-width:60em){.md-search__form{background-color:#00000042;border-radius:.1rem;height:1.8rem}.md-search__form:hover{background-color:#ffffff1f}}[data-md-toggle=search]:checked~.md-header .md-search__form{background-color:var(--md-default-bg-color);border-radius:.1rem .1rem 0 0;box-shadow:0 0 .6rem #00000012;color:var(--md-default-fg-color)}[dir=ltr] .md-search__input{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__input{padding-left:2.2rem;padding-right:3.6rem}.md-search__input{background:#0000;font-size:.9rem;height:100%;position:relative;text-overflow:ellipsis;width:100%;z-index:2}.md-search__input::placeholder{transition:color .25s}.md-search__input::placeholder,.md-search__input~.md-search__icon{color:var(--md-default-fg-color--light)}.md-search__input::-ms-clear{display:none}@media screen and (max-width:59.984375em){.md-search__input{font-size:.9rem;height:2.4rem;width:100%}}@media screen and (min-width:60em){[dir=ltr] .md-search__input{padding-left:2.2rem}[dir=rtl] .md-search__input{padding-right:2.2rem}.md-search__input{color:inherit;font-size:.8rem}.md-search__input::placeholder{color:var(--md-primary-bg-color--light)}.md-search__input+.md-search__icon{color:var(--md-primary-bg-color)}[data-md-toggle=search]:checked~.md-header .md-search__input{text-overflow:clip}[data-md-toggle=search]:checked~.md-header .md-search__input+.md-search__icon{color:var(--md-default-fg-color--light)}[data-md-toggle=search]:checked~.md-header .md-search__input::placeholder{color:#0000}}.md-search__icon{cursor:pointer;display:inline-block;height:1.2rem;transition:color .25s,opacity .25s;width:1.2rem}.md-search__icon:hover{opacity:.7}[dir=ltr] .md-search__icon[for=__search]{left:.5rem}[dir=rtl] .md-search__icon[for=__search]{right:.5rem}.md-search__icon[for=__search]{position:absolute;top:.3rem;z-index:2}[dir=rtl] .md-search__icon[for=__search] svg{transform:scaleX(-1)}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__icon[for=__search]{left:.8rem}[dir=rtl] .md-search__icon[for=__search]{right:.8rem}.md-search__icon[for=__search]{top:.6rem}.md-search__icon[for=__search] svg:first-child{display:none}}@media screen and (min-width:60em){.md-search__icon[for=__search]{pointer-events:none}.md-search__icon[for=__search] svg:last-child{display:none}}[dir=ltr] .md-search__options{right:.5rem}[dir=rtl] .md-search__options{left:.5rem}.md-search__options{pointer-events:none;position:absolute;top:.3rem;z-index:2}@media screen and (max-width:59.984375em){[dir=ltr] .md-search__options{right:.8rem}[dir=rtl] .md-search__options{left:.8rem}.md-search__options{top:.6rem}}[dir=ltr] .md-search__options>.md-icon{margin-left:.2rem}[dir=rtl] .md-search__options>.md-icon{margin-right:.2rem}.md-search__options>.md-icon{color:var(--md-default-fg-color--light);opacity:0;transform:scale(.75);transition:transform .15s cubic-bezier(.1,.7,.1,1),opacity .15s}.md-search__options>.md-icon:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon{opacity:1;pointer-events:auto;transform:scale(1)}[data-md-toggle=search]:checked~.md-header .md-search__input:valid~.md-search__options>.md-icon:hover{opacity:.7}[dir=ltr] .md-search__suggest{padding-left:3.6rem;padding-right:2.2rem}[dir=rtl] .md-search__suggest{padding-left:2.2rem;padding-right:3.6rem}.md-search__suggest{align-items:center;color:var(--md-default-fg-color--lighter);display:flex;font-size:.9rem;height:100%;opacity:0;position:absolute;top:0;transition:opacity 50ms;white-space:nowrap;width:100%}@media screen and (min-width:60em){[dir=ltr] .md-search__suggest{padding-left:2.2rem}[dir=rtl] .md-search__suggest{padding-right:2.2rem}.md-search__suggest{font-size:.8rem}}[data-md-toggle=search]:checked~.md-header .md-search__suggest{opacity:1;transition:opacity .3s .1s}[dir=ltr] .md-search__output{border-bottom-left-radius:.1rem}[dir=ltr] .md-search__output,[dir=rtl] .md-search__output{border-bottom-right-radius:.1rem}[dir=rtl] .md-search__output{border-bottom-left-radius:.1rem}.md-search__output{overflow:hidden;position:absolute;width:100%;z-index:1}@media screen and (max-width:59.984375em){.md-search__output{bottom:0;top:2.4rem}}@media screen and (min-width:60em){.md-search__output{opacity:0;top:1.9rem;transition:opacity .4s}[data-md-toggle=search]:checked~.md-header .md-search__output{box-shadow:var(--md-shadow-z3);opacity:1}}.md-search__scrollwrap{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);height:100%;overflow-y:auto;touch-action:pan-y}@media (-webkit-max-device-pixel-ratio:1),(max-resolution:1dppx){.md-search__scrollwrap{transform:translateZ(0)}}@media screen and (min-width:60em) and (max-width:76.234375em){.md-search__scrollwrap{width:23.4rem}}@media screen and (min-width:76.25em){.md-search__scrollwrap{width:34.4rem}}@media screen and (min-width:60em){.md-search__scrollwrap{max-height:0;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}[data-md-toggle=search]:checked~.md-header .md-search__scrollwrap{max-height:75vh}.md-search__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-search__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-search__scrollwrap::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-search__scrollwrap::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}}.md-search-result{color:var(--md-default-fg-color);word-break:break-word}.md-search-result__meta{background-color:var(--md-default-fg-color--lightest);color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.8rem;padding:0 .8rem;scroll-snap-align:start}@media screen and (min-width:60em){[dir=ltr] .md-search-result__meta{padding-left:2.2rem}[dir=rtl] .md-search-result__meta{padding-right:2.2rem}}.md-search-result__list{list-style:none;margin:0;padding:0;-webkit-user-select:none;user-select:none}.md-search-result__item{box-shadow:0 -.05rem var(--md-default-fg-color--lightest)}.md-search-result__item:first-child{box-shadow:none}.md-search-result__link{display:block;outline:none;scroll-snap-align:start;transition:background-color .25s}.md-search-result__link:focus,.md-search-result__link:hover{background-color:var(--md-accent-fg-color--transparent)}.md-search-result__link:last-child p:last-child{margin-bottom:.6rem}.md-search-result__more>summary{cursor:pointer;display:block;outline:none;position:sticky;scroll-snap-align:start;top:0;z-index:1}.md-search-result__more>summary::marker{display:none}.md-search-result__more>summary::-webkit-details-marker{display:none}.md-search-result__more>summary>div{color:var(--md-typeset-a-color);font-size:.64rem;padding:.75em .8rem;transition:color .25s,background-color .25s}@media screen and (min-width:60em){[dir=ltr] .md-search-result__more>summary>div{padding-left:2.2rem}[dir=rtl] .md-search-result__more>summary>div{padding-right:2.2rem}}.md-search-result__more>summary:focus>div,.md-search-result__more>summary:hover>div{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-search-result__more[open]>summary{background-color:var(--md-default-bg-color)}.md-search-result__article{overflow:hidden;padding:0 .8rem;position:relative}@media screen and (min-width:60em){[dir=ltr] .md-search-result__article{padding-left:2.2rem}[dir=rtl] .md-search-result__article{padding-right:2.2rem}}[dir=ltr] .md-search-result__icon{left:0}[dir=rtl] .md-search-result__icon{right:0}.md-search-result__icon{color:var(--md-default-fg-color--light);height:1.2rem;margin:.5rem;position:absolute;width:1.2rem}@media screen and (max-width:59.984375em){.md-search-result__icon{display:none}}.md-search-result__icon:after{background-color:currentcolor;content:"";display:inline-block;height:100%;-webkit-mask-image:var(--md-search-result-icon);mask-image:var(--md-search-result-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:100%}[dir=rtl] .md-search-result__icon:after{transform:scaleX(-1)}.md-search-result .md-typeset{color:var(--md-default-fg-color--light);font-size:.64rem;line-height:1.6}.md-search-result .md-typeset h1{color:var(--md-default-fg-color);font-size:.8rem;font-weight:400;line-height:1.4;margin:.55rem 0}.md-search-result .md-typeset h1 mark{text-decoration:none}.md-search-result .md-typeset h2{color:var(--md-default-fg-color);font-size:.64rem;font-weight:700;line-height:1.6;margin:.5em 0}.md-search-result .md-typeset h2 mark{text-decoration:none}.md-search-result__terms{color:var(--md-default-fg-color);display:block;font-size:.64rem;font-style:italic;margin:.5em 0}.md-search-result mark{background-color:initial;color:var(--md-accent-fg-color);text-decoration:underline}.md-select{position:relative;z-index:1}.md-select__inner{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);left:50%;margin-top:.2rem;max-height:0;opacity:0;position:absolute;top:calc(100% - .2rem);transform:translate3d(-50%,.3rem,0);transition:transform .25s 375ms,opacity .25s .25s,max-height 0ms .5s}.md-select:focus-within .md-select__inner,.md-select:hover .md-select__inner{max-height:10rem;opacity:1;transform:translate3d(-50%,0,0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,max-height 0ms}.md-select__inner:after{border-bottom:.2rem solid #0000;border-bottom-color:var(--md-default-bg-color);border-left:.2rem solid #0000;border-right:.2rem solid #0000;border-top:0;content:"";height:0;left:50%;margin-left:-.2rem;margin-top:-.2rem;position:absolute;top:0;width:0}.md-select__list{border-radius:.1rem;font-size:.8rem;list-style-type:none;margin:0;max-height:inherit;overflow:auto;padding:0}.md-select__item{line-height:1.8rem}[dir=ltr] .md-select__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-select__link{padding-left:1.2rem;padding-right:.6rem}.md-select__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:background-color .25s,color .25s;width:100%}.md-select__link:focus,.md-select__link:hover{color:var(--md-accent-fg-color)}.md-select__link:focus{background-color:var(--md-default-fg-color--lightest)}.md-sidebar{align-self:flex-start;flex-shrink:0;padding:1.2rem 0;position:sticky;top:2.4rem;width:12.1rem}@media print{.md-sidebar{display:none}}@media screen and (max-width:76.234375em){[dir=ltr] .md-sidebar--primary{left:-12.1rem}[dir=rtl] .md-sidebar--primary{right:-12.1rem}.md-sidebar--primary{background-color:var(--md-default-bg-color);display:block;height:100%;position:fixed;top:0;transform:translateX(0);transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s;width:12.1rem;z-index:5}[data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{box-shadow:var(--md-shadow-z3);transform:translateX(12.1rem)}[dir=rtl] [data-md-toggle=drawer]:checked~.md-container .md-sidebar--primary{transform:translateX(-12.1rem)}.md-sidebar--primary .md-sidebar__scrollwrap{bottom:0;left:0;margin:0;overflow:hidden;position:absolute;right:0;scroll-snap-type:none;top:0}}@media screen and (min-width:76.25em){.md-sidebar{height:0}.no-js .md-sidebar{height:auto}.md-header--lifted~.md-container .md-sidebar{top:4.8rem}}.md-sidebar--secondary{display:none;order:2}@media screen and (min-width:60em){.md-sidebar--secondary{height:0}.no-js .md-sidebar--secondary{height:auto}.md-sidebar--secondary:not([hidden]){display:block}.md-sidebar--secondary .md-sidebar__scrollwrap{touch-action:pan-y}}.md-sidebar__scrollwrap{scrollbar-gutter:stable;-webkit-backface-visibility:hidden;backface-visibility:hidden;margin:0 .2rem;overflow-y:auto;scrollbar-color:var(--md-default-fg-color--lighter) #0000;scrollbar-width:thin}.md-sidebar__scrollwrap::-webkit-scrollbar{height:.2rem;width:.2rem}.md-sidebar__scrollwrap:focus-within,.md-sidebar__scrollwrap:hover{scrollbar-color:var(--md-accent-fg-color) #0000}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-sidebar__scrollwrap:focus-within::-webkit-scrollbar-thumb:hover,.md-sidebar__scrollwrap:hover::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}@supports selector(::-webkit-scrollbar){.md-sidebar__scrollwrap{scrollbar-gutter:auto}[dir=ltr] .md-sidebar__inner{padding-right:calc(100% - 11.5rem)}[dir=rtl] .md-sidebar__inner{padding-left:calc(100% - 11.5rem)}}@media screen and (max-width:76.234375em){.md-overlay{background-color:#0000008a;height:0;opacity:0;position:fixed;top:0;transition:width 0ms .25s,height 0ms .25s,opacity .25s;width:0;z-index:5}[data-md-toggle=drawer]:checked~.md-overlay{height:100%;opacity:1;transition:width 0ms,height 0ms,opacity .25s;width:100%}}@keyframes facts{0%{height:0}to{height:.65rem}}@keyframes fact{0%{opacity:0;transform:translateY(100%)}50%{opacity:0}to{opacity:1;transform:translateY(0)}}:root{--md-source-forks-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z"/></svg>');--md-source-repositories-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.495 2.495 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.486 2.486 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.249.249 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg>');--md-source-stars-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M8 .25a.75.75 0 0 1 .673.418l1.882 3.815 4.21.612a.75.75 0 0 1 .416 1.279l-3.046 2.97.719 4.192a.751.751 0 0 1-1.088.791L8 12.347l-3.766 1.98a.75.75 0 0 1-1.088-.79l.72-4.194L.818 6.374a.75.75 0 0 1 .416-1.28l4.21-.611L7.327.668A.75.75 0 0 1 8 .25Zm0 2.445L6.615 5.5a.75.75 0 0 1-.564.41l-3.097.45 2.24 2.184a.75.75 0 0 1 .216.664l-.528 3.084 2.769-1.456a.75.75 0 0 1 .698 0l2.77 1.456-.53-3.084a.75.75 0 0 1 .216-.664l2.24-2.183-3.096-.45a.75.75 0 0 1-.564-.41L8 2.694Z"/></svg>');--md-source-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.752 1.752 0 0 1 1 7.775Zm1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2Z"/></svg>')}.md-source{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:block;font-size:.65rem;line-height:1.2;outline-color:var(--md-accent-fg-color);transition:opacity .25s;white-space:nowrap}.md-source:hover{opacity:.7}.md-source__icon{display:inline-block;height:2.4rem;vertical-align:middle;width:2rem}[dir=ltr] .md-source__icon svg{margin-left:.6rem}[dir=rtl] .md-source__icon svg{margin-right:.6rem}.md-source__icon svg{margin-top:.6rem}[dir=ltr] .md-source__icon+.md-source__repository{padding-left:2rem}[dir=rtl] .md-source__icon+.md-source__repository{padding-right:2rem}[dir=ltr] .md-source__icon+.md-source__repository{margin-left:-2rem}[dir=rtl] .md-source__icon+.md-source__repository{margin-right:-2rem}[dir=ltr] .md-source__repository{margin-left:.6rem}[dir=rtl] .md-source__repository{margin-right:.6rem}.md-source__repository{display:inline-block;max-width:calc(100% - 1.2rem);overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.md-source__facts{display:flex;font-size:.55rem;gap:.4rem;list-style-type:none;margin:.1rem 0 0;opacity:.75;overflow:hidden;padding:0;width:100%}.md-source__repository--active .md-source__facts{animation:facts .25s ease-in}.md-source__fact{overflow:hidden;text-overflow:ellipsis}.md-source__repository--active .md-source__fact{animation:fact .4s ease-out}[dir=ltr] .md-source__fact:before{margin-right:.1rem}[dir=rtl] .md-source__fact:before{margin-left:.1rem}.md-source__fact:before{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-top;width:.6rem}.md-source__fact:nth-child(1n+2){flex-shrink:0}.md-source__fact--version:before{-webkit-mask-image:var(--md-source-version-icon);mask-image:var(--md-source-version-icon)}.md-source__fact--stars:before{-webkit-mask-image:var(--md-source-stars-icon);mask-image:var(--md-source-stars-icon)}.md-source__fact--forks:before{-webkit-mask-image:var(--md-source-forks-icon);mask-image:var(--md-source-forks-icon)}.md-source__fact--repositories:before{-webkit-mask-image:var(--md-source-repositories-icon);mask-image:var(--md-source-repositories-icon)}.md-source-file{margin:1em 0}[dir=ltr] .md-source-file__fact{margin-right:.6rem}[dir=rtl] .md-source-file__fact{margin-left:.6rem}.md-source-file__fact{align-items:center;color:var(--md-default-fg-color--light);display:inline-flex;font-size:.68rem;gap:.3rem}.md-source-file__fact .md-icon{flex-shrink:0;margin-bottom:.05rem}[dir=ltr] .md-source-file__fact .md-author{float:left}[dir=rtl] .md-source-file__fact .md-author{float:right}.md-source-file__fact .md-author{margin-right:.2rem}.md-source-file__fact svg{width:.9rem}:root{--md-status:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 9h2V7h-2m1 13c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-18A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2m-1 15h2v-6h-2v6Z"/></svg>');--md-status--new:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m23 12-2.44-2.78.34-3.68-3.61-.82-1.89-3.18L12 3 8.6 1.54 6.71 4.72l-3.61.81.34 3.68L1 12l2.44 2.78-.34 3.69 3.61.82 1.89 3.18L12 21l3.4 1.46 1.89-3.18 3.61-.82-.34-3.68L23 12m-10 5h-2v-2h2v2m0-4h-2V7h2v6Z"/></svg>');--md-status--deprecated:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9 3v1H4v2h1v13a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V6h1V4h-5V3H9m0 5h2v9H9V8m4 0h2v9h-2V8Z"/></svg>');--md-status--encrypted:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4m0 6c1.4 0 2.8 1.1 2.8 2.5V11c.6 0 1.2.6 1.2 1.3v3.5c0 .6-.6 1.2-1.3 1.2H9.2c-.6 0-1.2-.6-1.2-1.3v-3.5c0-.6.6-1.2 1.2-1.2V9.5C9.2 8.1 10.6 7 12 7m0 1.2c-.8 0-1.5.5-1.5 1.3V11h3V9.5c0-.8-.7-1.3-1.5-1.3Z"/></svg>')}.md-status:after{background-color:var(--md-default-fg-color--light);content:"";display:inline-block;height:1.125em;-webkit-mask-image:var(--md-status);mask-image:var(--md-status);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;vertical-align:text-bottom;width:1.125em}.md-status:hover:after{background-color:currentcolor}.md-status--new:after{-webkit-mask-image:var(--md-status--new);mask-image:var(--md-status--new)}.md-status--deprecated:after{-webkit-mask-image:var(--md-status--deprecated);mask-image:var(--md-status--deprecated)}.md-status--encrypted:after{-webkit-mask-image:var(--md-status--encrypted);mask-image:var(--md-status--encrypted)}.md-tabs{background-color:var(--md-primary-fg-color);color:var(--md-primary-bg-color);display:block;line-height:1.3;overflow:auto;width:100%;z-index:3}@media print{.md-tabs{display:none}}@media screen and (max-width:76.234375em){.md-tabs{display:none}}.md-tabs[hidden]{pointer-events:none}[dir=ltr] .md-tabs__list{margin-left:.2rem}[dir=rtl] .md-tabs__list{margin-right:.2rem}.md-tabs__list{contain:content;display:flex;list-style:none;margin:0;overflow:auto;padding:0;scrollbar-width:none;white-space:nowrap}.md-tabs__list::-webkit-scrollbar{display:none}.md-tabs__item{height:2.4rem;padding-left:.6rem;padding-right:.6rem}.md-tabs__item--active .md-tabs__link{color:inherit;opacity:1}.md-tabs__link{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;font-size:.7rem;margin-top:.8rem;opacity:.7;outline-color:var(--md-accent-fg-color);outline-offset:.2rem;transition:transform .4s cubic-bezier(.1,.7,.1,1),opacity .25s}.md-tabs__link:focus,.md-tabs__link:hover{color:inherit;opacity:1}[dir=ltr] .md-tabs__link svg{margin-right:.4rem}[dir=rtl] .md-tabs__link svg{margin-left:.4rem}.md-tabs__link svg{fill:currentcolor;height:1.3em}.md-tabs__item:nth-child(2) .md-tabs__link{transition-delay:20ms}.md-tabs__item:nth-child(3) .md-tabs__link{transition-delay:40ms}.md-tabs__item:nth-child(4) .md-tabs__link{transition-delay:60ms}.md-tabs__item:nth-child(5) .md-tabs__link{transition-delay:80ms}.md-tabs__item:nth-child(6) .md-tabs__link{transition-delay:.1s}.md-tabs__item:nth-child(7) .md-tabs__link{transition-delay:.12s}.md-tabs__item:nth-child(8) .md-tabs__link{transition-delay:.14s}.md-tabs__item:nth-child(9) .md-tabs__link{transition-delay:.16s}.md-tabs__item:nth-child(10) .md-tabs__link{transition-delay:.18s}.md-tabs__item:nth-child(11) .md-tabs__link{transition-delay:.2s}.md-tabs__item:nth-child(12) .md-tabs__link{transition-delay:.22s}.md-tabs__item:nth-child(13) .md-tabs__link{transition-delay:.24s}.md-tabs__item:nth-child(14) .md-tabs__link{transition-delay:.26s}.md-tabs__item:nth-child(15) .md-tabs__link{transition-delay:.28s}.md-tabs__item:nth-child(16) .md-tabs__link{transition-delay:.3s}.md-tabs[hidden] .md-tabs__link{opacity:0;transform:translateY(50%);transition:transform 0ms .1s,opacity .1s}:root{--md-tag-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m5.41 21 .71-4h-4l.35-2h4l1.06-6h-4l.35-2h4l.71-4h2l-.71 4h6l.71-4h2l-.71 4h4l-.35 2h-4l-1.06 6h4l-.35 2h-4l-.71 4h-2l.71-4h-6l-.71 4h-2M9.53 9l-1.06 6h6l1.06-6h-6Z"/></svg>')}.md-typeset .md-tags:not([hidden]){display:inline-flex;flex-wrap:wrap;gap:.5em;margin-bottom:.75em;margin-top:-.125em}.md-typeset .md-tag{align-items:center;background:var(--md-default-fg-color--lightest);border-radius:2.4rem;display:inline-flex;font-size:.64rem;font-size:min(.8em,.64rem);font-weight:700;gap:.5em;letter-spacing:normal;line-height:1.6;padding:.3125em .78125em}.md-typeset .md-tag[href]{-webkit-tap-highlight-color:transparent;color:inherit;outline:none;transition:color 125ms,background-color 125ms}.md-typeset .md-tag[href]:focus,.md-typeset .md-tag[href]:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}[id]>.md-typeset .md-tag{vertical-align:text-top}.md-typeset .md-tag-shadow{opacity:.5}.md-typeset .md-tag-icon:before{background-color:var(--md-default-fg-color--lighter);content:"";display:inline-block;height:1.2em;-webkit-mask-image:var(--md-tag-icon);mask-image:var(--md-tag-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color 125ms;vertical-align:text-bottom;width:1.2em}.md-typeset .md-tag-icon[href]:focus:before,.md-typeset .md-tag-icon[href]:hover:before{background-color:var(--md-accent-bg-color)}@keyframes pulse{0%{transform:scale(.95)}75%{transform:scale(1)}to{transform:scale(.95)}}:root{--md-annotation-bg-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-annotation-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 13h-4v4h-2v-4H7v-2h4V7h2v4h4m-5-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>')}.md-tooltip{-webkit-backface-visibility:hidden;backface-visibility:hidden;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);font-family:var(--md-text-font-family);left:clamp(var(--md-tooltip-0,0rem) + .8rem,var(--md-tooltip-x),100vw + var(--md-tooltip-0,0rem) + .8rem - var(--md-tooltip-width) - 2 * .8rem);max-width:calc(100vw - 1.6rem);opacity:0;position:absolute;top:var(--md-tooltip-y);transform:translateY(-.4rem);transition:transform 0ms .25s,opacity .25s,z-index .25s;width:var(--md-tooltip-width);z-index:0}.md-tooltip--active{opacity:1;transform:translateY(0);transition:transform .25s cubic-bezier(.1,.7,.1,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip--inline{font-weight:700;-webkit-user-select:none;user-select:none;width:auto}.md-tooltip--inline:not(.md-tooltip--active){transform:translateY(.2rem) scale(.9)}.md-tooltip--inline .md-tooltip__inner{font-size:.5rem;padding:.2rem .4rem}[hidden]+.md-tooltip--inline{display:none}.focus-visible>.md-tooltip,.md-tooltip:target{outline:var(--md-accent-fg-color) auto}.md-tooltip__inner{font-size:.64rem;padding:.8rem}.md-tooltip__inner.md-typeset>:first-child{margin-top:0}.md-tooltip__inner.md-typeset>:last-child{margin-bottom:0}.md-annotation{font-style:normal;font-weight:400;outline:none;text-align:initial;vertical-align:text-bottom;white-space:normal}[dir=rtl] .md-annotation{direction:rtl}code .md-annotation{font-family:var(--md-code-font-family);font-size:inherit}.md-annotation:not([hidden]){display:inline-block;line-height:1.25}.md-annotation__index{border-radius:.01px;cursor:pointer;display:inline-block;margin-left:.4ch;margin-right:.4ch;outline:none;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;vertical-align:text-top;z-index:0}.md-annotation .md-annotation__index{transition:z-index .25s}@media screen{.md-annotation__index{width:2.2ch}[data-md-visible]>.md-annotation__index{animation:pulse 2s infinite}.md-annotation__index:before{background:var(--md-default-bg-color);-webkit-mask-image:var(--md-annotation-bg-icon);mask-image:var(--md-annotation-bg-icon)}.md-annotation__index:after,.md-annotation__index:before{content:"";height:2.2ch;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:-.1ch;width:2.2ch;z-index:-1}.md-annotation__index:after{background-color:var(--md-default-fg-color--lighter);-webkit-mask-image:var(--md-annotation-icon);mask-image:var(--md-annotation-icon);transform:scale(1.0001);transition:background-color .25s,transform .25s}.md-tooltip--active+.md-annotation__index:after{transform:rotate(45deg)}.md-tooltip--active+.md-annotation__index:after,:hover>.md-annotation__index:after{background-color:var(--md-accent-fg-color)}}.md-tooltip--active+.md-annotation__index{animation-play-state:paused;transition-duration:0ms;z-index:2}.md-annotation__index [data-md-annotation-id]{display:inline-block}@media print{.md-annotation__index [data-md-annotation-id]{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);font-weight:700;padding:0 .6ch;white-space:nowrap}.md-annotation__index [data-md-annotation-id]:after{content:attr(data-md-annotation-id)}}.md-typeset .md-annotation-list{counter-reset:xxx;list-style:none}.md-typeset .md-annotation-list li{position:relative}[dir=ltr] .md-typeset .md-annotation-list li:before{left:-2.125em}[dir=rtl] .md-typeset .md-annotation-list li:before{right:-2.125em}.md-typeset .md-annotation-list li:before{background:var(--md-default-fg-color--lighter);border-radius:2ch;color:var(--md-default-bg-color);content:counter(xxx);counter-increment:xxx;font-size:.8875em;font-weight:700;height:2ch;line-height:1.25;min-width:2ch;padding:0 .6ch;position:absolute;text-align:center;top:.25em}:root{--md-tooltip-width:20rem;--md-tooltip-tail:0.3rem}.md-tooltip2{-webkit-backface-visibility:hidden;backface-visibility:hidden;color:var(--md-default-fg-color);font-family:var(--md-text-font-family);opacity:0;pointer-events:none;position:absolute;top:calc(var(--md-tooltip-host-y) + var(--md-tooltip-y));transform:translateY(-.4rem);transform-origin:calc(var(--md-tooltip-host-x) + var(--md-tooltip-x)) 0;transition:transform 0ms .25s,opacity .25s,z-index .25s;width:100%;z-index:0}.md-tooltip2:before{border-left:var(--md-tooltip-tail) solid #0000;border-right:var(--md-tooltip-tail) solid #0000;content:"";display:block;left:clamp(1.5 * .8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-tail),100vw - 2 * var(--md-tooltip-tail) - 1.5 * .8rem);position:absolute;z-index:1}.md-tooltip2--top:before{border-top:var(--md-tooltip-tail) solid var(--md-default-bg-color);bottom:calc(var(--md-tooltip-tail)*-1 + .025rem);filter:drop-shadow(0 1px 0 hsla(0,0%,0%,.05))}.md-tooltip2--bottom:before{border-bottom:var(--md-tooltip-tail) solid var(--md-default-bg-color);filter:drop-shadow(0 -1px 0 hsla(0,0%,0%,.05));top:calc(var(--md-tooltip-tail)*-1 + .025rem)}.md-tooltip2--active{opacity:1;transform:translateY(0);transition:transform .4s cubic-bezier(0,1,.5,1),opacity .25s,z-index 0ms;z-index:2}.md-tooltip2__inner{scrollbar-gutter:stable;background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);left:clamp(.8rem,var(--md-tooltip-host-x) - .8rem,100vw - var(--md-tooltip-width) - .8rem);max-height:40vh;max-width:calc(100vw - 1.6rem);position:relative;scrollbar-width:thin}.md-tooltip2__inner::-webkit-scrollbar{height:.2rem;width:.2rem}.md-tooltip2__inner::-webkit-scrollbar-thumb{background-color:var(--md-default-fg-color--lighter)}.md-tooltip2__inner::-webkit-scrollbar-thumb:hover{background-color:var(--md-accent-fg-color)}[role=dialog]>.md-tooltip2__inner{font-size:.64rem;overflow:auto;padding:0 .8rem;pointer-events:auto;width:var(--md-tooltip-width)}[role=dialog]>.md-tooltip2__inner:after,[role=dialog]>.md-tooltip2__inner:before{content:"";display:block;height:.8rem;position:sticky;width:100%;z-index:10}[role=dialog]>.md-tooltip2__inner:before{background:linear-gradient(var(--md-default-bg-color),#0000 75%);top:0}[role=dialog]>.md-tooltip2__inner:after{background:linear-gradient(#0000,var(--md-default-bg-color) 75%);bottom:0}[role=tooltip]>.md-tooltip2__inner{font-size:.5rem;font-weight:700;left:clamp(.8rem,var(--md-tooltip-host-x) + var(--md-tooltip-x) - var(--md-tooltip-width)/2,100vw - var(--md-tooltip-width) - .8rem);max-width:min(100vw - 2 * .8rem,400px);padding:.2rem .4rem;-webkit-user-select:none;user-select:none;width:-moz-fit-content;width:fit-content}.md-tooltip2__inner.md-typeset>:first-child{margin-top:0}.md-tooltip2__inner.md-typeset>:last-child{margin-bottom:0}[dir=ltr] .md-top{margin-left:50%}[dir=rtl] .md-top{margin-right:50%}.md-top{background-color:var(--md-default-bg-color);border-radius:1.6rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color--light);cursor:pointer;display:block;font-size:.7rem;outline:none;padding:.4rem .8rem;position:fixed;top:3.2rem;transform:translate(-50%);transition:color 125ms,background-color 125ms,transform 125ms cubic-bezier(.4,0,.2,1),opacity 125ms;z-index:2}@media print{.md-top{display:none}}[dir=rtl] .md-top{transform:translate(50%)}.md-top[hidden]{opacity:0;pointer-events:none;transform:translate(-50%,.2rem);transition-duration:0ms}[dir=rtl] .md-top[hidden]{transform:translate(50%,.2rem)}.md-top:focus,.md-top:hover{background-color:var(--md-accent-fg-color);color:var(--md-accent-bg-color)}.md-top svg{display:inline-block;vertical-align:-.5em}@keyframes hoverfix{0%{pointer-events:none}}:root{--md-version-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><!--! Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9S301 191.9 288 191.9L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"/></svg>')}.md-version{flex-shrink:0;font-size:.8rem;height:2.4rem}[dir=ltr] .md-version__current{margin-left:1.4rem;margin-right:.4rem}[dir=rtl] .md-version__current{margin-left:.4rem;margin-right:1.4rem}.md-version__current{color:inherit;cursor:pointer;outline:none;position:relative;top:.05rem}[dir=ltr] .md-version__current:after{margin-left:.4rem}[dir=rtl] .md-version__current:after{margin-right:.4rem}.md-version__current:after{background-color:currentcolor;content:"";display:inline-block;height:.6rem;-webkit-mask-image:var(--md-version-icon);mask-image:var(--md-version-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.4rem}.md-version__alias{margin-left:.3rem;opacity:.7}.md-version__list{background-color:var(--md-default-bg-color);border-radius:.1rem;box-shadow:var(--md-shadow-z2);color:var(--md-default-fg-color);list-style-type:none;margin:.2rem .8rem;max-height:0;opacity:0;overflow:auto;padding:0;position:absolute;scroll-snap-type:y mandatory;top:.15rem;transition:max-height 0ms .5s,opacity .25s .25s;z-index:3}.md-version:focus-within .md-version__list,.md-version:hover .md-version__list{max-height:10rem;opacity:1;transition:max-height 0ms,opacity .25s}@media (hover:none),(pointer:coarse){.md-version:hover .md-version__list{animation:hoverfix .25s forwards}.md-version:focus-within .md-version__list{animation:none}}.md-version__item{line-height:1.8rem}[dir=ltr] .md-version__link{padding-left:.6rem;padding-right:1.2rem}[dir=rtl] .md-version__link{padding-left:1.2rem;padding-right:.6rem}.md-version__link{cursor:pointer;display:block;outline:none;scroll-snap-align:start;transition:color .25s,background-color .25s;white-space:nowrap;width:100%}.md-version__link:focus,.md-version__link:hover{color:var(--md-accent-fg-color)}.md-version__link:focus{background-color:var(--md-default-fg-color--lightest)}:root{--md-admonition-icon--note:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2m3.1 5.07c.14 0 .28.05.4.16l1.27 1.27c.23.22.23.57 0 .78l-1 1-2.05-2.05 1-1c.1-.11.24-.16.38-.16m-1.97 1.74 2.06 2.06-6.06 6.06H7.07v-2.06l6.06-6.06Z"/></svg>');--md-admonition-icon--abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17 9H7V7h10m0 6H7v-2h10m-3 6H7v-2h7M12 3a1 1 0 0 1 1 1 1 1 0 0 1-1 1 1 1 0 0 1-1-1 1 1 0 0 1 1-1m7 0h-4.18C14.4 1.84 13.3 1 12 1c-1.3 0-2.4.84-2.82 2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2Z"/></svg>');--md-admonition-icon--info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2Z"/></svg>');--md-admonition-icon--tip:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.66 11.2c-.23-.3-.51-.56-.77-.82-.67-.6-1.43-1.03-2.07-1.66C13.33 7.26 13 4.85 13.95 3c-.95.23-1.78.75-2.49 1.32-2.59 2.08-3.61 5.75-2.39 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.23.1-.47.04-.66-.12a.58.58 0 0 1-.14-.17c-1.13-1.43-1.31-3.48-.55-5.12C5.78 10 4.87 12.3 5 14.47c.06.5.12 1 .29 1.5.14.6.41 1.2.71 1.73 1.08 1.73 2.95 2.97 4.96 3.22 2.14.27 4.43-.12 6.07-1.6 1.83-1.66 2.47-4.32 1.53-6.6l-.13-.26c-.21-.46-.77-1.26-.77-1.26m-3.16 6.3c-.28.24-.74.5-1.1.6-1.12.4-2.24-.16-2.9-.82 1.19-.28 1.9-1.16 2.11-2.05.17-.8-.15-1.46-.28-2.23-.12-.74-.1-1.37.17-2.06.19.38.39.76.63 1.06.77 1 1.98 1.44 2.24 2.8.04.14.06.28.06.43.03.82-.33 1.72-.93 2.27Z"/></svg>');--md-admonition-icon--success:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M21 7 9 19l-5.5-5.5 1.41-1.41L9 16.17 19.59 5.59 21 7Z"/></svg>');--md-admonition-icon--question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10Z"/></svg>');--md-admonition-icon--warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2V9h2m0 9h-2v-2h2M1 21h22L12 2 1 21Z"/></svg>');--md-admonition-icon--failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>');--md-admonition-icon--danger:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2Z"/></svg>');--md-admonition-icon--bug:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 13h2v1h-2v-1m10-8v6c0 5.5-3.8 10.7-9 12-5.2-1.3-9-6.5-9-12V5l9-4 9 4m-4 5h-2.2c-.2-.6-.6-1.1-1.1-1.5l1.2-1.2-.7-.7L12.8 8H12c-.2 0-.5 0-.7.1L9.9 6.6l-.8.8 1.2 1.2c-.5.3-.9.8-1.1 1.4H7v1h2v1H7v1h2v1H7v1h2.2c.4 1.2 1.5 2 2.8 2s2.4-.8 2.8-2H17v-1h-2v-1h2v-1h-2v-1h2v-1m-6 2h2v-1h-2v1Z"/></svg>');--md-admonition-icon--example:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 2v2h1v14a4 4 0 0 0 4 4 4 4 0 0 0 4-4V4h1V2H7m4 14c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m2-4c-.6 0-1-.4-1-1s.4-1 1-1 1 .4 1 1-.4 1-1 1m1-5h-4V4h4v3Z"/></svg>');--md-admonition-icon--quote:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14 17h3l2-4V7h-6v6h3M6 17h3l2-4V7H5v6h3l-2 4Z"/></svg>')}.md-typeset .admonition,.md-typeset details{background-color:var(--md-admonition-bg-color);border:.075rem solid #448aff;border-radius:.2rem;box-shadow:var(--md-shadow-z1);color:var(--md-admonition-fg-color);display:flow-root;font-size:.64rem;margin:1.5625em 0;padding:0 .6rem;page-break-inside:avoid;transition:box-shadow 125ms}@media print{.md-typeset .admonition,.md-typeset details{box-shadow:none}}.md-typeset .admonition:focus-within,.md-typeset details:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .admonition>*,.md-typeset details>*{box-sizing:border-box}.md-typeset .admonition .admonition,.md-typeset .admonition details,.md-typeset details .admonition,.md-typeset details details{margin-bottom:1em;margin-top:1em}.md-typeset .admonition .md-typeset__scrollwrap,.md-typeset details .md-typeset__scrollwrap{margin:1em -.6rem}.md-typeset .admonition .md-typeset__table,.md-typeset details .md-typeset__table{padding:0 .6rem}.md-typeset .admonition>.tabbed-set:only-child,.md-typeset details>.tabbed-set:only-child{margin-top:0}html .md-typeset .admonition>:last-child,html .md-typeset details>:last-child{margin-bottom:.6rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{padding-left:2rem;padding-right:.6rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{padding-left:.6rem;padding-right:2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-left-width:.2rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-right-width:.2rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset .admonition-title,[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset .admonition-title,[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset .admonition-title,.md-typeset summary{background-color:#448aff1a;border:none;font-weight:700;margin:0 -.6rem;padding-bottom:.4rem;padding-top:.4rem;position:relative}html .md-typeset .admonition-title:last-child,html .md-typeset summary:last-child{margin-bottom:0}[dir=ltr] .md-typeset .admonition-title:before,[dir=ltr] .md-typeset summary:before{left:.6rem}[dir=rtl] .md-typeset .admonition-title:before,[dir=rtl] .md-typeset summary:before{right:.6rem}.md-typeset .admonition-title:before,.md-typeset summary:before{background-color:#448aff;content:"";height:1rem;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;width:1rem}.md-typeset .admonition-title code,.md-typeset summary code{box-shadow:0 0 0 .05rem var(--md-default-fg-color--lightest)}.md-typeset .admonition.note,.md-typeset details.note{border-color:#448aff}.md-typeset .admonition.note:focus-within,.md-typeset details.note:focus-within{box-shadow:0 0 0 .2rem #448aff1a}.md-typeset .note>.admonition-title,.md-typeset .note>summary{background-color:#448aff1a}.md-typeset .note>.admonition-title:before,.md-typeset .note>summary:before{background-color:#448aff;-webkit-mask-image:var(--md-admonition-icon--note);mask-image:var(--md-admonition-icon--note)}.md-typeset .note>.admonition-title:after,.md-typeset .note>summary:after{color:#448aff}.md-typeset .admonition.abstract,.md-typeset details.abstract{border-color:#00b0ff}.md-typeset .admonition.abstract:focus-within,.md-typeset details.abstract:focus-within{box-shadow:0 0 0 .2rem #00b0ff1a}.md-typeset .abstract>.admonition-title,.md-typeset .abstract>summary{background-color:#00b0ff1a}.md-typeset .abstract>.admonition-title:before,.md-typeset .abstract>summary:before{background-color:#00b0ff;-webkit-mask-image:var(--md-admonition-icon--abstract);mask-image:var(--md-admonition-icon--abstract)}.md-typeset .abstract>.admonition-title:after,.md-typeset .abstract>summary:after{color:#00b0ff}.md-typeset .admonition.info,.md-typeset details.info{border-color:#00b8d4}.md-typeset .admonition.info:focus-within,.md-typeset details.info:focus-within{box-shadow:0 0 0 .2rem #00b8d41a}.md-typeset .info>.admonition-title,.md-typeset .info>summary{background-color:#00b8d41a}.md-typeset .info>.admonition-title:before,.md-typeset .info>summary:before{background-color:#00b8d4;-webkit-mask-image:var(--md-admonition-icon--info);mask-image:var(--md-admonition-icon--info)}.md-typeset .info>.admonition-title:after,.md-typeset .info>summary:after{color:#00b8d4}.md-typeset .admonition.tip,.md-typeset details.tip{border-color:#00bfa5}.md-typeset .admonition.tip:focus-within,.md-typeset details.tip:focus-within{box-shadow:0 0 0 .2rem #00bfa51a}.md-typeset .tip>.admonition-title,.md-typeset .tip>summary{background-color:#00bfa51a}.md-typeset .tip>.admonition-title:before,.md-typeset .tip>summary:before{background-color:#00bfa5;-webkit-mask-image:var(--md-admonition-icon--tip);mask-image:var(--md-admonition-icon--tip)}.md-typeset .tip>.admonition-title:after,.md-typeset .tip>summary:after{color:#00bfa5}.md-typeset .admonition.success,.md-typeset details.success{border-color:#00c853}.md-typeset .admonition.success:focus-within,.md-typeset details.success:focus-within{box-shadow:0 0 0 .2rem #00c8531a}.md-typeset .success>.admonition-title,.md-typeset .success>summary{background-color:#00c8531a}.md-typeset .success>.admonition-title:before,.md-typeset .success>summary:before{background-color:#00c853;-webkit-mask-image:var(--md-admonition-icon--success);mask-image:var(--md-admonition-icon--success)}.md-typeset .success>.admonition-title:after,.md-typeset .success>summary:after{color:#00c853}.md-typeset .admonition.question,.md-typeset details.question{border-color:#64dd17}.md-typeset .admonition.question:focus-within,.md-typeset details.question:focus-within{box-shadow:0 0 0 .2rem #64dd171a}.md-typeset .question>.admonition-title,.md-typeset .question>summary{background-color:#64dd171a}.md-typeset .question>.admonition-title:before,.md-typeset .question>summary:before{background-color:#64dd17;-webkit-mask-image:var(--md-admonition-icon--question);mask-image:var(--md-admonition-icon--question)}.md-typeset .question>.admonition-title:after,.md-typeset .question>summary:after{color:#64dd17}.md-typeset .admonition.warning,.md-typeset details.warning{border-color:#ff9100}.md-typeset .admonition.warning:focus-within,.md-typeset details.warning:focus-within{box-shadow:0 0 0 .2rem #ff91001a}.md-typeset .warning>.admonition-title,.md-typeset .warning>summary{background-color:#ff91001a}.md-typeset .warning>.admonition-title:before,.md-typeset .warning>summary:before{background-color:#ff9100;-webkit-mask-image:var(--md-admonition-icon--warning);mask-image:var(--md-admonition-icon--warning)}.md-typeset .warning>.admonition-title:after,.md-typeset .warning>summary:after{color:#ff9100}.md-typeset .admonition.failure,.md-typeset details.failure{border-color:#ff5252}.md-typeset .admonition.failure:focus-within,.md-typeset details.failure:focus-within{box-shadow:0 0 0 .2rem #ff52521a}.md-typeset .failure>.admonition-title,.md-typeset .failure>summary{background-color:#ff52521a}.md-typeset .failure>.admonition-title:before,.md-typeset .failure>summary:before{background-color:#ff5252;-webkit-mask-image:var(--md-admonition-icon--failure);mask-image:var(--md-admonition-icon--failure)}.md-typeset .failure>.admonition-title:after,.md-typeset .failure>summary:after{color:#ff5252}.md-typeset .admonition.danger,.md-typeset details.danger{border-color:#ff1744}.md-typeset .admonition.danger:focus-within,.md-typeset details.danger:focus-within{box-shadow:0 0 0 .2rem #ff17441a}.md-typeset .danger>.admonition-title,.md-typeset .danger>summary{background-color:#ff17441a}.md-typeset .danger>.admonition-title:before,.md-typeset .danger>summary:before{background-color:#ff1744;-webkit-mask-image:var(--md-admonition-icon--danger);mask-image:var(--md-admonition-icon--danger)}.md-typeset .danger>.admonition-title:after,.md-typeset .danger>summary:after{color:#ff1744}.md-typeset .admonition.bug,.md-typeset details.bug{border-color:#f50057}.md-typeset .admonition.bug:focus-within,.md-typeset details.bug:focus-within{box-shadow:0 0 0 .2rem #f500571a}.md-typeset .bug>.admonition-title,.md-typeset .bug>summary{background-color:#f500571a}.md-typeset .bug>.admonition-title:before,.md-typeset .bug>summary:before{background-color:#f50057;-webkit-mask-image:var(--md-admonition-icon--bug);mask-image:var(--md-admonition-icon--bug)}.md-typeset .bug>.admonition-title:after,.md-typeset .bug>summary:after{color:#f50057}.md-typeset .admonition.example,.md-typeset details.example{border-color:#7c4dff}.md-typeset .admonition.example:focus-within,.md-typeset details.example:focus-within{box-shadow:0 0 0 .2rem #7c4dff1a}.md-typeset .example>.admonition-title,.md-typeset .example>summary{background-color:#7c4dff1a}.md-typeset .example>.admonition-title:before,.md-typeset .example>summary:before{background-color:#7c4dff;-webkit-mask-image:var(--md-admonition-icon--example);mask-image:var(--md-admonition-icon--example)}.md-typeset .example>.admonition-title:after,.md-typeset .example>summary:after{color:#7c4dff}.md-typeset .admonition.quote,.md-typeset details.quote{border-color:#9e9e9e}.md-typeset .admonition.quote:focus-within,.md-typeset details.quote:focus-within{box-shadow:0 0 0 .2rem #9e9e9e1a}.md-typeset .quote>.admonition-title,.md-typeset .quote>summary{background-color:#9e9e9e1a}.md-typeset .quote>.admonition-title:before,.md-typeset .quote>summary:before{background-color:#9e9e9e;-webkit-mask-image:var(--md-admonition-icon--quote);mask-image:var(--md-admonition-icon--quote)}.md-typeset .quote>.admonition-title:after,.md-typeset .quote>summary:after{color:#9e9e9e}:root{--md-footnotes-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.42L5.83 13H21V7h-2Z"/></svg>')}.md-typeset .footnote{color:var(--md-default-fg-color--light);font-size:.64rem}[dir=ltr] .md-typeset .footnote>ol{margin-left:0}[dir=rtl] .md-typeset .footnote>ol{margin-right:0}.md-typeset .footnote>ol>li{transition:color 125ms}.md-typeset .footnote>ol>li:target{color:var(--md-default-fg-color)}.md-typeset .footnote>ol>li:focus-within .footnote-backref{opacity:1;transform:translateX(0);transition:none}.md-typeset .footnote>ol>li:hover .footnote-backref,.md-typeset .footnote>ol>li:target .footnote-backref{opacity:1;transform:translateX(0)}.md-typeset .footnote>ol>li>:first-child{margin-top:0}.md-typeset .footnote-ref{font-size:.75em;font-weight:700}html .md-typeset .footnote-ref{outline-offset:.1rem}.md-typeset [id^="fnref:"]:target>.footnote-ref{outline:auto}.md-typeset .footnote-backref{color:var(--md-typeset-a-color);display:inline-block;font-size:0;opacity:0;transform:translateX(.25rem);transition:color .25s,transform .25s .25s,opacity 125ms .25s;vertical-align:text-bottom}@media print{.md-typeset .footnote-backref{color:var(--md-typeset-a-color);opacity:1;transform:translateX(0)}}[dir=rtl] .md-typeset .footnote-backref{transform:translateX(-.25rem)}.md-typeset .footnote-backref:hover{color:var(--md-accent-fg-color)}.md-typeset .footnote-backref:before{background-color:currentcolor;content:"";display:inline-block;height:.8rem;-webkit-mask-image:var(--md-footnotes-icon);mask-image:var(--md-footnotes-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;width:.8rem}[dir=rtl] .md-typeset .footnote-backref:before svg{transform:scaleX(-1)}[dir=ltr] .md-typeset .headerlink{margin-left:.5rem}[dir=rtl] .md-typeset .headerlink{margin-right:.5rem}.md-typeset .headerlink{color:var(--md-default-fg-color--lighter);display:inline-block;opacity:0;transition:color .25s,opacity 125ms}@media print{.md-typeset .headerlink{display:none}}.md-typeset .headerlink:focus,.md-typeset :hover>.headerlink,.md-typeset :target>.headerlink{opacity:1;transition:color .25s,opacity 125ms}.md-typeset .headerlink:focus,.md-typeset .headerlink:hover,.md-typeset :target>.headerlink{color:var(--md-accent-fg-color)}.md-typeset :target{--md-scroll-margin:3.6rem;--md-scroll-offset:0rem;scroll-margin-top:calc(var(--md-scroll-margin) - var(--md-scroll-offset))}@media screen and (min-width:76.25em){.md-header--lifted~.md-container .md-typeset :target{--md-scroll-margin:6rem}}.md-typeset h1:target,.md-typeset h2:target,.md-typeset h3:target{--md-scroll-offset:0.2rem}.md-typeset h4:target{--md-scroll-offset:0.15rem}.md-typeset div.arithmatex{overflow:auto}@media screen and (max-width:44.984375em){.md-typeset div.arithmatex{margin:0 -.8rem}.md-typeset div.arithmatex>*{width:min-content}}.md-typeset div.arithmatex>*{margin-left:auto!important;margin-right:auto!important;padding:0 .8rem;touch-action:auto}.md-typeset div.arithmatex>* mjx-container{margin:0!important}.md-typeset div.arithmatex mjx-assistive-mml{height:0}.md-typeset del.critic{background-color:var(--md-typeset-del-color)}.md-typeset del.critic,.md-typeset ins.critic{-webkit-box-decoration-break:clone;box-decoration-break:clone}.md-typeset ins.critic{background-color:var(--md-typeset-ins-color)}.md-typeset .critic.comment{-webkit-box-decoration-break:clone;box-decoration-break:clone;color:var(--md-code-hl-comment-color)}.md-typeset .critic.comment:before{content:"/* "}.md-typeset .critic.comment:after{content:" */"}.md-typeset .critic.block{box-shadow:none;display:block;margin:1em 0;overflow:auto;padding-left:.8rem;padding-right:.8rem}.md-typeset .critic.block>:first-child{margin-top:.5em}.md-typeset .critic.block>:last-child{margin-bottom:.5em}:root{--md-details-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset details{display:flow-root;overflow:visible;padding-top:0}.md-typeset details[open]>summary:after{transform:rotate(90deg)}.md-typeset details:not([open]){box-shadow:none;padding-bottom:0}.md-typeset details:not([open])>summary{border-radius:.1rem}[dir=ltr] .md-typeset summary{padding-right:1.8rem}[dir=rtl] .md-typeset summary{padding-left:1.8rem}[dir=ltr] .md-typeset summary{border-top-left-radius:.1rem}[dir=ltr] .md-typeset summary,[dir=rtl] .md-typeset summary{border-top-right-radius:.1rem}[dir=rtl] .md-typeset summary{border-top-left-radius:.1rem}.md-typeset summary{cursor:pointer;display:block;min-height:1rem;overflow:hidden}.md-typeset summary.focus-visible{outline-color:var(--md-accent-fg-color);outline-offset:.2rem}.md-typeset summary:not(.focus-visible){-webkit-tap-highlight-color:transparent;outline:none}[dir=ltr] .md-typeset summary:after{right:.4rem}[dir=rtl] .md-typeset summary:after{left:.4rem}.md-typeset summary:after{background-color:currentcolor;content:"";height:1rem;-webkit-mask-image:var(--md-details-icon);mask-image:var(--md-details-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.625em;transform:rotate(0deg);transition:transform .25s;width:1rem}[dir=rtl] .md-typeset summary:after{transform:rotate(180deg)}.md-typeset summary::marker{display:none}.md-typeset summary::-webkit-details-marker{display:none}.md-typeset .emojione,.md-typeset .gemoji,.md-typeset .twemoji{--md-icon-size:1.125em;display:inline-flex;height:var(--md-icon-size);vertical-align:text-top}.md-typeset .emojione svg,.md-typeset .gemoji svg,.md-typeset .twemoji svg{fill:currentcolor;max-height:100%;width:var(--md-icon-size)}.md-typeset .lg,.md-typeset .xl,.md-typeset .xxl,.md-typeset .xxxl{vertical-align:text-bottom}.md-typeset .middle{vertical-align:middle}.md-typeset .lg{--md-icon-size:1.5em}.md-typeset .xl{--md-icon-size:2.25em}.md-typeset .xxl{--md-icon-size:3em}.md-typeset .xxxl{--md-icon-size:4em}.highlight .o,.highlight .ow{color:var(--md-code-hl-operator-color)}.highlight .p{color:var(--md-code-hl-punctuation-color)}.highlight .cpf,.highlight .l,.highlight .s,.highlight .s1,.highlight .s2,.highlight .sb,.highlight .sc,.highlight .si,.highlight .ss{color:var(--md-code-hl-string-color)}.highlight .cp,.highlight .se,.highlight .sh,.highlight .sr,.highlight .sx{color:var(--md-code-hl-special-color)}.highlight .il,.highlight .m,.highlight .mb,.highlight .mf,.highlight .mh,.highlight .mi,.highlight .mo{color:var(--md-code-hl-number-color)}.highlight .k,.highlight .kd,.highlight .kn,.highlight .kp,.highlight .kr,.highlight .kt{color:var(--md-code-hl-keyword-color)}.highlight .kc,.highlight .n{color:var(--md-code-hl-name-color)}.highlight .bp,.highlight .nb,.highlight .no{color:var(--md-code-hl-constant-color)}.highlight .nc,.highlight .ne,.highlight .nf,.highlight .nn{color:var(--md-code-hl-function-color)}.highlight .nd,.highlight .ni,.highlight .nl,.highlight .nt{color:var(--md-code-hl-keyword-color)}.highlight .c,.highlight .c1,.highlight .ch,.highlight .cm,.highlight .cs,.highlight .sd{color:var(--md-code-hl-comment-color)}.highlight .na,.highlight .nv,.highlight .vc,.highlight .vg,.highlight .vi{color:var(--md-code-hl-variable-color)}.highlight .ge,.highlight .gh,.highlight .go,.highlight .gp,.highlight .gr,.highlight .gs,.highlight .gt,.highlight .gu{color:var(--md-code-hl-generic-color)}.highlight .gd,.highlight .gi{border-radius:.1rem;margin:0 -.125em;padding:0 .125em}.highlight .gd{background-color:var(--md-typeset-del-color)}.highlight .gi{background-color:var(--md-typeset-ins-color)}.highlight .hll{background-color:var(--md-code-hl-color--light);box-shadow:2px 0 0 0 var(--md-code-hl-color) inset;display:block;margin:0 -1.1764705882em;padding:0 1.1764705882em}.highlight span.filename{background-color:var(--md-code-bg-color);border-bottom:.05rem solid var(--md-default-fg-color--lightest);border-top-left-radius:.1rem;border-top-right-radius:.1rem;display:flow-root;font-size:.85em;font-weight:700;margin-top:1em;padding:.6617647059em 1.1764705882em;position:relative}.highlight span.filename+pre{margin-top:0}.highlight span.filename+pre>code{border-top-left-radius:0;border-top-right-radius:0}.highlight [data-linenos]:before{background-color:var(--md-code-bg-color);box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset;color:var(--md-default-fg-color--light);content:attr(data-linenos);float:left;left:-1.1764705882em;margin-left:-1.1764705882em;margin-right:1.1764705882em;padding-left:1.1764705882em;position:sticky;-webkit-user-select:none;user-select:none;z-index:3}.highlight code a[id]{position:absolute;visibility:hidden}.highlight code[data-md-copying]{display:initial}.highlight code[data-md-copying] .hll{display:contents}.highlight code[data-md-copying] .md-annotation{display:none}.highlighttable{display:flow-root}.highlighttable tbody,.highlighttable td{display:block;padding:0}.highlighttable tr{display:flex}.highlighttable pre{margin:0}.highlighttable th.filename{flex-grow:1;padding:0;text-align:left}.highlighttable th.filename span.filename{margin-top:0}.highlighttable .linenos{background-color:var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-top-left-radius:.1rem;font-size:.85em;padding:.7720588235em 0 .7720588235em 1.1764705882em;-webkit-user-select:none;user-select:none}.highlighttable .linenodiv{box-shadow:-.05rem 0 var(--md-default-fg-color--lightest) inset}.highlighttable .linenodiv pre{color:var(--md-default-fg-color--light);text-align:right}.highlighttable .linenodiv span[class]{padding-right:.5882352941em}.highlighttable .code{flex:1;min-width:0}.linenodiv a{color:inherit}.md-typeset .highlighttable{direction:ltr;margin:1em 0}.md-typeset .highlighttable>tbody>tr>.code>div>pre>code{border-bottom-left-radius:0;border-top-left-radius:0}.md-typeset .highlight+.result{border:.05rem solid var(--md-code-bg-color);border-bottom-left-radius:.1rem;border-bottom-right-radius:.1rem;border-top-width:.1rem;margin-top:-1.125em;overflow:visible;padding:0 1em}.md-typeset .highlight+.result:after{clear:both;content:"";display:block}@media screen and (max-width:44.984375em){.md-content__inner>.highlight{margin:1em -.8rem}.md-content__inner>.highlight>.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.code>div>pre>code,.md-content__inner>.highlight>.highlighttable>tbody>tr>.filename span.filename,.md-content__inner>.highlight>.highlighttable>tbody>tr>.linenos,.md-content__inner>.highlight>pre>code{border-radius:0}.md-content__inner>.highlight+.result{border-left-width:0;border-radius:0;border-right-width:0;margin-left:-.8rem;margin-right:-.8rem}}.md-typeset .keys kbd:after,.md-typeset .keys kbd:before{-moz-osx-font-smoothing:initial;-webkit-font-smoothing:initial;color:inherit;margin:0;position:relative}.md-typeset .keys span{color:var(--md-default-fg-color--light);padding:0 .2em}.md-typeset .keys .key-alt:before,.md-typeset .keys .key-left-alt:before,.md-typeset .keys .key-right-alt:before{content:"⎇";padding-right:.4em}.md-typeset .keys .key-command:before,.md-typeset .keys .key-left-command:before,.md-typeset .keys .key-right-command:before{content:"⌘";padding-right:.4em}.md-typeset .keys .key-control:before,.md-typeset .keys .key-left-control:before,.md-typeset .keys .key-right-control:before{content:"⌃";padding-right:.4em}.md-typeset .keys .key-left-meta:before,.md-typeset .keys .key-meta:before,.md-typeset .keys .key-right-meta:before{content:"◆";padding-right:.4em}.md-typeset .keys .key-left-option:before,.md-typeset .keys .key-option:before,.md-typeset .keys .key-right-option:before{content:"⌥";padding-right:.4em}.md-typeset .keys .key-left-shift:before,.md-typeset .keys .key-right-shift:before,.md-typeset .keys .key-shift:before{content:"⇧";padding-right:.4em}.md-typeset .keys .key-left-super:before,.md-typeset .keys .key-right-super:before,.md-typeset .keys .key-super:before{content:"❖";padding-right:.4em}.md-typeset .keys .key-left-windows:before,.md-typeset .keys .key-right-windows:before,.md-typeset .keys .key-windows:before{content:"⊞";padding-right:.4em}.md-typeset .keys .key-arrow-down:before{content:"↓";padding-right:.4em}.md-typeset .keys .key-arrow-left:before{content:"←";padding-right:.4em}.md-typeset .keys .key-arrow-right:before{content:"→";padding-right:.4em}.md-typeset .keys .key-arrow-up:before{content:"↑";padding-right:.4em}.md-typeset .keys .key-backspace:before{content:"⌫";padding-right:.4em}.md-typeset .keys .key-backtab:before{content:"⇤";padding-right:.4em}.md-typeset .keys .key-caps-lock:before{content:"⇪";padding-right:.4em}.md-typeset .keys .key-clear:before{content:"⌧";padding-right:.4em}.md-typeset .keys .key-context-menu:before{content:"☰";padding-right:.4em}.md-typeset .keys .key-delete:before{content:"⌦";padding-right:.4em}.md-typeset .keys .key-eject:before{content:"⏏";padding-right:.4em}.md-typeset .keys .key-end:before{content:"⤓";padding-right:.4em}.md-typeset .keys .key-escape:before{content:"⎋";padding-right:.4em}.md-typeset .keys .key-home:before{content:"⤒";padding-right:.4em}.md-typeset .keys .key-insert:before{content:"⎀";padding-right:.4em}.md-typeset .keys .key-page-down:before{content:"⇟";padding-right:.4em}.md-typeset .keys .key-page-up:before{content:"⇞";padding-right:.4em}.md-typeset .keys .key-print-screen:before{content:"⎙";padding-right:.4em}.md-typeset .keys .key-tab:after{content:"⇥";padding-left:.4em}.md-typeset .keys .key-num-enter:after{content:"⌤";padding-left:.4em}.md-typeset .keys .key-enter:after{content:"⏎";padding-left:.4em}:root{--md-tabbed-icon--prev:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.41 16.58 10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.42Z"/></svg>');--md-tabbed-icon--next:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.59 16.58 13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.42Z"/></svg>')}.md-typeset .tabbed-set{border-radius:.1rem;display:flex;flex-flow:column wrap;margin:1em 0;position:relative}.md-typeset .tabbed-set>input{height:0;opacity:0;position:absolute;width:0}.md-typeset .tabbed-set>input:target{--md-scroll-offset:0.625em}.md-typeset .tabbed-set>input.focus-visible~.tabbed-labels:before{background-color:var(--md-accent-fg-color)}.md-typeset .tabbed-labels{-ms-overflow-style:none;box-shadow:0 -.05rem var(--md-default-fg-color--lightest) inset;display:flex;max-width:100%;overflow:auto;scrollbar-width:none}@media print{.md-typeset .tabbed-labels{display:contents}}@media screen{.js .md-typeset .tabbed-labels{position:relative}.js .md-typeset .tabbed-labels:before{background:var(--md-default-fg-color);bottom:0;content:"";display:block;height:2px;left:0;position:absolute;transform:translateX(var(--md-indicator-x));transition:width 225ms,background-color .25s,transform .25s;transition-timing-function:cubic-bezier(.4,0,.2,1);width:var(--md-indicator-width)}}.md-typeset .tabbed-labels::-webkit-scrollbar{display:none}.md-typeset .tabbed-labels>label{border-bottom:.1rem solid #0000;border-radius:.1rem .1rem 0 0;color:var(--md-default-fg-color--light);cursor:pointer;flex-shrink:0;font-size:.64rem;font-weight:700;padding:.78125em 1.25em .625em;scroll-margin-inline-start:1rem;transition:background-color .25s,color .25s;white-space:nowrap;width:auto}@media print{.md-typeset .tabbed-labels>label:first-child{order:1}.md-typeset .tabbed-labels>label:nth-child(2){order:2}.md-typeset .tabbed-labels>label:nth-child(3){order:3}.md-typeset .tabbed-labels>label:nth-child(4){order:4}.md-typeset .tabbed-labels>label:nth-child(5){order:5}.md-typeset .tabbed-labels>label:nth-child(6){order:6}.md-typeset .tabbed-labels>label:nth-child(7){order:7}.md-typeset .tabbed-labels>label:nth-child(8){order:8}.md-typeset .tabbed-labels>label:nth-child(9){order:9}.md-typeset .tabbed-labels>label:nth-child(10){order:10}.md-typeset .tabbed-labels>label:nth-child(11){order:11}.md-typeset .tabbed-labels>label:nth-child(12){order:12}.md-typeset .tabbed-labels>label:nth-child(13){order:13}.md-typeset .tabbed-labels>label:nth-child(14){order:14}.md-typeset .tabbed-labels>label:nth-child(15){order:15}.md-typeset .tabbed-labels>label:nth-child(16){order:16}.md-typeset .tabbed-labels>label:nth-child(17){order:17}.md-typeset .tabbed-labels>label:nth-child(18){order:18}.md-typeset .tabbed-labels>label:nth-child(19){order:19}.md-typeset .tabbed-labels>label:nth-child(20){order:20}}.md-typeset .tabbed-labels>label:hover{color:var(--md-default-fg-color)}.md-typeset .tabbed-labels>label>[href]:first-child{color:inherit}.md-typeset .tabbed-labels--linked>label{padding:0}.md-typeset .tabbed-labels--linked>label>a{display:block;padding:.78125em 1.25em .625em}.md-typeset .tabbed-content{width:100%}@media print{.md-typeset .tabbed-content{display:contents}}.md-typeset .tabbed-block{display:none}@media print{.md-typeset .tabbed-block{display:block}.md-typeset .tabbed-block:first-child{order:1}.md-typeset .tabbed-block:nth-child(2){order:2}.md-typeset .tabbed-block:nth-child(3){order:3}.md-typeset .tabbed-block:nth-child(4){order:4}.md-typeset .tabbed-block:nth-child(5){order:5}.md-typeset .tabbed-block:nth-child(6){order:6}.md-typeset .tabbed-block:nth-child(7){order:7}.md-typeset .tabbed-block:nth-child(8){order:8}.md-typeset .tabbed-block:nth-child(9){order:9}.md-typeset .tabbed-block:nth-child(10){order:10}.md-typeset .tabbed-block:nth-child(11){order:11}.md-typeset .tabbed-block:nth-child(12){order:12}.md-typeset .tabbed-block:nth-child(13){order:13}.md-typeset .tabbed-block:nth-child(14){order:14}.md-typeset .tabbed-block:nth-child(15){order:15}.md-typeset .tabbed-block:nth-child(16){order:16}.md-typeset .tabbed-block:nth-child(17){order:17}.md-typeset .tabbed-block:nth-child(18){order:18}.md-typeset .tabbed-block:nth-child(19){order:19}.md-typeset .tabbed-block:nth-child(20){order:20}}.md-typeset .tabbed-block>.highlight:first-child>pre,.md-typeset .tabbed-block>pre:first-child{margin:0}.md-typeset .tabbed-block>.highlight:first-child>pre>code,.md-typeset .tabbed-block>pre:first-child>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child>.filename{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable{margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.filename span.filename,.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.linenos{border-top-left-radius:0;border-top-right-radius:0;margin:0}.md-typeset .tabbed-block>.highlight:first-child>.highlighttable>tbody>tr>.code>div>pre>code{border-top-left-radius:0;border-top-right-radius:0}.md-typeset .tabbed-block>.highlight:first-child+.result{margin-top:-.125em}.md-typeset .tabbed-block>.tabbed-set{margin:0}.md-typeset .tabbed-button{align-self:center;border-radius:100%;color:var(--md-default-fg-color--light);cursor:pointer;display:block;height:.9rem;margin-top:.1rem;pointer-events:auto;transition:background-color .25s;width:.9rem}.md-typeset .tabbed-button:hover{background-color:var(--md-accent-fg-color--transparent);color:var(--md-accent-fg-color)}.md-typeset .tabbed-button:after{background-color:currentcolor;content:"";display:block;height:100%;-webkit-mask-image:var(--md-tabbed-icon--prev);mask-image:var(--md-tabbed-icon--prev);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;transition:background-color .25s,transform .25s;width:100%}.md-typeset .tabbed-control{background:linear-gradient(to right,var(--md-default-bg-color) 60%,#0000);display:flex;height:1.9rem;justify-content:start;pointer-events:none;position:absolute;transition:opacity 125ms;width:1.2rem}[dir=rtl] .md-typeset .tabbed-control{transform:rotate(180deg)}.md-typeset .tabbed-control[hidden]{opacity:0}.md-typeset .tabbed-control--next{background:linear-gradient(to left,var(--md-default-bg-color) 60%,#0000);justify-content:end;right:0}.md-typeset .tabbed-control--next .tabbed-button:after{-webkit-mask-image:var(--md-tabbed-icon--next);mask-image:var(--md-tabbed-icon--next)}@media screen and (max-width:44.984375em){[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels{padding-right:.8rem}.md-content__inner>.tabbed-set .tabbed-labels{margin:0 -.8rem;max-width:100vw;scroll-padding-inline-start:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels:after{padding-left:.8rem}.md-content__inner>.tabbed-set .tabbed-labels:after{content:""}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-left:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{padding-right:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-left:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{margin-right:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--prev{width:2rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-right:.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{padding-left:.8rem}[dir=ltr] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-right:-.8rem}[dir=rtl] .md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{margin-left:-.8rem}.md-content__inner>.tabbed-set .tabbed-labels~.tabbed-control--next{width:2rem}}@media screen{.md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){color:var(--md-default-fg-color)}.md-typeset .no-js .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset .no-js .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset .no-js .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset .no-js .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset .no-js .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset .no-js .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset .no-js .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset .no-js .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset .no-js .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset .no-js .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset .no-js .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset .no-js .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset .no-js .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset .no-js .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset .no-js .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset .no-js .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset .no-js .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset .no-js .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset .no-js .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset .no-js .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.md-typeset [role=dialog] .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.md-typeset [role=dialog] .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.md-typeset [role=dialog] .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.md-typeset [role=dialog] .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.md-typeset [role=dialog] .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.md-typeset [role=dialog] .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.md-typeset [role=dialog] .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.md-typeset [role=dialog] .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.md-typeset [role=dialog] .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.md-typeset [role=dialog] .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.md-typeset [role=dialog] .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.md-typeset [role=dialog] .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.md-typeset [role=dialog] .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.md-typeset [role=dialog] .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.md-typeset [role=dialog] .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.md-typeset [role=dialog] .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.md-typeset [role=dialog] .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.md-typeset [role=dialog] .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.md-typeset [role=dialog] .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.md-typeset [role=dialog] .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),.no-js .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,.no-js .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),.no-js .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),.no-js .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),.no-js .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),.no-js .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),.no-js .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),.no-js .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),.no-js .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),.no-js .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),.no-js .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),.no-js .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),.no-js .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),.no-js .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),.no-js .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),.no-js .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),.no-js .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),.no-js .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),.no-js .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),.no-js .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9),[role=dialog] .md-typeset .tabbed-set>input:first-child:checked~.tabbed-labels>:first-child,[role=dialog] .md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-labels>:nth-child(10),[role=dialog] .md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-labels>:nth-child(11),[role=dialog] .md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-labels>:nth-child(12),[role=dialog] .md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-labels>:nth-child(13),[role=dialog] .md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-labels>:nth-child(14),[role=dialog] .md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-labels>:nth-child(15),[role=dialog] .md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-labels>:nth-child(16),[role=dialog] .md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-labels>:nth-child(17),[role=dialog] .md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-labels>:nth-child(18),[role=dialog] .md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-labels>:nth-child(19),[role=dialog] .md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-labels>:nth-child(2),[role=dialog] .md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-labels>:nth-child(20),[role=dialog] .md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-labels>:nth-child(3),[role=dialog] .md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-labels>:nth-child(4),[role=dialog] .md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-labels>:nth-child(5),[role=dialog] .md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-labels>:nth-child(6),[role=dialog] .md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-labels>:nth-child(7),[role=dialog] .md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-labels>:nth-child(8),[role=dialog] .md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-labels>:nth-child(9){border-color:var(--md-default-fg-color)}}.md-typeset .tabbed-set>input:first-child.focus-visible~.tabbed-labels>:first-child,.md-typeset .tabbed-set>input:nth-child(10).focus-visible~.tabbed-labels>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11).focus-visible~.tabbed-labels>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12).focus-visible~.tabbed-labels>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13).focus-visible~.tabbed-labels>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14).focus-visible~.tabbed-labels>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15).focus-visible~.tabbed-labels>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16).focus-visible~.tabbed-labels>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17).focus-visible~.tabbed-labels>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18).focus-visible~.tabbed-labels>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19).focus-visible~.tabbed-labels>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2).focus-visible~.tabbed-labels>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20).focus-visible~.tabbed-labels>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3).focus-visible~.tabbed-labels>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4).focus-visible~.tabbed-labels>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5).focus-visible~.tabbed-labels>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6).focus-visible~.tabbed-labels>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7).focus-visible~.tabbed-labels>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8).focus-visible~.tabbed-labels>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9).focus-visible~.tabbed-labels>:nth-child(9){color:var(--md-accent-fg-color)}.md-typeset .tabbed-set>input:first-child:checked~.tabbed-content>:first-child,.md-typeset .tabbed-set>input:nth-child(10):checked~.tabbed-content>:nth-child(10),.md-typeset .tabbed-set>input:nth-child(11):checked~.tabbed-content>:nth-child(11),.md-typeset .tabbed-set>input:nth-child(12):checked~.tabbed-content>:nth-child(12),.md-typeset .tabbed-set>input:nth-child(13):checked~.tabbed-content>:nth-child(13),.md-typeset .tabbed-set>input:nth-child(14):checked~.tabbed-content>:nth-child(14),.md-typeset .tabbed-set>input:nth-child(15):checked~.tabbed-content>:nth-child(15),.md-typeset .tabbed-set>input:nth-child(16):checked~.tabbed-content>:nth-child(16),.md-typeset .tabbed-set>input:nth-child(17):checked~.tabbed-content>:nth-child(17),.md-typeset .tabbed-set>input:nth-child(18):checked~.tabbed-content>:nth-child(18),.md-typeset .tabbed-set>input:nth-child(19):checked~.tabbed-content>:nth-child(19),.md-typeset .tabbed-set>input:nth-child(2):checked~.tabbed-content>:nth-child(2),.md-typeset .tabbed-set>input:nth-child(20):checked~.tabbed-content>:nth-child(20),.md-typeset .tabbed-set>input:nth-child(3):checked~.tabbed-content>:nth-child(3),.md-typeset .tabbed-set>input:nth-child(4):checked~.tabbed-content>:nth-child(4),.md-typeset .tabbed-set>input:nth-child(5):checked~.tabbed-content>:nth-child(5),.md-typeset .tabbed-set>input:nth-child(6):checked~.tabbed-content>:nth-child(6),.md-typeset .tabbed-set>input:nth-child(7):checked~.tabbed-content>:nth-child(7),.md-typeset .tabbed-set>input:nth-child(8):checked~.tabbed-content>:nth-child(8),.md-typeset .tabbed-set>input:nth-child(9):checked~.tabbed-content>:nth-child(9){display:block}:root{--md-tasklist-icon:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>');--md-tasklist-icon--checked:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg>')}.md-typeset .task-list-item{list-style-type:none;position:relative}[dir=ltr] .md-typeset .task-list-item [type=checkbox]{left:-2em}[dir=rtl] .md-typeset .task-list-item [type=checkbox]{right:-2em}.md-typeset .task-list-item [type=checkbox]{position:absolute;top:.45em}.md-typeset .task-list-control [type=checkbox]{opacity:0;z-index:-1}[dir=ltr] .md-typeset .task-list-indicator:before{left:-1.5em}[dir=rtl] .md-typeset .task-list-indicator:before{right:-1.5em}.md-typeset .task-list-indicator:before{background-color:var(--md-default-fg-color--lightest);content:"";height:1.25em;-webkit-mask-image:var(--md-tasklist-icon);mask-image:var(--md-tasklist-icon);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;position:absolute;top:.15em;width:1.25em}.md-typeset [type=checkbox]:checked+.task-list-indicator:before{background-color:#00e676;-webkit-mask-image:var(--md-tasklist-icon--checked);mask-image:var(--md-tasklist-icon--checked)}:root>*{--md-mermaid-font-family:var(--md-text-font-family),sans-serif;--md-mermaid-edge-color:var(--md-code-fg-color);--md-mermaid-node-bg-color:var(--md-accent-fg-color--transparent);--md-mermaid-node-fg-color:var(--md-accent-fg-color);--md-mermaid-label-bg-color:var(--md-default-bg-color);--md-mermaid-label-fg-color:var(--md-code-fg-color);--md-mermaid-sequence-actor-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actor-fg-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-actor-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-actor-line-color:var(--md-default-fg-color--lighter);--md-mermaid-sequence-actorman-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-actorman-line-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-box-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-box-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-label-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-label-fg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-loop-bg-color:var(--md-mermaid-node-bg-color);--md-mermaid-sequence-loop-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-loop-border-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-message-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-message-line-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-bg-color:var(--md-mermaid-label-bg-color);--md-mermaid-sequence-note-fg-color:var(--md-mermaid-edge-color);--md-mermaid-sequence-note-border-color:var(--md-mermaid-label-fg-color);--md-mermaid-sequence-number-bg-color:var(--md-mermaid-node-fg-color);--md-mermaid-sequence-number-fg-color:var(--md-accent-bg-color)}.mermaid{line-height:normal;margin:1em 0}.md-typeset .grid{grid-gap:.4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr));margin:1em 0}.md-typeset .grid.cards>ol,.md-typeset .grid.cards>ul{display:contents}.md-typeset .grid.cards>ol>li,.md-typeset .grid.cards>ul>li,.md-typeset .grid>.card{border:.05rem solid var(--md-default-fg-color--lightest);border-radius:.1rem;display:block;margin:0;padding:.8rem;transition:border .25s,box-shadow .25s}.md-typeset .grid.cards>ol>li:focus-within,.md-typeset .grid.cards>ol>li:hover,.md-typeset .grid.cards>ul>li:focus-within,.md-typeset .grid.cards>ul>li:hover,.md-typeset .grid>.card:focus-within,.md-typeset .grid>.card:hover{border-color:#0000;box-shadow:var(--md-shadow-z2)}.md-typeset .grid.cards>ol>li>hr,.md-typeset .grid.cards>ul>li>hr,.md-typeset .grid>.card>hr{margin-bottom:1em;margin-top:1em}.md-typeset .grid.cards>ol>li>:first-child,.md-typeset .grid.cards>ul>li>:first-child,.md-typeset .grid>.card>:first-child{margin-top:0}.md-typeset .grid.cards>ol>li>:last-child,.md-typeset .grid.cards>ul>li>:last-child,.md-typeset .grid>.card>:last-child{margin-bottom:0}.md-typeset .grid>*,.md-typeset .grid>.admonition,.md-typeset .grid>.highlight>*,.md-typeset .grid>.highlighttable,.md-typeset .grid>.md-typeset details,.md-typeset .grid>details,.md-typeset .grid>pre{margin-bottom:0;margin-top:0}.md-typeset .grid>.highlight>pre:only-child,.md-typeset .grid>.highlight>pre>code,.md-typeset .grid>.highlighttable,.md-typeset .grid>.highlighttable>tbody,.md-typeset .grid>.highlighttable>tbody>tr,.md-typeset .grid>.highlighttable>tbody>tr>.code,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre,.md-typeset .grid>.highlighttable>tbody>tr>.code>.highlight>pre>code{height:100%}.md-typeset .grid>.tabbed-set{margin-bottom:0;margin-top:0}@media screen and (min-width:45em){[dir=ltr] .md-typeset .inline{float:left}[dir=rtl] .md-typeset .inline{float:right}[dir=ltr] .md-typeset .inline{margin-right:.8rem}[dir=rtl] .md-typeset .inline{margin-left:.8rem}.md-typeset .inline{margin-bottom:.8rem;margin-top:0;width:11.7rem}[dir=ltr] .md-typeset .inline.end{float:right}[dir=rtl] .md-typeset .inline.end{float:left}[dir=ltr] .md-typeset .inline.end{margin-left:.8rem;margin-right:0}[dir=rtl] .md-typeset .inline.end{margin-left:0;margin-right:.8rem}} \ No newline at end of file diff --git a/changelog/index.html b/changelog/index.html index 6e4a2b49..8412bc3e 100644 --- a/changelog/index.html +++ b/changelog/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/changelog/ rel=canonical><link rel=prev href=..><link href=../credits/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Changelog - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#changelog class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Changelog </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Changelog </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#1107-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.7 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.7 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1106-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.6 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.6 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1105-2024-06-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.5 - 2024-06-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.5 - 2024-06-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1104-2024-06-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.4 - 2024-06-18 </span> </span> </a> <nav class=md-nav aria-label="1.10.4 - 2024-06-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1103-2024-05-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.3 - 2024-05-22 </span> </span> </a> <nav class=md-nav aria-label="1.10.3 - 2024-05-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1102-2024-05-16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.2 - 2024-05-16 </span> </span> </a> <nav class=md-nav aria-label="1.10.2 - 2024-05-16"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1101-2024-05-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.1 - 2024-05-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.1 - 2024-05-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1100-2024-04-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.0 - 2024-04-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.0 - 2024-04-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#192-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.2 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.2 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#191-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.1 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.1 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#190-2024-03-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.0 - 2024-03-13 </span> </span> </a> <nav class=md-nav aria-label="1.9.0 - 2024-03-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#180-2024-01-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 - 2024-01-08 </span> </span> </a> <nav class=md-nav aria-label="1.8.0 - 2024-01-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#175-2023-11-21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.5 - 2023-11-21 </span> </span> </a> <nav class=md-nav aria-label="1.7.5 - 2023-11-21"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#174-2023-11-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.4 - 2023-11-12 </span> </span> </a> <nav class=md-nav aria-label="1.7.4 - 2023-11-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#173-2023-10-09 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.3 - 2023-10-09 </span> </span> </a> <nav class=md-nav aria-label="1.7.3 - 2023-10-09"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#172-2023-10-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.2 - 2023-10-05 </span> </span> </a> <nav class=md-nav aria-label="1.7.2 - 2023-10-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#171-2023-09-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.1 - 2023-09-28 </span> </span> </a> <nav class=md-nav aria-label="1.7.1 - 2023-09-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#170-2023-09-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 - 2023-09-14 </span> </span> </a> <nav class=md-nav aria-label="1.7.0 - 2023-09-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#163-2023-09-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.3 - 2023-09-11 </span> </span> </a> <nav class=md-nav aria-label="1.6.3 - 2023-09-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#162-2023-09-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.2 - 2023-09-05 </span> </span> </a> <nav class=md-nav aria-label="1.6.2 - 2023-09-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#161-2023-09-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.1 - 2023-09-04 </span> </span> </a> <nav class=md-nav aria-label="1.6.1 - 2023-09-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#160-2023-08-27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 - 2023-08-27 </span> </span> </a> <nav class=md-nav aria-label="1.6.0 - 2023-08-27"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#152-2023-08-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.2 - 2023-08-25 </span> </span> </a> <nav class=md-nav aria-label="1.5.2 - 2023-08-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#151-2023-08-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 - 2023-08-24 </span> </span> </a> <nav class=md-nav aria-label="1.5.1 - 2023-08-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#150-2023-08-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 - 2023-08-20 </span> </span> </a> <nav class=md-nav aria-label="1.5.0 - 2023-08-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#140-2023-08-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 - 2023-08-18 </span> </span> </a> <nav class=md-nav aria-label="1.4.0 - 2023-08-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#130-2023-08-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 - 2023-08-06 </span> </span> </a> <nav class=md-nav aria-label="1.3.0 - 2023-08-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#121-2023-07-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.1 - 2023-07-20 </span> </span> </a> <nav class=md-nav aria-label="1.2.1 - 2023-07-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#120-2023-07-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 - 2023-07-14 </span> </span> </a> <nav class=md-nav aria-label="1.2.0 - 2023-07-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#112-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.2 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#111-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.1 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#110-2023-05-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 - 2023-05-25 </span> </span> </a> <nav class=md-nav aria-label="1.1.0 - 2023-05-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#100-2023-05-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 - 2023-05-11 </span> </span> </a> <nav class=md-nav aria-label="1.0.0 - 2023-05-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#breaking-changes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Breaking changes </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0101-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.1 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.1 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0100-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.0 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.0 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#090-2023-04-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.9.0 - 2023-04-03 </span> </span> </a> <nav class=md-nav aria-label="0.9.0 - 2023-04-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#083-2023-01-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.3 - 2023-01-04 </span> </span> </a> <nav class=md-nav aria-label="0.8.3 - 2023-01-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#082-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.2 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.2 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#081-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.1 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.1 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#080-2022-11-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.0 - 2022-11-13 </span> </span> </a> <nav class=md-nav aria-label="0.8.0 - 2022-11-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#071-2022-06-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.1 - 2022-06-12 </span> </span> </a> <nav class=md-nav aria-label="0.7.1 - 2022-06-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#070-2022-05-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.0 - 2022-05-28 </span> </span> </a> <nav class=md-nav aria-label="0.7.0 - 2022-05-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging / Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#066-2022-03-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.6 - 2022-03-06 </span> </span> </a> <nav class=md-nav aria-label="0.6.6 - 2022-03-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#065-2022-02-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.5 - 2022-02-24 </span> </span> </a> <nav class=md-nav aria-label="0.6.5 - 2022-02-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#064-2022-02-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.4 - 2022-02-22 </span> </span> </a> <nav class=md-nav aria-label="0.6.4 - 2022-02-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#063-2022-02-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.3 - 2022-02-20 </span> </span> </a> <nav class=md-nav aria-label="0.6.3 - 2022-02-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#062-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.2 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.2 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_29 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#061-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.1 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.1 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_30 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#060-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.0 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.6.0 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_31 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#054-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.4 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.5.4 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_32 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#053-2022-02-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.3 - 2022-02-08 </span> </span> </a> <nav class=md-nav aria-label="0.5.3 - 2022-02-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_33 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#052-2022-02-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.2 - 2022-02-05 </span> </span> </a> <nav class=md-nav aria-label="0.5.2 - 2022-02-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#051-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.1 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.1 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#050-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.0 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.0 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_34 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#041-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.1 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.1 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_35 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#040-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.0 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.0 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#030-2022-01-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.3.0 - 2022-01-14 </span> </span> </a> <nav class=md-nav aria-label="0.3.0 - 2022-01-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#dependencies_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#020-2021-12-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.2.0 - 2021-12-28 </span> </span> </a> <nav class=md-nav aria-label="0.2.0 - 2021-12-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_36 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#010-2021-12-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.1.0 - 2021-12-19 </span> </span> </a> <nav class=md-nav aria-label="0.1.0 - 2021-12-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_37 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#1107-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.7 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.7 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1106-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.6 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.6 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1105-2024-06-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.5 - 2024-06-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.5 - 2024-06-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1104-2024-06-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.4 - 2024-06-18 </span> </span> </a> <nav class=md-nav aria-label="1.10.4 - 2024-06-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1103-2024-05-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.3 - 2024-05-22 </span> </span> </a> <nav class=md-nav aria-label="1.10.3 - 2024-05-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1102-2024-05-16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.2 - 2024-05-16 </span> </span> </a> <nav class=md-nav aria-label="1.10.2 - 2024-05-16"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1101-2024-05-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.1 - 2024-05-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.1 - 2024-05-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1100-2024-04-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.0 - 2024-04-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.0 - 2024-04-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#192-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.2 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.2 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#191-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.1 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.1 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#190-2024-03-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.0 - 2024-03-13 </span> </span> </a> <nav class=md-nav aria-label="1.9.0 - 2024-03-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#180-2024-01-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 - 2024-01-08 </span> </span> </a> <nav class=md-nav aria-label="1.8.0 - 2024-01-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#175-2023-11-21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.5 - 2023-11-21 </span> </span> </a> <nav class=md-nav aria-label="1.7.5 - 2023-11-21"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#174-2023-11-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.4 - 2023-11-12 </span> </span> </a> <nav class=md-nav aria-label="1.7.4 - 2023-11-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#173-2023-10-09 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.3 - 2023-10-09 </span> </span> </a> <nav class=md-nav aria-label="1.7.3 - 2023-10-09"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#172-2023-10-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.2 - 2023-10-05 </span> </span> </a> <nav class=md-nav aria-label="1.7.2 - 2023-10-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#171-2023-09-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.1 - 2023-09-28 </span> </span> </a> <nav class=md-nav aria-label="1.7.1 - 2023-09-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#170-2023-09-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 - 2023-09-14 </span> </span> </a> <nav class=md-nav aria-label="1.7.0 - 2023-09-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#163-2023-09-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.3 - 2023-09-11 </span> </span> </a> <nav class=md-nav aria-label="1.6.3 - 2023-09-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#162-2023-09-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.2 - 2023-09-05 </span> </span> </a> <nav class=md-nav aria-label="1.6.2 - 2023-09-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#161-2023-09-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.1 - 2023-09-04 </span> </span> </a> <nav class=md-nav aria-label="1.6.1 - 2023-09-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#160-2023-08-27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 - 2023-08-27 </span> </span> </a> <nav class=md-nav aria-label="1.6.0 - 2023-08-27"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#152-2023-08-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.2 - 2023-08-25 </span> </span> </a> <nav class=md-nav aria-label="1.5.2 - 2023-08-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#151-2023-08-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 - 2023-08-24 </span> </span> </a> <nav class=md-nav aria-label="1.5.1 - 2023-08-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#150-2023-08-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 - 2023-08-20 </span> </span> </a> <nav class=md-nav aria-label="1.5.0 - 2023-08-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#140-2023-08-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 - 2023-08-18 </span> </span> </a> <nav class=md-nav aria-label="1.4.0 - 2023-08-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#130-2023-08-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 - 2023-08-06 </span> </span> </a> <nav class=md-nav aria-label="1.3.0 - 2023-08-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#121-2023-07-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.1 - 2023-07-20 </span> </span> </a> <nav class=md-nav aria-label="1.2.1 - 2023-07-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#120-2023-07-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 - 2023-07-14 </span> </span> </a> <nav class=md-nav aria-label="1.2.0 - 2023-07-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#112-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.2 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#111-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.1 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#110-2023-05-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 - 2023-05-25 </span> </span> </a> <nav class=md-nav aria-label="1.1.0 - 2023-05-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#100-2023-05-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 - 2023-05-11 </span> </span> </a> <nav class=md-nav aria-label="1.0.0 - 2023-05-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#breaking-changes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Breaking changes </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0101-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.1 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.1 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0100-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.0 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.0 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#090-2023-04-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.9.0 - 2023-04-03 </span> </span> </a> <nav class=md-nav aria-label="0.9.0 - 2023-04-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#083-2023-01-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.3 - 2023-01-04 </span> </span> </a> <nav class=md-nav aria-label="0.8.3 - 2023-01-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#082-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.2 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.2 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#081-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.1 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.1 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#080-2022-11-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.0 - 2022-11-13 </span> </span> </a> <nav class=md-nav aria-label="0.8.0 - 2022-11-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#071-2022-06-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.1 - 2022-06-12 </span> </span> </a> <nav class=md-nav aria-label="0.7.1 - 2022-06-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#070-2022-05-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.0 - 2022-05-28 </span> </span> </a> <nav class=md-nav aria-label="0.7.0 - 2022-05-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging / Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#066-2022-03-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.6 - 2022-03-06 </span> </span> </a> <nav class=md-nav aria-label="0.6.6 - 2022-03-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#065-2022-02-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.5 - 2022-02-24 </span> </span> </a> <nav class=md-nav aria-label="0.6.5 - 2022-02-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#064-2022-02-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.4 - 2022-02-22 </span> </span> </a> <nav class=md-nav aria-label="0.6.4 - 2022-02-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#063-2022-02-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.3 - 2022-02-20 </span> </span> </a> <nav class=md-nav aria-label="0.6.3 - 2022-02-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#062-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.2 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.2 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_29 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#061-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.1 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.1 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_30 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#060-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.0 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.6.0 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_31 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#054-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.4 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.5.4 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_32 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#053-2022-02-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.3 - 2022-02-08 </span> </span> </a> <nav class=md-nav aria-label="0.5.3 - 2022-02-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_33 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#052-2022-02-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.2 - 2022-02-05 </span> </span> </a> <nav class=md-nav aria-label="0.5.2 - 2022-02-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#051-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.1 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.1 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#050-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.0 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.0 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_34 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#041-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.1 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.1 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_35 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#040-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.0 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.0 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#030-2022-01-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.3.0 - 2022-01-14 </span> </span> </a> <nav class=md-nav aria-label="0.3.0 - 2022-01-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#dependencies_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#020-2021-12-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.2.0 - 2021-12-28 </span> </span> </a> <nav class=md-nav aria-label="0.2.0 - 2021-12-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_36 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#010-2021-12-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.1.0 - 2021-12-19 </span> </span> </a> <nav class=md-nav aria-label="0.1.0 - 2021-12-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_37 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/changelog.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/changelog.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=changelog>Changelog<a class=headerlink href=#changelog title="Permanent link">¤</a></h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href=http://keepachangelog.com/en/1.0.0/ >Keep a Changelog</a> and this project adheres to <a href=http://semver.org/spec/v2.0.0.html>Semantic Versioning</a>.</p> <!-- insertion marker --> <h2 id=1107-2024-07-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.7>1.10.7</a> - 2024-07-25<a class=headerlink href=#1107-2024-07-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.6...1.10.7>Compare with 1.10.6</a></small></p> <h3 id=packaging>Packaging<a class=headerlink href=#packaging title="Permanent link">¤</a></h3> <ul> <li>Include tests and all relevant files for downstream packaging in source distribution</li> </ul> <h2 id=1106-2024-07-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.6>1.10.6</a> - 2024-07-25<a class=headerlink href=#1106-2024-07-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.5...1.10.6>Compare with 1.10.5</a></small></p> <h3 id=bug-fixes>Bug Fixes<a class=headerlink href=#bug-fixes title="Permanent link">¤</a></h3> <ul> <li>Fix condition to display members (check all members, not just non-inherited ones) (<a href=https://github.com/mkdocstrings/python/commit/3d838a96f77fa128cd6f2afa5ed0cb151ab225fd>3d838a9</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring>Code Refactoring<a class=headerlink href=#code-refactoring title="Permanent link">¤</a></h3> <ul> <li>Update code for Griffe 0.48 (removing deprecation warnings) (<a href=https://github.com/mkdocstrings/python/commit/eff10ccf0fa1b2e73df912048a15c2d6406a2c8b>eff10cc</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/173>Issue-173</a></li> </ul> <h2 id=1105-2024-06-19><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.5>1.10.5</a> - 2024-06-19<a class=headerlink href=#1105-2024-06-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.4...1.10.5>Compare with 1.10.4</a></small></p> <h3 id=bug-fixes_1>Bug Fixes<a class=headerlink href=#bug-fixes_1 title="Permanent link">¤</a></h3> <ul> <li>Mix both previous checks for displaying objects: not imported or public (<a href=https://github.com/mkdocstrings/python/commit/587963ba53f765c9d7eefbc2fb80bdbb11164850>587963b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/294>Issue-294</a></li> </ul> <h2 id=1104-2024-06-18><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.4>1.10.4</a> - 2024-06-18<a class=headerlink href=#1104-2024-06-18 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.3...1.10.4>Compare with 1.10.3</a></small></p> <h3 id=code-refactoring_1>Code Refactoring<a class=headerlink href=#code-refactoring_1 title="Permanent link">¤</a></h3> <ul> <li>Only filter out imported objects instead of non-public ones after applying filters (<a href=https://github.com/mkdocstrings/python/commit/e2f4b35d29eca6f68afbd2e728ef7542a2abc992>e2f4b35</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/294>Issue-mkdocstrings/griffe-294</a></li> <li>Update code for Griffe 0.46 to avoid deprecation warnings (<a href=https://github.com/mkdocstrings/python/commit/321b407eb95195c44f3cf34d780784e0d6751998>321b407</a> by Timothée Mazzucotelli).</li> <li>Change <code>load_external_modules</code> default value to <code>None</code> to support new default mode in Griffe (<a href=https://github.com/mkdocstrings/python/commit/ae5896c1604e9089162d0d63ec97a510a6bcef89>ae5896c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=1103-2024-05-22><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.3>1.10.3</a> - 2024-05-22<a class=headerlink href=#1103-2024-05-22 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.2...1.10.3>Compare with 1.10.2</a></small></p> <h3 id=bug-fixes_2>Bug Fixes<a class=headerlink href=#bug-fixes_2 title="Permanent link">¤</a></h3> <ul> <li>Don't crash when rendering the source of an object whose lineno is none (<a href=https://github.com/mkdocstrings/python/commit/64df00b9b757e9642d65cf425d32f5a2e0d75f38>64df00b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/163>Issue-163</a></li> </ul> <h2 id=1102-2024-05-16><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.2>1.10.2</a> - 2024-05-16<a class=headerlink href=#1102-2024-05-16 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.1...1.10.2>Compare with 1.10.1</a></small></p> <h3 id=bug-fixes_3>Bug Fixes<a class=headerlink href=#bug-fixes_3 title="Permanent link">¤</a></h3> <ul> <li>Actually make use of custom .html.jinja templates (<a href=https://github.com/mkdocstrings/python/commit/5668abba15b13b86fe67f70f6b4004b7b1feeb4f>5668abb</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=1101-2024-05-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.1>1.10.1</a> - 2024-05-14<a class=headerlink href=#1101-2024-05-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.0...1.10.1>Compare with 1.10.0</a></small></p> <h3 id=build>Build<a class=headerlink href=#build title="Permanent link">¤</a></h3> <ul> <li>Depend on mkdocstrings 0.25 which adds support for parameter <code>once</code> when logging messages (<a href=https://github.com/mkdocstrings/python/commit/2bc156bd6f231ae13066651f4490d1e9c2ce3ca2>2bc156b</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_2>Code Refactoring<a class=headerlink href=#code-refactoring_2 title="Permanent link">¤</a></h3> <ul> <li>Set handler's name (<a href=https://github.com/mkdocstrings/python/commit/a71ab12c8e52efe76e5c0a5e54065926a47cc0d2>a71ab12</a> by Timothée Mazzucotelli).</li> <li>Update <code>*.html</code> top-level templates to extend the <code>*.html.jinja</code> base templates (<a href=https://github.com/mkdocstrings/python/commit/a8c540e95693e8500da884c32ad159b3bbaaa7ba>a8c540e</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Update <code>*.html</code> base templates to extend their <code>*.html.jinja</code> counterpart, while overriding the <code>logs</code> block to issue a logging message (info) stating that extending <code>*.html</code> templates is deprecated (<a href=https://github.com/mkdocstrings/python/commit/e6f1b9caf13754eca9dbb2f112727bef50876ed7>e6f1b9c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Add <code>*.html.jinja</code> top-level (overridable) templates, extending their base counterpart (<a href=https://github.com/mkdocstrings/python/commit/7c14924c406d7b5f4f1c22d03019d4c566018d2d>7c14924</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Add <code>*.html.jinja</code> base templates, which are copies of <code>*.html</code> templates, with an additional <code>logs</code> block, and using the updated <code>get_template</code> filter (<a href=https://github.com/mkdocstrings/python/commit/eced9a54fc8a559b686cb1b1180a0d2e04ba452d>eced9a5</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Update <code>get_template</code> filter to support both <code>*.html</code> and <code>*.html.jinja</code> templates, logging a message (info) when <code>*.html</code> templates are overridden by users (<a href=https://github.com/mkdocstrings/python/commit/3546fd70b2d4e45f77b166b2e67c333acc8af0d2>3546fd7</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Log a warning when base templates are overridden (<a href=https://github.com/mkdocstrings/python/commit/26e3d66f5334a5aaff75bda030afe6dfa1cc94d7>26e3d66</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> </ul> <h2 id=1100-2024-04-19><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.0>1.10.0</a> - 2024-04-19<a class=headerlink href=#1100-2024-04-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.2...1.10.0>Compare with 1.9.2</a></small></p> <h3 id=features>Features<a class=headerlink href=#features title="Permanent link">¤</a></h3> <ul> <li>Add CSS classes <code>doc-section-title</code> and <code>doc-section-item</code> in docstring sections (<a href=https://github.com/mkdocstrings/python/commit/d6e1d68c099e61c3bd6d93e583708335d84158f5>d6e1d68</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/17>Issue-17</a></li> </ul> <h3 id=bug-fixes_4>Bug Fixes<a class=headerlink href=#bug-fixes_4 title="Permanent link">¤</a></h3> <ul> <li>Render enumeration instance name instead of just "value", allowing proper cross-reference (<a href=https://github.com/mkdocstrings/python/commit/11d81d8e056b7c074eb3a1c47606867156a338fa>11d81d8</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/124>Issue-124</a></li> </ul> <h2 id=192-2024-04-02><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.2>1.9.2</a> - 2024-04-02<a class=headerlink href=#192-2024-04-02 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.1...1.9.2>Compare with 1.9.1</a></small></p> <h3 id=dependencies>Dependencies<a class=headerlink href=#dependencies title="Permanent link">¤</a></h3> <ul> <li>Remove cap on Python-Markdown 3.6 now that <abbr title="Table of Contents">ToC</abbr> labels are fixed by mkdocstrings (<a href=https://github.com/mkdocstrings/python/commit/0c1e2c15b2497d99974cbb9bd68f25056bb8451b>0c1e2c1</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=191-2024-04-02><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.1>1.9.1</a> - 2024-04-02<a class=headerlink href=#191-2024-04-02 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.0...1.9.1>Compare with 1.9.0</a></small></p> <h3 id=bug-fixes_5>Bug Fixes<a class=headerlink href=#bug-fixes_5 title="Permanent link">¤</a></h3> <ul> <li>Don't try loading packages from relative paths (<a href=https://github.com/mkdocstrings/python/commit/bd7349714059afb1295e743dbc82380fa797a032>bd73497</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/145>Issue-145</a></li> </ul> <h3 id=code-refactoring_3>Code Refactoring<a class=headerlink href=#code-refactoring_3 title="Permanent link">¤</a></h3> <ul> <li>Allow first name in a separate signature to be highlighted as a function name (<a href=https://github.com/mkdocstrings/python/commit/f798a1e19dbac548420dcbe1172e9a49232b615b>f798a1e</a> by Timothée Mazzucotelli).</li> <li>Maintain original Pygments color for cross-refs in signatures (<a href=https://github.com/mkdocstrings/python/commit/7c8b885fa2b704e719016acb35791723ea3a496a>7c8b885</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=190-2024-03-13><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.0>1.9.0</a> - 2024-03-13<a class=headerlink href=#190-2024-03-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.8.0...1.9.0>Compare with 1.8.0</a></small></p> <h3 id=dependencies_1>Dependencies<a class=headerlink href=#dependencies_1 title="Permanent link">¤</a></h3> <ul> <li>Add upper bound on Python-Markdown 3.6 to temporarily prevent breaking changes (<a href=https://github.com/mkdocstrings/python/commit/cd93ee31418a2752667d43bb5a05d22284522c24>cd93ee3</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_1>Features<a class=headerlink href=#features_1 title="Permanent link">¤</a></h3> <ul> <li>Add <code>show_labels</code> option to show/hide labels (<a href=https://github.com/mkdocstrings/python/commit/eaf9b8240069f7369f401fe048892043c8b173d3>eaf9b82</a> by Viicos). <a href=https://github.com/mkdocstrings/python/issues/120>Issue #120</a>, <a href=https://github.com/mkdocstrings/python/pull/130>PR #130</a></li> <li>Add option to search for stubs packages (<a href=https://github.com/mkdocstrings/python/commit/0c6aa323c9e57b8348765a5daa11c79d0c5edb07>0c6aa32</a> by Romain). <a href=https://github.com/mkdocstrings/python/pull/128>PR #128</a>, PR griffe#221: : <a href=https://github.com/mkdocstrings/griffe/pull/221>https://github.com/mkdocstrings/griffe/pull/221</a></li> </ul> <h3 id=code-refactoring_4>Code Refactoring<a class=headerlink href=#code-refactoring_4 title="Permanent link">¤</a></h3> <ul> <li>Mark all Jinja blocks as scoped (<a href=https://github.com/mkdocstrings/python/commit/548bdaddd66ffc99b3b9a5a62228a2ff4ff0dd00>548bdad</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=180-2024-01-08><a href=https://github.com/mkdocstrings/python/releases/tag/1.8.0>1.8.0</a> - 2024-01-08<a class=headerlink href=#180-2024-01-08 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.5...1.8.0>Compare with 1.7.5</a></small></p> <h3 id=features_2>Features<a class=headerlink href=#features_2 title="Permanent link">¤</a></h3> <ul> <li> <p>Release Insiders features of the $500/month funding goal (<a href=https://github.com/mkdocstrings/python/commit/bd301061fe9c647f9b91c2c9b4baa784c304eca7>bd30106</a> by Timothée Mazzucotelli). The features and projects related to <em>mkdocstrings-python</em> are:</p> <ul> <li><a href=https://mkdocstrings.github.io/python/usage/configuration/signatures/#signature_crossrefs>Cross-references for type annotations in signatures</a></li> <li><a href=https://mkdocstrings.github.io/python/usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a></li> <li><a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ ><code>griffe-inherited-docstrings</code></a>, a Griffe extension for inheriting docstrings</li> <li><a href=https://mkdocstrings.github.io/griffe2md/ ><code>griffe2md</code></a>, a tool to output API docs to Markdown using Griffe</li> </ul> <p>See the complete list of features and projects here: <a href=https://pawamoy.github.io/insiders/#500-plasmavac-user-guide>https://pawamoy.github.io/insiders/#500-plasmavac-user-guide</a>.</p> </li> </ul> <h2 id=175-2023-11-21><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.5>1.7.5</a> - 2023-11-21<a class=headerlink href=#175-2023-11-21 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.4...1.7.5>Compare with 1.7.4</a></small></p> <h3 id=bug-fixes_6>Bug Fixes<a class=headerlink href=#bug-fixes_6 title="Permanent link">¤</a></h3> <ul> <li>Add missing translations (fallback theme) for ReadTheDocs (<a href=https://github.com/mkdocstrings/python/commit/2fb651304d0a80fa9d6a8c77c16b3004bda22972>2fb6513</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/115>Issue #115</a></li> </ul> <h2 id=174-2023-11-12><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.4>1.7.4</a> - 2023-11-12<a class=headerlink href=#174-2023-11-12 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.3...1.7.4>Compare with 1.7.3</a></small></p> <h3 id=bug-fixes_7>Bug Fixes<a class=headerlink href=#bug-fixes_7 title="Permanent link">¤</a></h3> <ul> <li>Make extension paths relative to config file (<a href=https://github.com/mkdocstrings/python/commit/5035e9269fe11664fd25e438ac8f746721b3de0a>5035e92</a> by Waylan Limberg). <a href=https://github.com/mkdocstrings/python/pull/112>PR #112</a>, Co-authored-by: Timothée Mazzucotelli <a href=mailto:pawamoy@pm.me>pawamoy@pm.me</a></li> </ul> <h3 id=code-refactoring_5>Code Refactoring<a class=headerlink href=#code-refactoring_5 title="Permanent link">¤</a></h3> <ul> <li>Prepare for Griffe 0.37 (<a href=https://github.com/mkdocstrings/python/commit/b5bb8a982e7a2ec97c73335e453d0033bf4987b6>b5bb8a9</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=173-2023-10-09><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.3>1.7.3</a> - 2023-10-09<a class=headerlink href=#173-2023-10-09 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.2...1.7.3>Compare with 1.7.2</a></small></p> <h3 id=bug-fixes_8>Bug Fixes<a class=headerlink href=#bug-fixes_8 title="Permanent link">¤</a></h3> <ul> <li>Don't deepcopy the local config (<a href=https://github.com/mkdocstrings/python/commit/1300d2c77dd49f5dea459ad844d72edcc856c4cd>1300d2c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=172-2023-10-05><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.2>1.7.2</a> - 2023-10-05<a class=headerlink href=#172-2023-10-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.1...1.7.2>Compare with 1.7.1</a></small></p> <h3 id=bug-fixes_9>Bug Fixes<a class=headerlink href=#bug-fixes_9 title="Permanent link">¤</a></h3> <ul> <li>Prevent alias resolution error when source-ordering members (<a href=https://github.com/mkdocstrings/python/commit/67df10cbb86225e1e3efc251325cbff883a1ef3c>67df10c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/213>Issue griffe#213</a></li> </ul> <h3 id=code-refactoring_6>Code Refactoring<a class=headerlink href=#code-refactoring_6 title="Permanent link">¤</a></h3> <ul> <li>Use package relative filepath if filepath is not relative (<a href=https://github.com/mkdocstrings/python/commit/aa5a3f7b0928498ba9da10ed1211d1e55b7f6c4b>aa5a3f7</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/discussions/622>Discussion mkdocstrings#622</a></li> </ul> <h2 id=171-2023-09-28><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.1>1.7.1</a> - 2023-09-28<a class=headerlink href=#171-2023-09-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.0...1.7.1>Compare with 1.7.0</a></small></p> <h3 id=bug-fixes_10>Bug Fixes<a class=headerlink href=#bug-fixes_10 title="Permanent link">¤</a></h3> <ul> <li>Stop propagation of annotation to next parameter in signature template (<a href=https://github.com/mkdocstrings/python/commit/3a760acacfabaef5abc658ee579e1c205e674994>3a760ac</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/110>Issue #110</a></li> </ul> <h3 id=code-refactoring_7>Code Refactoring<a class=headerlink href=#code-refactoring_7 title="Permanent link">¤</a></h3> <ul> <li>Look into inherited members for <code>__init__</code> methods when merging docstrings (<a href=https://github.com/mkdocstrings/python/commit/b97d51f67c2ee3d1edfe6975274ead50fcb3fa8f>b97d51f</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/106>Issue #106</a></li> </ul> <h2 id=170-2023-09-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.0>1.7.0</a> - 2023-09-14<a class=headerlink href=#170-2023-09-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.3...1.7.0>Compare with 1.6.3</a></small></p> <h3 id=features_3>Features<a class=headerlink href=#features_3 title="Permanent link">¤</a></h3> <ul> <li>Add option to unwrap <code>Annotated</code> types (<a href=https://github.com/mkdocstrings/python/commit/53db04b6256db960aebc2a9f91129b82ca222e41>53db04b</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=163-2023-09-11><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.3>1.6.3</a> - 2023-09-11<a class=headerlink href=#163-2023-09-11 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.2...1.6.3>Compare with 1.6.2</a></small></p> <h3 id=bug-fixes_11>Bug Fixes<a class=headerlink href=#bug-fixes_11 title="Permanent link">¤</a></h3> <ul> <li>Make <code>load_external_modules</code> a global-only option (<a href=https://github.com/mkdocstrings/python/commit/266f41f2033e034060001bc2bed376b4f3a8d7b8>266f41f</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/87>Issue #87</a></li> <li>Never fail when trying to format code with Black (<a href=https://github.com/mkdocstrings/python/commit/df24bbc640886e1da2d00a3b58c1aa7736cb1eeb>df24bbc</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_8>Code Refactoring<a class=headerlink href=#code-refactoring_8 title="Permanent link">¤</a></h3> <ul> <li>Wrap docstring section elements (list style) in code tags to prevent spell checker errors (<a href=https://github.com/mkdocstrings/python/commit/1ae8dd89cddd67c09d7d30c59b9013516cea2924>1ae8dd8</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=162-2023-09-05><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.2>1.6.2</a> - 2023-09-05<a class=headerlink href=#162-2023-09-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.1...1.6.2>Compare with 1.6.1</a></small></p> <h3 id=bug-fixes_12>Bug Fixes<a class=headerlink href=#bug-fixes_12 title="Permanent link">¤</a></h3> <ul> <li>Don't render cross-ref spans when they're not enabled (<a href=https://github.com/mkdocstrings/python/commit/eed51ee14bd973a08395f95377f9bd4cd38febfc>eed51ee</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=161-2023-09-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.1>1.6.1</a> - 2023-09-04<a class=headerlink href=#161-2023-09-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.0...1.6.1>Compare with 1.6.0</a></small></p> <h3 id=bug-fixes_13>Bug Fixes<a class=headerlink href=#bug-fixes_13 title="Permanent link">¤</a></h3> <ul> <li>Fix spacing for rendered named items in Yields, Receives and Returns sections (list style) (<a href=https://github.com/mkdocstrings/python/commit/e12688ecb7d868047f794300eb2638d052563e68>e12688e</a> by Timothée Mazzucotelli).</li> <li>Fix rendering Receives sections as lists (<a href=https://github.com/mkdocstrings/python/commit/9ff7e68b58e2ab0829c73e4e62254325a4f766ac>9ff7e68</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=160-2023-08-27><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.0>1.6.0</a> - 2023-08-27<a class=headerlink href=#160-2023-08-27 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.2...1.6.0>Compare with 1.5.2</a></small></p> <h3 id=features_4>Features<a class=headerlink href=#features_4 title="Permanent link">¤</a></h3> <ul> <li>Add <code>doc-signature</code> CSS class to separate signature code blocks (<a href=https://github.com/mkdocstrings/python/commit/b6c648f554f2e0dce609afc2a2c1a3b27a4fbeba>b6c648f</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_9>Code Refactoring<a class=headerlink href=#code-refactoring_9 title="Permanent link">¤</a></h3> <ul> <li>Add a <code>format_attribute</code> filter, preparing for cross-refs in attribute signatures (<a href=https://github.com/mkdocstrings/python/commit/8f0ade249638ee2f2d446f083c70b6c30799875a>8f0ade2</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=152-2023-08-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.2>1.5.2</a> - 2023-08-25<a class=headerlink href=#152-2023-08-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.1...1.5.2>Compare with 1.5.1</a></small></p> <h3 id=bug-fixes_14>Bug Fixes<a class=headerlink href=#bug-fixes_14 title="Permanent link">¤</a></h3> <ul> <li>Regression in children template: fix condition for when members are specified (<a href=https://github.com/mkdocstrings/python/commit/beeebffa36288d1f71d122f78ecd9064b41a75d0>beeebff</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/100>Issue #100</a></li> <li>Prevent whitespace removal before highlight filter (<a href=https://github.com/mkdocstrings/python/commit/c6f36c0c9e5141800f8c5c988c9b67720fccccb8>c6f36c0</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_10>Code Refactoring<a class=headerlink href=#code-refactoring_10 title="Permanent link">¤</a></h3> <ul> <li>Never show full object path in <abbr title="Table of Contents">ToC</abbr> entry (<a href=https://github.com/mkdocstrings/python/commit/9aa758bcc42dfcf7c416d87b8f7cd407b7fdf148>9aa758b</a> by Timothée Mazzucotelli).</li> <li>Sync templates with insiders, remove useless lines (<a href=https://github.com/mkdocstrings/python/commit/38b317f4fc74b583a4788721a5559c51a5a47d86>38b317f</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=151-2023-08-24><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.1>1.5.1</a> - 2023-08-24<a class=headerlink href=#151-2023-08-24 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.0...1.5.1>Compare with 1.5.0</a></small></p> <h3 id=code-refactoring_11>Code Refactoring<a class=headerlink href=#code-refactoring_11 title="Permanent link">¤</a></h3> <ul> <li>Never show full path in separate signature since it would appear in the heading already (<a href=https://github.com/mkdocstrings/python/commit/9e0204930cf4dc973ba8eb41c471fc0132e1631f>9e02049</a> by Timothée Mazzucotelli).</li> <li>Improve guessing whether an object is public (<a href=https://github.com/mkdocstrings/python/commit/35eb81162582d794f170cd7e8c68f10ecfd8ff9d>35eb811</a> by Timothée Mazzucotelli).</li> <li>Always sort modules alphabetically as source order wouldn't make sense (<a href=https://github.com/mkdocstrings/python/commit/70c81cebb62366cbfc6124bc84d1563db176afb6>70c81ce</a> by Timothée Mazzucotelli).</li> <li>Return anchors as a tuple, not a set, to preserve order (<a href=https://github.com/mkdocstrings/python/commit/736a2b5e729d25bb184db8d42f2ad01025a5bc58>736a2b5</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/crystal/pull/6>Related-to #mkdocstrings/crystal#6</a></li> </ul> <h2 id=150-2023-08-20><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.0>1.5.0</a> - 2023-08-20<a class=headerlink href=#150-2023-08-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.4.0...1.5.0>Compare with 1.4.0</a></small></p> <h3 id=features_5>Features<a class=headerlink href=#features_5 title="Permanent link">¤</a></h3> <ul> <li>Add support for new Griffe docstring sections: modules, classes, and functions (methods) (<a href=https://github.com/mkdocstrings/python/commit/d5337afdf68fc492b34f749aa69d1da33b49f9c2>d5337af</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=140-2023-08-18><a href=https://github.com/mkdocstrings/python/releases/tag/1.4.0>1.4.0</a> - 2023-08-18<a class=headerlink href=#140-2023-08-18 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.3.0...1.4.0>Compare with 1.3.0</a></small></p> <h3 id=features_6>Features<a class=headerlink href=#features_6 title="Permanent link">¤</a></h3> <ul> <li>Support new Griffe expressions (in v0.33) (<a href=https://github.com/mkdocstrings/python/commit/9b8e1b1604b978cf2d89b7abf826cf4407f92394>9b8e1b1</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_12>Code Refactoring<a class=headerlink href=#code-refactoring_12 title="Permanent link">¤</a></h3> <ul> <li>Deprecate <code>crossref</code> and <code>multi_crossref</code> filters (<a href=https://github.com/mkdocstrings/python/commit/4fe3d2051047061780e20683da6513a7c8d91829>4fe3d20</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=130-2023-08-06><a href=https://github.com/mkdocstrings/python/releases/tag/1.3.0>1.3.0</a> - 2023-08-06<a class=headerlink href=#130-2023-08-06 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.2.1...1.3.0>Compare with 1.2.1</a></small></p> <h3 id=dependencies_2>Dependencies<a class=headerlink href=#dependencies_2 title="Permanent link">¤</a></h3> <ul> <li>Set upper bound on Griffe (0.33) (<a href=https://github.com/mkdocstrings/python/commit/ad8c2a3ac8daf0b0c06579b6ba667e05feffa247>ad8c2a3</a> by Timothée Mazzucotelli). See <a href=https://github.com/mkdocstrings/griffe/discussions/195>https://github.com/mkdocstrings/griffe/discussions/195</a>.</li> </ul> <h3 id=features_7>Features<a class=headerlink href=#features_7 title="Permanent link">¤</a></h3> <ul> <li>Show parameter default values within the "list" section style too (<a href=https://github.com/mkdocstrings/python/commit/55f08f3e2cece815dd79d35c82515ba8003ec64c>55f08f3</a> by Antoine Dechaume). <a href=https://github.com/mkdocstrings/python/pull/92>PR #92</a>, Co-authored-by: Timothée Mazzucotelli <a href=mailto:pawamoy@pm.me>pawamoy@pm.me</a></li> </ul> <h2 id=121-2023-07-20><a href=https://github.com/mkdocstrings/python/releases/tag/1.2.1>1.2.1</a> - 2023-07-20<a class=headerlink href=#121-2023-07-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.2.0...1.2.1>Compare with 1.2.0</a></small></p> <h3 id=bug-fixes_15>Bug Fixes<a class=headerlink href=#bug-fixes_15 title="Permanent link">¤</a></h3> <ul> <li>Fix members ordering when members are specified with a boolean (<a href=https://github.com/mkdocstrings/python/commit/c69f9c3b3ddde915619eded6620f7ddada977b00>c69f9c3</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/89>Issue #89</a></li> </ul> <h2 id=120-2023-07-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.2.0>1.2.0</a> - 2023-07-14<a class=headerlink href=#120-2023-07-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.2...1.2.0>Compare with 1.1.2</a></small></p> <h3 id=features_8>Features<a class=headerlink href=#features_8 title="Permanent link">¤</a></h3> <ul> <li>Add Jinja blocks to module, class, function and attribute templates (<a href=https://github.com/mkdocstrings/python/commit/299fe483cc03ba76df29b843f88467f89db6dc72>299fe48</a> by Timothée Mazzucotelli).</li> <li>Setup infrastructure for I18N, add translations for simplified chinese and japanese (<a href=https://github.com/mkdocstrings/python/commit/b053b2900ef5c0069b68ad19bda9aaa98141a525>b053b29</a> by Nyuan Zhang). <a href=https://github.com/mkdocstrings/python/pull/77>PR #77</a></li> <li>Support inheritance (<a href=https://github.com/mkdocstrings/python/commit/ae4235689155a4b4f0c1e74b0014a466c6b1181f>ae42356</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/157>Issue mkdocstrings#157</a>, <a href=https://github.com/mkdocstrings/mkdocstrings/discussions/536>Discussion mkdocstrings#536</a></li> </ul> <h3 id=bug-fixes_16>Bug Fixes<a class=headerlink href=#bug-fixes_16 title="Permanent link">¤</a></h3> <ul> <li>Don't show <code>None</code> as return annotation of class signatures (<a href=https://github.com/mkdocstrings/python/commit/3d8724ed1f4d040d7a3d9d02784cf0d1f80445b2>3d8724e</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/85>Issue #85</a></li> <li>Show labels in deterministic order (<a href=https://github.com/mkdocstrings/python/commit/02619a85ee4aab25f3241d983bdfff0534dd3f81>02619a8</a> by Oleh Prypin).</li> </ul> <h2 id=112-2023-06-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.2>1.1.2</a> - 2023-06-04<a class=headerlink href=#112-2023-06-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.1...1.1.2>Compare with 1.1.1</a></small></p> <h3 id=code-refactoring_13>Code Refactoring<a class=headerlink href=#code-refactoring_13 title="Permanent link">¤</a></h3> <ul> <li>Keep headings style consistent (CSS) (<a href=https://github.com/mkdocstrings/python/commit/92032e561861c3fc4e3fb0c6882bb076d0e6614d>92032e5</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=111-2023-06-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.1>1.1.1</a> - 2023-06-04<a class=headerlink href=#111-2023-06-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.0...1.1.1>Compare with 1.1.0</a></small></p> <h3 id=bug-fixes_17>Bug Fixes<a class=headerlink href=#bug-fixes_17 title="Permanent link">¤</a></h3> <ul> <li>Fix mkdocs and readthedocs themes support (<a href=https://github.com/mkdocstrings/python/commit/14f18b219f67f9b6d154d4a52051d8d7d7c49348>14f18b2</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_14>Code Refactoring<a class=headerlink href=#code-refactoring_14 title="Permanent link">¤</a></h3> <ul> <li>Improve display of paragraphs in docstring sections (<a href=https://github.com/mkdocstrings/python/commit/439f5e6984fe94c28324ca57fbd1a52ef8f55b62>439f5e6</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=110-2023-05-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.0>1.1.0</a> - 2023-05-25<a class=headerlink href=#110-2023-05-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.0.0...1.1.0>Compare with 1.0.0</a></small></p> <h3 id=features_9>Features<a class=headerlink href=#features_9 title="Permanent link">¤</a></h3> <ul> <li>Support custom templates through objects' extra data (<a href=https://github.com/mkdocstrings/python/commit/8ff2b06295e848b9c84867802eb845adf061dc10>8ff2b06</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/pull/70>PR #70</a></li> </ul> <h2 id=100-2023-05-11><a href=https://github.com/mkdocstrings/python/releases/tag/1.0.0>1.0.0</a> - 2023-05-11<a class=headerlink href=#100-2023-05-11 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.10.1...1.0.0>Compare with 0.10.1</a></small></p> <h3 id=breaking-changes>Breaking changes<a class=headerlink href=#breaking-changes title="Permanent link">¤</a></h3> <ul> <li> <p>The signature of the <a href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature><code>format_signature</code> filter</a> has changed. If you override templates in your project to customize the output, make sure to update the following templates so that they use the new filter signature:</p> <ul> <li><code>class.html</code></li> <li><code>expression.html</code></li> <li><code>function.html</code></li> <li><code>signature.html</code></li> </ul> <p>You can see how to use the filter in this commit's changes: <a href=https://github.com/mkdocstrings/python/commit/f686f4e4599cea64686d4ef4863b507dd096a513>f686f4e4</a>.</p> </li> </ul> <p><strong>We take this as an opportunity to go out of beta and bump the version to 1.0.0. This will allow users to rely on semantic versioning.</strong></p> <h3 id=bug-fixes_18>Bug Fixes<a class=headerlink href=#bug-fixes_18 title="Permanent link">¤</a></h3> <ul> <li>Bring compatibility with insiders signature crossrefs feature (<a href=https://github.com/mkdocstrings/python/commit/f686f4e4599cea64686d4ef4863b507dd096a513>f686f4e</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=0101-2023-05-07><a href=https://github.com/mkdocstrings/python/releases/tag/0.10.1>0.10.1</a> - 2023-05-07<a class=headerlink href=#0101-2023-05-07 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.10.0...0.10.1>Compare with 0.10.0</a></small></p> <h3 id=bug-fixes_19>Bug Fixes<a class=headerlink href=#bug-fixes_19 title="Permanent link">¤</a></h3> <ul> <li>Format signatures with full-path names (<a href=https://github.com/mkdocstrings/python/commit/685512decf1a14c53fa6ca82048e65619aa6a463>685512d</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=0100-2023-05-07><a href=https://github.com/mkdocstrings/python/releases/tag/0.10.0>0.10.0</a> - 2023-05-07<a class=headerlink href=#0100-2023-05-07 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.9.0...0.10.0>Compare with 0.9.0</a></small></p> <h3 id=features_10>Features<a class=headerlink href=#features_10 title="Permanent link">¤</a></h3> <ul> <li>Add option to disallow inspection (<a href=https://github.com/mkdocstrings/python/commit/40f2f268876358941cf8221d01d219a0deb9de38>40f2f26</a> by Nyuan Zhang). <a href=https://github.com/mkdocstrings/python/issues/68>Issue #68</a>, <a href=https://github.com/mkdocstrings/python/pull/69>PR #69</a></li> </ul> <h3 id=bug-fixes_20>Bug Fixes<a class=headerlink href=#bug-fixes_20 title="Permanent link">¤</a></h3> <ul> <li>Make admonitions open by default (<a href=https://github.com/mkdocstrings/python/commit/79cd153cfceec860f6ce08d30817c21031983238>79cd153</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/22>Issue #22</a></li> </ul> <h3 id=code-refactoring_15>Code Refactoring<a class=headerlink href=#code-refactoring_15 title="Permanent link">¤</a></h3> <ul> <li>Match documented behavior for filtering (all members, list, none) (<a href=https://github.com/mkdocstrings/python/commit/c7f70c353c3dd2b82e1f34c70cd433e0bab4f6e6>c7f70c3</a> by Timothée Mazzucotelli).</li> <li>Switch to an info level log for when black's not installed (<a href=https://github.com/mkdocstrings/python/commit/f593bb06c63860be14d2025c4bd795e0c8976ce0>f593bb0</a> by Faster Speeding).</li> <li>Return anchors as a set (<a href=https://github.com/mkdocstrings/python/commit/e2b820c5af3787518656d5f7f799ecb6b55aa033>e2b820c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=090-2023-04-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.9.0>0.9.0</a> - 2023-04-03<a class=headerlink href=#090-2023-04-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.3...0.9.0>Compare with 0.8.3</a></small></p> <h3 id=features_11>Features<a class=headerlink href=#features_11 title="Permanent link">¤</a></h3> <ul> <li>Allow resolving alias to external modules (<a href=https://github.com/mkdocstrings/python/commit/02052e248b125a113ab788faa9a075adbdc92ca6>02052e2</a> by Gilad). <a href=https://github.com/mkdocstrings/python/pull/61>PR #61</a>, <a href=https://github.com/mkdocstrings/python/pull/60>Follow-up of PR #60</a></li> <li>Allow pre-loading modules (<a href=https://github.com/mkdocstrings/python/commit/36002cb9c89fba35d23afb07a866dd8c6877f742>36002cb</a> by Gilad). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/503>Issue mkdocstrings/mkdocstrings#503</a>, <a href=https://github.com/mkdocstrings/python/pull/60>PR #60</a></li> <li>Add show options for docstrings (<a href=https://github.com/mkdocstrings/python/commit/a6c55fb52f362dd49b1a7e334a631f6ea3b1b963>a6c55fb</a> by Jeremy Goh). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/466>Issue mkdocstrings/mkdocstrings#466</a>, <a href=https://github.com/mkdocstrings/python/pull/56>PR #56</a></li> <li>Allow custom list of domains for inventories (<a href=https://github.com/mkdocstrings/python/commit/f5ea6fd81f7a531e8a97bb0e48267188d72936c1>f5ea6fd</a> by Sorin Sbarnea). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/510>Issue mkdocstrings/mkdocstrings#510</a>, <a href=https://github.com/mkdocstrings/python/pull/49>PR #49</a></li> </ul> <h3 id=bug-fixes_21>Bug Fixes<a class=headerlink href=#bug-fixes_21 title="Permanent link">¤</a></h3> <ul> <li>Prevent alias resolution error when searching for anchors (<a href=https://github.com/mkdocstrings/python/commit/a190e2c4a752e74a05ad03702837a0914c198742>a190e2c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/64>Issue #64</a></li> </ul> <h3 id=code-refactoring_16>Code Refactoring<a class=headerlink href=#code-refactoring_16 title="Permanent link">¤</a></h3> <ul> <li>Support Griffe 0.26 (<a href=https://github.com/mkdocstrings/python/commit/075735ce8d86921fbf092d7ad1d009bbb3a2e0bb>075735c</a> by Timothée Mazzucotelli).</li> <li>Log (debug) unresolved aliases (<a href=https://github.com/mkdocstrings/python/commit/9164742f87362e8241dea11bec0fd96f6b9d9dda>9164742</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=083-2023-01-04><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.3>0.8.3</a> - 2023-01-04<a class=headerlink href=#083-2023-01-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.2...0.8.3>Compare with 0.8.2</a></small></p> <h3 id=code-refactoring_17>Code Refactoring<a class=headerlink href=#code-refactoring_17 title="Permanent link">¤</a></h3> <ul> <li>Change "unresolved aliases" log level to DEBUG (<a href=https://github.com/mkdocstrings/python/commit/dccb818f51278cc8799e2187a615d999a3ab86fb>dccb818</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=082-2022-11-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.2>0.8.2</a> - 2022-11-19<a class=headerlink href=#082-2022-11-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.1...0.8.2>Compare with 0.8.1</a></small></p> <h3 id=bug-fixes_22>Bug Fixes<a class=headerlink href=#bug-fixes_22 title="Permanent link">¤</a></h3> <ul> <li>Fix base directory used to expand globs (<a href=https://github.com/mkdocstrings/python/commit/34cfa4b41f264437a338e66f6060ceeee134ba15>34cfa4b</a> by Florian Hofer). <a href=https://github.com/mkdocstrings/python/pull/45>PR #45</a></li> </ul> <h2 id=081-2022-11-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.1>0.8.1</a> - 2022-11-19<a class=headerlink href=#081-2022-11-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.0...0.8.1>Compare with 0.8.0</a></small></p> <h3 id=bug-fixes_23>Bug Fixes<a class=headerlink href=#bug-fixes_23 title="Permanent link">¤</a></h3> <ul> <li>Expand globs relative to configuration file path (<a href=https://github.com/mkdocstrings/python/commit/0dc45aeb7c7f9b2f15118ebf1584baa06d365c9b>0dc45ae</a> by David Vegh). <a href=https://github.com/mkdocstrings/python/issues/42>Issue #42</a>, <a href=https://github.com/mkdocstrings/python/pull/43>PR #43</a></li> </ul> <h2 id=080-2022-11-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.0>0.8.0</a> - 2022-11-13<a class=headerlink href=#080-2022-11-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.7.1...0.8.0>Compare with 0.7.1</a></small></p> <h3 id=features_12>Features<a class=headerlink href=#features_12 title="Permanent link">¤</a></h3> <ul> <li>Add support for globs in paths configuration (<a href=https://github.com/mkdocstrings/python/commit/29edd02e7a4d83f6b7e8555d4d5b03a79882eb07>29edd02</a> by Andrew Guenther). <a href=https://github.com/mkdocstrings/python/issues/33>Issue #33</a>, <a href=https://github.com/mkdocstrings/python/pull/34>PR #34</a></li> </ul> <h3 id=code-refactoring_18>Code Refactoring<a class=headerlink href=#code-refactoring_18 title="Permanent link">¤</a></h3> <ul> <li>Support Griffe 0.24 (<a href=https://github.com/mkdocstrings/python/commit/3b9f7013a7367f18e4354c37f029f9caf3ad0a4e>3b9f701</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=071-2022-06-12><a href=https://github.com/mkdocstrings/python/releases/tag/0.7.1>0.7.1</a> - 2022-06-12<a class=headerlink href=#071-2022-06-12 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.7.0...0.7.1>Compare with 0.7.0</a></small></p> <h3 id=bug-fixes_24>Bug Fixes<a class=headerlink href=#bug-fixes_24 title="Permanent link">¤</a></h3> <ul> <li>Fix rendering of <code>/</code> in signatures (<a href=https://github.com/mkdocstrings/python/commit/3e927e43192710218fe69f67ff832936c856a678>3e927e4</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/25>Issue #25</a></li> </ul> <h2 id=070-2022-05-28><a href=https://github.com/mkdocstrings/python/releases/tag/0.7.0>0.7.0</a> - 2022-05-28<a class=headerlink href=#070-2022-05-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.6...0.7.0>Compare with 0.6.6</a></small></p> <h3 id=packaging-dependencies>Packaging / Dependencies<a class=headerlink href=#packaging-dependencies title="Permanent link">¤</a></h3> <ul> <li>Depend on mkdocstrings 0.19 (<a href=https://github.com/mkdocstrings/python/commit/b6a9a4799980c4590a7ce2838e12653f40e43be3>b6a9a47</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_13>Features<a class=headerlink href=#features_13 title="Permanent link">¤</a></h3> <ul> <li>Add config option for annotations paths verbosity (<a href=https://github.com/mkdocstrings/python/commit/b6c989315fb028813a919319ad1818b0b1f597ac>b6c9893</a> by Timothée Mazzucotelli).</li> <li>Use sections titles in SpaCy-styled docstrings (<a href=https://github.com/mkdocstrings/python/commit/fe16b54aea60473575343e3a3c428567b701bd7d>fe16b54</a> by Timothée Mazzucotelli).</li> <li>Wrap objects names in spans to allow custom styling (<a href=https://github.com/mkdocstrings/python/commit/0822ff9d3ffd3fb71fb619a8b557160661eff9c3>0822ff9</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/240>Issue mkdocstrings/mkdocstrings#240</a></li> <li>Add Jinja blocks around docstring section styles (<a href=https://github.com/mkdocstrings/python/commit/aaa79eea40d49a64a69badbe732bf5211fbf055a>aaa79ee</a> by Timothée Mazzucotelli).</li> <li>Add members and filters options (<a href=https://github.com/mkdocstrings/python/commit/24a6136ee6c04a6a49ee74b20e65177868a10ea7>24a6136</a> by Timothée Mazzucotelli).</li> <li>Add paths option (<a href=https://github.com/mkdocstrings/python/commit/dd41182c210f0bb2675ead162adaa01dbbb1949f>dd41182</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/311>Issue mkdocstrings/mkdocstrings#311</a>, <a href=https://github.com/mkdocstrings/python/issues/20>PR #20</a></li> </ul> <h3 id=bug-fixes_25>Bug Fixes<a class=headerlink href=#bug-fixes_25 title="Permanent link">¤</a></h3> <ul> <li>Fix CSS class on labels (<a href=https://github.com/mkdocstrings/python/commit/312a7092394aab968032cf08195af7445a85052f>312a709</a> by Timothée Mazzucotelli).</li> <li>Fix categories rendering (<a href=https://github.com/mkdocstrings/python/commit/6407cf4f2375c894e0c528e932e9b76774a6455e>6407cf4</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/14>Issue #14</a></li> </ul> <h3 id=code-refactoring_19>Code Refactoring<a class=headerlink href=#code-refactoring_19 title="Permanent link">¤</a></h3> <ul> <li>Disable <code>show_submodules</code> by default (<a href=https://github.com/mkdocstrings/python/commit/480d0c373904713313ec76b6e2570dbc35eb527b>480d0c3</a> by Timothée Mazzucotelli).</li> <li>Merge default configuration options in handler (<a href=https://github.com/mkdocstrings/python/commit/347ce76d074c0e3841df2d5162b54d3938d00453>347ce76</a> by Timothée Mazzucotelli).</li> <li>Reduce number of template debug logs (<a href=https://github.com/mkdocstrings/python/commit/8fed314243e3981fc7b527c69cee628e87b10220>8fed314</a> by Timothée Mazzucotelli).</li> <li>Respect <code>show_root_full_path</code> for <abbr title="Table of Contents">ToC</abbr> entries (hidden headings) (<a href=https://github.com/mkdocstrings/python/commit/8f4c85328e8b4a45db77f9fc3e536a5008686f37>8f4c853</a> by Timothée Mazzucotelli).</li> <li>Bring consistency on headings style (<a href=https://github.com/mkdocstrings/python/commit/59104c4c51c86c774eed76d8508f9f4d3db5463f>59104c4</a> by Timothée Mazzucotelli).</li> <li>Stop using deprecated base classes (<a href=https://github.com/mkdocstrings/python/commit/d5ea1c5cf7884d8c019145f73685a84218e69840>d5ea1c5</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=066-2022-03-06><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.6>0.6.6</a> - 2022-03-06<a class=headerlink href=#066-2022-03-06 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.5...0.6.6>Compare with 0.6.5</a></small></p> <h3 id=code-refactoring_20>Code Refactoring<a class=headerlink href=#code-refactoring_20 title="Permanent link">¤</a></h3> <ul> <li>Always hide <code>self</code> and <code>cls</code> parameters (<a href=https://github.com/mkdocstrings/python/commit/7f579d162e184adcfe25b2215bce4d38677f75b7>7f579d1</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/7>Issue #7</a></li> <li>Use <code>pycon</code> for examples code blocks (<a href=https://github.com/mkdocstrings/python/commit/6545900eecc67c8a6ddd343c497ac22fdd6a26e2>6545900</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=065-2022-02-24><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.5>0.6.5</a> - 2022-02-24<a class=headerlink href=#065-2022-02-24 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.4...0.6.5>Compare with 0.6.4</a></small></p> <h3 id=bug-fixes_26>Bug Fixes<a class=headerlink href=#bug-fixes_26 title="Permanent link">¤</a></h3> <ul> <li>Don't escape signatures return annotations (<a href=https://github.com/mkdocstrings/python/commit/ac54bfc5761337aa606fb1aa6575745062ce26f8>ac54bfc</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/6>Issue #6</a></li> </ul> <h2 id=064-2022-02-22><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.4>0.6.4</a> - 2022-02-22<a class=headerlink href=#064-2022-02-22 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.3...0.6.4>Compare with 0.6.3</a></small></p> <h3 id=bug-fixes_27>Bug Fixes<a class=headerlink href=#bug-fixes_27 title="Permanent link">¤</a></h3> <ul> <li>Fix rendering of signature return annotation (<a href=https://github.com/mkdocstrings/python/commit/b92ba3b370388aa6c956bcc70ba87b7aebb91a4c>b92ba3b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/4>Issue #4</a></li> </ul> <h2 id=063-2022-02-20><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.3>0.6.3</a> - 2022-02-20<a class=headerlink href=#063-2022-02-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.2...0.6.3>Compare with 0.6.2</a></small></p> <h3 id=bug-fixes_28>Bug Fixes<a class=headerlink href=#bug-fixes_28 title="Permanent link">¤</a></h3> <ul> <li>Fix examples rendering (<a href=https://github.com/mkdocstrings/python/commit/a06a7e34c7017374c5bed41f4757ed86ae64cb2e>a06a7e3</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/46>Issue mkdocstrings/griffe#46</a></li> </ul> <h2 id=062-2022-02-17><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.2>0.6.2</a> - 2022-02-17<a class=headerlink href=#062-2022-02-17 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.1...0.6.2>Compare with 0.6.1</a></small></p> <h3 id=bug-fixes_29>Bug Fixes<a class=headerlink href=#bug-fixes_29 title="Permanent link">¤</a></h3> <ul> <li>Catch alias resolution errors (<a href=https://github.com/mkdocstrings/python/commit/b734dd0dcd72f5b985b3afce01e852c9c74e451a>b734dd0</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=061-2022-02-17><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.1>0.6.1</a> - 2022-02-17<a class=headerlink href=#061-2022-02-17 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.0...0.6.1>Compare with 0.6.0</a></small></p> <h3 id=bug-fixes_30>Bug Fixes<a class=headerlink href=#bug-fixes_30 title="Permanent link">¤</a></h3> <ul> <li>Don't pop from fallback config (<a href=https://github.com/mkdocstrings/python/commit/bde32afb5d99539813b1884a4c735de5845f62ae>bde32af</a> by Timothée Mazzucotelli).</li> <li>Fix rendering init method source when merged into class (<a href=https://github.com/mkdocstrings/python/commit/4a20aeaa60f3efbcb4781a369feef3b4826ff1df>4a20aea</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=060-2022-02-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.0>0.6.0</a> - 2022-02-13<a class=headerlink href=#060-2022-02-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.4...0.6.0>Compare with 0.5.4</a></small></p> <h3 id=features_14>Features<a class=headerlink href=#features_14 title="Permanent link">¤</a></h3> <ul> <li>Add option to merge <code>__init__</code> methods' docstrings into their classes' docstrings (<a href=https://github.com/mkdocstrings/python/commit/1b4d1c0e9254fc51756caed3875fbc8c1da079a6>1b4d1c0</a> by Timothée Mazzucotelli).</li> <li>Support separate attribute signature (<a href=https://github.com/mkdocstrings/python/commit/e962b885f48570762c5bfcefc9b61e5fc1df1c70>e962b88</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_31>Bug Fixes<a class=headerlink href=#bug-fixes_31 title="Permanent link">¤</a></h3> <ul> <li>Restore full cross-refs paths on hover (<a href=https://github.com/mkdocstrings/python/commit/ac1197062f2e23e819f144fe74a774d504d0ac49>ac11970</a> by Timothée Mazzucotelli).</li> <li>Fix rendering of labels (<a href=https://github.com/mkdocstrings/python/commit/52919c559378a6006bbe931423c5f03eb5883eaf>52919c5</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_21>Code Refactoring<a class=headerlink href=#code-refactoring_21 title="Permanent link">¤</a></h3> <ul> <li>Don't add trailing parentheses in functions heading when separate signature (<a href=https://github.com/mkdocstrings/python/commit/885696e05606d07334e0428128ed688d54098da1>885696e</a> by Timothée Mazzucotelli).</li> <li>Use more explicit template debug messages (<a href=https://github.com/mkdocstrings/python/commit/f2122d7fa119ed055ffe2b2bac72d2c643daca1c>f2122d7</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=054-2022-02-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.4>0.5.4</a> - 2022-02-13<a class=headerlink href=#054-2022-02-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.3...0.5.4>Compare with 0.5.3</a></small></p> <h3 id=bug-fixes_32>Bug Fixes<a class=headerlink href=#bug-fixes_32 title="Permanent link">¤</a></h3> <ul> <li>Don't load additional modules during fallback (<a href=https://github.com/mkdocstrings/python/commit/69b8e25cddc9e256c5edb8843592a466023aa124>69b8e25</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=053-2022-02-08><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.3>0.5.3</a> - 2022-02-08<a class=headerlink href=#053-2022-02-08 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.2...0.5.3>Compare with 0.5.2</a></small></p> <h3 id=bug-fixes_33>Bug Fixes<a class=headerlink href=#bug-fixes_33 title="Permanent link">¤</a></h3> <ul> <li>Allow passing <code>null</code> as docstring style (<a href=https://github.com/mkdocstrings/python/commit/f526816ef1d499795c647e6fe184ba91c1d41b1b>f526816</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/2>Issue #2</a></li> </ul> <h2 id=052-2022-02-05><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.2>0.5.2</a> - 2022-02-05<a class=headerlink href=#052-2022-02-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.1...0.5.2>Compare with 0.5.1</a></small></p> <h3 id=dependencies_3>Dependencies<a class=headerlink href=#dependencies_3 title="Permanent link">¤</a></h3> <ul> <li>Require at least mkdocstrings 0.18 (<a href=https://github.com/mkdocstrings/python/commit/7abdda416e25128eec06f3b15aae5058fbc7320c>7abdda4</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=051-2022-02-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.1>0.5.1</a> - 2022-02-03<a class=headerlink href=#051-2022-02-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.0...0.5.1>Compare with 0.5.0</a></small></p> <h3 id=dependencies_4>Dependencies<a class=headerlink href=#dependencies_4 title="Permanent link">¤</a></h3> <ul> <li>Depend on Griffe >= 0.11.1 (<a href=https://github.com/mkdocstrings/python/commit/1303557928a27a3d9b063baee9d698458f471357>1303557</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_22>Code Refactoring<a class=headerlink href=#code-refactoring_22 title="Permanent link">¤</a></h3> <ul> <li>Move handler into its own module (<a href=https://github.com/mkdocstrings/python/commit/b787e78e31652438039775850e55ea956c22e8d0>b787e78</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=050-2022-02-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.0>0.5.0</a> - 2022-02-03<a class=headerlink href=#050-2022-02-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.4.1...0.5.0>Compare with 0.4.1</a></small></p> <h3 id=features_15>Features<a class=headerlink href=#features_15 title="Permanent link">¤</a></h3> <ul> <li>Allow changing docstring style of an object (<a href=https://github.com/mkdocstrings/python/commit/39240c1497dced15c03f9046138f2829fc10e139>39240c1</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_34>Bug Fixes<a class=headerlink href=#bug-fixes_34 title="Permanent link">¤</a></h3> <ul> <li>Warn if Black is not installed when formatting signature (<a href=https://github.com/mkdocstrings/python/commit/b84827789b2bf66a4b76ff63a514ec6ba98cae68>b848277</a> by Timothée Mazzucotelli).</li> <li>Fix missing default for <code>docstring_section_style</code> option (<a href=https://github.com/mkdocstrings/python/commit/774988ef06a9bf3446949da63611ad7bc5a712fc>774988e</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_23>Code Refactoring<a class=headerlink href=#code-refactoring_23 title="Permanent link">¤</a></h3> <ul> <li>Change to new way of stripping paragraphs (<a href=https://github.com/mkdocstrings/python/commit/33d45945bf8ffce2435a6b3749795397fa7c3fc8>33d4594</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=041-2022-02-01><a href=https://github.com/mkdocstrings/python/releases/tag/0.4.1>0.4.1</a> - 2022-02-01<a class=headerlink href=#041-2022-02-01 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.4.0...0.4.1>Compare with 0.4.0</a></small></p> <h3 id=bug-fixes_35>Bug Fixes<a class=headerlink href=#bug-fixes_35 title="Permanent link">¤</a></h3> <ul> <li>Fix docstring admonitions rendering (<a href=https://github.com/mkdocstrings/python/commit/a24ae2e95f4c0451a44037120451cf06c973ba65>a24ae2e</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=040-2022-02-01><a href=https://github.com/mkdocstrings/python/releases/tag/0.4.0>0.4.0</a> - 2022-02-01<a class=headerlink href=#040-2022-02-01 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.3.0...0.4.0>Compare with 0.3.0</a></small></p> <h3 id=code-refactoring_24>Code Refactoring<a class=headerlink href=#code-refactoring_24 title="Permanent link">¤</a></h3> <ul> <li>Use the new <code>mkdocstrings_handlers</code> namespace (<a href=https://github.com/mkdocstrings/python/commit/23c9023780535251778077cd7d957c0067ecb0dc>23c9023</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=030-2022-01-14><a href=https://github.com/mkdocstrings/python/releases/tag/0.3.0>0.3.0</a> - 2022-01-14<a class=headerlink href=#030-2022-01-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.2.0...0.3.0>Compare with 0.2.0</a></small></p> <h3 id=features_16>Features<a class=headerlink href=#features_16 title="Permanent link">¤</a></h3> <ul> <li>Support griffe 0.10 (<a href=https://github.com/mkdocstrings/python/commit/28061de20094c510f27bb375b2e1dc44a699809d>28061de</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=dependencies_5>Dependencies<a class=headerlink href=#dependencies_5 title="Permanent link">¤</a></h3> <ul> <li>Require griffe 0.10 (<a href=https://github.com/mkdocstrings/python/commit/cfbd7bb4761691ef36100962c775ed1d0a247514>cfbd7bb</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_25>Code Refactoring<a class=headerlink href=#code-refactoring_25 title="Permanent link">¤</a></h3> <ul> <li>Use new logger patching utility (<a href=https://github.com/mkdocstrings/python/commit/4cdb2921b3a9292db3ef0663c63f148a4eec3966>4cdb292</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=020-2021-12-28><a href=https://github.com/mkdocstrings/python/releases/tag/0.2.0>0.2.0</a> - 2021-12-28<a class=headerlink href=#020-2021-12-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.1.0...0.2.0>Compare with 0.1.0</a></small></p> <h3 id=dependencies_6>Dependencies<a class=headerlink href=#dependencies_6 title="Permanent link">¤</a></h3> <ul> <li>Depend on griffe >= 0.7.1 (<a href=https://github.com/mkdocstrings/python/commit/34f7ebd41f3ebda025ad87e3b52a7226fcb93720>34f7ebd</a> by Timothée Mazzucotelli).</li> <li>Upgrade griffe, no upper bound (<a href=https://github.com/mkdocstrings/python/commit/8f0aa42eed07424a1377708897d92f9894f4abdb>8f0aa42</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_17>Features<a class=headerlink href=#features_17 title="Permanent link">¤</a></h3> <ul> <li>Add <code>show_signature</code> rendering option (<a href=https://github.com/mkdocstrings/python/commit/0f07c2e51a51a56eeb5d32fdf05dbed7243f0bc5>0f07c2e</a> by Will Da Silva).</li> </ul> <h3 id=bug-fixes_36>Bug Fixes<a class=headerlink href=#bug-fixes_36 title="Permanent link">¤</a></h3> <ul> <li>Fix templates for named docstring elements (<a href=https://github.com/mkdocstrings/python/commit/47868a143bf2c462abd5ad85bd0ab8dca7bc5f82>47868a1</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=010-2021-12-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.1.0>0.1.0</a> - 2021-12-19<a class=headerlink href=#010-2021-12-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0032f18c9f902c3e75e0e00114ca8fa6a810c8f5...0.1.0>Compare with first commit</a></small></p> <h3 id=features_18>Features<a class=headerlink href=#features_18 title="Permanent link">¤</a></h3> <ul> <li>Implement handler and add templates (<a href=https://github.com/mkdocstrings/python/commit/dbb580aa79f6b2f8a089c80bdc67d0f7457c2d30>dbb580a</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_37>Bug Fixes<a class=headerlink href=#bug-fixes_37 title="Permanent link">¤</a></h3> <ul> <li>Fix separate signature feature (<a href=https://github.com/mkdocstrings/python/commit/da6e81c897899f09e1dae7bb8930ce6782aeb306>da6e81c</a> by Timothée Mazzucotelli).</li> <li>Fix signature template (parameters annotations) (<a href=https://github.com/mkdocstrings/python/commit/b34ead008773880fd8d1d7a2a41768ec27820520>b34ead0</a> by Timothée Mazzucotelli).</li> <li>Only show source when present (<a href=https://github.com/mkdocstrings/python/commit/c270d68c9e17204606ae12a2159c04563a18ec2b>c270d68</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_26>Code Refactoring<a class=headerlink href=#code-refactoring_26 title="Permanent link">¤</a></h3> <ul> <li>Return all known anchors (<a href=https://github.com/mkdocstrings/python/commit/9bbfe1442e2aab28bd6fb2618c943d3f698750ab>9bbfe14</a> by Timothée Mazzucotelli).</li> <li>Update for griffe 0.4.0 (<a href=https://github.com/mkdocstrings/python/commit/831aabb135db7e75729954adc675af6379f58e24>831aabb</a> by Timothée Mazzucotelli).</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/changelog/ rel=canonical><link rel=prev href=..><link href=../credits/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Changelog - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#changelog class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Changelog </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Changelog </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#1108-2024-08-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.8 - 2024-08-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.8 - 2024-08-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1107-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.7 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.7 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1106-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.6 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.6 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1105-2024-06-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.5 - 2024-06-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.5 - 2024-06-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1104-2024-06-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.4 - 2024-06-18 </span> </span> </a> <nav class=md-nav aria-label="1.10.4 - 2024-06-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1103-2024-05-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.3 - 2024-05-22 </span> </span> </a> <nav class=md-nav aria-label="1.10.3 - 2024-05-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1102-2024-05-16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.2 - 2024-05-16 </span> </span> </a> <nav class=md-nav aria-label="1.10.2 - 2024-05-16"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1101-2024-05-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.1 - 2024-05-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.1 - 2024-05-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1100-2024-04-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.0 - 2024-04-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.0 - 2024-04-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#192-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.2 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.2 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#191-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.1 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.1 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#190-2024-03-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.0 - 2024-03-13 </span> </span> </a> <nav class=md-nav aria-label="1.9.0 - 2024-03-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#180-2024-01-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 - 2024-01-08 </span> </span> </a> <nav class=md-nav aria-label="1.8.0 - 2024-01-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#175-2023-11-21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.5 - 2023-11-21 </span> </span> </a> <nav class=md-nav aria-label="1.7.5 - 2023-11-21"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#174-2023-11-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.4 - 2023-11-12 </span> </span> </a> <nav class=md-nav aria-label="1.7.4 - 2023-11-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#173-2023-10-09 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.3 - 2023-10-09 </span> </span> </a> <nav class=md-nav aria-label="1.7.3 - 2023-10-09"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#172-2023-10-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.2 - 2023-10-05 </span> </span> </a> <nav class=md-nav aria-label="1.7.2 - 2023-10-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#171-2023-09-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.1 - 2023-09-28 </span> </span> </a> <nav class=md-nav aria-label="1.7.1 - 2023-09-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#170-2023-09-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 - 2023-09-14 </span> </span> </a> <nav class=md-nav aria-label="1.7.0 - 2023-09-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#163-2023-09-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.3 - 2023-09-11 </span> </span> </a> <nav class=md-nav aria-label="1.6.3 - 2023-09-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#162-2023-09-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.2 - 2023-09-05 </span> </span> </a> <nav class=md-nav aria-label="1.6.2 - 2023-09-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#161-2023-09-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.1 - 2023-09-04 </span> </span> </a> <nav class=md-nav aria-label="1.6.1 - 2023-09-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#160-2023-08-27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 - 2023-08-27 </span> </span> </a> <nav class=md-nav aria-label="1.6.0 - 2023-08-27"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#152-2023-08-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.2 - 2023-08-25 </span> </span> </a> <nav class=md-nav aria-label="1.5.2 - 2023-08-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#151-2023-08-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 - 2023-08-24 </span> </span> </a> <nav class=md-nav aria-label="1.5.1 - 2023-08-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#150-2023-08-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 - 2023-08-20 </span> </span> </a> <nav class=md-nav aria-label="1.5.0 - 2023-08-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#140-2023-08-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 - 2023-08-18 </span> </span> </a> <nav class=md-nav aria-label="1.4.0 - 2023-08-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#130-2023-08-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 - 2023-08-06 </span> </span> </a> <nav class=md-nav aria-label="1.3.0 - 2023-08-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#121-2023-07-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.1 - 2023-07-20 </span> </span> </a> <nav class=md-nav aria-label="1.2.1 - 2023-07-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#120-2023-07-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 - 2023-07-14 </span> </span> </a> <nav class=md-nav aria-label="1.2.0 - 2023-07-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#112-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.2 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#111-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.1 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#110-2023-05-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 - 2023-05-25 </span> </span> </a> <nav class=md-nav aria-label="1.1.0 - 2023-05-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#100-2023-05-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 - 2023-05-11 </span> </span> </a> <nav class=md-nav aria-label="1.0.0 - 2023-05-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#breaking-changes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Breaking changes </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0101-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.1 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.1 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0100-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.0 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.0 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#090-2023-04-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.9.0 - 2023-04-03 </span> </span> </a> <nav class=md-nav aria-label="0.9.0 - 2023-04-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#083-2023-01-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.3 - 2023-01-04 </span> </span> </a> <nav class=md-nav aria-label="0.8.3 - 2023-01-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#082-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.2 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.2 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#081-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.1 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.1 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#080-2022-11-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.0 - 2022-11-13 </span> </span> </a> <nav class=md-nav aria-label="0.8.0 - 2022-11-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#071-2022-06-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.1 - 2022-06-12 </span> </span> </a> <nav class=md-nav aria-label="0.7.1 - 2022-06-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#070-2022-05-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.0 - 2022-05-28 </span> </span> </a> <nav class=md-nav aria-label="0.7.0 - 2022-05-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging / Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#066-2022-03-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.6 - 2022-03-06 </span> </span> </a> <nav class=md-nav aria-label="0.6.6 - 2022-03-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#065-2022-02-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.5 - 2022-02-24 </span> </span> </a> <nav class=md-nav aria-label="0.6.5 - 2022-02-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#064-2022-02-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.4 - 2022-02-22 </span> </span> </a> <nav class=md-nav aria-label="0.6.4 - 2022-02-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#063-2022-02-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.3 - 2022-02-20 </span> </span> </a> <nav class=md-nav aria-label="0.6.3 - 2022-02-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#062-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.2 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.2 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_29 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#061-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.1 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.1 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_30 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#060-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.0 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.6.0 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_31 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#054-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.4 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.5.4 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_32 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#053-2022-02-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.3 - 2022-02-08 </span> </span> </a> <nav class=md-nav aria-label="0.5.3 - 2022-02-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_33 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#052-2022-02-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.2 - 2022-02-05 </span> </span> </a> <nav class=md-nav aria-label="0.5.2 - 2022-02-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#051-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.1 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.1 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#050-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.0 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.0 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_34 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#041-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.1 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.1 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_35 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#040-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.0 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.0 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#030-2022-01-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.3.0 - 2022-01-14 </span> </span> </a> <nav class=md-nav aria-label="0.3.0 - 2022-01-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#dependencies_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#020-2021-12-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.2.0 - 2021-12-28 </span> </span> </a> <nav class=md-nav aria-label="0.2.0 - 2021-12-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_36 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#010-2021-12-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.1.0 - 2021-12-19 </span> </span> </a> <nav class=md-nav aria-label="0.1.0 - 2021-12-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_37 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#1108-2024-08-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.8 - 2024-08-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.8 - 2024-08-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1107-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.7 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.7 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1106-2024-07-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.6 - 2024-07-25 </span> </span> </a> <nav class=md-nav aria-label="1.10.6 - 2024-07-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1105-2024-06-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.5 - 2024-06-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.5 - 2024-06-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1104-2024-06-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.4 - 2024-06-18 </span> </span> </a> <nav class=md-nav aria-label="1.10.4 - 2024-06-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1103-2024-05-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.3 - 2024-05-22 </span> </span> </a> <nav class=md-nav aria-label="1.10.3 - 2024-05-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1102-2024-05-16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.2 - 2024-05-16 </span> </span> </a> <nav class=md-nav aria-label="1.10.2 - 2024-05-16"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1101-2024-05-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.1 - 2024-05-14 </span> </span> </a> <nav class=md-nav aria-label="1.10.1 - 2024-05-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#build_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Build </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#1100-2024-04-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.10.0 - 2024-04-19 </span> </span> </a> <nav class=md-nav aria-label="1.10.0 - 2024-04-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#192-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.2 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.2 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#191-2024-04-02 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.1 - 2024-04-02 </span> </span> </a> <nav class=md-nav aria-label="1.9.1 - 2024-04-02"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#190-2024-03-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.9.0 - 2024-03-13 </span> </span> </a> <nav class=md-nav aria-label="1.9.0 - 2024-03-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#180-2024-01-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 - 2024-01-08 </span> </span> </a> <nav class=md-nav aria-label="1.8.0 - 2024-01-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#175-2023-11-21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.5 - 2023-11-21 </span> </span> </a> <nav class=md-nav aria-label="1.7.5 - 2023-11-21"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#174-2023-11-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.4 - 2023-11-12 </span> </span> </a> <nav class=md-nav aria-label="1.7.4 - 2023-11-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#173-2023-10-09 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.3 - 2023-10-09 </span> </span> </a> <nav class=md-nav aria-label="1.7.3 - 2023-10-09"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#172-2023-10-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.2 - 2023-10-05 </span> </span> </a> <nav class=md-nav aria-label="1.7.2 - 2023-10-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#171-2023-09-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.1 - 2023-09-28 </span> </span> </a> <nav class=md-nav aria-label="1.7.1 - 2023-09-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#170-2023-09-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 - 2023-09-14 </span> </span> </a> <nav class=md-nav aria-label="1.7.0 - 2023-09-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#163-2023-09-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.3 - 2023-09-11 </span> </span> </a> <nav class=md-nav aria-label="1.6.3 - 2023-09-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#162-2023-09-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.2 - 2023-09-05 </span> </span> </a> <nav class=md-nav aria-label="1.6.2 - 2023-09-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#161-2023-09-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.1 - 2023-09-04 </span> </span> </a> <nav class=md-nav aria-label="1.6.1 - 2023-09-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#160-2023-08-27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 - 2023-08-27 </span> </span> </a> <nav class=md-nav aria-label="1.6.0 - 2023-08-27"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#152-2023-08-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.2 - 2023-08-25 </span> </span> </a> <nav class=md-nav aria-label="1.5.2 - 2023-08-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#151-2023-08-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 - 2023-08-24 </span> </span> </a> <nav class=md-nav aria-label="1.5.1 - 2023-08-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#150-2023-08-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 - 2023-08-20 </span> </span> </a> <nav class=md-nav aria-label="1.5.0 - 2023-08-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#140-2023-08-18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 - 2023-08-18 </span> </span> </a> <nav class=md-nav aria-label="1.4.0 - 2023-08-18"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#130-2023-08-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 - 2023-08-06 </span> </span> </a> <nav class=md-nav aria-label="1.3.0 - 2023-08-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_7 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#121-2023-07-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.1 - 2023-07-20 </span> </span> </a> <nav class=md-nav aria-label="1.2.1 - 2023-07-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#120-2023-07-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 - 2023-07-14 </span> </span> </a> <nav class=md-nav aria-label="1.2.0 - 2023-07-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_8 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#112-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.2 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#111-2023-06-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 - 2023-06-04 </span> </span> </a> <nav class=md-nav aria-label="1.1.1 - 2023-06-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#110-2023-05-25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 - 2023-05-25 </span> </span> </a> <nav class=md-nav aria-label="1.1.0 - 2023-05-25"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_9 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#100-2023-05-11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 - 2023-05-11 </span> </span> </a> <nav class=md-nav aria-label="1.0.0 - 2023-05-11"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#breaking-changes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Breaking changes </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0101-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.1 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.1 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#0100-2023-05-07 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.10.0 - 2023-05-07 </span> </span> </a> <nav class=md-nav aria-label="0.10.0 - 2023-05-07"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_10 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#090-2023-04-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.9.0 - 2023-04-03 </span> </span> </a> <nav class=md-nav aria-label="0.9.0 - 2023-04-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_11 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#083-2023-01-04 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.3 - 2023-01-04 </span> </span> </a> <nav class=md-nav aria-label="0.8.3 - 2023-01-04"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#082-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.2 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.2 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#081-2022-11-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.1 - 2022-11-19 </span> </span> </a> <nav class=md-nav aria-label="0.8.1 - 2022-11-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#080-2022-11-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.8.0 - 2022-11-13 </span> </span> </a> <nav class=md-nav aria-label="0.8.0 - 2022-11-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#071-2022-06-12 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.1 - 2022-06-12 </span> </span> </a> <nav class=md-nav aria-label="0.7.1 - 2022-06-12"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#070-2022-05-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.7.0 - 2022-05-28 </span> </span> </a> <nav class=md-nav aria-label="0.7.0 - 2022-05-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#packaging-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Packaging / Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#066-2022-03-06 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.6 - 2022-03-06 </span> </span> </a> <nav class=md-nav aria-label="0.6.6 - 2022-03-06"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#065-2022-02-24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.5 - 2022-02-24 </span> </span> </a> <nav class=md-nav aria-label="0.6.5 - 2022-02-24"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#064-2022-02-22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.4 - 2022-02-22 </span> </span> </a> <nav class=md-nav aria-label="0.6.4 - 2022-02-22"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_27 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#063-2022-02-20 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.3 - 2022-02-20 </span> </span> </a> <nav class=md-nav aria-label="0.6.3 - 2022-02-20"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#062-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.2 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.2 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_29 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#061-2022-02-17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.1 - 2022-02-17 </span> </span> </a> <nav class=md-nav aria-label="0.6.1 - 2022-02-17"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_30 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#060-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.6.0 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.6.0 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_31 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_21 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#054-2022-02-13 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.4 - 2022-02-13 </span> </span> </a> <nav class=md-nav aria-label="0.5.4 - 2022-02-13"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_32 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#053-2022-02-08 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.3 - 2022-02-08 </span> </span> </a> <nav class=md-nav aria-label="0.5.3 - 2022-02-08"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_33 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#052-2022-02-05 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.2 - 2022-02-05 </span> </span> </a> <nav class=md-nav aria-label="0.5.2 - 2022-02-05"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#051-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.1 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.1 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_22 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#050-2022-02-03 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.5.0 - 2022-02-03 </span> </span> </a> <nav class=md-nav aria-label="0.5.0 - 2022-02-03"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_15 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_34 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_23 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#041-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.1 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.1 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#bug-fixes_35 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#040-2022-02-01 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.4.0 - 2022-02-01 </span> </span> </a> <nav class=md-nav aria-label="0.4.0 - 2022-02-01"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-refactoring_24 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#030-2022-01-14 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.3.0 - 2022-01-14 </span> </span> </a> <nav class=md-nav aria-label="0.3.0 - 2022-01-14"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_16 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#dependencies_5 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_25 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#020-2021-12-28 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.2.0 - 2021-12-28 </span> </span> </a> <nav class=md-nav aria-label="0.2.0 - 2021-12-28"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#dependencies_6 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#features_17 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_36 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#010-2021-12-19 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 0.1.0 - 2021-12-19 </span> </span> </a> <nav class=md-nav aria-label="0.1.0 - 2021-12-19"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#features_18 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> <li class=md-nav__item> <a href=#bug-fixes_37 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Bug Fixes </span> </span> </a> </li> <li class=md-nav__item> <a href=#code-refactoring_26 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Code Refactoring </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/changelog.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/changelog.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=changelog>Changelog<a class=headerlink href=#changelog title="Permanent link">¤</a></h1> <p>All notable changes to this project will be documented in this file.</p> <p>The format is based on <a href=http://keepachangelog.com/en/1.0.0/ >Keep a Changelog</a> and this project adheres to <a href=http://semver.org/spec/v2.0.0.html>Semantic Versioning</a>.</p> <!-- insertion marker --> <h2 id=1108-2024-08-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.8>1.10.8</a> - 2024-08-14<a class=headerlink href=#1108-2024-08-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.7...1.10.8>Compare with 1.10.7</a></small></p> <h3 id=build>Build<a class=headerlink href=#build title="Permanent link">¤</a></h3> <ul> <li>Depend on Griffe 0.49 (<a href=https://github.com/mkdocstrings/python/commit/a87dcad36065dc3171512e166ec632ee3e5b0a64>a87dcad</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=1107-2024-07-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.7>1.10.7</a> - 2024-07-25<a class=headerlink href=#1107-2024-07-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.6...1.10.7>Compare with 1.10.6</a></small></p> <h3 id=packaging>Packaging<a class=headerlink href=#packaging title="Permanent link">¤</a></h3> <ul> <li>Include tests and all relevant files for downstream packaging in source distribution</li> </ul> <h2 id=1106-2024-07-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.6>1.10.6</a> - 2024-07-25<a class=headerlink href=#1106-2024-07-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.5...1.10.6>Compare with 1.10.5</a></small></p> <h3 id=bug-fixes>Bug Fixes<a class=headerlink href=#bug-fixes title="Permanent link">¤</a></h3> <ul> <li>Fix condition to display members (check all members, not just non-inherited ones) (<a href=https://github.com/mkdocstrings/python/commit/3d838a96f77fa128cd6f2afa5ed0cb151ab225fd>3d838a9</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring>Code Refactoring<a class=headerlink href=#code-refactoring title="Permanent link">¤</a></h3> <ul> <li>Update code for Griffe 0.48 (removing deprecation warnings) (<a href=https://github.com/mkdocstrings/python/commit/eff10ccf0fa1b2e73df912048a15c2d6406a2c8b>eff10cc</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/173>Issue-173</a></li> </ul> <h2 id=1105-2024-06-19><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.5>1.10.5</a> - 2024-06-19<a class=headerlink href=#1105-2024-06-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.4...1.10.5>Compare with 1.10.4</a></small></p> <h3 id=bug-fixes_1>Bug Fixes<a class=headerlink href=#bug-fixes_1 title="Permanent link">¤</a></h3> <ul> <li>Mix both previous checks for displaying objects: not imported or public (<a href=https://github.com/mkdocstrings/python/commit/587963ba53f765c9d7eefbc2fb80bdbb11164850>587963b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/294>Issue-294</a></li> </ul> <h2 id=1104-2024-06-18><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.4>1.10.4</a> - 2024-06-18<a class=headerlink href=#1104-2024-06-18 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.3...1.10.4>Compare with 1.10.3</a></small></p> <h3 id=code-refactoring_1>Code Refactoring<a class=headerlink href=#code-refactoring_1 title="Permanent link">¤</a></h3> <ul> <li>Only filter out imported objects instead of non-public ones after applying filters (<a href=https://github.com/mkdocstrings/python/commit/e2f4b35d29eca6f68afbd2e728ef7542a2abc992>e2f4b35</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/294>Issue-mkdocstrings/griffe-294</a></li> <li>Update code for Griffe 0.46 to avoid deprecation warnings (<a href=https://github.com/mkdocstrings/python/commit/321b407eb95195c44f3cf34d780784e0d6751998>321b407</a> by Timothée Mazzucotelli).</li> <li>Change <code>load_external_modules</code> default value to <code>None</code> to support new default mode in Griffe (<a href=https://github.com/mkdocstrings/python/commit/ae5896c1604e9089162d0d63ec97a510a6bcef89>ae5896c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=1103-2024-05-22><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.3>1.10.3</a> - 2024-05-22<a class=headerlink href=#1103-2024-05-22 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.2...1.10.3>Compare with 1.10.2</a></small></p> <h3 id=bug-fixes_2>Bug Fixes<a class=headerlink href=#bug-fixes_2 title="Permanent link">¤</a></h3> <ul> <li>Don't crash when rendering the source of an object whose lineno is none (<a href=https://github.com/mkdocstrings/python/commit/64df00b9b757e9642d65cf425d32f5a2e0d75f38>64df00b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/163>Issue-163</a></li> </ul> <h2 id=1102-2024-05-16><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.2>1.10.2</a> - 2024-05-16<a class=headerlink href=#1102-2024-05-16 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.1...1.10.2>Compare with 1.10.1</a></small></p> <h3 id=bug-fixes_3>Bug Fixes<a class=headerlink href=#bug-fixes_3 title="Permanent link">¤</a></h3> <ul> <li>Actually make use of custom .html.jinja templates (<a href=https://github.com/mkdocstrings/python/commit/5668abba15b13b86fe67f70f6b4004b7b1feeb4f>5668abb</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=1101-2024-05-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.1>1.10.1</a> - 2024-05-14<a class=headerlink href=#1101-2024-05-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.10.0...1.10.1>Compare with 1.10.0</a></small></p> <h3 id=build_1>Build<a class=headerlink href=#build_1 title="Permanent link">¤</a></h3> <ul> <li>Depend on mkdocstrings 0.25 which adds support for parameter <code>once</code> when logging messages (<a href=https://github.com/mkdocstrings/python/commit/2bc156bd6f231ae13066651f4490d1e9c2ce3ca2>2bc156b</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_2>Code Refactoring<a class=headerlink href=#code-refactoring_2 title="Permanent link">¤</a></h3> <ul> <li>Set handler's name (<a href=https://github.com/mkdocstrings/python/commit/a71ab12c8e52efe76e5c0a5e54065926a47cc0d2>a71ab12</a> by Timothée Mazzucotelli).</li> <li>Update <code>*.html</code> top-level templates to extend the <code>*.html.jinja</code> base templates (<a href=https://github.com/mkdocstrings/python/commit/a8c540e95693e8500da884c32ad159b3bbaaa7ba>a8c540e</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Update <code>*.html</code> base templates to extend their <code>*.html.jinja</code> counterpart, while overriding the <code>logs</code> block to issue a logging message (info) stating that extending <code>*.html</code> templates is deprecated (<a href=https://github.com/mkdocstrings/python/commit/e6f1b9caf13754eca9dbb2f112727bef50876ed7>e6f1b9c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Add <code>*.html.jinja</code> top-level (overridable) templates, extending their base counterpart (<a href=https://github.com/mkdocstrings/python/commit/7c14924c406d7b5f4f1c22d03019d4c566018d2d>7c14924</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Add <code>*.html.jinja</code> base templates, which are copies of <code>*.html</code> templates, with an additional <code>logs</code> block, and using the updated <code>get_template</code> filter (<a href=https://github.com/mkdocstrings/python/commit/eced9a54fc8a559b686cb1b1180a0d2e04ba452d>eced9a5</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Update <code>get_template</code> filter to support both <code>*.html</code> and <code>*.html.jinja</code> templates, logging a message (info) when <code>*.html</code> templates are overridden by users (<a href=https://github.com/mkdocstrings/python/commit/3546fd70b2d4e45f77b166b2e67c333acc8af0d2>3546fd7</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> <li>Log a warning when base templates are overridden (<a href=https://github.com/mkdocstrings/python/commit/26e3d66f5334a5aaff75bda030afe6dfa1cc94d7>26e3d66</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/151>Issue-151</a></li> </ul> <h2 id=1100-2024-04-19><a href=https://github.com/mkdocstrings/python/releases/tag/1.10.0>1.10.0</a> - 2024-04-19<a class=headerlink href=#1100-2024-04-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.2...1.10.0>Compare with 1.9.2</a></small></p> <h3 id=features>Features<a class=headerlink href=#features title="Permanent link">¤</a></h3> <ul> <li>Add CSS classes <code>doc-section-title</code> and <code>doc-section-item</code> in docstring sections (<a href=https://github.com/mkdocstrings/python/commit/d6e1d68c099e61c3bd6d93e583708335d84158f5>d6e1d68</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/17>Issue-17</a></li> </ul> <h3 id=bug-fixes_4>Bug Fixes<a class=headerlink href=#bug-fixes_4 title="Permanent link">¤</a></h3> <ul> <li>Render enumeration instance name instead of just "value", allowing proper cross-reference (<a href=https://github.com/mkdocstrings/python/commit/11d81d8e056b7c074eb3a1c47606867156a338fa>11d81d8</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/124>Issue-124</a></li> </ul> <h2 id=192-2024-04-02><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.2>1.9.2</a> - 2024-04-02<a class=headerlink href=#192-2024-04-02 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.1...1.9.2>Compare with 1.9.1</a></small></p> <h3 id=dependencies>Dependencies<a class=headerlink href=#dependencies title="Permanent link">¤</a></h3> <ul> <li>Remove cap on Python-Markdown 3.6 now that <abbr title="Table of Contents">ToC</abbr> labels are fixed by mkdocstrings (<a href=https://github.com/mkdocstrings/python/commit/0c1e2c15b2497d99974cbb9bd68f25056bb8451b>0c1e2c1</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=191-2024-04-02><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.1>1.9.1</a> - 2024-04-02<a class=headerlink href=#191-2024-04-02 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.9.0...1.9.1>Compare with 1.9.0</a></small></p> <h3 id=bug-fixes_5>Bug Fixes<a class=headerlink href=#bug-fixes_5 title="Permanent link">¤</a></h3> <ul> <li>Don't try loading packages from relative paths (<a href=https://github.com/mkdocstrings/python/commit/bd7349714059afb1295e743dbc82380fa797a032>bd73497</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/145>Issue-145</a></li> </ul> <h3 id=code-refactoring_3>Code Refactoring<a class=headerlink href=#code-refactoring_3 title="Permanent link">¤</a></h3> <ul> <li>Allow first name in a separate signature to be highlighted as a function name (<a href=https://github.com/mkdocstrings/python/commit/f798a1e19dbac548420dcbe1172e9a49232b615b>f798a1e</a> by Timothée Mazzucotelli).</li> <li>Maintain original Pygments color for cross-refs in signatures (<a href=https://github.com/mkdocstrings/python/commit/7c8b885fa2b704e719016acb35791723ea3a496a>7c8b885</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=190-2024-03-13><a href=https://github.com/mkdocstrings/python/releases/tag/1.9.0>1.9.0</a> - 2024-03-13<a class=headerlink href=#190-2024-03-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.8.0...1.9.0>Compare with 1.8.0</a></small></p> <h3 id=dependencies_1>Dependencies<a class=headerlink href=#dependencies_1 title="Permanent link">¤</a></h3> <ul> <li>Add upper bound on Python-Markdown 3.6 to temporarily prevent breaking changes (<a href=https://github.com/mkdocstrings/python/commit/cd93ee31418a2752667d43bb5a05d22284522c24>cd93ee3</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_1>Features<a class=headerlink href=#features_1 title="Permanent link">¤</a></h3> <ul> <li>Add <code>show_labels</code> option to show/hide labels (<a href=https://github.com/mkdocstrings/python/commit/eaf9b8240069f7369f401fe048892043c8b173d3>eaf9b82</a> by Viicos). <a href=https://github.com/mkdocstrings/python/issues/120>Issue #120</a>, <a href=https://github.com/mkdocstrings/python/pull/130>PR #130</a></li> <li>Add option to search for stubs packages (<a href=https://github.com/mkdocstrings/python/commit/0c6aa323c9e57b8348765a5daa11c79d0c5edb07>0c6aa32</a> by Romain). <a href=https://github.com/mkdocstrings/python/pull/128>PR #128</a>, PR griffe#221: : <a href=https://github.com/mkdocstrings/griffe/pull/221>https://github.com/mkdocstrings/griffe/pull/221</a></li> </ul> <h3 id=code-refactoring_4>Code Refactoring<a class=headerlink href=#code-refactoring_4 title="Permanent link">¤</a></h3> <ul> <li>Mark all Jinja blocks as scoped (<a href=https://github.com/mkdocstrings/python/commit/548bdaddd66ffc99b3b9a5a62228a2ff4ff0dd00>548bdad</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=180-2024-01-08><a href=https://github.com/mkdocstrings/python/releases/tag/1.8.0>1.8.0</a> - 2024-01-08<a class=headerlink href=#180-2024-01-08 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.5...1.8.0>Compare with 1.7.5</a></small></p> <h3 id=features_2>Features<a class=headerlink href=#features_2 title="Permanent link">¤</a></h3> <ul> <li> <p>Release Insiders features of the $500/month funding goal (<a href=https://github.com/mkdocstrings/python/commit/bd301061fe9c647f9b91c2c9b4baa784c304eca7>bd30106</a> by Timothée Mazzucotelli). The features and projects related to <em>mkdocstrings-python</em> are:</p> <ul> <li><a href=https://mkdocstrings.github.io/python/usage/configuration/signatures/#signature_crossrefs>Cross-references for type annotations in signatures</a></li> <li><a href=https://mkdocstrings.github.io/python/usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a></li> <li><a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ ><code>griffe-inherited-docstrings</code></a>, a Griffe extension for inheriting docstrings</li> <li><a href=https://mkdocstrings.github.io/griffe2md/ ><code>griffe2md</code></a>, a tool to output API docs to Markdown using Griffe</li> </ul> <p>See the complete list of features and projects here: <a href=https://pawamoy.github.io/insiders/#500-plasmavac-user-guide>https://pawamoy.github.io/insiders/#500-plasmavac-user-guide</a>.</p> </li> </ul> <h2 id=175-2023-11-21><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.5>1.7.5</a> - 2023-11-21<a class=headerlink href=#175-2023-11-21 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.4...1.7.5>Compare with 1.7.4</a></small></p> <h3 id=bug-fixes_6>Bug Fixes<a class=headerlink href=#bug-fixes_6 title="Permanent link">¤</a></h3> <ul> <li>Add missing translations (fallback theme) for ReadTheDocs (<a href=https://github.com/mkdocstrings/python/commit/2fb651304d0a80fa9d6a8c77c16b3004bda22972>2fb6513</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/115>Issue #115</a></li> </ul> <h2 id=174-2023-11-12><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.4>1.7.4</a> - 2023-11-12<a class=headerlink href=#174-2023-11-12 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.3...1.7.4>Compare with 1.7.3</a></small></p> <h3 id=bug-fixes_7>Bug Fixes<a class=headerlink href=#bug-fixes_7 title="Permanent link">¤</a></h3> <ul> <li>Make extension paths relative to config file (<a href=https://github.com/mkdocstrings/python/commit/5035e9269fe11664fd25e438ac8f746721b3de0a>5035e92</a> by Waylan Limberg). <a href=https://github.com/mkdocstrings/python/pull/112>PR #112</a>, Co-authored-by: Timothée Mazzucotelli <a href=mailto:pawamoy@pm.me>pawamoy@pm.me</a></li> </ul> <h3 id=code-refactoring_5>Code Refactoring<a class=headerlink href=#code-refactoring_5 title="Permanent link">¤</a></h3> <ul> <li>Prepare for Griffe 0.37 (<a href=https://github.com/mkdocstrings/python/commit/b5bb8a982e7a2ec97c73335e453d0033bf4987b6>b5bb8a9</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=173-2023-10-09><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.3>1.7.3</a> - 2023-10-09<a class=headerlink href=#173-2023-10-09 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.2...1.7.3>Compare with 1.7.2</a></small></p> <h3 id=bug-fixes_8>Bug Fixes<a class=headerlink href=#bug-fixes_8 title="Permanent link">¤</a></h3> <ul> <li>Don't deepcopy the local config (<a href=https://github.com/mkdocstrings/python/commit/1300d2c77dd49f5dea459ad844d72edcc856c4cd>1300d2c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=172-2023-10-05><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.2>1.7.2</a> - 2023-10-05<a class=headerlink href=#172-2023-10-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.1...1.7.2>Compare with 1.7.1</a></small></p> <h3 id=bug-fixes_9>Bug Fixes<a class=headerlink href=#bug-fixes_9 title="Permanent link">¤</a></h3> <ul> <li>Prevent alias resolution error when source-ordering members (<a href=https://github.com/mkdocstrings/python/commit/67df10cbb86225e1e3efc251325cbff883a1ef3c>67df10c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/213>Issue griffe#213</a></li> </ul> <h3 id=code-refactoring_6>Code Refactoring<a class=headerlink href=#code-refactoring_6 title="Permanent link">¤</a></h3> <ul> <li>Use package relative filepath if filepath is not relative (<a href=https://github.com/mkdocstrings/python/commit/aa5a3f7b0928498ba9da10ed1211d1e55b7f6c4b>aa5a3f7</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/discussions/622>Discussion mkdocstrings#622</a></li> </ul> <h2 id=171-2023-09-28><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.1>1.7.1</a> - 2023-09-28<a class=headerlink href=#171-2023-09-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.7.0...1.7.1>Compare with 1.7.0</a></small></p> <h3 id=bug-fixes_10>Bug Fixes<a class=headerlink href=#bug-fixes_10 title="Permanent link">¤</a></h3> <ul> <li>Stop propagation of annotation to next parameter in signature template (<a href=https://github.com/mkdocstrings/python/commit/3a760acacfabaef5abc658ee579e1c205e674994>3a760ac</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/110>Issue #110</a></li> </ul> <h3 id=code-refactoring_7>Code Refactoring<a class=headerlink href=#code-refactoring_7 title="Permanent link">¤</a></h3> <ul> <li>Look into inherited members for <code>__init__</code> methods when merging docstrings (<a href=https://github.com/mkdocstrings/python/commit/b97d51f67c2ee3d1edfe6975274ead50fcb3fa8f>b97d51f</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/106>Issue #106</a></li> </ul> <h2 id=170-2023-09-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.7.0>1.7.0</a> - 2023-09-14<a class=headerlink href=#170-2023-09-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.3...1.7.0>Compare with 1.6.3</a></small></p> <h3 id=features_3>Features<a class=headerlink href=#features_3 title="Permanent link">¤</a></h3> <ul> <li>Add option to unwrap <code>Annotated</code> types (<a href=https://github.com/mkdocstrings/python/commit/53db04b6256db960aebc2a9f91129b82ca222e41>53db04b</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=163-2023-09-11><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.3>1.6.3</a> - 2023-09-11<a class=headerlink href=#163-2023-09-11 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.2...1.6.3>Compare with 1.6.2</a></small></p> <h3 id=bug-fixes_11>Bug Fixes<a class=headerlink href=#bug-fixes_11 title="Permanent link">¤</a></h3> <ul> <li>Make <code>load_external_modules</code> a global-only option (<a href=https://github.com/mkdocstrings/python/commit/266f41f2033e034060001bc2bed376b4f3a8d7b8>266f41f</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/87>Issue #87</a></li> <li>Never fail when trying to format code with Black (<a href=https://github.com/mkdocstrings/python/commit/df24bbc640886e1da2d00a3b58c1aa7736cb1eeb>df24bbc</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_8>Code Refactoring<a class=headerlink href=#code-refactoring_8 title="Permanent link">¤</a></h3> <ul> <li>Wrap docstring section elements (list style) in code tags to prevent spell checker errors (<a href=https://github.com/mkdocstrings/python/commit/1ae8dd89cddd67c09d7d30c59b9013516cea2924>1ae8dd8</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=162-2023-09-05><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.2>1.6.2</a> - 2023-09-05<a class=headerlink href=#162-2023-09-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.1...1.6.2>Compare with 1.6.1</a></small></p> <h3 id=bug-fixes_12>Bug Fixes<a class=headerlink href=#bug-fixes_12 title="Permanent link">¤</a></h3> <ul> <li>Don't render cross-ref spans when they're not enabled (<a href=https://github.com/mkdocstrings/python/commit/eed51ee14bd973a08395f95377f9bd4cd38febfc>eed51ee</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=161-2023-09-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.1>1.6.1</a> - 2023-09-04<a class=headerlink href=#161-2023-09-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.6.0...1.6.1>Compare with 1.6.0</a></small></p> <h3 id=bug-fixes_13>Bug Fixes<a class=headerlink href=#bug-fixes_13 title="Permanent link">¤</a></h3> <ul> <li>Fix spacing for rendered named items in Yields, Receives and Returns sections (list style) (<a href=https://github.com/mkdocstrings/python/commit/e12688ecb7d868047f794300eb2638d052563e68>e12688e</a> by Timothée Mazzucotelli).</li> <li>Fix rendering Receives sections as lists (<a href=https://github.com/mkdocstrings/python/commit/9ff7e68b58e2ab0829c73e4e62254325a4f766ac>9ff7e68</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=160-2023-08-27><a href=https://github.com/mkdocstrings/python/releases/tag/1.6.0>1.6.0</a> - 2023-08-27<a class=headerlink href=#160-2023-08-27 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.2...1.6.0>Compare with 1.5.2</a></small></p> <h3 id=features_4>Features<a class=headerlink href=#features_4 title="Permanent link">¤</a></h3> <ul> <li>Add <code>doc-signature</code> CSS class to separate signature code blocks (<a href=https://github.com/mkdocstrings/python/commit/b6c648f554f2e0dce609afc2a2c1a3b27a4fbeba>b6c648f</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_9>Code Refactoring<a class=headerlink href=#code-refactoring_9 title="Permanent link">¤</a></h3> <ul> <li>Add a <code>format_attribute</code> filter, preparing for cross-refs in attribute signatures (<a href=https://github.com/mkdocstrings/python/commit/8f0ade249638ee2f2d446f083c70b6c30799875a>8f0ade2</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=152-2023-08-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.2>1.5.2</a> - 2023-08-25<a class=headerlink href=#152-2023-08-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.1...1.5.2>Compare with 1.5.1</a></small></p> <h3 id=bug-fixes_14>Bug Fixes<a class=headerlink href=#bug-fixes_14 title="Permanent link">¤</a></h3> <ul> <li>Regression in children template: fix condition for when members are specified (<a href=https://github.com/mkdocstrings/python/commit/beeebffa36288d1f71d122f78ecd9064b41a75d0>beeebff</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/100>Issue #100</a></li> <li>Prevent whitespace removal before highlight filter (<a href=https://github.com/mkdocstrings/python/commit/c6f36c0c9e5141800f8c5c988c9b67720fccccb8>c6f36c0</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_10>Code Refactoring<a class=headerlink href=#code-refactoring_10 title="Permanent link">¤</a></h3> <ul> <li>Never show full object path in <abbr title="Table of Contents">ToC</abbr> entry (<a href=https://github.com/mkdocstrings/python/commit/9aa758bcc42dfcf7c416d87b8f7cd407b7fdf148>9aa758b</a> by Timothée Mazzucotelli).</li> <li>Sync templates with insiders, remove useless lines (<a href=https://github.com/mkdocstrings/python/commit/38b317f4fc74b583a4788721a5559c51a5a47d86>38b317f</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=151-2023-08-24><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.1>1.5.1</a> - 2023-08-24<a class=headerlink href=#151-2023-08-24 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.5.0...1.5.1>Compare with 1.5.0</a></small></p> <h3 id=code-refactoring_11>Code Refactoring<a class=headerlink href=#code-refactoring_11 title="Permanent link">¤</a></h3> <ul> <li>Never show full path in separate signature since it would appear in the heading already (<a href=https://github.com/mkdocstrings/python/commit/9e0204930cf4dc973ba8eb41c471fc0132e1631f>9e02049</a> by Timothée Mazzucotelli).</li> <li>Improve guessing whether an object is public (<a href=https://github.com/mkdocstrings/python/commit/35eb81162582d794f170cd7e8c68f10ecfd8ff9d>35eb811</a> by Timothée Mazzucotelli).</li> <li>Always sort modules alphabetically as source order wouldn't make sense (<a href=https://github.com/mkdocstrings/python/commit/70c81cebb62366cbfc6124bc84d1563db176afb6>70c81ce</a> by Timothée Mazzucotelli).</li> <li>Return anchors as a tuple, not a set, to preserve order (<a href=https://github.com/mkdocstrings/python/commit/736a2b5e729d25bb184db8d42f2ad01025a5bc58>736a2b5</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/crystal/pull/6>Related-to #mkdocstrings/crystal#6</a></li> </ul> <h2 id=150-2023-08-20><a href=https://github.com/mkdocstrings/python/releases/tag/1.5.0>1.5.0</a> - 2023-08-20<a class=headerlink href=#150-2023-08-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.4.0...1.5.0>Compare with 1.4.0</a></small></p> <h3 id=features_5>Features<a class=headerlink href=#features_5 title="Permanent link">¤</a></h3> <ul> <li>Add support for new Griffe docstring sections: modules, classes, and functions (methods) (<a href=https://github.com/mkdocstrings/python/commit/d5337afdf68fc492b34f749aa69d1da33b49f9c2>d5337af</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=140-2023-08-18><a href=https://github.com/mkdocstrings/python/releases/tag/1.4.0>1.4.0</a> - 2023-08-18<a class=headerlink href=#140-2023-08-18 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.3.0...1.4.0>Compare with 1.3.0</a></small></p> <h3 id=features_6>Features<a class=headerlink href=#features_6 title="Permanent link">¤</a></h3> <ul> <li>Support new Griffe expressions (in v0.33) (<a href=https://github.com/mkdocstrings/python/commit/9b8e1b1604b978cf2d89b7abf826cf4407f92394>9b8e1b1</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_12>Code Refactoring<a class=headerlink href=#code-refactoring_12 title="Permanent link">¤</a></h3> <ul> <li>Deprecate <code>crossref</code> and <code>multi_crossref</code> filters (<a href=https://github.com/mkdocstrings/python/commit/4fe3d2051047061780e20683da6513a7c8d91829>4fe3d20</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=130-2023-08-06><a href=https://github.com/mkdocstrings/python/releases/tag/1.3.0>1.3.0</a> - 2023-08-06<a class=headerlink href=#130-2023-08-06 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.2.1...1.3.0>Compare with 1.2.1</a></small></p> <h3 id=dependencies_2>Dependencies<a class=headerlink href=#dependencies_2 title="Permanent link">¤</a></h3> <ul> <li>Set upper bound on Griffe (0.33) (<a href=https://github.com/mkdocstrings/python/commit/ad8c2a3ac8daf0b0c06579b6ba667e05feffa247>ad8c2a3</a> by Timothée Mazzucotelli). See <a href=https://github.com/mkdocstrings/griffe/discussions/195>https://github.com/mkdocstrings/griffe/discussions/195</a>.</li> </ul> <h3 id=features_7>Features<a class=headerlink href=#features_7 title="Permanent link">¤</a></h3> <ul> <li>Show parameter default values within the "list" section style too (<a href=https://github.com/mkdocstrings/python/commit/55f08f3e2cece815dd79d35c82515ba8003ec64c>55f08f3</a> by Antoine Dechaume). <a href=https://github.com/mkdocstrings/python/pull/92>PR #92</a>, Co-authored-by: Timothée Mazzucotelli <a href=mailto:pawamoy@pm.me>pawamoy@pm.me</a></li> </ul> <h2 id=121-2023-07-20><a href=https://github.com/mkdocstrings/python/releases/tag/1.2.1>1.2.1</a> - 2023-07-20<a class=headerlink href=#121-2023-07-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.2.0...1.2.1>Compare with 1.2.0</a></small></p> <h3 id=bug-fixes_15>Bug Fixes<a class=headerlink href=#bug-fixes_15 title="Permanent link">¤</a></h3> <ul> <li>Fix members ordering when members are specified with a boolean (<a href=https://github.com/mkdocstrings/python/commit/c69f9c3b3ddde915619eded6620f7ddada977b00>c69f9c3</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/89>Issue #89</a></li> </ul> <h2 id=120-2023-07-14><a href=https://github.com/mkdocstrings/python/releases/tag/1.2.0>1.2.0</a> - 2023-07-14<a class=headerlink href=#120-2023-07-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.2...1.2.0>Compare with 1.1.2</a></small></p> <h3 id=features_8>Features<a class=headerlink href=#features_8 title="Permanent link">¤</a></h3> <ul> <li>Add Jinja blocks to module, class, function and attribute templates (<a href=https://github.com/mkdocstrings/python/commit/299fe483cc03ba76df29b843f88467f89db6dc72>299fe48</a> by Timothée Mazzucotelli).</li> <li>Setup infrastructure for I18N, add translations for simplified chinese and japanese (<a href=https://github.com/mkdocstrings/python/commit/b053b2900ef5c0069b68ad19bda9aaa98141a525>b053b29</a> by Nyuan Zhang). <a href=https://github.com/mkdocstrings/python/pull/77>PR #77</a></li> <li>Support inheritance (<a href=https://github.com/mkdocstrings/python/commit/ae4235689155a4b4f0c1e74b0014a466c6b1181f>ae42356</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/157>Issue mkdocstrings#157</a>, <a href=https://github.com/mkdocstrings/mkdocstrings/discussions/536>Discussion mkdocstrings#536</a></li> </ul> <h3 id=bug-fixes_16>Bug Fixes<a class=headerlink href=#bug-fixes_16 title="Permanent link">¤</a></h3> <ul> <li>Don't show <code>None</code> as return annotation of class signatures (<a href=https://github.com/mkdocstrings/python/commit/3d8724ed1f4d040d7a3d9d02784cf0d1f80445b2>3d8724e</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/85>Issue #85</a></li> <li>Show labels in deterministic order (<a href=https://github.com/mkdocstrings/python/commit/02619a85ee4aab25f3241d983bdfff0534dd3f81>02619a8</a> by Oleh Prypin).</li> </ul> <h2 id=112-2023-06-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.2>1.1.2</a> - 2023-06-04<a class=headerlink href=#112-2023-06-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.1...1.1.2>Compare with 1.1.1</a></small></p> <h3 id=code-refactoring_13>Code Refactoring<a class=headerlink href=#code-refactoring_13 title="Permanent link">¤</a></h3> <ul> <li>Keep headings style consistent (CSS) (<a href=https://github.com/mkdocstrings/python/commit/92032e561861c3fc4e3fb0c6882bb076d0e6614d>92032e5</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=111-2023-06-04><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.1>1.1.1</a> - 2023-06-04<a class=headerlink href=#111-2023-06-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.1.0...1.1.1>Compare with 1.1.0</a></small></p> <h3 id=bug-fixes_17>Bug Fixes<a class=headerlink href=#bug-fixes_17 title="Permanent link">¤</a></h3> <ul> <li>Fix mkdocs and readthedocs themes support (<a href=https://github.com/mkdocstrings/python/commit/14f18b219f67f9b6d154d4a52051d8d7d7c49348>14f18b2</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_14>Code Refactoring<a class=headerlink href=#code-refactoring_14 title="Permanent link">¤</a></h3> <ul> <li>Improve display of paragraphs in docstring sections (<a href=https://github.com/mkdocstrings/python/commit/439f5e6984fe94c28324ca57fbd1a52ef8f55b62>439f5e6</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=110-2023-05-25><a href=https://github.com/mkdocstrings/python/releases/tag/1.1.0>1.1.0</a> - 2023-05-25<a class=headerlink href=#110-2023-05-25 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/1.0.0...1.1.0>Compare with 1.0.0</a></small></p> <h3 id=features_9>Features<a class=headerlink href=#features_9 title="Permanent link">¤</a></h3> <ul> <li>Support custom templates through objects' extra data (<a href=https://github.com/mkdocstrings/python/commit/8ff2b06295e848b9c84867802eb845adf061dc10>8ff2b06</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/pull/70>PR #70</a></li> </ul> <h2 id=100-2023-05-11><a href=https://github.com/mkdocstrings/python/releases/tag/1.0.0>1.0.0</a> - 2023-05-11<a class=headerlink href=#100-2023-05-11 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.10.1...1.0.0>Compare with 0.10.1</a></small></p> <h3 id=breaking-changes>Breaking changes<a class=headerlink href=#breaking-changes title="Permanent link">¤</a></h3> <ul> <li> <p>The signature of the <a href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature><code>format_signature</code> filter</a> has changed. If you override templates in your project to customize the output, make sure to update the following templates so that they use the new filter signature:</p> <ul> <li><code>class.html</code></li> <li><code>expression.html</code></li> <li><code>function.html</code></li> <li><code>signature.html</code></li> </ul> <p>You can see how to use the filter in this commit's changes: <a href=https://github.com/mkdocstrings/python/commit/f686f4e4599cea64686d4ef4863b507dd096a513>f686f4e4</a>.</p> </li> </ul> <p><strong>We take this as an opportunity to go out of beta and bump the version to 1.0.0. This will allow users to rely on semantic versioning.</strong></p> <h3 id=bug-fixes_18>Bug Fixes<a class=headerlink href=#bug-fixes_18 title="Permanent link">¤</a></h3> <ul> <li>Bring compatibility with insiders signature crossrefs feature (<a href=https://github.com/mkdocstrings/python/commit/f686f4e4599cea64686d4ef4863b507dd096a513>f686f4e</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=0101-2023-05-07><a href=https://github.com/mkdocstrings/python/releases/tag/0.10.1>0.10.1</a> - 2023-05-07<a class=headerlink href=#0101-2023-05-07 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.10.0...0.10.1>Compare with 0.10.0</a></small></p> <h3 id=bug-fixes_19>Bug Fixes<a class=headerlink href=#bug-fixes_19 title="Permanent link">¤</a></h3> <ul> <li>Format signatures with full-path names (<a href=https://github.com/mkdocstrings/python/commit/685512decf1a14c53fa6ca82048e65619aa6a463>685512d</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=0100-2023-05-07><a href=https://github.com/mkdocstrings/python/releases/tag/0.10.0>0.10.0</a> - 2023-05-07<a class=headerlink href=#0100-2023-05-07 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.9.0...0.10.0>Compare with 0.9.0</a></small></p> <h3 id=features_10>Features<a class=headerlink href=#features_10 title="Permanent link">¤</a></h3> <ul> <li>Add option to disallow inspection (<a href=https://github.com/mkdocstrings/python/commit/40f2f268876358941cf8221d01d219a0deb9de38>40f2f26</a> by Nyuan Zhang). <a href=https://github.com/mkdocstrings/python/issues/68>Issue #68</a>, <a href=https://github.com/mkdocstrings/python/pull/69>PR #69</a></li> </ul> <h3 id=bug-fixes_20>Bug Fixes<a class=headerlink href=#bug-fixes_20 title="Permanent link">¤</a></h3> <ul> <li>Make admonitions open by default (<a href=https://github.com/mkdocstrings/python/commit/79cd153cfceec860f6ce08d30817c21031983238>79cd153</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/22>Issue #22</a></li> </ul> <h3 id=code-refactoring_15>Code Refactoring<a class=headerlink href=#code-refactoring_15 title="Permanent link">¤</a></h3> <ul> <li>Match documented behavior for filtering (all members, list, none) (<a href=https://github.com/mkdocstrings/python/commit/c7f70c353c3dd2b82e1f34c70cd433e0bab4f6e6>c7f70c3</a> by Timothée Mazzucotelli).</li> <li>Switch to an info level log for when black's not installed (<a href=https://github.com/mkdocstrings/python/commit/f593bb06c63860be14d2025c4bd795e0c8976ce0>f593bb0</a> by Faster Speeding).</li> <li>Return anchors as a set (<a href=https://github.com/mkdocstrings/python/commit/e2b820c5af3787518656d5f7f799ecb6b55aa033>e2b820c</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=090-2023-04-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.9.0>0.9.0</a> - 2023-04-03<a class=headerlink href=#090-2023-04-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.3...0.9.0>Compare with 0.8.3</a></small></p> <h3 id=features_11>Features<a class=headerlink href=#features_11 title="Permanent link">¤</a></h3> <ul> <li>Allow resolving alias to external modules (<a href=https://github.com/mkdocstrings/python/commit/02052e248b125a113ab788faa9a075adbdc92ca6>02052e2</a> by Gilad). <a href=https://github.com/mkdocstrings/python/pull/61>PR #61</a>, <a href=https://github.com/mkdocstrings/python/pull/60>Follow-up of PR #60</a></li> <li>Allow pre-loading modules (<a href=https://github.com/mkdocstrings/python/commit/36002cb9c89fba35d23afb07a866dd8c6877f742>36002cb</a> by Gilad). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/503>Issue mkdocstrings/mkdocstrings#503</a>, <a href=https://github.com/mkdocstrings/python/pull/60>PR #60</a></li> <li>Add show options for docstrings (<a href=https://github.com/mkdocstrings/python/commit/a6c55fb52f362dd49b1a7e334a631f6ea3b1b963>a6c55fb</a> by Jeremy Goh). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/466>Issue mkdocstrings/mkdocstrings#466</a>, <a href=https://github.com/mkdocstrings/python/pull/56>PR #56</a></li> <li>Allow custom list of domains for inventories (<a href=https://github.com/mkdocstrings/python/commit/f5ea6fd81f7a531e8a97bb0e48267188d72936c1>f5ea6fd</a> by Sorin Sbarnea). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/510>Issue mkdocstrings/mkdocstrings#510</a>, <a href=https://github.com/mkdocstrings/python/pull/49>PR #49</a></li> </ul> <h3 id=bug-fixes_21>Bug Fixes<a class=headerlink href=#bug-fixes_21 title="Permanent link">¤</a></h3> <ul> <li>Prevent alias resolution error when searching for anchors (<a href=https://github.com/mkdocstrings/python/commit/a190e2c4a752e74a05ad03702837a0914c198742>a190e2c</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/64>Issue #64</a></li> </ul> <h3 id=code-refactoring_16>Code Refactoring<a class=headerlink href=#code-refactoring_16 title="Permanent link">¤</a></h3> <ul> <li>Support Griffe 0.26 (<a href=https://github.com/mkdocstrings/python/commit/075735ce8d86921fbf092d7ad1d009bbb3a2e0bb>075735c</a> by Timothée Mazzucotelli).</li> <li>Log (debug) unresolved aliases (<a href=https://github.com/mkdocstrings/python/commit/9164742f87362e8241dea11bec0fd96f6b9d9dda>9164742</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=083-2023-01-04><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.3>0.8.3</a> - 2023-01-04<a class=headerlink href=#083-2023-01-04 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.2...0.8.3>Compare with 0.8.2</a></small></p> <h3 id=code-refactoring_17>Code Refactoring<a class=headerlink href=#code-refactoring_17 title="Permanent link">¤</a></h3> <ul> <li>Change "unresolved aliases" log level to DEBUG (<a href=https://github.com/mkdocstrings/python/commit/dccb818f51278cc8799e2187a615d999a3ab86fb>dccb818</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=082-2022-11-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.2>0.8.2</a> - 2022-11-19<a class=headerlink href=#082-2022-11-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.1...0.8.2>Compare with 0.8.1</a></small></p> <h3 id=bug-fixes_22>Bug Fixes<a class=headerlink href=#bug-fixes_22 title="Permanent link">¤</a></h3> <ul> <li>Fix base directory used to expand globs (<a href=https://github.com/mkdocstrings/python/commit/34cfa4b41f264437a338e66f6060ceeee134ba15>34cfa4b</a> by Florian Hofer). <a href=https://github.com/mkdocstrings/python/pull/45>PR #45</a></li> </ul> <h2 id=081-2022-11-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.1>0.8.1</a> - 2022-11-19<a class=headerlink href=#081-2022-11-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.8.0...0.8.1>Compare with 0.8.0</a></small></p> <h3 id=bug-fixes_23>Bug Fixes<a class=headerlink href=#bug-fixes_23 title="Permanent link">¤</a></h3> <ul> <li>Expand globs relative to configuration file path (<a href=https://github.com/mkdocstrings/python/commit/0dc45aeb7c7f9b2f15118ebf1584baa06d365c9b>0dc45ae</a> by David Vegh). <a href=https://github.com/mkdocstrings/python/issues/42>Issue #42</a>, <a href=https://github.com/mkdocstrings/python/pull/43>PR #43</a></li> </ul> <h2 id=080-2022-11-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.8.0>0.8.0</a> - 2022-11-13<a class=headerlink href=#080-2022-11-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.7.1...0.8.0>Compare with 0.7.1</a></small></p> <h3 id=features_12>Features<a class=headerlink href=#features_12 title="Permanent link">¤</a></h3> <ul> <li>Add support for globs in paths configuration (<a href=https://github.com/mkdocstrings/python/commit/29edd02e7a4d83f6b7e8555d4d5b03a79882eb07>29edd02</a> by Andrew Guenther). <a href=https://github.com/mkdocstrings/python/issues/33>Issue #33</a>, <a href=https://github.com/mkdocstrings/python/pull/34>PR #34</a></li> </ul> <h3 id=code-refactoring_18>Code Refactoring<a class=headerlink href=#code-refactoring_18 title="Permanent link">¤</a></h3> <ul> <li>Support Griffe 0.24 (<a href=https://github.com/mkdocstrings/python/commit/3b9f7013a7367f18e4354c37f029f9caf3ad0a4e>3b9f701</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=071-2022-06-12><a href=https://github.com/mkdocstrings/python/releases/tag/0.7.1>0.7.1</a> - 2022-06-12<a class=headerlink href=#071-2022-06-12 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.7.0...0.7.1>Compare with 0.7.0</a></small></p> <h3 id=bug-fixes_24>Bug Fixes<a class=headerlink href=#bug-fixes_24 title="Permanent link">¤</a></h3> <ul> <li>Fix rendering of <code>/</code> in signatures (<a href=https://github.com/mkdocstrings/python/commit/3e927e43192710218fe69f67ff832936c856a678>3e927e4</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/25>Issue #25</a></li> </ul> <h2 id=070-2022-05-28><a href=https://github.com/mkdocstrings/python/releases/tag/0.7.0>0.7.0</a> - 2022-05-28<a class=headerlink href=#070-2022-05-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.6...0.7.0>Compare with 0.6.6</a></small></p> <h3 id=packaging-dependencies>Packaging / Dependencies<a class=headerlink href=#packaging-dependencies title="Permanent link">¤</a></h3> <ul> <li>Depend on mkdocstrings 0.19 (<a href=https://github.com/mkdocstrings/python/commit/b6a9a4799980c4590a7ce2838e12653f40e43be3>b6a9a47</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_13>Features<a class=headerlink href=#features_13 title="Permanent link">¤</a></h3> <ul> <li>Add config option for annotations paths verbosity (<a href=https://github.com/mkdocstrings/python/commit/b6c989315fb028813a919319ad1818b0b1f597ac>b6c9893</a> by Timothée Mazzucotelli).</li> <li>Use sections titles in SpaCy-styled docstrings (<a href=https://github.com/mkdocstrings/python/commit/fe16b54aea60473575343e3a3c428567b701bd7d>fe16b54</a> by Timothée Mazzucotelli).</li> <li>Wrap objects names in spans to allow custom styling (<a href=https://github.com/mkdocstrings/python/commit/0822ff9d3ffd3fb71fb619a8b557160661eff9c3>0822ff9</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/240>Issue mkdocstrings/mkdocstrings#240</a></li> <li>Add Jinja blocks around docstring section styles (<a href=https://github.com/mkdocstrings/python/commit/aaa79eea40d49a64a69badbe732bf5211fbf055a>aaa79ee</a> by Timothée Mazzucotelli).</li> <li>Add members and filters options (<a href=https://github.com/mkdocstrings/python/commit/24a6136ee6c04a6a49ee74b20e65177868a10ea7>24a6136</a> by Timothée Mazzucotelli).</li> <li>Add paths option (<a href=https://github.com/mkdocstrings/python/commit/dd41182c210f0bb2675ead162adaa01dbbb1949f>dd41182</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/mkdocstrings/issues/311>Issue mkdocstrings/mkdocstrings#311</a>, <a href=https://github.com/mkdocstrings/python/issues/20>PR #20</a></li> </ul> <h3 id=bug-fixes_25>Bug Fixes<a class=headerlink href=#bug-fixes_25 title="Permanent link">¤</a></h3> <ul> <li>Fix CSS class on labels (<a href=https://github.com/mkdocstrings/python/commit/312a7092394aab968032cf08195af7445a85052f>312a709</a> by Timothée Mazzucotelli).</li> <li>Fix categories rendering (<a href=https://github.com/mkdocstrings/python/commit/6407cf4f2375c894e0c528e932e9b76774a6455e>6407cf4</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/14>Issue #14</a></li> </ul> <h3 id=code-refactoring_19>Code Refactoring<a class=headerlink href=#code-refactoring_19 title="Permanent link">¤</a></h3> <ul> <li>Disable <code>show_submodules</code> by default (<a href=https://github.com/mkdocstrings/python/commit/480d0c373904713313ec76b6e2570dbc35eb527b>480d0c3</a> by Timothée Mazzucotelli).</li> <li>Merge default configuration options in handler (<a href=https://github.com/mkdocstrings/python/commit/347ce76d074c0e3841df2d5162b54d3938d00453>347ce76</a> by Timothée Mazzucotelli).</li> <li>Reduce number of template debug logs (<a href=https://github.com/mkdocstrings/python/commit/8fed314243e3981fc7b527c69cee628e87b10220>8fed314</a> by Timothée Mazzucotelli).</li> <li>Respect <code>show_root_full_path</code> for <abbr title="Table of Contents">ToC</abbr> entries (hidden headings) (<a href=https://github.com/mkdocstrings/python/commit/8f4c85328e8b4a45db77f9fc3e536a5008686f37>8f4c853</a> by Timothée Mazzucotelli).</li> <li>Bring consistency on headings style (<a href=https://github.com/mkdocstrings/python/commit/59104c4c51c86c774eed76d8508f9f4d3db5463f>59104c4</a> by Timothée Mazzucotelli).</li> <li>Stop using deprecated base classes (<a href=https://github.com/mkdocstrings/python/commit/d5ea1c5cf7884d8c019145f73685a84218e69840>d5ea1c5</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=066-2022-03-06><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.6>0.6.6</a> - 2022-03-06<a class=headerlink href=#066-2022-03-06 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.5...0.6.6>Compare with 0.6.5</a></small></p> <h3 id=code-refactoring_20>Code Refactoring<a class=headerlink href=#code-refactoring_20 title="Permanent link">¤</a></h3> <ul> <li>Always hide <code>self</code> and <code>cls</code> parameters (<a href=https://github.com/mkdocstrings/python/commit/7f579d162e184adcfe25b2215bce4d38677f75b7>7f579d1</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/7>Issue #7</a></li> <li>Use <code>pycon</code> for examples code blocks (<a href=https://github.com/mkdocstrings/python/commit/6545900eecc67c8a6ddd343c497ac22fdd6a26e2>6545900</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=065-2022-02-24><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.5>0.6.5</a> - 2022-02-24<a class=headerlink href=#065-2022-02-24 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.4...0.6.5>Compare with 0.6.4</a></small></p> <h3 id=bug-fixes_26>Bug Fixes<a class=headerlink href=#bug-fixes_26 title="Permanent link">¤</a></h3> <ul> <li>Don't escape signatures return annotations (<a href=https://github.com/mkdocstrings/python/commit/ac54bfc5761337aa606fb1aa6575745062ce26f8>ac54bfc</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/6>Issue #6</a></li> </ul> <h2 id=064-2022-02-22><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.4>0.6.4</a> - 2022-02-22<a class=headerlink href=#064-2022-02-22 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.3...0.6.4>Compare with 0.6.3</a></small></p> <h3 id=bug-fixes_27>Bug Fixes<a class=headerlink href=#bug-fixes_27 title="Permanent link">¤</a></h3> <ul> <li>Fix rendering of signature return annotation (<a href=https://github.com/mkdocstrings/python/commit/b92ba3b370388aa6c956bcc70ba87b7aebb91a4c>b92ba3b</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/4>Issue #4</a></li> </ul> <h2 id=063-2022-02-20><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.3>0.6.3</a> - 2022-02-20<a class=headerlink href=#063-2022-02-20 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.2...0.6.3>Compare with 0.6.2</a></small></p> <h3 id=bug-fixes_28>Bug Fixes<a class=headerlink href=#bug-fixes_28 title="Permanent link">¤</a></h3> <ul> <li>Fix examples rendering (<a href=https://github.com/mkdocstrings/python/commit/a06a7e34c7017374c5bed41f4757ed86ae64cb2e>a06a7e3</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/griffe/issues/46>Issue mkdocstrings/griffe#46</a></li> </ul> <h2 id=062-2022-02-17><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.2>0.6.2</a> - 2022-02-17<a class=headerlink href=#062-2022-02-17 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.1...0.6.2>Compare with 0.6.1</a></small></p> <h3 id=bug-fixes_29>Bug Fixes<a class=headerlink href=#bug-fixes_29 title="Permanent link">¤</a></h3> <ul> <li>Catch alias resolution errors (<a href=https://github.com/mkdocstrings/python/commit/b734dd0dcd72f5b985b3afce01e852c9c74e451a>b734dd0</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=061-2022-02-17><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.1>0.6.1</a> - 2022-02-17<a class=headerlink href=#061-2022-02-17 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.6.0...0.6.1>Compare with 0.6.0</a></small></p> <h3 id=bug-fixes_30>Bug Fixes<a class=headerlink href=#bug-fixes_30 title="Permanent link">¤</a></h3> <ul> <li>Don't pop from fallback config (<a href=https://github.com/mkdocstrings/python/commit/bde32afb5d99539813b1884a4c735de5845f62ae>bde32af</a> by Timothée Mazzucotelli).</li> <li>Fix rendering init method source when merged into class (<a href=https://github.com/mkdocstrings/python/commit/4a20aeaa60f3efbcb4781a369feef3b4826ff1df>4a20aea</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=060-2022-02-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.6.0>0.6.0</a> - 2022-02-13<a class=headerlink href=#060-2022-02-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.4...0.6.0>Compare with 0.5.4</a></small></p> <h3 id=features_14>Features<a class=headerlink href=#features_14 title="Permanent link">¤</a></h3> <ul> <li>Add option to merge <code>__init__</code> methods' docstrings into their classes' docstrings (<a href=https://github.com/mkdocstrings/python/commit/1b4d1c0e9254fc51756caed3875fbc8c1da079a6>1b4d1c0</a> by Timothée Mazzucotelli).</li> <li>Support separate attribute signature (<a href=https://github.com/mkdocstrings/python/commit/e962b885f48570762c5bfcefc9b61e5fc1df1c70>e962b88</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_31>Bug Fixes<a class=headerlink href=#bug-fixes_31 title="Permanent link">¤</a></h3> <ul> <li>Restore full cross-refs paths on hover (<a href=https://github.com/mkdocstrings/python/commit/ac1197062f2e23e819f144fe74a774d504d0ac49>ac11970</a> by Timothée Mazzucotelli).</li> <li>Fix rendering of labels (<a href=https://github.com/mkdocstrings/python/commit/52919c559378a6006bbe931423c5f03eb5883eaf>52919c5</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_21>Code Refactoring<a class=headerlink href=#code-refactoring_21 title="Permanent link">¤</a></h3> <ul> <li>Don't add trailing parentheses in functions heading when separate signature (<a href=https://github.com/mkdocstrings/python/commit/885696e05606d07334e0428128ed688d54098da1>885696e</a> by Timothée Mazzucotelli).</li> <li>Use more explicit template debug messages (<a href=https://github.com/mkdocstrings/python/commit/f2122d7fa119ed055ffe2b2bac72d2c643daca1c>f2122d7</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=054-2022-02-13><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.4>0.5.4</a> - 2022-02-13<a class=headerlink href=#054-2022-02-13 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.3...0.5.4>Compare with 0.5.3</a></small></p> <h3 id=bug-fixes_32>Bug Fixes<a class=headerlink href=#bug-fixes_32 title="Permanent link">¤</a></h3> <ul> <li>Don't load additional modules during fallback (<a href=https://github.com/mkdocstrings/python/commit/69b8e25cddc9e256c5edb8843592a466023aa124>69b8e25</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=053-2022-02-08><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.3>0.5.3</a> - 2022-02-08<a class=headerlink href=#053-2022-02-08 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.2...0.5.3>Compare with 0.5.2</a></small></p> <h3 id=bug-fixes_33>Bug Fixes<a class=headerlink href=#bug-fixes_33 title="Permanent link">¤</a></h3> <ul> <li>Allow passing <code>null</code> as docstring style (<a href=https://github.com/mkdocstrings/python/commit/f526816ef1d499795c647e6fe184ba91c1d41b1b>f526816</a> by Timothée Mazzucotelli). <a href=https://github.com/mkdocstrings/python/issues/2>Issue #2</a></li> </ul> <h2 id=052-2022-02-05><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.2>0.5.2</a> - 2022-02-05<a class=headerlink href=#052-2022-02-05 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.1...0.5.2>Compare with 0.5.1</a></small></p> <h3 id=dependencies_3>Dependencies<a class=headerlink href=#dependencies_3 title="Permanent link">¤</a></h3> <ul> <li>Require at least mkdocstrings 0.18 (<a href=https://github.com/mkdocstrings/python/commit/7abdda416e25128eec06f3b15aae5058fbc7320c>7abdda4</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=051-2022-02-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.1>0.5.1</a> - 2022-02-03<a class=headerlink href=#051-2022-02-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.5.0...0.5.1>Compare with 0.5.0</a></small></p> <h3 id=dependencies_4>Dependencies<a class=headerlink href=#dependencies_4 title="Permanent link">¤</a></h3> <ul> <li>Depend on Griffe >= 0.11.1 (<a href=https://github.com/mkdocstrings/python/commit/1303557928a27a3d9b063baee9d698458f471357>1303557</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_22>Code Refactoring<a class=headerlink href=#code-refactoring_22 title="Permanent link">¤</a></h3> <ul> <li>Move handler into its own module (<a href=https://github.com/mkdocstrings/python/commit/b787e78e31652438039775850e55ea956c22e8d0>b787e78</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=050-2022-02-03><a href=https://github.com/mkdocstrings/python/releases/tag/0.5.0>0.5.0</a> - 2022-02-03<a class=headerlink href=#050-2022-02-03 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.4.1...0.5.0>Compare with 0.4.1</a></small></p> <h3 id=features_15>Features<a class=headerlink href=#features_15 title="Permanent link">¤</a></h3> <ul> <li>Allow changing docstring style of an object (<a href=https://github.com/mkdocstrings/python/commit/39240c1497dced15c03f9046138f2829fc10e139>39240c1</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_34>Bug Fixes<a class=headerlink href=#bug-fixes_34 title="Permanent link">¤</a></h3> <ul> <li>Warn if Black is not installed when formatting signature (<a href=https://github.com/mkdocstrings/python/commit/b84827789b2bf66a4b76ff63a514ec6ba98cae68>b848277</a> by Timothée Mazzucotelli).</li> <li>Fix missing default for <code>docstring_section_style</code> option (<a href=https://github.com/mkdocstrings/python/commit/774988ef06a9bf3446949da63611ad7bc5a712fc>774988e</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_23>Code Refactoring<a class=headerlink href=#code-refactoring_23 title="Permanent link">¤</a></h3> <ul> <li>Change to new way of stripping paragraphs (<a href=https://github.com/mkdocstrings/python/commit/33d45945bf8ffce2435a6b3749795397fa7c3fc8>33d4594</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=041-2022-02-01><a href=https://github.com/mkdocstrings/python/releases/tag/0.4.1>0.4.1</a> - 2022-02-01<a class=headerlink href=#041-2022-02-01 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.4.0...0.4.1>Compare with 0.4.0</a></small></p> <h3 id=bug-fixes_35>Bug Fixes<a class=headerlink href=#bug-fixes_35 title="Permanent link">¤</a></h3> <ul> <li>Fix docstring admonitions rendering (<a href=https://github.com/mkdocstrings/python/commit/a24ae2e95f4c0451a44037120451cf06c973ba65>a24ae2e</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=040-2022-02-01><a href=https://github.com/mkdocstrings/python/releases/tag/0.4.0>0.4.0</a> - 2022-02-01<a class=headerlink href=#040-2022-02-01 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.3.0...0.4.0>Compare with 0.3.0</a></small></p> <h3 id=code-refactoring_24>Code Refactoring<a class=headerlink href=#code-refactoring_24 title="Permanent link">¤</a></h3> <ul> <li>Use the new <code>mkdocstrings_handlers</code> namespace (<a href=https://github.com/mkdocstrings/python/commit/23c9023780535251778077cd7d957c0067ecb0dc>23c9023</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=030-2022-01-14><a href=https://github.com/mkdocstrings/python/releases/tag/0.3.0>0.3.0</a> - 2022-01-14<a class=headerlink href=#030-2022-01-14 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.2.0...0.3.0>Compare with 0.2.0</a></small></p> <h3 id=features_16>Features<a class=headerlink href=#features_16 title="Permanent link">¤</a></h3> <ul> <li>Support griffe 0.10 (<a href=https://github.com/mkdocstrings/python/commit/28061de20094c510f27bb375b2e1dc44a699809d>28061de</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=dependencies_5>Dependencies<a class=headerlink href=#dependencies_5 title="Permanent link">¤</a></h3> <ul> <li>Require griffe 0.10 (<a href=https://github.com/mkdocstrings/python/commit/cfbd7bb4761691ef36100962c775ed1d0a247514>cfbd7bb</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_25>Code Refactoring<a class=headerlink href=#code-refactoring_25 title="Permanent link">¤</a></h3> <ul> <li>Use new logger patching utility (<a href=https://github.com/mkdocstrings/python/commit/4cdb2921b3a9292db3ef0663c63f148a4eec3966>4cdb292</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=020-2021-12-28><a href=https://github.com/mkdocstrings/python/releases/tag/0.2.0>0.2.0</a> - 2021-12-28<a class=headerlink href=#020-2021-12-28 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0.1.0...0.2.0>Compare with 0.1.0</a></small></p> <h3 id=dependencies_6>Dependencies<a class=headerlink href=#dependencies_6 title="Permanent link">¤</a></h3> <ul> <li>Depend on griffe >= 0.7.1 (<a href=https://github.com/mkdocstrings/python/commit/34f7ebd41f3ebda025ad87e3b52a7226fcb93720>34f7ebd</a> by Timothée Mazzucotelli).</li> <li>Upgrade griffe, no upper bound (<a href=https://github.com/mkdocstrings/python/commit/8f0aa42eed07424a1377708897d92f9894f4abdb>8f0aa42</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=features_17>Features<a class=headerlink href=#features_17 title="Permanent link">¤</a></h3> <ul> <li>Add <code>show_signature</code> rendering option (<a href=https://github.com/mkdocstrings/python/commit/0f07c2e51a51a56eeb5d32fdf05dbed7243f0bc5>0f07c2e</a> by Will Da Silva).</li> </ul> <h3 id=bug-fixes_36>Bug Fixes<a class=headerlink href=#bug-fixes_36 title="Permanent link">¤</a></h3> <ul> <li>Fix templates for named docstring elements (<a href=https://github.com/mkdocstrings/python/commit/47868a143bf2c462abd5ad85bd0ab8dca7bc5f82>47868a1</a> by Timothée Mazzucotelli).</li> </ul> <h2 id=010-2021-12-19><a href=https://github.com/mkdocstrings/python/releases/tag/0.1.0>0.1.0</a> - 2021-12-19<a class=headerlink href=#010-2021-12-19 title="Permanent link">¤</a></h2> <p><small><a href=https://github.com/mkdocstrings/python/compare/0032f18c9f902c3e75e0e00114ca8fa6a810c8f5...0.1.0>Compare with first commit</a></small></p> <h3 id=features_18>Features<a class=headerlink href=#features_18 title="Permanent link">¤</a></h3> <ul> <li>Implement handler and add templates (<a href=https://github.com/mkdocstrings/python/commit/dbb580aa79f6b2f8a089c80bdc67d0f7457c2d30>dbb580a</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=bug-fixes_37>Bug Fixes<a class=headerlink href=#bug-fixes_37 title="Permanent link">¤</a></h3> <ul> <li>Fix separate signature feature (<a href=https://github.com/mkdocstrings/python/commit/da6e81c897899f09e1dae7bb8930ce6782aeb306>da6e81c</a> by Timothée Mazzucotelli).</li> <li>Fix signature template (parameters annotations) (<a href=https://github.com/mkdocstrings/python/commit/b34ead008773880fd8d1d7a2a41768ec27820520>b34ead0</a> by Timothée Mazzucotelli).</li> <li>Only show source when present (<a href=https://github.com/mkdocstrings/python/commit/c270d68c9e17204606ae12a2159c04563a18ec2b>c270d68</a> by Timothée Mazzucotelli).</li> </ul> <h3 id=code-refactoring_26>Code Refactoring<a class=headerlink href=#code-refactoring_26 title="Permanent link">¤</a></h3> <ul> <li>Return all known anchors (<a href=https://github.com/mkdocstrings/python/commit/9bbfe1442e2aab28bd6fb2618c943d3f698750ab>9bbfe14</a> by Timothée Mazzucotelli).</li> <li>Update for griffe 0.4.0 (<a href=https://github.com/mkdocstrings/python/commit/831aabb135db7e75729954adc675af6379f58e24>831aabb</a> by Timothée Mazzucotelli).</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=.. class="md-footer__link md-footer__link--prev" aria-label="Previous: Overview"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Overview </div> </div> </a> <a href=../credits/ class="md-footer__link md-footer__link--next" aria-label="Next: Credits"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Credits </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=.. class="md-footer__link md-footer__link--prev" aria-label="Previous: Overview"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Overview </div> </div> </a> <a href=../credits/ class="md-footer__link md-footer__link--next" aria-label="Next: Credits"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Credits </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/code_of_conduct/index.html b/code_of_conduct/index.html index 430e2d41..30fc625b 100644 --- a/code_of_conduct/index.html +++ b/code_of_conduct/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/code_of_conduct/ rel=canonical><link href=../contributing/ rel=prev><link href=../insiders/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Code of Conduct - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributor-covenant-code-of-conduct class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code of Conduct </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=true> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code of Conduct </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code of Conduct </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#our-pledge class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Pledge </span> </span> </a> </li> <li class=md-nav__item> <a href=#our-standards class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Standards </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-responsibilities class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Responsibilities </span> </span> </a> </li> <li class=md-nav__item> <a href=#scope class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Scope </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Guidelines </span> </span> </a> <nav class=md-nav aria-label="Enforcement Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-correction class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1. Correction </span> </span> </a> </li> <li class=md-nav__item> <a href=#2-warning class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 2. Warning </span> </span> </a> </li> <li class=md-nav__item> <a href=#3-temporary-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 3. Temporary Ban </span> </span> </a> </li> <li class=md-nav__item> <a href=#4-permanent-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 4. Permanent Ban </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#attribution class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Attribution </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#our-pledge class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Pledge </span> </span> </a> </li> <li class=md-nav__item> <a href=#our-standards class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Standards </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-responsibilities class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Responsibilities </span> </span> </a> </li> <li class=md-nav__item> <a href=#scope class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Scope </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Guidelines </span> </span> </a> <nav class=md-nav aria-label="Enforcement Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-correction class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1. Correction </span> </span> </a> </li> <li class=md-nav__item> <a href=#2-warning class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 2. Warning </span> </span> </a> </li> <li class=md-nav__item> <a href=#3-temporary-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 3. Temporary Ban </span> </span> </a> </li> <li class=md-nav__item> <a href=#4-permanent-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 4. Permanent Ban </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#attribution class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Attribution </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/code_of_conduct.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/code_of_conduct.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=contributor-covenant-code-of-conduct>Contributor Covenant Code of Conduct<a class=headerlink href=#contributor-covenant-code-of-conduct title="Permanent link">¤</a></h1> <h2 id=our-pledge>Our Pledge<a class=headerlink href=#our-pledge title="Permanent link">¤</a></h2> <p>We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.</p> <p>We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.</p> <h2 id=our-standards>Our Standards<a class=headerlink href=#our-standards title="Permanent link">¤</a></h2> <p>Examples of behavior that contributes to a positive environment for our community include:</p> <ul> <li>Demonstrating empathy and kindness toward other people</li> <li>Being respectful of differing opinions, viewpoints, and experiences</li> <li>Giving and gracefully accepting constructive feedback</li> <li>Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience</li> <li>Focusing on what is best not just for us as individuals, but for the overall community</li> </ul> <p>Examples of unacceptable behavior include:</p> <ul> <li>The use of sexualized language or imagery, and sexual attention or advances of any kind</li> <li>Trolling, insulting or derogatory comments, and personal or political attacks</li> <li>Public or private harassment</li> <li>Publishing others' private information, such as a physical or email address, without their explicit permission</li> <li>Other conduct which could reasonably be considered inappropriate in a professional setting</li> </ul> <h2 id=enforcement-responsibilities>Enforcement Responsibilities<a class=headerlink href=#enforcement-responsibilities title="Permanent link">¤</a></h2> <p>Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.</p> <p>Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.</p> <h2 id=scope>Scope<a class=headerlink href=#scope title="Permanent link">¤</a></h2> <p>This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.</p> <h2 id=enforcement>Enforcement<a class=headerlink href=#enforcement title="Permanent link">¤</a></h2> <p>Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at <a href=mailto:dev@pawamoy.fr>dev@pawamoy.fr</a>. All complaints will be reviewed and investigated promptly and fairly.</p> <p>All community leaders are obligated to respect the privacy and security of the reporter of any incident.</p> <h2 id=enforcement-guidelines>Enforcement Guidelines<a class=headerlink href=#enforcement-guidelines title="Permanent link">¤</a></h2> <p>Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:</p> <h3 id=1-correction>1. Correction<a class=headerlink href=#1-correction title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.</p> <p><strong>Consequence</strong>: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.</p> <h3 id=2-warning>2. Warning<a class=headerlink href=#2-warning title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: A violation through a single incident or series of actions.</p> <p><strong>Consequence</strong>: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.</p> <h3 id=3-temporary-ban>3. Temporary Ban<a class=headerlink href=#3-temporary-ban title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: A serious violation of community standards, including sustained inappropriate behavior.</p> <p><strong>Consequence</strong>: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.</p> <h3 id=4-permanent-ban>4. Permanent Ban<a class=headerlink href=#4-permanent-ban title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.</p> <p><strong>Consequence</strong>: A permanent ban from any sort of public interaction within the community.</p> <h2 id=attribution>Attribution<a class=headerlink href=#attribution title="Permanent link">¤</a></h2> <p>This Code of Conduct is adapted from the <a href=https://www.contributor-covenant.org>Contributor Covenant</a>, version 2.1, available at <a href=https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>https://www.contributor-covenant.org/version/2/1/code_of_conduct.html</a>.</p> <p>Community Impact Guidelines were inspired by <a href=https://github.com/mozilla/diversity>Mozilla's code of conduct enforcement ladder</a>.</p> <p>For answers to common questions about this code of conduct, see the FAQ at <a href=https://www.contributor-covenant.org/faq>https://www.contributor-covenant.org/faq</a>. Translations are available at <a href=https://www.contributor-covenant.org/translations>https://www.contributor-covenant.org/translations</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/code_of_conduct/ rel=canonical><link href=../contributing/ rel=prev><link href=../insiders/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Code of Conduct - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributor-covenant-code-of-conduct class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code of Conduct </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=true> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code of Conduct </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code of Conduct </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#our-pledge class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Pledge </span> </span> </a> </li> <li class=md-nav__item> <a href=#our-standards class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Standards </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-responsibilities class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Responsibilities </span> </span> </a> </li> <li class=md-nav__item> <a href=#scope class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Scope </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Guidelines </span> </span> </a> <nav class=md-nav aria-label="Enforcement Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-correction class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1. Correction </span> </span> </a> </li> <li class=md-nav__item> <a href=#2-warning class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 2. Warning </span> </span> </a> </li> <li class=md-nav__item> <a href=#3-temporary-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 3. Temporary Ban </span> </span> </a> </li> <li class=md-nav__item> <a href=#4-permanent-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 4. Permanent Ban </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#attribution class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Attribution </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#our-pledge class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Pledge </span> </span> </a> </li> <li class=md-nav__item> <a href=#our-standards class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Our Standards </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-responsibilities class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Responsibilities </span> </span> </a> </li> <li class=md-nav__item> <a href=#scope class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Scope </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement </span> </span> </a> </li> <li class=md-nav__item> <a href=#enforcement-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Enforcement Guidelines </span> </span> </a> <nav class=md-nav aria-label="Enforcement Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-correction class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1. Correction </span> </span> </a> </li> <li class=md-nav__item> <a href=#2-warning class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 2. Warning </span> </span> </a> </li> <li class=md-nav__item> <a href=#3-temporary-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 3. Temporary Ban </span> </span> </a> </li> <li class=md-nav__item> <a href=#4-permanent-ban class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 4. Permanent Ban </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#attribution class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Attribution </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/code_of_conduct.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/code_of_conduct.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=contributor-covenant-code-of-conduct>Contributor Covenant Code of Conduct<a class=headerlink href=#contributor-covenant-code-of-conduct title="Permanent link">¤</a></h1> <h2 id=our-pledge>Our Pledge<a class=headerlink href=#our-pledge title="Permanent link">¤</a></h2> <p>We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.</p> <p>We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.</p> <h2 id=our-standards>Our Standards<a class=headerlink href=#our-standards title="Permanent link">¤</a></h2> <p>Examples of behavior that contributes to a positive environment for our community include:</p> <ul> <li>Demonstrating empathy and kindness toward other people</li> <li>Being respectful of differing opinions, viewpoints, and experiences</li> <li>Giving and gracefully accepting constructive feedback</li> <li>Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience</li> <li>Focusing on what is best not just for us as individuals, but for the overall community</li> </ul> <p>Examples of unacceptable behavior include:</p> <ul> <li>The use of sexualized language or imagery, and sexual attention or advances of any kind</li> <li>Trolling, insulting or derogatory comments, and personal or political attacks</li> <li>Public or private harassment</li> <li>Publishing others' private information, such as a physical or email address, without their explicit permission</li> <li>Other conduct which could reasonably be considered inappropriate in a professional setting</li> </ul> <h2 id=enforcement-responsibilities>Enforcement Responsibilities<a class=headerlink href=#enforcement-responsibilities title="Permanent link">¤</a></h2> <p>Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.</p> <p>Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.</p> <h2 id=scope>Scope<a class=headerlink href=#scope title="Permanent link">¤</a></h2> <p>This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.</p> <h2 id=enforcement>Enforcement<a class=headerlink href=#enforcement title="Permanent link">¤</a></h2> <p>Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at <a href=mailto:dev@pawamoy.fr>dev@pawamoy.fr</a>. All complaints will be reviewed and investigated promptly and fairly.</p> <p>All community leaders are obligated to respect the privacy and security of the reporter of any incident.</p> <h2 id=enforcement-guidelines>Enforcement Guidelines<a class=headerlink href=#enforcement-guidelines title="Permanent link">¤</a></h2> <p>Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:</p> <h3 id=1-correction>1. Correction<a class=headerlink href=#1-correction title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.</p> <p><strong>Consequence</strong>: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.</p> <h3 id=2-warning>2. Warning<a class=headerlink href=#2-warning title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: A violation through a single incident or series of actions.</p> <p><strong>Consequence</strong>: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.</p> <h3 id=3-temporary-ban>3. Temporary Ban<a class=headerlink href=#3-temporary-ban title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: A serious violation of community standards, including sustained inappropriate behavior.</p> <p><strong>Consequence</strong>: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.</p> <h3 id=4-permanent-ban>4. Permanent Ban<a class=headerlink href=#4-permanent-ban title="Permanent link">¤</a></h3> <p><strong>Community Impact</strong>: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.</p> <p><strong>Consequence</strong>: A permanent ban from any sort of public interaction within the community.</p> <h2 id=attribution>Attribution<a class=headerlink href=#attribution title="Permanent link">¤</a></h2> <p>This Code of Conduct is adapted from the <a href=https://www.contributor-covenant.org>Contributor Covenant</a>, version 2.1, available at <a href=https://www.contributor-covenant.org/version/2/1/code_of_conduct.html>https://www.contributor-covenant.org/version/2/1/code_of_conduct.html</a>.</p> <p>Community Impact Guidelines were inspired by <a href=https://github.com/mozilla/diversity>Mozilla's code of conduct enforcement ladder</a>.</p> <p>For answers to common questions about this code of conduct, see the FAQ at <a href=https://www.contributor-covenant.org/faq>https://www.contributor-covenant.org/faq</a>. Translations are available at <a href=https://www.contributor-covenant.org/translations>https://www.contributor-covenant.org/translations</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../contributing/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Contributing"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Contributing </div> </div> </a> <a href=../insiders/ class="md-footer__link md-footer__link--next" aria-label="Next: Insiders"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Insiders </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../contributing/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Contributing"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Contributing </div> </div> </a> <a href=../insiders/ class="md-footer__link md-footer__link--next" aria-label="Next: Insiders"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Insiders </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/contributing/index.html b/contributing/index.html index 776d0745..ddaeb25f 100644 --- a/contributing/index.html +++ b/contributing/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/contributing/ rel=canonical><link href=../reference/mkdocstrings_handlers/python/rendering/ rel=prev><link href=../code_of_conduct/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Contributing - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributing class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Contributing </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=true> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Contributing </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#environment-setup class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Environment setup </span> </span> </a> </li> <li class=md-nav__item> <a href=#tasks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Tasks </span> </span> </a> </li> <li class=md-nav__item> <a href=#development class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development </span> </span> </a> </li> <li class=md-nav__item> <a href=#commit-message-convention class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Commit message convention </span> </span> </a> </li> <li class=md-nav__item> <a href=#pull-requests-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Pull requests guidelines </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#environment-setup class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Environment setup </span> </span> </a> </li> <li class=md-nav__item> <a href=#tasks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Tasks </span> </span> </a> </li> <li class=md-nav__item> <a href=#development class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development </span> </span> </a> </li> <li class=md-nav__item> <a href=#commit-message-convention class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Commit message convention </span> </span> </a> </li> <li class=md-nav__item> <a href=#pull-requests-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Pull requests guidelines </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/contributing.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/contributing.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=contributing>Contributing<a class=headerlink href=#contributing title="Permanent link">¤</a></h1> <p>Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.</p> <h2 id=environment-setup>Environment setup<a class=headerlink href=#environment-setup title="Permanent link">¤</a></h2> <p>Nothing easier!</p> <p>Fork and clone the repository, then:</p> <div class="language-bash highlight"><pre><span></span><code><span class=nb>cd</span><span class=w> </span>python +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/contributing/ rel=canonical><link href=../reference/mkdocstrings_handlers/python/rendering/ rel=prev><link href=../code_of_conduct/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Contributing - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributing class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Contributing </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=true> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Contributing </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#environment-setup class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Environment setup </span> </span> </a> </li> <li class=md-nav__item> <a href=#tasks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Tasks </span> </span> </a> </li> <li class=md-nav__item> <a href=#development class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development </span> </span> </a> </li> <li class=md-nav__item> <a href=#commit-message-convention class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Commit message convention </span> </span> </a> </li> <li class=md-nav__item> <a href=#pull-requests-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Pull requests guidelines </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#environment-setup class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Environment setup </span> </span> </a> </li> <li class=md-nav__item> <a href=#tasks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Tasks </span> </span> </a> </li> <li class=md-nav__item> <a href=#development class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development </span> </span> </a> </li> <li class=md-nav__item> <a href=#commit-message-convention class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Commit message convention </span> </span> </a> </li> <li class=md-nav__item> <a href=#pull-requests-guidelines class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Pull requests guidelines </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/contributing.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/contributing.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=contributing>Contributing<a class=headerlink href=#contributing title="Permanent link">¤</a></h1> <p>Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.</p> <h2 id=environment-setup>Environment setup<a class=headerlink href=#environment-setup title="Permanent link">¤</a></h2> <p>Nothing easier!</p> <p>Fork and clone the repository, then:</p> <div class="language-bash highlight"><pre><span></span><code><span class=nb>cd</span><span class=w> </span>python make<span class=w> </span>setup </code></pre></div> <div class="admonition note"> <p class=admonition-title>Note</p> <p> If it fails for some reason, you'll need to install <a href=https://github.com/astral-sh/uv>uv</a> manually.</p> <p>You can install it with:</p> <div class="language-bash highlight"><pre><span></span><code>python3<span class=w> </span>-m<span class=w> </span>pip<span class=w> </span>install<span class=w> </span>--user<span class=w> </span>pipx pipx<span class=w> </span>install<span class=w> </span>uv @@ -47,4 +47,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../reference/mkdocstrings_handlers/python/rendering/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </div> </div> </a> <a href=../code_of_conduct/ class="md-footer__link md-footer__link--next" aria-label="Next: Code of Conduct"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Code of Conduct </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../reference/mkdocstrings_handlers/python/rendering/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </div> </div> </a> <a href=../code_of_conduct/ class="md-footer__link md-footer__link--next" aria-label="Next: Code of Conduct"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Code of Conduct </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/credits/index.html b/credits/index.html index a1dfb972..2b767b76 100644 --- a/credits/index.html +++ b/credits/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/credits/ rel=canonical><link href=../changelog/ rel=prev><link href=../license/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Credits - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#exec-1--credits class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Credits </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Credits </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Credits </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exec-1--runtime-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Runtime dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#exec-1--development-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc hidden> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exec-1--runtime-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Runtime dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#exec-1--development-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development dependencies </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/credits.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/crraws.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <!-- blacken-docs:off --> <p><h1 id=exec-1--credits>Credits<a class=headerlink href=#exec-1--credits title="Permanent link">¤</a></h1> <p>These projects were used to build <em>mkdocstrings-python</em>. <strong>Thank you!</strong></p> <p><a href=https://www.python.org/ >Python</a> | <a href=https://github.com/astral-sh/uv>uv</a> | <a href=https://github.com/pawamoy/copier-uv>copier-uv</a></p> <h3 id=exec-1--runtime-dependencies>Runtime dependencies<a class=headerlink href=#exec-1--runtime-dependencies title="Permanent link">¤</a></h3> <table> <thead> <tr> <th>Project</th> <th>Summary</th> <th>Version (accepted)</th> <th>Version (last resolved)</th> <th>License</th> </tr> </thead> <tbody> <tr> <td><a href=https://pypi.org/project/click/ >click</a></td> <td>Composable command line interface toolkit</td> <td><code>>=7.0</code></td> <td><code>8.1.7</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/colorama/ >colorama</a></td> <td>Cross-platform colored terminal text.</td> <td><code>>=0.4</code></td> <td><code>0.4.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/ghp-import/ >ghp-import</a></td> <td>Copy your docs directly to the gh-pages branch.</td> <td><code>>=1.0</code></td> <td><code>2.1.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/griffe/ >griffe</a></td> <td>Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.</td> <td><code>>=0.48</code></td> <td><code>0.48.0.1.2.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/importlib_metadata/ >importlib_metadata</a></td> <td>Read metadata from Python packages</td> <td><code>>=4.6, >=4.4</code></td> <td><code>8.2.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/Jinja2/ >Jinja2</a></td> <td>A very fast and expressive template engine.</td> <td><code>>=2.11.1, >=2.10</code></td> <td><code>3.1.4</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/Markdown/ >Markdown</a></td> <td>Python implementation of John Gruber's Markdown.</td> <td><code>>=3.3.6, >=3.3</code></td> <td><code>3.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/MarkupSafe/ >MarkupSafe</a></td> <td>Safely add untrusted strings to HTML/XML markup.</td> <td><code>>=2.0.1, >=1.1</code></td> <td><code>2.1.5</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mergedeep/ >mergedeep</a></td> <td>A deep merge function for 🐍.</td> <td><code>>=1.3.4</code></td> <td><code>1.3.4</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs/ >mkdocs</a></td> <td>Project documentation with Markdown.</td> <td><code>>=1.6, >=1.4</code></td> <td><code>1.6.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-autorefs/ >mkdocs-autorefs</a></td> <td>Automatically link across pages in MkDocs.</td> <td><code>>=0.3.1</code></td> <td><code>1.0.1</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-get-deps/ >mkdocs-get-deps</a></td> <td>MkDocs extension that lists all dependencies according to a mkdocs.yml file</td> <td><code>>=0.2.0</code></td> <td><code>0.2.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocstrings/ >mkdocstrings</a></td> <td>Automatic documentation from sources, for MkDocs.</td> <td><code>>=0.25</code></td> <td><code>0.25.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/packaging/ >packaging</a></td> <td>Core utilities for Python packages</td> <td><code>>=24.0, >=20.5</code></td> <td><code>24.1</code></td> <td>Apache Software License + BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/pathspec/ >pathspec</a></td> <td>Utility library for gitignore style pattern matching of file paths.</td> <td><code>>=0.11.1</code></td> <td><code>0.12.1</code></td> <td>Mozilla Public License 2.0 (MPL 2.0)</td> </tr> <tr> <td><a href=https://pypi.org/project/platformdirs/ >platformdirs</a></td> <td>A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>.</td> <td><code>>=2.2.0, >=2</code></td> <td><code>4.2.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pymdown-extensions/ >pymdown-extensions</a></td> <td>Extension pack for Python Markdown.</td> <td><code>>=6.3</code></td> <td><code>10.8.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/python-dateutil/ >python-dateutil</a></td> <td>Extensions to the standard Python datetime module</td> <td><code>>=2.8.1</code></td> <td><code>2.9.0.post0</code></td> <td>BSD License + Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/PyYAML/ >PyYAML</a></td> <td>YAML parser and emitter for Python</td> <td><code>>=5.1</code></td> <td><code>6.0.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyyaml_env_tag/ >pyyaml_env_tag</a></td> <td>A custom YAML tag for referencing environment variables in YAML files.</td> <td><code>>=0.1</code></td> <td><code>0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/six/ >six</a></td> <td>Python 2 and 3 compatibility utilities</td> <td><code>>=1.5</code></td> <td><code>1.16.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/typing_extensions/ >typing_extensions</a></td> <td>Backported and Experimental Type Hints for Python 3.8+</td> <td><code>>=4.1, >=4.0.1</code></td> <td><code>4.12.2</code></td> <td>Python Software Foundation License</td> </tr> <tr> <td><a href=https://pypi.org/project/watchdog/ >watchdog</a></td> <td>Filesystem events monitoring</td> <td><code>>=2.0</code></td> <td><code>4.0.1</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/zipp/ >zipp</a></td> <td>Backport of pathlib-compatible object wrapper for zip files</td> <td><code>>=0.5</code></td> <td><code>3.19.2</code></td> <td>MIT License</td> </tr> </tbody> </table> <h3 id=exec-1--development-dependencies>Development dependencies<a class=headerlink href=#exec-1--development-dependencies title="Permanent link">¤</a></h3> <table> <thead> <tr> <th>Project</th> <th>Summary</th> <th>Version (accepted)</th> <th>Version (last resolved)</th> <th>License</th> </tr> </thead> <tbody> <tr> <td><a href=https://pypi.org/project/ansimarkup/ >ansimarkup</a></td> <td>Produce colored terminal text with an xml-like markup</td> <td><code>~=1.4</code></td> <td><code>1.5.0</code></td> <td>Revised BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/appdirs/ >appdirs</a></td> <td>A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".</td> <td><code>>=1.4</code></td> <td><code>1.4.4</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/Babel/ >Babel</a></td> <td>Internationalization utilities</td> <td><code>~=2.10</code></td> <td><code>2.15.0</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/backports.tarfile/ >backports.tarfile</a></td> <td>Backport of CPython tarfile module</td> <td></td> <td><code>1.2.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/black/ >black</a></td> <td>The uncompromising code formatter.</td> <td><code>>=24.4</code></td> <td><code>24.4.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/build/ >build</a></td> <td>A simple, correct Python build frontend</td> <td><code>>=1.2</code></td> <td><code>1.2.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/certifi/ >certifi</a></td> <td>Python package for providing Mozilla's CA Bundle.</td> <td><code>>=2017.4.17</code></td> <td><code>2024.7.4</code></td> <td>MPL-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/cffi/ >cffi</a></td> <td>Foreign Function Interface for Python calling C code.</td> <td><code>>=1.12</code></td> <td><code>1.16.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/charset-normalizer/ >charset-normalizer</a></td> <td>The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.</td> <td><code>>=2, <4</code></td> <td><code>3.3.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/click/ >click</a></td> <td>Composable command line interface toolkit</td> <td><code>>=7.0</code></td> <td><code>8.1.7</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/colorama/ >colorama</a></td> <td>Cross-platform colored terminal text.</td> <td><code>>=0.4</code></td> <td><code>0.4.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/coverage/ >coverage</a></td> <td>Code coverage measurement for Python</td> <td><code>>=5.2.1</code></td> <td><code>7.6.0</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/cryptography/ >cryptography</a></td> <td>cryptography is a package which provides cryptographic recipes and primitives to Python developers.</td> <td><code>>=2.0</code></td> <td><code>43.0.0</code></td> <td>Apache-2.0 OR BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/csscompressor/ >csscompressor</a></td> <td>A python port of YUI CSS Compressor</td> <td><code>>=0.9.5</code></td> <td><code>0.9.5</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/docutils/ >docutils</a></td> <td>Docutils -- Python Documentation Utilities</td> <td><code>>=0.21.2</code></td> <td><code>0.21.2</code></td> <td>Public Domain + Python Software Foundation License + BSD License + GNU General Public License (GPL)</td> </tr> <tr> <td><a href=https://pypi.org/project/duty/ >duty</a></td> <td>A simple task runner.</td> <td><code>>=1.4</code></td> <td><code>1.4.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/editables/ >editables</a></td> <td>Editable installations</td> <td><code>>=0.5</code></td> <td><code>0.5</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/execnet/ >execnet</a></td> <td>execnet: rapid multi-Python deployment</td> <td><code>>=2.1</code></td> <td><code>2.1.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/failprint/ >failprint</a></td> <td>Run a command, print its output only if it fails.</td> <td><code>>=0.11, !=1.0.0</code></td> <td><code>1.0.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/ghp-import/ >ghp-import</a></td> <td>Copy your docs directly to the gh-pages branch.</td> <td><code>>=1.0</code></td> <td><code>2.1.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/git-changelog/ >git-changelog</a></td> <td>Automatic Changelog generator using Jinja2 templates.</td> <td><code>>=2.5</code></td> <td><code>2.5.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/gitdb/ >gitdb</a></td> <td>Git Object Database</td> <td><code>>=4.0.1, <5</code></td> <td><code>4.0.11</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/GitPython/ >GitPython</a></td> <td>GitPython is a Python library used to interact with Git repositories</td> <td></td> <td><code>3.1.43</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/htmlmin2/ >htmlmin2</a></td> <td>An HTML Minifier</td> <td><code>>=0.1.13</code></td> <td><code>0.1.13</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/idna/ >idna</a></td> <td>Internationalized Domain Names in Applications (IDNA)</td> <td><code>>=2.5, <4</code></td> <td><code>3.7</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/importlib_metadata/ >importlib_metadata</a></td> <td>Read metadata from Python packages</td> <td><code>>=4.6, >=4.4</code></td> <td><code>8.2.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/iniconfig/ >iniconfig</a></td> <td>brain-dead simple config-ini parsing</td> <td></td> <td><code>2.0.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.classes/ >jaraco.classes</a></td> <td>Utility functions for Python class constructs</td> <td></td> <td><code>3.4.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.context/ >jaraco.context</a></td> <td>Useful decorators and context managers</td> <td></td> <td><code>5.3.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.functools/ >jaraco.functools</a></td> <td>Functools like those found in stdlib</td> <td></td> <td><code>4.0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jeepney/ >jeepney</a></td> <td>Low-level, pure Python DBus protocol wrapper.</td> <td><code>>=0.4.2</code></td> <td><code>0.8.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/Jinja2/ >Jinja2</a></td> <td>A very fast and expressive template engine.</td> <td><code>>=2.11.1, >=2.10</code></td> <td><code>3.1.4</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/jsmin/ >jsmin</a></td> <td>JavaScript minifier.</td> <td><code>>=3.0.1</code></td> <td><code>3.0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/keyring/ >keyring</a></td> <td>Store and access your passwords safely.</td> <td><code>>=15.1</code></td> <td><code>25.2.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/Markdown/ >Markdown</a></td> <td>Python implementation of John Gruber's Markdown.</td> <td><code>>=3.3.6, >=3.3</code></td> <td><code>3.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-callouts/ >markdown-callouts</a></td> <td>Markdown extension: a classier syntax for admonitions</td> <td><code>>=0.4</code></td> <td><code>0.4.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-exec/ >markdown-exec</a></td> <td>Utilities to execute code blocks in Markdown files.</td> <td><code>>=1.8</code></td> <td><code>1.9.3.1.1.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-it-py/ >markdown-it-py</a></td> <td>Python port of markdown-it. Markdown parsing, done right!</td> <td><code>>=2.2.0</code></td> <td><code>3.0.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/MarkupSafe/ >MarkupSafe</a></td> <td>Safely add untrusted strings to HTML/XML markup.</td> <td><code>>=2.0.1, >=1.1</code></td> <td><code>2.1.5</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mdurl/ >mdurl</a></td> <td>Markdown URL utilities</td> <td><code>~=0.1</code></td> <td><code>0.1.2</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mergedeep/ >mergedeep</a></td> <td>A deep merge function for 🐍.</td> <td><code>>=1.3.4</code></td> <td><code>1.3.4</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs/ >mkdocs</a></td> <td>Project documentation with Markdown.</td> <td><code>>=1.6, >=1.4</code></td> <td><code>1.6.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-autorefs/ >mkdocs-autorefs</a></td> <td>Automatically link across pages in MkDocs.</td> <td><code>>=0.3.1</code></td> <td><code>1.0.1</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-coverage/ >mkdocs-coverage</a></td> <td>MkDocs plugin to integrate your coverage HTML report into your site.</td> <td><code>>=1.0</code></td> <td><code>1.1.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-gen-files/ >mkdocs-gen-files</a></td> <td>MkDocs plugin to programmatically generate documentation pages during the build</td> <td><code>>=0.5</code></td> <td><code>0.5.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-get-deps/ >mkdocs-get-deps</a></td> <td>MkDocs extension that lists all dependencies according to a mkdocs.yml file</td> <td><code>>=0.2.0</code></td> <td><code>0.2.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-git-committers-plugin-2/ >mkdocs-git-committers-plugin-2</a></td> <td>An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date</td> <td><code>>=2.3</code></td> <td><code>2.3.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-literate-nav/ >mkdocs-literate-nav</a></td> <td>MkDocs plugin to specify the navigation in Markdown instead of YAML</td> <td><code>>=0.6</code></td> <td><code>0.6.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-material/ >mkdocs-material</a></td> <td>Documentation that simply works</td> <td><code>>=9.5</code></td> <td><code>9.5.30+insiders.4.53.11</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-material-extensions/ >mkdocs-material-extensions</a></td> <td>Extension pack for Python Markdown and MkDocs Material.</td> <td><code>~=1.3</code></td> <td><code>1.3.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-minify-plugin/ >mkdocs-minify-plugin</a></td> <td>An MkDocs plugin to minify HTML, JS or CSS files prior to being written to disk</td> <td><code>>=0.8</code></td> <td><code>0.8.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocstrings/ >mkdocstrings</a></td> <td>Automatic documentation from sources, for MkDocs.</td> <td><code>>=0.25</code></td> <td><code>0.25.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/more-itertools/ >more-itertools</a></td> <td>More routines for operating on iterables, beyond itertools</td> <td></td> <td><code>10.3.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mypy/ >mypy</a></td> <td>Optional static typing for Python</td> <td><code>>=1.10</code></td> <td><code>1.11.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mypy-extensions/ >mypy-extensions</a></td> <td>Type system extensions for programs checked with the mypy type checker.</td> <td><code>>=0.4.3</code></td> <td><code>1.0.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/nh3/ >nh3</a></td> <td>Python bindings to the ammonia HTML sanitization library.</td> <td><code>>=0.2.14</code></td> <td><code>0.2.18</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/packaging/ >packaging</a></td> <td>Core utilities for Python packages</td> <td><code>>=24.0, >=20.5</code></td> <td><code>24.1</code></td> <td>Apache Software License + BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/paginate/ >paginate</a></td> <td>Divides large result sets into pages for easier browsing</td> <td><code>~=0.5</code></td> <td><code>0.5.6</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pathspec/ >pathspec</a></td> <td>Utility library for gitignore style pattern matching of file paths.</td> <td><code>>=0.11.1</code></td> <td><code>0.12.1</code></td> <td>Mozilla Public License 2.0 (MPL 2.0)</td> </tr> <tr> <td><a href=https://pypi.org/project/pkginfo/ >pkginfo</a></td> <td>Query metadata from sdists / bdists / installed packages.</td> <td><code>>=1.8.1</code></td> <td><code>1.10.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/platformdirs/ >platformdirs</a></td> <td>A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>.</td> <td><code>>=2.2.0, >=2</code></td> <td><code>4.2.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pluggy/ >pluggy</a></td> <td>plugin and hook calling mechanisms for python</td> <td><code>>=1.5, <2</code></td> <td><code>1.5.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/ptyprocess/ >ptyprocess</a></td> <td>Run a subprocess in a pseudo terminal</td> <td><code>~=0.6</code></td> <td><code>0.7.0</code></td> <td>ISC License (ISCL)</td> </tr> <tr> <td><a href=https://pypi.org/project/pycparser/ >pycparser</a></td> <td>C parser in Python</td> <td></td> <td><code>2.22</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/Pygments/ >Pygments</a></td> <td>Pygments is a syntax highlighting package written in Python.</td> <td><code>~=2.16</code></td> <td><code>2.18.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/pymdown-extensions/ >pymdown-extensions</a></td> <td>Extension pack for Python Markdown.</td> <td><code>>=6.3</code></td> <td><code>10.8.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyproject_hooks/ >pyproject_hooks</a></td> <td>Wrappers to call pyproject.toml-based build backend hooks.</td> <td></td> <td><code>1.1.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest/ >pytest</a></td> <td>pytest: simple powerful testing with Python</td> <td><code>>=8.2</code></td> <td><code>8.3.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-cov/ >pytest-cov</a></td> <td>Pytest plugin for measuring coverage.</td> <td><code>>=5.0</code></td> <td><code>5.0.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-randomly/ >pytest-randomly</a></td> <td>Pytest plugin to randomly order tests and control random.seed.</td> <td><code>>=3.15</code></td> <td><code>3.15.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-xdist/ >pytest-xdist</a></td> <td>pytest xdist plugin for distributed testing, most importantly across multiple CPUs</td> <td><code>>=3.6</code></td> <td><code>3.6.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/python-dateutil/ >python-dateutil</a></td> <td>Extensions to the standard Python datetime module</td> <td><code>>=2.8.1</code></td> <td><code>2.9.0.post0</code></td> <td>BSD License + Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/PyYAML/ >PyYAML</a></td> <td>YAML parser and emitter for Python</td> <td><code>>=5.1</code></td> <td><code>6.0.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyyaml_env_tag/ >pyyaml_env_tag</a></td> <td>A custom YAML tag for referencing environment variables in YAML files.</td> <td><code>>=0.1</code></td> <td><code>0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/readme_renderer/ >readme_renderer</a></td> <td>readme_renderer is a library for rendering readme descriptions for Warehouse</td> <td><code>>=35.0</code></td> <td><code>44.0</code></td> <td>Apache License, Version 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/regex/ >regex</a></td> <td>Alternative regular expression module, to replace re.</td> <td><code>>=2022.4</code></td> <td><code>2024.7.24</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/requests/ >requests</a></td> <td>Python HTTP for Humans.</td> <td><code>~=2.26</code></td> <td><code>2.32.3</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/requests-toolbelt/ >requests-toolbelt</a></td> <td>A utility belt for advanced users of python-requests</td> <td><code>>=0.8.0, !=0.9.0</code></td> <td><code>1.0.0</code></td> <td>Apache 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/rfc3986/ >rfc3986</a></td> <td>Validating URI References per RFC 3986</td> <td><code>>=1.4.0</code></td> <td><code>2.0.0</code></td> <td>Apache 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/rich/ >rich</a></td> <td>Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal</td> <td><code>>=12.0.0</code></td> <td><code>13.7.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/ruff/ >ruff</a></td> <td>An extremely fast Python linter and code formatter, written in Rust.</td> <td><code>>=0.4</code></td> <td><code>0.5.5</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/SecretStorage/ >SecretStorage</a></td> <td>Python bindings to FreeDesktop.org Secret Service API</td> <td><code>>=3.2</code></td> <td><code>3.3.3</code></td> <td>BSD 3-Clause License</td> </tr> <tr> <td><a href=https://pypi.org/project/semver/ >semver</a></td> <td>Python helper for Semantic Versioning (<a href=https://semver.org>https://semver.org</a>)</td> <td><code>>=2.13</code></td> <td><code>3.0.2</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/six/ >six</a></td> <td>Python 2 and 3 compatibility utilities</td> <td><code>>=1.5</code></td> <td><code>1.16.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/smmap/ >smmap</a></td> <td>A pure Python implementation of a sliding window memory map manager</td> <td><code>>=3.0.1, <6</code></td> <td><code>5.0.1</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/twine/ >twine</a></td> <td>Collection of utilities for publishing packages on PyPI</td> <td><code>>=5.0</code></td> <td><code>5.1.1</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/types-Markdown/ >types-Markdown</a></td> <td>Typing stubs for Markdown</td> <td><code>>=3.6</code></td> <td><code>3.6.0.20240316</code></td> <td>Apache-2.0 license</td> </tr> <tr> <td><a href=https://pypi.org/project/types-PyYAML/ >types-PyYAML</a></td> <td>Typing stubs for PyYAML</td> <td><code>>=6.0</code></td> <td><code>6.0.12.20240724</code></td> <td>Apache-2.0 license</td> </tr> <tr> <td><a href=https://pypi.org/project/typing_extensions/ >typing_extensions</a></td> <td>Backported and Experimental Type Hints for Python 3.8+</td> <td><code>>=4.1, >=4.0.1</code></td> <td><code>4.12.2</code></td> <td>Python Software Foundation License</td> </tr> <tr> <td><a href=https://pypi.org/project/urllib3/ >urllib3</a></td> <td>HTTP library with thread-safe connection pooling, file post, and more.</td> <td><code>>=1.21.1, <3</code></td> <td><code>2.2.2</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/watchdog/ >watchdog</a></td> <td>Filesystem events monitoring</td> <td><code>>=2.0</code></td> <td><code>4.0.1</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/zipp/ >zipp</a></td> <td>Backport of pathlib-compatible object wrapper for zip files</td> <td><code>>=0.5</code></td> <td><code>3.19.2</code></td> <td>MIT License</td> </tr> </tbody> </table> <p><strong><a href=http://pawamoy.github.io/credits/ >More credits from the author</a></strong></p> </p> <!-- blacken-docs:on --> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/credits/ rel=canonical><link href=../changelog/ rel=prev><link href=../license/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Credits - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#exec-1--credits class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Credits </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Credits </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Credits </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exec-1--runtime-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Runtime dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#exec-1--development-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development dependencies </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc hidden> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exec-1--runtime-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Runtime dependencies </span> </span> </a> </li> <li class=md-nav__item> <a href=#exec-1--development-dependencies class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Development dependencies </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/credits.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/crraws.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <!-- blacken-docs:off --> <p><h1 id=exec-1--credits>Credits<a class=headerlink href=#exec-1--credits title="Permanent link">¤</a></h1> <p>These projects were used to build <em>mkdocstrings-python</em>. <strong>Thank you!</strong></p> <p><a href=https://www.python.org/ >Python</a> | <a href=https://github.com/astral-sh/uv>uv</a> | <a href=https://github.com/pawamoy/copier-uv>copier-uv</a></p> <h3 id=exec-1--runtime-dependencies>Runtime dependencies<a class=headerlink href=#exec-1--runtime-dependencies title="Permanent link">¤</a></h3> <table> <thead> <tr> <th>Project</th> <th>Summary</th> <th>Version (accepted)</th> <th>Version (last resolved)</th> <th>License</th> </tr> </thead> <tbody> <tr> <td><a href=https://pypi.org/project/click/ >click</a></td> <td>Composable command line interface toolkit</td> <td><code>>=8.0.0, >=7.0</code></td> <td><code>8.1.7</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/colorama/ >colorama</a></td> <td>Cross-platform colored terminal text.</td> <td><code>~=0.4, >=0.4</code></td> <td><code>0.4.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/ghp-import/ >ghp-import</a></td> <td>Copy your docs directly to the gh-pages branch.</td> <td><code>>=1.0</code></td> <td><code>2.1.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/griffe/ >griffe</a></td> <td>Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API.</td> <td><code>>=0.49</code></td> <td><code>0.49.0.1.2.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/importlib_metadata/ >importlib_metadata</a></td> <td>Read metadata from Python packages</td> <td><code>>=4.6, >=4.4</code></td> <td><code>8.2.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/Jinja2/ >Jinja2</a></td> <td>A very fast and expressive template engine.</td> <td><code>~=3.0, >=2.11.1</code></td> <td><code>3.1.4</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/Markdown/ >Markdown</a></td> <td>Python implementation of John Gruber's Markdown.</td> <td><code>~=3.2, >=3.3</code></td> <td><code>3.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/MarkupSafe/ >MarkupSafe</a></td> <td>Safely add untrusted strings to HTML/XML markup.</td> <td><code>>=2.0.1, >=1.1</code></td> <td><code>2.1.5</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mergedeep/ >mergedeep</a></td> <td>A deep merge function for 🐍.</td> <td><code>~=1.3, >=1.3.4</code></td> <td><code>1.3.4</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs/ >mkdocs</a></td> <td>Project documentation with Markdown.</td> <td><code>>=1.6, >=1.4</code></td> <td><code>1.6.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-autorefs/ >mkdocs-autorefs</a></td> <td>Automatically link across pages in MkDocs.</td> <td><code>>=0.3.1</code></td> <td><code>1.0.1</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-get-deps/ >mkdocs-get-deps</a></td> <td>MkDocs extension that lists all dependencies according to a mkdocs.yml file</td> <td><code>>=0.2.0</code></td> <td><code>0.2.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocstrings/ >mkdocstrings</a></td> <td>Automatic documentation from sources, for MkDocs.</td> <td><code>>=0.25</code></td> <td><code>0.25.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/packaging/ >packaging</a></td> <td>Core utilities for Python packages</td> <td><code>>=24.0, >=20.5</code></td> <td><code>24.1</code></td> <td>Apache Software License + BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/pathspec/ >pathspec</a></td> <td>Utility library for gitignore style pattern matching of file paths.</td> <td><code>>=0.9.0, >=0.11.1</code></td> <td><code>0.12.1</code></td> <td>Mozilla Public License 2.0 (MPL 2.0)</td> </tr> <tr> <td><a href=https://pypi.org/project/platformdirs/ >platformdirs</a></td> <td>A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>.</td> <td><code>>=2.2.0, >=2</code></td> <td><code>4.2.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pymdown-extensions/ >pymdown-extensions</a></td> <td>Extension pack for Python Markdown.</td> <td><code>~=10.2, >=6.3</code></td> <td><code>10.9</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/python-dateutil/ >python-dateutil</a></td> <td>Extensions to the standard Python datetime module</td> <td><code>>=2.8.1</code></td> <td><code>2.9.0.post0</code></td> <td>BSD License + Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/PyYAML/ >PyYAML</a></td> <td>YAML parser and emitter for Python</td> <td></td> <td><code>6.0.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyyaml_env_tag/ >pyyaml_env_tag</a></td> <td>A custom YAML tag for referencing environment variables in YAML files.</td> <td><code>>=0.1</code></td> <td><code>0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/six/ >six</a></td> <td>Python 2 and 3 compatibility utilities</td> <td><code>>=1.5</code></td> <td><code>1.16.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/typing_extensions/ >typing_extensions</a></td> <td>Backported and Experimental Type Hints for Python 3.8+</td> <td><code>>=4.1, >=4.0.1</code></td> <td><code>4.12.2</code></td> <td>Python Software Foundation License</td> </tr> <tr> <td><a href=https://pypi.org/project/watchdog/ >watchdog</a></td> <td>Filesystem events monitoring</td> <td><code>>=2.0</code></td> <td><code>4.0.2</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/zipp/ >zipp</a></td> <td>Backport of pathlib-compatible object wrapper for zip files</td> <td><code>>=0.5</code></td> <td><code>3.20.0</code></td> <td>MIT License</td> </tr> </tbody> </table> <h3 id=exec-1--development-dependencies>Development dependencies<a class=headerlink href=#exec-1--development-dependencies title="Permanent link">¤</a></h3> <table> <thead> <tr> <th>Project</th> <th>Summary</th> <th>Version (accepted)</th> <th>Version (last resolved)</th> <th>License</th> </tr> </thead> <tbody> <tr> <td><a href=https://pypi.org/project/ansimarkup/ >ansimarkup</a></td> <td>Produce colored terminal text with an xml-like markup</td> <td><code>~=1.4</code></td> <td><code>1.5.0</code></td> <td>Revised BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/appdirs/ >appdirs</a></td> <td>A small Python module for determining appropriate platform-specific dirs, e.g. a "user data dir".</td> <td><code>>=1.4</code></td> <td><code>1.4.4</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/babel/ >babel</a></td> <td>Internationalization utilities</td> <td><code>~=2.10</code></td> <td><code>2.16.0</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/backports.tarfile/ >backports.tarfile</a></td> <td>Backport of CPython tarfile module</td> <td></td> <td><code>1.2.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/black/ >black</a></td> <td>The uncompromising code formatter.</td> <td><code>>=24.4</code></td> <td><code>24.8.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/build/ >build</a></td> <td>A simple, correct Python build frontend</td> <td><code>>=1.2</code></td> <td><code>1.2.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/certifi/ >certifi</a></td> <td>Python package for providing Mozilla's CA Bundle.</td> <td><code>>=2017.4.17</code></td> <td><code>2024.7.4</code></td> <td>MPL-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/cffi/ >cffi</a></td> <td>Foreign Function Interface for Python calling C code.</td> <td><code>>=1.12</code></td> <td><code>1.17.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/charset-normalizer/ >charset-normalizer</a></td> <td>The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.</td> <td><code>>=2, <4</code></td> <td><code>3.3.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/click/ >click</a></td> <td>Composable command line interface toolkit</td> <td><code>>=8.0.0, >=7.0</code></td> <td><code>8.1.7</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/colorama/ >colorama</a></td> <td>Cross-platform colored terminal text.</td> <td><code>~=0.4, >=0.4</code></td> <td><code>0.4.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/coverage/ >coverage</a></td> <td>Code coverage measurement for Python</td> <td><code>>=5.2.1</code></td> <td><code>7.6.1</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/cryptography/ >cryptography</a></td> <td>cryptography is a package which provides cryptographic recipes and primitives to Python developers.</td> <td><code>>=2.0</code></td> <td><code>43.0.0</code></td> <td>Apache-2.0 OR BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/csscompressor/ >csscompressor</a></td> <td>A python port of YUI CSS Compressor</td> <td><code>>=0.9.5</code></td> <td><code>0.9.5</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/docutils/ >docutils</a></td> <td>Docutils -- Python Documentation Utilities</td> <td><code>>=0.21.2</code></td> <td><code>0.21.2</code></td> <td>Public Domain + Python Software Foundation License + BSD License + GNU General Public License (GPL)</td> </tr> <tr> <td><a href=https://pypi.org/project/duty/ >duty</a></td> <td>A simple task runner.</td> <td><code>>=1.4</code></td> <td><code>1.4.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/editables/ >editables</a></td> <td>Editable installations</td> <td><code>>=0.5</code></td> <td><code>0.5</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/execnet/ >execnet</a></td> <td>execnet: rapid multi-Python deployment</td> <td><code>>=2.1</code></td> <td><code>2.1.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/failprint/ >failprint</a></td> <td>Run a command, print its output only if it fails.</td> <td><code>>=0.11, !=1.0.0</code></td> <td><code>1.0.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/ghp-import/ >ghp-import</a></td> <td>Copy your docs directly to the gh-pages branch.</td> <td><code>>=1.0</code></td> <td><code>2.1.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/git-changelog/ >git-changelog</a></td> <td>Automatic Changelog generator using Jinja2 templates.</td> <td><code>>=2.5</code></td> <td><code>2.5.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/gitdb/ >gitdb</a></td> <td>Git Object Database</td> <td><code>>=4.0.1, <5</code></td> <td><code>4.0.11</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/GitPython/ >GitPython</a></td> <td>GitPython is a Python library used to interact with Git repositories</td> <td></td> <td><code>3.1.43</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/htmlmin2/ >htmlmin2</a></td> <td>An HTML Minifier</td> <td><code>>=0.1.13</code></td> <td><code>0.1.13</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/idna/ >idna</a></td> <td>Internationalized Domain Names in Applications (IDNA)</td> <td><code>>=2.5, <4</code></td> <td><code>3.7</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/importlib_metadata/ >importlib_metadata</a></td> <td>Read metadata from Python packages</td> <td><code>>=4.6, >=4.4</code></td> <td><code>8.2.0</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/iniconfig/ >iniconfig</a></td> <td>brain-dead simple config-ini parsing</td> <td></td> <td><code>2.0.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.classes/ >jaraco.classes</a></td> <td>Utility functions for Python class constructs</td> <td></td> <td><code>3.4.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.context/ >jaraco.context</a></td> <td>Useful decorators and context managers</td> <td></td> <td><code>5.3.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jaraco.functools/ >jaraco.functools</a></td> <td>Functools like those found in stdlib</td> <td></td> <td><code>4.0.2</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/jeepney/ >jeepney</a></td> <td>Low-level, pure Python DBus protocol wrapper.</td> <td><code>>=0.4.2</code></td> <td><code>0.8.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/Jinja2/ >Jinja2</a></td> <td>A very fast and expressive template engine.</td> <td><code>~=3.0, >=2.11.1</code></td> <td><code>3.1.4</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/jsmin/ >jsmin</a></td> <td>JavaScript minifier.</td> <td><code>>=3.0.1</code></td> <td><code>3.0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/keyring/ >keyring</a></td> <td>Store and access your passwords safely.</td> <td><code>>=15.1</code></td> <td><code>25.3.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/Markdown/ >Markdown</a></td> <td>Python implementation of John Gruber's Markdown.</td> <td><code>~=3.2, >=3.3</code></td> <td><code>3.6</code></td> <td>BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-callouts/ >markdown-callouts</a></td> <td>Markdown extension: a classier syntax for admonitions</td> <td><code>>=0.4</code></td> <td><code>0.4.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-exec/ >markdown-exec</a></td> <td>Utilities to execute code blocks in Markdown files.</td> <td><code>>=1.8</code></td> <td><code>1.9.3.1.1.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/markdown-it-py/ >markdown-it-py</a></td> <td>Python port of markdown-it. Markdown parsing, done right!</td> <td><code>>=2.2.0</code></td> <td><code>3.0.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/MarkupSafe/ >MarkupSafe</a></td> <td>Safely add untrusted strings to HTML/XML markup.</td> <td><code>>=2.0.1, >=1.1</code></td> <td><code>2.1.5</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mdurl/ >mdurl</a></td> <td>Markdown URL utilities</td> <td><code>~=0.1</code></td> <td><code>0.1.2</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mergedeep/ >mergedeep</a></td> <td>A deep merge function for 🐍.</td> <td><code>~=1.3, >=1.3.4</code></td> <td><code>1.3.4</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs/ >mkdocs</a></td> <td>Project documentation with Markdown.</td> <td><code>>=1.6, >=1.4</code></td> <td><code>1.6.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-autorefs/ >mkdocs-autorefs</a></td> <td>Automatically link across pages in MkDocs.</td> <td><code>>=0.3.1</code></td> <td><code>1.0.1</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-coverage/ >mkdocs-coverage</a></td> <td>MkDocs plugin to integrate your coverage HTML report into your site.</td> <td><code>>=1.0</code></td> <td><code>1.1.0</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-gen-files/ >mkdocs-gen-files</a></td> <td>MkDocs plugin to programmatically generate documentation pages during the build</td> <td><code>>=0.5</code></td> <td><code>0.5.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-get-deps/ >mkdocs-get-deps</a></td> <td>MkDocs extension that lists all dependencies according to a mkdocs.yml file</td> <td><code>>=0.2.0</code></td> <td><code>0.2.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-git-committers-plugin-2/ >mkdocs-git-committers-plugin-2</a></td> <td>An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date</td> <td><code>>=2.3</code></td> <td><code>2.3.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-literate-nav/ >mkdocs-literate-nav</a></td> <td>MkDocs plugin to specify the navigation in Markdown instead of YAML</td> <td><code>>=0.6</code></td> <td><code>0.6.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-material/ >mkdocs-material</a></td> <td>Documentation that simply works</td> <td><code>>=9.5</code></td> <td><code>9.5.31+insiders.4.53.12</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-material-extensions/ >mkdocs-material-extensions</a></td> <td>Extension pack for Python Markdown and MkDocs Material.</td> <td><code>~=1.3</code></td> <td><code>1.3.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocs-minify-plugin/ >mkdocs-minify-plugin</a></td> <td>An MkDocs plugin to minify HTML, JS or CSS files prior to being written to disk</td> <td><code>>=0.8</code></td> <td><code>0.8.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mkdocstrings/ >mkdocstrings</a></td> <td>Automatic documentation from sources, for MkDocs.</td> <td><code>>=0.25</code></td> <td><code>0.25.2</code></td> <td>ISC</td> </tr> <tr> <td><a href=https://pypi.org/project/more-itertools/ >more-itertools</a></td> <td>More routines for operating on iterables, beyond itertools</td> <td></td> <td><code>10.4.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/mypy/ >mypy</a></td> <td>Optional static typing for Python</td> <td><code>>=1.10</code></td> <td><code>1.11.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/mypy-extensions/ >mypy-extensions</a></td> <td>Type system extensions for programs checked with the mypy type checker.</td> <td><code>>=0.4.3</code></td> <td><code>1.0.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/nh3/ >nh3</a></td> <td>Python bindings to the ammonia HTML sanitization library.</td> <td><code>>=0.2.14</code></td> <td><code>0.2.18</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/packaging/ >packaging</a></td> <td>Core utilities for Python packages</td> <td><code>>=24.0, >=20.5</code></td> <td><code>24.1</code></td> <td>Apache Software License + BSD License</td> </tr> <tr> <td><a href=https://pypi.org/project/paginate/ >paginate</a></td> <td>Divides large result sets into pages for easier browsing</td> <td><code>~=0.5</code></td> <td><code>0.5.6</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pathspec/ >pathspec</a></td> <td>Utility library for gitignore style pattern matching of file paths.</td> <td><code>>=0.9.0, >=0.11.1</code></td> <td><code>0.12.1</code></td> <td>Mozilla Public License 2.0 (MPL 2.0)</td> </tr> <tr> <td><a href=https://pypi.org/project/pkginfo/ >pkginfo</a></td> <td>Query metadata from sdists / bdists / installed packages.</td> <td><code>>=1.8.1</code></td> <td><code>1.10.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/platformdirs/ >platformdirs</a></td> <td>A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>.</td> <td><code>>=2.2.0, >=2</code></td> <td><code>4.2.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pluggy/ >pluggy</a></td> <td>plugin and hook calling mechanisms for python</td> <td><code>>=1.5, <2</code></td> <td><code>1.5.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/ptyprocess/ >ptyprocess</a></td> <td>Run a subprocess in a pseudo terminal</td> <td><code>~=0.6</code></td> <td><code>0.7.0</code></td> <td>ISC License (ISCL)</td> </tr> <tr> <td><a href=https://pypi.org/project/pycparser/ >pycparser</a></td> <td>C parser in Python</td> <td></td> <td><code>2.22</code></td> <td>BSD-3-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/Pygments/ >Pygments</a></td> <td>Pygments is a syntax highlighting package written in Python.</td> <td><code>~=2.16</code></td> <td><code>2.18.0</code></td> <td>BSD-2-Clause</td> </tr> <tr> <td><a href=https://pypi.org/project/pymdown-extensions/ >pymdown-extensions</a></td> <td>Extension pack for Python Markdown.</td> <td><code>~=10.2, >=6.3</code></td> <td><code>10.9</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyproject_hooks/ >pyproject_hooks</a></td> <td>Wrappers to call pyproject.toml-based build backend hooks.</td> <td></td> <td><code>1.1.0</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest/ >pytest</a></td> <td>pytest: simple powerful testing with Python</td> <td><code>>=8.2</code></td> <td><code>8.3.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-cov/ >pytest-cov</a></td> <td>Pytest plugin for measuring coverage.</td> <td><code>>=5.0</code></td> <td><code>5.0.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-randomly/ >pytest-randomly</a></td> <td>Pytest plugin to randomly order tests and control random.seed.</td> <td><code>>=3.15</code></td> <td><code>3.15.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pytest-xdist/ >pytest-xdist</a></td> <td>pytest xdist plugin for distributed testing, most importantly across multiple CPUs</td> <td><code>>=3.6</code></td> <td><code>3.6.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/python-dateutil/ >python-dateutil</a></td> <td>Extensions to the standard Python datetime module</td> <td><code>>=2.8.1</code></td> <td><code>2.9.0.post0</code></td> <td>BSD License + Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/PyYAML/ >PyYAML</a></td> <td>YAML parser and emitter for Python</td> <td></td> <td><code>6.0.2</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/pyyaml_env_tag/ >pyyaml_env_tag</a></td> <td>A custom YAML tag for referencing environment variables in YAML files.</td> <td><code>>=0.1</code></td> <td><code>0.1</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/readme_renderer/ >readme_renderer</a></td> <td>readme_renderer is a library for rendering readme descriptions for Warehouse</td> <td><code>>=35.0</code></td> <td><code>44.0</code></td> <td>Apache License, Version 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/regex/ >regex</a></td> <td>Alternative regular expression module, to replace re.</td> <td><code>>=2022.4</code></td> <td><code>2024.7.24</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/requests/ >requests</a></td> <td>Python HTTP for Humans.</td> <td><code>~=2.26</code></td> <td><code>2.32.3</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/requests-toolbelt/ >requests-toolbelt</a></td> <td>A utility belt for advanced users of python-requests</td> <td><code>>=0.8.0, !=0.9.0</code></td> <td><code>1.0.0</code></td> <td>Apache 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/rfc3986/ >rfc3986</a></td> <td>Validating URI References per RFC 3986</td> <td><code>>=1.4.0</code></td> <td><code>2.0.0</code></td> <td>Apache 2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/rich/ >rich</a></td> <td>Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal</td> <td><code>>=12.0.0</code></td> <td><code>13.7.1</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/ruff/ >ruff</a></td> <td>An extremely fast Python linter and code formatter, written in Rust.</td> <td><code>>=0.4</code></td> <td><code>0.5.7</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/SecretStorage/ >SecretStorage</a></td> <td>Python bindings to FreeDesktop.org Secret Service API</td> <td><code>>=3.2</code></td> <td><code>3.3.3</code></td> <td>BSD 3-Clause License</td> </tr> <tr> <td><a href=https://pypi.org/project/semver/ >semver</a></td> <td>Python helper for Semantic Versioning (<a href=https://semver.org>https://semver.org</a>)</td> <td><code>>=2.13</code></td> <td><code>3.0.2</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/six/ >six</a></td> <td>Python 2 and 3 compatibility utilities</td> <td><code>>=1.5</code></td> <td><code>1.16.0</code></td> <td>MIT</td> </tr> <tr> <td><a href=https://pypi.org/project/smmap/ >smmap</a></td> <td>A pure Python implementation of a sliding window memory map manager</td> <td><code>>=3.0.1, <6</code></td> <td><code>5.0.1</code></td> <td>BSD</td> </tr> <tr> <td><a href=https://pypi.org/project/twine/ >twine</a></td> <td>Collection of utilities for publishing packages on PyPI</td> <td><code>>=5.0</code></td> <td><code>5.1.1</code></td> <td>Apache Software License</td> </tr> <tr> <td><a href=https://pypi.org/project/types-Markdown/ >types-Markdown</a></td> <td>Typing stubs for Markdown</td> <td><code>>=3.6</code></td> <td><code>3.6.0.20240316</code></td> <td>Apache-2.0 license</td> </tr> <tr> <td><a href=https://pypi.org/project/types-PyYAML/ >types-PyYAML</a></td> <td>Typing stubs for PyYAML</td> <td><code>>=6.0</code></td> <td><code>6.0.12.20240808</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/typing_extensions/ >typing_extensions</a></td> <td>Backported and Experimental Type Hints for Python 3.8+</td> <td><code>>=4.1, >=4.0.1</code></td> <td><code>4.12.2</code></td> <td>Python Software Foundation License</td> </tr> <tr> <td><a href=https://pypi.org/project/urllib3/ >urllib3</a></td> <td>HTTP library with thread-safe connection pooling, file post, and more.</td> <td><code>>=1.21.1, <3</code></td> <td><code>2.2.2</code></td> <td>MIT License</td> </tr> <tr> <td><a href=https://pypi.org/project/watchdog/ >watchdog</a></td> <td>Filesystem events monitoring</td> <td><code>>=2.0</code></td> <td><code>4.0.2</code></td> <td>Apache-2.0</td> </tr> <tr> <td><a href=https://pypi.org/project/zipp/ >zipp</a></td> <td>Backport of pathlib-compatible object wrapper for zip files</td> <td><code>>=0.5</code></td> <td><code>3.20.0</code></td> <td>MIT License</td> </tr> </tbody> </table> <p><strong><a href=http://pawamoy.github.io/credits/ >More credits from the author</a></strong></p> </p> <!-- blacken-docs:on --> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../changelog/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Changelog"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Changelog </div> </div> </a> <a href=../license/ class="md-footer__link md-footer__link--next" aria-label="Next: License"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> License </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../changelog/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Changelog"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Changelog </div> </div> </a> <a href=../license/ class="md-footer__link md-footer__link--next" aria-label="Next: License"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> License </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/index.html b/index.html index c91e6091..f573aaf2 100644 --- a/index.html +++ b/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/ rel=canonical><link href=changelog/ rel=next><link rel=icon href=assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Overview - mkdocstrings-python</title><link rel=stylesheet href=assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=assets/_markdown_exec_pyodide.css><link rel=stylesheet href=assets/_mkdocstrings.css><link rel=stylesheet href=css/material.css><link rel=stylesheet href=css/mkdocstrings.css><link rel=stylesheet href=css/insiders.css><script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#installation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Overview </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=. class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> </li> <li class=md-nav__item> <a href=#preview class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Preview </span> </span> </a> </li> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 align=center>mkdocstrings-python</h1> <p align=center>A Python handler for <a href=https://github.com/mkdocstrings/mkdocstrings><i>mkdocstrings</i></a>.</p> <p><a href="https://github.com/mkdocstrings/python/actions?query=workflow%3Aci"><img alt=ci src=https://github.com/mkdocstrings/python/workflows/ci/badge.svg></a> <a href=https://mkdocstrings.github.io/python/ ><img alt=documentation src="https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat"></a> <a href=https://pypi.org/project/mkdocstrings-python/ ><img alt="pypi version" src=https://img.shields.io/pypi/v/mkdocstrings-python.svg></a> <a href=https://gitpod.io/#https://github.com/mkdocstrings/python><img alt=gitpod src="https://img.shields.io/badge/gitpod-workspace-708FCC.svg?style=flat"></a> <a href=https://app.gitter.im/#/room/#python:gitter.im><img alt=gitter src=https://badges.gitter.im/join%20chat.svg></a></p> <hr> <p align=center><img src=logo.png></p> <p>The Python handler uses <a href=https://mkdocstrings.github.io/griffe>Griffe</a> to collect documentation from Python source code. The word "griffe" can sometimes be used instead of "signature" in French. Griffe is able to visit the Abstract Syntax Tree (AST) of the source code to extract useful information. It is also able to execute the code (by importing it) and introspect objects in memory when source code is not available. Finally, it can parse docstrings following different styles.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <p>You can install this handler as a <em>mkdocstrings</em> extra:</p> <div class="language-toml highlight"><span class=filename>pyproject.toml</span><pre><span></span><code><span class=c1># PEP 621 dependencies declaration</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/ rel=canonical><link href=changelog/ rel=next><link rel=icon href=assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Overview - mkdocstrings-python</title><link rel=stylesheet href=assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=assets/_markdown_exec_pyodide.css><link rel=stylesheet href=assets/_mkdocstrings.css><link rel=stylesheet href=css/material.css><link rel=stylesheet href=css/mkdocstrings.css><link rel=stylesheet href=css/insiders.css><script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#installation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Overview </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=. class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> </li> <li class=md-nav__item> <a href=#preview class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Preview </span> </span> </a> </li> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Features </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 align=center>mkdocstrings-python</h1> <p align=center>A Python handler for <a href=https://github.com/mkdocstrings/mkdocstrings><i>mkdocstrings</i></a>.</p> <p><a href="https://github.com/mkdocstrings/python/actions?query=workflow%3Aci"><img alt=ci src=https://github.com/mkdocstrings/python/workflows/ci/badge.svg></a> <a href=https://mkdocstrings.github.io/python/ ><img alt=documentation src="https://img.shields.io/badge/docs-mkdocs-708FCC.svg?style=flat"></a> <a href=https://pypi.org/project/mkdocstrings-python/ ><img alt="pypi version" src=https://img.shields.io/pypi/v/mkdocstrings-python.svg></a> <a href=https://gitpod.io/#https://github.com/mkdocstrings/python><img alt=gitpod src="https://img.shields.io/badge/gitpod-workspace-708FCC.svg?style=flat"></a> <a href=https://app.gitter.im/#/room/#python:gitter.im><img alt=gitter src=https://badges.gitter.im/join%20chat.svg></a></p> <hr> <p align=center><img src=logo.png></p> <p>The Python handler uses <a href=https://mkdocstrings.github.io/griffe>Griffe</a> to collect documentation from Python source code. The word "griffe" can sometimes be used instead of "signature" in French. Griffe is able to visit the Abstract Syntax Tree (AST) of the source code to extract useful information. It is also able to execute the code (by importing it) and introspect objects in memory when source code is not available. Finally, it can parse docstrings following different styles.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <p>You can install this handler as a <em>mkdocstrings</em> extra:</p> <div class="language-toml highlight"><span class=filename>pyproject.toml</span><pre><span></span><code><span class=c1># PEP 621 dependencies declaration</span> <span class=c1># adapt to your dependencies manager</span> <span class=k>[project]</span> <span class=n>dependencies</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>[</span> @@ -44,4 +44,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=changelog/ class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Changelog </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": ".", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=assets/javascripts/bundle.d249fdc4.min.js></script> <script src=assets/_markdown_exec_pyodide.js></script> <script src=js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=changelog/ class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Changelog </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": ".", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=assets/javascripts/bundle.ef37796b.min.js></script> <script src=assets/_markdown_exec_pyodide.js></script> <script src=js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/insiders/changelog/index.html b/insiders/changelog/index.html index 9c161202..73dfdc49 100644 --- a/insiders/changelog/index.html +++ b/insiders/changelog/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/changelog/ rel=canonical><link href=../installation/ rel=prev><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Changelog - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#changelog class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Changelog </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2 checked> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=true> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Changelog </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings-python-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> mkdocstrings-python Insiders </span> </span> </a> <nav class=md-nav aria-label="mkdocstrings-python Insiders"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1.8.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.3 <small>June 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.2 <small>May 09, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.1 <small>April 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.7.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.6.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 <small>January 30, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 <small>September 12, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 <small>September 05, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.4.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 <small>August 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.3.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 <small>August 24, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.2.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 <small>August 20, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.4 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.3 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 <small>July 15, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 <small>June 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 <small>June 4, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.0.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 <small>May 10, 2023</small> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings-python-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> mkdocstrings-python Insiders </span> </span> </a> <nav class=md-nav aria-label="mkdocstrings-python Insiders"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1.8.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.3 <small>June 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.2 <small>May 09, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.1 <small>April 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.7.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.6.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 <small>January 30, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 <small>September 12, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 <small>September 05, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.4.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 <small>August 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.3.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 <small>August 24, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.2.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 <small>August 20, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.4 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.3 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 <small>July 15, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 <small>June 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 <small>June 4, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.0.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 <small>May 10, 2023</small> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/changelog.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/changelog.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=changelog>Changelog<a class=headerlink href=#changelog title="Permanent link">¤</a></h1> <h2 id=mkdocstrings-python-insiders>mkdocstrings-python Insiders<a class=headerlink href=#mkdocstrings-python-insiders title="Permanent link">¤</a></h2> <h3 id=1.8.3>1.8.3 <small>June 19, 2024</small><a class=headerlink href=#1.8.3 title="Permanent link">¤</a></h3> <ul> <li>Update code for Griffe 0.46+ to avoid deprecation warnings</li> </ul> <h3 id=1.8.2>1.8.2 <small>May 09, 2024</small><a class=headerlink href=#1.8.2 title="Permanent link">¤</a></h3> <ul> <li>Don't render cross-refs for default values when signatures aren't separated</li> </ul> <h3 id=1.8.1>1.8.1 <small>April 19, 2024</small><a class=headerlink href=#1.8.1 title="Permanent link">¤</a></h3> <ul> <li>Render enumeration instance name instead of just "value", allowing proper cross-reference</li> </ul> <h3 id=1.8.0>1.8.0 <small>March 24, 2024</small><a class=headerlink href=#1.8.0 title="Permanent link">¤</a></h3> <ul> <li><a class="autorefs autorefs-internal" href=../../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> </ul> <h3 id=1.7.0>1.7.0 <small>March 24, 2024</small><a class=headerlink href=#1.7.0 title="Permanent link">¤</a></h3> <ul> <li><a class="autorefs autorefs-internal" href=../../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> </ul> <h3 id=1.6.0>1.6.0 <small>January 30, 2024</small><a class=headerlink href=#1.6.0 title="Permanent link">¤</a></h3> <ul> <li>Render cross-references to parameters documentation in signatures and attribute values.</li> <li>Add <a class="autorefs autorefs-internal" href=../../usage/configuration/headings/#parameter_headings><code>parameter_headings</code></a> option to render headings for parameters (enabling permalinks and <abbr title="Table of Contents">ToC</abbr>/inventory entries).</li> <li>Render cross-references for default parameter values in signatures.</li> </ul> <h3 id=1.5.1>1.5.1 <small>September 12, 2023</small><a class=headerlink href=#1.5.1 title="Permanent link">¤</a></h3> <ul> <li>Prevent empty auto-summarized Methods section.</li> </ul> <h3 id=1.5.0>1.5.0 <small>September 05, 2023</small><a class=headerlink href=#1.5.0 title="Permanent link">¤</a></h3> <ul> <li>Render function signature overloads.</li> </ul> <h3 id=1.4.0>1.4.0 <small>August 27, 2023</small><a class=headerlink href=#1.4.0 title="Permanent link">¤</a></h3> <ul> <li>Render cross-references in attribute signatures.</li> </ul> <h3 id=1.3.0>1.3.0 <small>August 24, 2023</small><a class=headerlink href=#1.3.0 title="Permanent link">¤</a></h3> <ul> <li>Add "method" symbol type.</li> </ul> <h3 id=1.2.0>1.2.0 <small>August 20, 2023</small><a class=headerlink href=#1.2.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/members/#summary>member auto-summaries</a>.</li> </ul> <h3 id=1.1.4>1.1.4 <small>July 17, 2023</small><a class=headerlink href=#1.1.4 title="Permanent link">¤</a></h3> <ul> <li>Fix heading level increment for class members.</li> </ul> <h3 id=1.1.3>1.1.3 <small>July 17, 2023</small><a class=headerlink href=#1.1.3 title="Permanent link">¤</a></h3> <ul> <li>Fix heading level (avoid with clause preventing to decrease it).</li> </ul> <h3 id=1.1.2>1.1.2 <small>July 15, 2023</small><a class=headerlink href=#1.1.2 title="Permanent link">¤</a></h3> <ul> <li>Use non-breaking spaces after symbol types.</li> </ul> <h3 id=1.1.1>1.1.1 <small>June 27, 2023</small><a class=headerlink href=#1.1.1 title="Permanent link">¤</a></h3> <ul> <li>Correctly escape expressions in signatures and other rendered types.</li> </ul> <h3 id=1.1.0>1.1.0 <small>June 4, 2023</small><a class=headerlink href=#1.1.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a>.</li> </ul> <h3 id=1.0.0>1.0.0 <small>May 10, 2023</small><a class=headerlink href=#1.0.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/signatures/#signature_crossrefs>cross-references for type annotations in signatures</a>. Make sure to update your local templates as the signature of the <a class="autorefs autorefs-internal" href=../../reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature><code>format_signature</code> filter</a> has changed. The templates that must be updated: <code>class.html</code>, <code>expression.html</code>, <code>function.html</code> and <code>signature.html</code>.</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?v=4&size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/changelog/ rel=canonical><link href=../installation/ rel=prev><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Changelog - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#changelog class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Changelog </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2 checked> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=true> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Changelog </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Changelog </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings-python-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> mkdocstrings-python Insiders </span> </span> </a> <nav class=md-nav aria-label="mkdocstrings-python Insiders"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1.8.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.3 <small>June 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.2 <small>May 09, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.1 <small>April 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.7.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.6.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 <small>January 30, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 <small>September 12, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 <small>September 05, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.4.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 <small>August 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.3.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 <small>August 24, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.2.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 <small>August 20, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.4 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.3 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 <small>July 15, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 <small>June 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 <small>June 4, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.0.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 <small>May 10, 2023</small> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings-python-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> mkdocstrings-python Insiders </span> </span> </a> <nav class=md-nav aria-label="mkdocstrings-python Insiders"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1.8.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.3 <small>June 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.2 <small>May 09, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.1 <small>April 19, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.8.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.8.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.7.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.7.0 <small>March 24, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.6.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.6.0 <small>January 30, 2024</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.1 <small>September 12, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.5.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.5.0 <small>September 05, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.4.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.4.0 <small>August 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.3.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.3.0 <small>August 24, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.2.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.2.0 <small>August 20, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.4 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.4 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.3 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.3 <small>July 17, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.2 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.2 <small>July 15, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.1 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.1 <small>June 27, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.1.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.1.0 <small>June 4, 2023</small> </span> </span> </a> </li> <li class=md-nav__item> <a href=#1.0.0 class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> 1.0.0 <small>May 10, 2023</small> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/changelog.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/changelog.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=changelog>Changelog<a class=headerlink href=#changelog title="Permanent link">¤</a></h1> <h2 id=mkdocstrings-python-insiders>mkdocstrings-python Insiders<a class=headerlink href=#mkdocstrings-python-insiders title="Permanent link">¤</a></h2> <h3 id=1.8.3>1.8.3 <small>June 19, 2024</small><a class=headerlink href=#1.8.3 title="Permanent link">¤</a></h3> <ul> <li>Update code for Griffe 0.46+ to avoid deprecation warnings</li> </ul> <h3 id=1.8.2>1.8.2 <small>May 09, 2024</small><a class=headerlink href=#1.8.2 title="Permanent link">¤</a></h3> <ul> <li>Don't render cross-refs for default values when signatures aren't separated</li> </ul> <h3 id=1.8.1>1.8.1 <small>April 19, 2024</small><a class=headerlink href=#1.8.1 title="Permanent link">¤</a></h3> <ul> <li>Render enumeration instance name instead of just "value", allowing proper cross-reference</li> </ul> <h3 id=1.8.0>1.8.0 <small>March 24, 2024</small><a class=headerlink href=#1.8.0 title="Permanent link">¤</a></h3> <ul> <li><a class="autorefs autorefs-internal" href=../../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> </ul> <h3 id=1.7.0>1.7.0 <small>March 24, 2024</small><a class=headerlink href=#1.7.0 title="Permanent link">¤</a></h3> <ul> <li><a class="autorefs autorefs-internal" href=../../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> </ul> <h3 id=1.6.0>1.6.0 <small>January 30, 2024</small><a class=headerlink href=#1.6.0 title="Permanent link">¤</a></h3> <ul> <li>Render cross-references to parameters documentation in signatures and attribute values.</li> <li>Add <a class="autorefs autorefs-internal" href=../../usage/configuration/headings/#parameter_headings><code>parameter_headings</code></a> option to render headings for parameters (enabling permalinks and <abbr title="Table of Contents">ToC</abbr>/inventory entries).</li> <li>Render cross-references for default parameter values in signatures.</li> </ul> <h3 id=1.5.1>1.5.1 <small>September 12, 2023</small><a class=headerlink href=#1.5.1 title="Permanent link">¤</a></h3> <ul> <li>Prevent empty auto-summarized Methods section.</li> </ul> <h3 id=1.5.0>1.5.0 <small>September 05, 2023</small><a class=headerlink href=#1.5.0 title="Permanent link">¤</a></h3> <ul> <li>Render function signature overloads.</li> </ul> <h3 id=1.4.0>1.4.0 <small>August 27, 2023</small><a class=headerlink href=#1.4.0 title="Permanent link">¤</a></h3> <ul> <li>Render cross-references in attribute signatures.</li> </ul> <h3 id=1.3.0>1.3.0 <small>August 24, 2023</small><a class=headerlink href=#1.3.0 title="Permanent link">¤</a></h3> <ul> <li>Add "method" symbol type.</li> </ul> <h3 id=1.2.0>1.2.0 <small>August 20, 2023</small><a class=headerlink href=#1.2.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/members/#summary>member auto-summaries</a>.</li> </ul> <h3 id=1.1.4>1.1.4 <small>July 17, 2023</small><a class=headerlink href=#1.1.4 title="Permanent link">¤</a></h3> <ul> <li>Fix heading level increment for class members.</li> </ul> <h3 id=1.1.3>1.1.3 <small>July 17, 2023</small><a class=headerlink href=#1.1.3 title="Permanent link">¤</a></h3> <ul> <li>Fix heading level (avoid with clause preventing to decrease it).</li> </ul> <h3 id=1.1.2>1.1.2 <small>July 15, 2023</small><a class=headerlink href=#1.1.2 title="Permanent link">¤</a></h3> <ul> <li>Use non-breaking spaces after symbol types.</li> </ul> <h3 id=1.1.1>1.1.1 <small>June 27, 2023</small><a class=headerlink href=#1.1.1 title="Permanent link">¤</a></h3> <ul> <li>Correctly escape expressions in signatures and other rendered types.</li> </ul> <h3 id=1.1.0>1.1.0 <small>June 4, 2023</small><a class=headerlink href=#1.1.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a>.</li> </ul> <h3 id=1.0.0>1.0.0 <small>May 10, 2023</small><a class=headerlink href=#1.0.0 title="Permanent link">¤</a></h3> <ul> <li>Add <a href=../../usage/configuration/signatures/#signature_crossrefs>cross-references for type annotations in signatures</a>. Make sure to update your local templates as the signature of the <a class="autorefs autorefs-internal" href=../../reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature><code>format_signature</code> filter</a> has changed. The templates that must be updated: <code>class.html</code>, <code>expression.html</code>, <code>function.html</code> and <code>signature.html</code>.</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?v=4&size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../installation/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Installation"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Installation </div> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../installation/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Installation"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Installation </div> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/insiders/index.html b/insiders/index.html index 38d73cf4..8e5463db 100644 --- a/insiders/index.html +++ b/insiders/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/ rel=canonical><link href=../code_of_conduct/ rel=prev><link href=installation/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Insiders - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#insiders class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Insiders </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#what-is-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What is Insiders? </span> </span> </a> </li> <li class=md-nav__item> <a href=#what-sponsorships-achieve class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What sponsorships achieve </span> </span> </a> </li> <li class=md-nav__item> <a href=#whats-in-it-for-me class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What's in it for me? </span> </span> </a> </li> <li class=md-nav__item> <a href=#how-to-become-a-sponsor class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> How to become a sponsor </span> </span> </a> </li> <li class=md-nav__item> <a href=#funding class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Funding <span class=sponsors-total></span> </span> </span> </a> <nav class=md-nav aria-label=Funding> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goals class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Goals </span> </span> </a> <nav class=md-nav aria-label=Goals> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1000-gravifridge-fluid-renewal class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 1,000 — GraviFridge Fluid Renewal </span> </span> </a> </li> <li class=md-nav__item> <a href=#1500-hyperlamp-navigation-tips class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 1,500 — HyperLamp Navigation Tips </span> </span> </a> </li> <li class=md-nav__item> <a href=#2000-fusiondrive-ejection-configuration class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 2,000 — FusionDrive Ejection Configuration </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#goals-completed class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Goals completed </span> </span> </a> <nav class=md-nav aria-label="Goals completed"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#500-plasmavac-user-guide class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 500 — PlasmaVac User Guide </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#frequently-asked-questions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Frequently asked questions </span> </span> </a> <nav class=md-nav aria-label="Frequently asked questions"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#compatibility class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Compatibility </span> </span> </a> </li> <li class=md-nav__item> <a href=#payment class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Payment </span> </span> </a> </li> <li class=md-nav__item> <a href=#terms class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Terms </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=insiders>Insiders<a class=headerlink href=#insiders title="Permanent link">¤</a></h1> <p><em>mkdocstrings-python</em> follows the <strong>sponsorware</strong> release strategy, which means that new features are first exclusively released to sponsors as part of <a href=#what-is-insiders>Insiders</a>. Read on to learn <a href=#what-sponsorships-achieve>what sponsorships achieve</a>, <a href=#how-to-become-a-sponsor>how to become a sponsor</a> to get access to Insiders, and <a href=#whats-in-it-for-me>what's in it for you</a>!</p> <h2 id=what-is-insiders>What is Insiders?<a class=headerlink href=#what-is-insiders title="Permanent link">¤</a></h2> <p><em>mkdocstrings-python Insiders</em> is a private fork of <em>mkdocstrings-python</em>, hosted as a private GitHub repository. Almost<sup id=fnref:1><a class=footnote-ref href=#fn:1>1</a></sup> <a href=#whats-in-it-for-me>all new features</a> are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.</p> <p>Every feature is tied to a <a href=#funding>funding goal</a> in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into <em>mkdocstrings-python</em> and released for general availability, making them available to all users. Bugfixes are always released in tandem.</p> <p>Sponsorships start as low as <a href=#how-to-become-a-sponsor><strong>$10 a month</strong></a>.<sup id=fnref:2><a class=footnote-ref href=#fn:2>2</a></sup></p> <h2 id=what-sponsorships-achieve>What sponsorships achieve<a class=headerlink href=#what-sponsorships-achieve title="Permanent link">¤</a></h2> <p>Sponsorships make this project sustainable, as they buy the maintainers of this project time – a very scarce resource – which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.<sup id=fnref:3><a class=footnote-ref href=#fn:3>3</a></sup></p> <p>If you're unsure if you should sponsor this project, check out the list of <a href=#goals-completed>completed funding goals</a> to learn whether you're already using features that were developed with the help of sponsorships. You're most likely using at least a handful of them, <a href=#how-to-become-a-sponsor>thanks to our awesome sponsors</a>!</p> <h2 id=whats-in-it-for-me>What's in it for me?<a class=headerlink href=#whats-in-it-for-me title="Permanent link">¤</a></h2> <p></p> <!-- blacken-docs:off --> <p>The moment you <a href=#how-to-become-a-sponsor>become a sponsor</a>, you'll get <strong>immediate access to 9 additional features</strong> that you can start using right away, and which are currently exclusively available to sponsors:</p> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Parameter headings</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Automatic cross-references to parameters</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic cross-references for default parameter values in signatures</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic rendering of function signature overloads</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/members/#summary>Auto-summary of object members</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >griffe-warnings-deprecated</a> — <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >[Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-pydantic/ >griffe-pydantic</a> — <a href=https://mkdocstrings.github.io/griffe-pydantic/ >[Project] Griffe extension for Pydantic</a></li> </ul> <p>These are just the features related to this project. <a href=https://pawamoy.github.io/insiders/#whats-in-it-for-me>See the complete feature list on the author's main Insiders page</a>.</p> <!-- blacken-docs:on --> <h2 id=how-to-become-a-sponsor>How to become a sponsor<a class=headerlink href=#how-to-become-a-sponsor title="Permanent link">¤</a></h2> <p>Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit <a href=https://github.com/sponsors/pawamoy>pawamoy's sponsor profile</a>, and complete a sponsorship of <strong>$10 a month or more</strong>. You can use your individual or organization GitHub account for sponsoring.</p> <p>Sponsorships lower than $10 a month are also very much appreciated, and useful. They won't grant you access to Insiders, but they will be counted towards reaching sponsorship goals. <em>Every</em> sponsorship helps us implementing new features and releasing them to the public.</p> <p><strong>Important</strong>: If you're sponsoring <strong><a href=https://github.com/sponsors/pawamoy>@pawamoy</a></strong> through a GitHub organization, please send a short email to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a> with the name of your organization and the GitHub account of the individual that should be added as a collaborator.<sup id=fnref:4><a class=footnote-ref href=#fn:4>4</a></sup></p> <p>You can cancel your sponsorship anytime.<sup id=fnref:5><a class=footnote-ref href=#fn:5>5</a></sup></p> <p><a class="md-button md-button--primary" href=https://github.com/sponsors/pawamoy><span class="twemoji pulse"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 0 1-.686 0 16.709 16.709 0 0 1-.465-.252 31.147 31.147 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0 1 14 20.408Z"/></svg></span> Join our <span id=sponsors-count></span> awesome sponsors</a></p> <hr> <div class=premium-sponsors> <div id=gold-sponsors></div> <div id=silver-sponsors></div> <div id=bronze-sponsors></div> </div> <hr> <div id=sponsors></div> <p><small> If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for <em>mkdocstrings-python</em>. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards. </small></p> <h2 id=funding>Funding <span class=sponsors-total></span><a class=headerlink href=#funding title="Permanent link">¤</a></h2> <h3 id=goals>Goals<a class=headerlink href=#goals title="Permanent link">¤</a></h3> <p>The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is <span class=twemoji style="color: #00e676"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg></span> already available or <span class=twemoji style="color: var(--md-default-fg-color--lightest)"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg></span> planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.</p> <p><h4 id=1000-gravifridge-fluid-renewal>$ 1,000 — GraviFridge Fluid Renewal<a class=headerlink href=#1000-gravifridge-fluid-renewal title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/members/#summary>Auto-summary of object members</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic rendering of function signature overloads</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Parameter headings</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Automatic cross-references to parameters</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic cross-references for default parameter values in signatures</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-pydantic/ >griffe-pydantic</a> — <a href=https://mkdocstrings.github.io/griffe-pydantic/ >[Project] Griffe extension for Pydantic</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >griffe-warnings-deprecated</a> — <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >[Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</a></li> </ul> <h4 id=1500-hyperlamp-navigation-tips>$ 1,500 — HyperLamp Navigation Tips<a class=headerlink href=#1500-hyperlamp-navigation-tips title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> </ul> <h4 id=2000-fusiondrive-ejection-configuration>$ 2,000 — FusionDrive Ejection Configuration<a class=headerlink href=#2000-fusiondrive-ejection-configuration title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled><span class=task-list-indicator></span></label> Relative cross-references</li> </ul> </p> <h3 id=goals-completed>Goals completed<a class=headerlink href=#goals-completed title="Permanent link">¤</a></h3> <p>This section lists all funding goals that were previously completed, which means that those features were part of Insiders, but are now generally available and can be used by all users.</p> <p><h4 id=500-plasmavac-user-guide>$ 500 — PlasmaVac User Guide<a class=headerlink href=#500-plasmavac-user-guide title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#signature_crossrefs>Cross-references for type annotations in signatures</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ >griffe-inherited-docstrings</a> — <a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ >[Project] Griffe extension for inheriting docstrings</a></li> </ul> </p> <h2 id=frequently-asked-questions>Frequently asked questions<a class=headerlink href=#frequently-asked-questions title="Permanent link">¤</a></h2> <h3 id=compatibility>Compatibility<a class=headerlink href=#compatibility title="Permanent link">¤</a></h3> <blockquote> <p>We're building an open source project and want to allow outside collaborators to use <em>mkdocstrings-python</em> locally without having access to Insiders. Is this still possible?</p> </blockquote> <p>Yes. Insiders is compatible with <em>mkdocstrings-python</em>. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.</p> <h3 id=payment>Payment<a class=headerlink href=#payment title="Permanent link">¤</a></h3> <blockquote> <p>We don't want to pay for sponsorship every month. Are there any other options?</p> </blockquote> <p>Yes. You can sponsor on a yearly basis by <a href=https://docs.github.com/en/github/setting-up-and-managing-billing-and-payments-on-github/changing-the-duration-of-your-billing-cycle>switching your GitHub account to a yearly billing cycle</a>. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).</p> <p>If you have any problems or further questions, please reach out to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a>.</p> <h3 id=terms>Terms<a class=headerlink href=#terms title="Permanent link">¤</a></h3> <blockquote> <p>Are we allowed to use Insiders under the same terms and conditions as <em>mkdocstrings-python</em>?</p> </blockquote> <p>Yes. Whether you're an individual or a company, you may use <em>mkdocstrings-python Insiders</em> precisely under the same terms as <em>mkdocstrings-python</em>, which are given by the <a href=../license/ >ISC License</a>. However, we kindly ask you to respect our <strong>fair use policy</strong>:</p> <ul> <li> <p>Please <strong>don't distribute the source code</strong> of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.</p> </li> <li> <p>If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may <strong>use the latest version</strong> that's available to you <strong>as long as you like</strong>. Just remember that <a href=https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository>GitHub deletes private forks</a>.</p> </li> </ul> <script src=../js/insiders.js></script> <script>updateInsidersPage('pawamoy');</script> <div class=footnote> <hr> <ol> <li id=fn:1> <p>In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by <em>mkdocstrings-python</em>. <a class=footnote-backref href=#fnref:1 title="Jump back to footnote 1 in the text">↩</a></p> </li> <li id=fn:2> <p>Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability. <a class=footnote-backref href=#fnref:2 title="Jump back to footnote 2 in the text">↩</a></p> </li> <li id=fn:3> <p>Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use <em>mkdocstrings-python</em>, you can be sure that bugs are fixed quickly and new features are added regularly. <a class=footnote-backref href=#fnref:3 title="Jump back to footnote 3 in the text">↩</a></p> </li> <li id=fn:4> <p>It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a>, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations. <a class=footnote-backref href=#fnref:4 title="Jump back to footnote 4 in the text">↩</a></p> </li> <li id=fn:5> <p>If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable. <a class=footnote-backref href=#fnref:5 title="Jump back to footnote 5 in the text">↩</a></p> </li> </ol> </div> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?v=4&size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/ rel=canonical><link href=../code_of_conduct/ rel=prev><link href=installation/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Insiders - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#insiders class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Insiders </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#what-is-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What is Insiders? </span> </span> </a> </li> <li class=md-nav__item> <a href=#what-sponsorships-achieve class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What sponsorships achieve </span> </span> </a> </li> <li class=md-nav__item> <a href=#whats-in-it-for-me class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> What's in it for me? </span> </span> </a> </li> <li class=md-nav__item> <a href=#how-to-become-a-sponsor class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> How to become a sponsor </span> </span> </a> </li> <li class=md-nav__item> <a href=#funding class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Funding <span class=sponsors-total></span> </span> </span> </a> <nav class=md-nav aria-label=Funding> <ul class=md-nav__list> <li class=md-nav__item> <a href=#goals class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Goals </span> </span> </a> <nav class=md-nav aria-label=Goals> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1000-gravifridge-fluid-renewal class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 1,000 — GraviFridge Fluid Renewal </span> </span> </a> </li> <li class=md-nav__item> <a href=#1500-hyperlamp-navigation-tips class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 1,500 — HyperLamp Navigation Tips </span> </span> </a> </li> <li class=md-nav__item> <a href=#2000-fusiondrive-ejection-configuration class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 2,000 — FusionDrive Ejection Configuration </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#goals-completed class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Goals completed </span> </span> </a> <nav class=md-nav aria-label="Goals completed"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#500-plasmavac-user-guide class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> $ 500 — PlasmaVac User Guide </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#frequently-asked-questions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Frequently asked questions </span> </span> </a> <nav class=md-nav aria-label="Frequently asked questions"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#compatibility class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Compatibility </span> </span> </a> </li> <li class=md-nav__item> <a href=#payment class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Payment </span> </span> </a> </li> <li class=md-nav__item> <a href=#terms class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Terms </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=insiders>Insiders<a class=headerlink href=#insiders title="Permanent link">¤</a></h1> <p><em>mkdocstrings-python</em> follows the <strong>sponsorware</strong> release strategy, which means that new features are first exclusively released to sponsors as part of <a href=#what-is-insiders>Insiders</a>. Read on to learn <a href=#what-sponsorships-achieve>what sponsorships achieve</a>, <a href=#how-to-become-a-sponsor>how to become a sponsor</a> to get access to Insiders, and <a href=#whats-in-it-for-me>what's in it for you</a>!</p> <h2 id=what-is-insiders>What is Insiders?<a class=headerlink href=#what-is-insiders title="Permanent link">¤</a></h2> <p><em>mkdocstrings-python Insiders</em> is a private fork of <em>mkdocstrings-python</em>, hosted as a private GitHub repository. Almost<sup id=fnref:1><a class=footnote-ref href=#fn:1>1</a></sup> <a href=#whats-in-it-for-me>all new features</a> are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.</p> <p>Every feature is tied to a <a href=#funding>funding goal</a> in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into <em>mkdocstrings-python</em> and released for general availability, making them available to all users. Bugfixes are always released in tandem.</p> <p>Sponsorships start as low as <a href=#how-to-become-a-sponsor><strong>$10 a month</strong></a>.<sup id=fnref:2><a class=footnote-ref href=#fn:2>2</a></sup></p> <h2 id=what-sponsorships-achieve>What sponsorships achieve<a class=headerlink href=#what-sponsorships-achieve title="Permanent link">¤</a></h2> <p>Sponsorships make this project sustainable, as they buy the maintainers of this project time – a very scarce resource – which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.<sup id=fnref:3><a class=footnote-ref href=#fn:3>3</a></sup></p> <p>If you're unsure if you should sponsor this project, check out the list of <a href=#goals-completed>completed funding goals</a> to learn whether you're already using features that were developed with the help of sponsorships. You're most likely using at least a handful of them, <a href=#how-to-become-a-sponsor>thanks to our awesome sponsors</a>!</p> <h2 id=whats-in-it-for-me>What's in it for me?<a class=headerlink href=#whats-in-it-for-me title="Permanent link">¤</a></h2> <p></p> <!-- blacken-docs:off --> <p>The moment you <a href=#how-to-become-a-sponsor>become a sponsor</a>, you'll get <strong>immediate access to 9 additional features</strong> that you can start using right away, and which are currently exclusively available to sponsors:</p> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Parameter headings</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Automatic cross-references to parameters</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic cross-references for default parameter values in signatures</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic rendering of function signature overloads</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/members/#summary>Auto-summary of object members</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >griffe-warnings-deprecated</a> — <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >[Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-pydantic/ >griffe-pydantic</a> — <a href=https://mkdocstrings.github.io/griffe-pydantic/ >[Project] Griffe extension for Pydantic</a></li> </ul> <p>These are just the features related to this project. <a href=https://pawamoy.github.io/insiders/#whats-in-it-for-me>See the complete feature list on the author's main Insiders page</a>.</p> <!-- blacken-docs:on --> <h2 id=how-to-become-a-sponsor>How to become a sponsor<a class=headerlink href=#how-to-become-a-sponsor title="Permanent link">¤</a></h2> <p>Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit <a href=https://github.com/sponsors/pawamoy>pawamoy's sponsor profile</a>, and complete a sponsorship of <strong>$10 a month or more</strong>. You can use your individual or organization GitHub account for sponsoring.</p> <p>Sponsorships lower than $10 a month are also very much appreciated, and useful. They won't grant you access to Insiders, but they will be counted towards reaching sponsorship goals. <em>Every</em> sponsorship helps us implementing new features and releasing them to the public.</p> <p><strong>Important</strong>: If you're sponsoring <strong><a href=https://github.com/sponsors/pawamoy>@pawamoy</a></strong> through a GitHub organization, please send a short email to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a> with the name of your organization and the GitHub account of the individual that should be added as a collaborator.<sup id=fnref:4><a class=footnote-ref href=#fn:4>4</a></sup></p> <p>You can cancel your sponsorship anytime.<sup id=fnref:5><a class=footnote-ref href=#fn:5>5</a></sup></p> <p><a class="md-button md-button--primary" href=https://github.com/sponsors/pawamoy><span class="twemoji pulse"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14 20.408c-.492.308-.903.546-1.192.709-.153.086-.308.17-.463.252h-.002a.75.75 0 0 1-.686 0 16.709 16.709 0 0 1-.465-.252 31.147 31.147 0 0 1-4.803-3.34C3.8 15.572 1 12.331 1 8.513 1 5.052 3.829 2.5 6.736 2.5 9.03 2.5 10.881 3.726 12 5.605 13.12 3.726 14.97 2.5 17.264 2.5 20.17 2.5 23 5.052 23 8.514c0 3.818-2.801 7.06-5.389 9.262A31.146 31.146 0 0 1 14 20.408Z"/></svg></span> Join our <span id=sponsors-count></span> awesome sponsors</a></p> <hr> <div class=premium-sponsors> <div id=gold-sponsors></div> <div id=silver-sponsors></div> <div id=bronze-sponsors></div> </div> <hr> <div id=sponsors></div> <p><small> If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for <em>mkdocstrings-python</em>. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards. </small></p> <h2 id=funding>Funding <span class=sponsors-total></span><a class=headerlink href=#funding title="Permanent link">¤</a></h2> <h3 id=goals>Goals<a class=headerlink href=#goals title="Permanent link">¤</a></h3> <p>The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is <span class=twemoji style="color: #00e676"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg></span> already available or <span class=twemoji style="color: var(--md-default-fg-color--lightest)"><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M1 12C1 5.925 5.925 1 12 1s11 4.925 11 11-4.925 11-11 11S1 18.075 1 12Zm16.28-2.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018l-5.97 5.97-2.47-2.47a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l3 3a.75.75 0 0 0 1.06 0Z"/></svg></span> planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.</p> <p><h4 id=1000-gravifridge-fluid-renewal>$ 1,000 — GraviFridge Fluid Renewal<a class=headerlink href=#1000-gravifridge-fluid-renewal title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/members/#summary>Auto-summary of object members</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic rendering of function signature overloads</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Parameter headings</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#parameter_headings>Automatic cross-references to parameters</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> Automatic cross-references for default parameter values in signatures</li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-pydantic/ >griffe-pydantic</a> — <a href=https://mkdocstrings.github.io/griffe-pydantic/ >[Project] Griffe extension for Pydantic</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >griffe-warnings-deprecated</a> — <a href=https://mkdocstrings.github.io/griffe-warnings-deprecated/ >[Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</a></li> </ul> <h4 id=1500-hyperlamp-navigation-tips>$ 1,500 — HyperLamp Navigation Tips<a class=headerlink href=#1500-hyperlamp-navigation-tips title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/general/#show_inheritance_diagram>Class inheritance diagrams with Mermaid</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#modernize_annotations>Annotations modernization</a></li> </ul> <h4 id=2000-fusiondrive-ejection-configuration>$ 2,000 — FusionDrive Ejection Configuration<a class=headerlink href=#2000-fusiondrive-ejection-configuration title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled><span class=task-list-indicator></span></label> Relative cross-references</li> </ul> </p> <h3 id=goals-completed>Goals completed<a class=headerlink href=#goals-completed title="Permanent link">¤</a></h3> <p>This section lists all funding goals that were previously completed, which means that those features were part of Insiders, but are now generally available and can be used by all users.</p> <p><h4 id=500-plasmavac-user-guide>$ 500 — PlasmaVac User Guide<a class=headerlink href=#500-plasmavac-user-guide title="Permanent link">¤</a></h4> <ul class=task-list> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/signatures/#signature_crossrefs>Cross-references for type annotations in signatures</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=../usage/configuration/headings/#show_symbol_type_toc>Symbol types in headings and table of contents</a></li> <li class=task-list-item><label class=task-list-control><input type=checkbox disabled checked><span class=task-list-indicator></span></label> <a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ >griffe-inherited-docstrings</a> — <a href=https://mkdocstrings.github.io/griffe-inherited-docstrings/ >[Project] Griffe extension for inheriting docstrings</a></li> </ul> </p> <h2 id=frequently-asked-questions>Frequently asked questions<a class=headerlink href=#frequently-asked-questions title="Permanent link">¤</a></h2> <h3 id=compatibility>Compatibility<a class=headerlink href=#compatibility title="Permanent link">¤</a></h3> <blockquote> <p>We're building an open source project and want to allow outside collaborators to use <em>mkdocstrings-python</em> locally without having access to Insiders. Is this still possible?</p> </blockquote> <p>Yes. Insiders is compatible with <em>mkdocstrings-python</em>. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.</p> <h3 id=payment>Payment<a class=headerlink href=#payment title="Permanent link">¤</a></h3> <blockquote> <p>We don't want to pay for sponsorship every month. Are there any other options?</p> </blockquote> <p>Yes. You can sponsor on a yearly basis by <a href=https://docs.github.com/en/github/setting-up-and-managing-billing-and-payments-on-github/changing-the-duration-of-your-billing-cycle>switching your GitHub account to a yearly billing cycle</a>. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).</p> <p>If you have any problems or further questions, please reach out to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a>.</p> <h3 id=terms>Terms<a class=headerlink href=#terms title="Permanent link">¤</a></h3> <blockquote> <p>Are we allowed to use Insiders under the same terms and conditions as <em>mkdocstrings-python</em>?</p> </blockquote> <p>Yes. Whether you're an individual or a company, you may use <em>mkdocstrings-python Insiders</em> precisely under the same terms as <em>mkdocstrings-python</em>, which are given by the <a href=../license/ >ISC License</a>. However, we kindly ask you to respect our <strong>fair use policy</strong>:</p> <ul> <li> <p>Please <strong>don't distribute the source code</strong> of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.</p> </li> <li> <p>If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may <strong>use the latest version</strong> that's available to you <strong>as long as you like</strong>. Just remember that <a href=https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/removing-a-collaborator-from-a-personal-repository>GitHub deletes private forks</a>.</p> </li> </ul> <script src=../js/insiders.js></script> <script>updateInsidersPage('pawamoy');</script> <div class=footnote> <hr> <ol> <li id=fn:1> <p>In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by <em>mkdocstrings-python</em>. <a class=footnote-backref href=#fnref:1 title="Jump back to footnote 1 in the text">↩</a></p> </li> <li id=fn:2> <p>Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability. <a class=footnote-backref href=#fnref:2 title="Jump back to footnote 2 in the text">↩</a></p> </li> <li id=fn:3> <p>Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use <em>mkdocstrings-python</em>, you can be sure that bugs are fixed quickly and new features are added regularly. <a class=footnote-backref href=#fnref:3 title="Jump back to footnote 3 in the text">↩</a></p> </li> <li id=fn:4> <p>It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to <a href=mailto:insiders@pawamoy.fr>insiders@pawamoy.fr</a>, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations. <a class=footnote-backref href=#fnref:4 title="Jump back to footnote 4 in the text">↩</a></p> </li> <li id=fn:5> <p>If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable. <a class=footnote-backref href=#fnref:5 title="Jump back to footnote 5 in the text">↩</a></p> </li> </ol> </div> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?v=4&size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../code_of_conduct/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Code of Conduct"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Code of Conduct </div> </div> </a> <a href=installation/ class="md-footer__link md-footer__link--next" aria-label="Next: Installation"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Installation </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../code_of_conduct/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Code of Conduct"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Code of Conduct </div> </div> </a> <a href=installation/ class="md-footer__link md-footer__link--next" aria-label="Next: Installation"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Installation </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/insiders/installation/index.html b/insiders/installation/index.html index 040e2919..0b953a86 100644 --- a/insiders/installation/index.html +++ b/insiders/installation/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/installation/ rel=canonical><link href=../ rel=prev><link href=../changelog/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Getting started with Insiders - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#getting-started-with-insiders class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Getting started with Insiders </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2 checked> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=true> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Installation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Installation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#with-pypi-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with PyPI Insiders </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-pip-sshhttps class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with pip (ssh/https) </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-git class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with Git </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#upgrading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Upgrading </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#with-pypi-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with PyPI Insiders </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-pip-sshhttps class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with pip (ssh/https) </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-git class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with Git </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#upgrading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Upgrading </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/installation.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/installation.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=getting-started-with-insiders>Getting started with Insiders<a class=headerlink href=#getting-started-with-insiders title="Permanent link">¤</a></h1> <p><em>mkdocstrings-python Insiders</em> is a compatible drop-in replacement for <em>mkdocstrings-python</em>, and can be installed similarly using <code>pip</code> or <code>git</code>. Note that in order to access the Insiders repository, you need to <a href=../#how-to-become-a-sponsor>become an eligible sponsor</a> of @pawamoy on GitHub.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <h3 id=with-pypi-insiders>with PyPI Insiders<a class=headerlink href=#with-pypi-insiders title="Permanent link">¤</a></h3> <p><a href=https://pawamoy.github.io/pypi-insiders/ >PyPI Insiders</a> is a tool that helps you keep up-to-date versions of Insiders projects in the PyPI index of your choice (self-hosted, Google registry, Artifactory, etc.).</p> <p>See <a href=https://pawamoy.github.io/pypi-insiders/#installation>how to install it</a> and <a href=https://pawamoy.github.io/pypi-insiders/#usage>how to use it</a>.</p> <p><strong>We kindly ask that you do not upload the distributions to public registries, as it is against our <a href=../#terms>Terms of use</a>.</strong></p> <h3 id=with-pip-sshhttps>with pip (ssh/https)<a class=headerlink href=#with-pip-sshhttps title="Permanent link">¤</a></h3> <p><em>mkdocstrings-python Insiders</em> can be installed with <code>pip</code> <a href=https://docs.github.com/en/authentication/connecting-to-github-with-ssh>using SSH</a>:</p> <div class="language-bash highlight"><pre><span></span><code>pip<span class=w> </span>install<span class=w> </span>git+ssh://git@github.com/pawamoy-insiders/mkdocstrings-python.git +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/insiders/installation/ rel=canonical><link href=../ rel=prev><link href=../changelog/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Getting started with Insiders - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#getting-started-with-insiders class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Getting started with Insiders </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2 checked> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=true> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Installation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Installation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#with-pypi-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with PyPI Insiders </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-pip-sshhttps class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with pip (ssh/https) </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-git class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with Git </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#upgrading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Upgrading </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> <nav class=md-nav aria-label=Installation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#with-pypi-insiders class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with PyPI Insiders </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-pip-sshhttps class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with pip (ssh/https) </span> </span> </a> </li> <li class=md-nav__item> <a href=#with-git class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> with Git </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#upgrading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Upgrading </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/insiders/installation.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/insiders/installation.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=getting-started-with-insiders>Getting started with Insiders<a class=headerlink href=#getting-started-with-insiders title="Permanent link">¤</a></h1> <p><em>mkdocstrings-python Insiders</em> is a compatible drop-in replacement for <em>mkdocstrings-python</em>, and can be installed similarly using <code>pip</code> or <code>git</code>. Note that in order to access the Insiders repository, you need to <a href=../#how-to-become-a-sponsor>become an eligible sponsor</a> of @pawamoy on GitHub.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <h3 id=with-pypi-insiders>with PyPI Insiders<a class=headerlink href=#with-pypi-insiders title="Permanent link">¤</a></h3> <p><a href=https://pawamoy.github.io/pypi-insiders/ >PyPI Insiders</a> is a tool that helps you keep up-to-date versions of Insiders projects in the PyPI index of your choice (self-hosted, Google registry, Artifactory, etc.).</p> <p>See <a href=https://pawamoy.github.io/pypi-insiders/#installation>how to install it</a> and <a href=https://pawamoy.github.io/pypi-insiders/#usage>how to use it</a>.</p> <p><strong>We kindly ask that you do not upload the distributions to public registries, as it is against our <a href=../#terms>Terms of use</a>.</strong></p> <h3 id=with-pip-sshhttps>with pip (ssh/https)<a class=headerlink href=#with-pip-sshhttps title="Permanent link">¤</a></h3> <p><em>mkdocstrings-python Insiders</em> can be installed with <code>pip</code> <a href=https://docs.github.com/en/authentication/connecting-to-github-with-ssh>using SSH</a>:</p> <div class="language-bash highlight"><pre><span></span><code>pip<span class=w> </span>install<span class=w> </span>git+ssh://git@github.com/pawamoy-insiders/mkdocstrings-python.git </code></pre></div> <p>Or using HTTPS:</p> <div class="language-bash highlight"><pre><span></span><code>pip<span class=w> </span>install<span class=w> </span>git+https://<span class=si>${</span><span class=nv>GH_TOKEN</span><span class=si>}</span>@github.com/pawamoy-insiders/mkdocstrings-python.git </code></pre></div> <details class=note> <summary>How to get a GitHub personal access token</summary> <p>The <code>GH_TOKEN</code> environment variable is a GitHub token. It can be obtained by creating a <a href=https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token>personal access token</a> for your GitHub account. It will give you access to the Insiders repository, programmatically, from the command line or GitHub Actions workflows:</p> <ol> <li>Go to <a href=https://github.com/settings/tokens>https://github.com/settings/tokens</a></li> <li>Click on <a href=https://github.com/settings/tokens/new>Generate a new token</a></li> <li>Enter a name and select the <a href=https://docs.github.com/en/developers/apps/scopes-for-oauth-apps#available-scopes><code>repo</code></a> scope</li> <li>Generate the token and store it in a safe place</li> </ol> <p>Note that the personal access token must be kept secret at all times, as it allows the owner to access your private repositories.</p> </details> <h3 id=with-git>with Git<a class=headerlink href=#with-git title="Permanent link">¤</a></h3> <p>Of course, you can use <em>mkdocstrings-python Insiders</em> directly using Git:</p> <div class="language-text highlight"><pre><span></span><code>git clone git@github.com:pawamoy-insiders/mkdocstrings-python </code></pre></div> <p>When cloning with Git, the package must be installed:</p> <div class="language-text highlight"><pre><span></span><code>pip install -e mkdocstrings-python @@ -36,4 +36,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../ class="md-footer__link md-footer__link--prev" aria-label="Previous: Insiders"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Insiders </div> </div> </a> <a href=../changelog/ class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Changelog </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../ class="md-footer__link md-footer__link--prev" aria-label="Previous: Insiders"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Insiders </div> </div> </a> <a href=../changelog/ class="md-footer__link md-footer__link--next" aria-label="Next: Changelog"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Changelog </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/license/index.html b/license/index.html index 54ef3960..afdebce4 100644 --- a/license/index.html +++ b/license/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/license/ rel=canonical><link href=../credits/ rel=prev><link href=../usage/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>License - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#license class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> License </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/license.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/license.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=license>License<a class=headerlink href=#license title="Permanent link">¤</a></h1> <div class="language-text highlight"><pre><span></span><code>ISC License +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/license/ rel=canonical><link href=../credits/ rel=prev><link href=../usage/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>License - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#license class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> License </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1 checked> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=true> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/license.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/license.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=license>License<a class=headerlink href=#license title="Permanent link">¤</a></h1> <div class="language-text highlight"><pre><span></span><code>ISC License Copyright (c) 2021, Timothée Mazzucotelli @@ -47,4 +47,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../credits/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Credits"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Credits </div> </div> </a> <a href=../usage/ class="md-footer__link md-footer__link--next" aria-label="Next: Usage"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Usage </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../credits/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Credits"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Credits </div> </div> </a> <a href=../usage/ class="md-footer__link md-footer__link--next" aria-label="Next: Usage"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Usage </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/reference/SUMMARY/index.html b/reference/SUMMARY/index.html index d72f9e61..84d0a864 100644 --- a/reference/SUMMARY/index.html +++ b/reference/SUMMARY/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/SUMMARY/ rel=canonical><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>SUMMARY - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> SUMMARY </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>SUMMARY</h1> <ul> <li><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers<ul> <li><a href=../mkdocstrings_handlers/python/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python</a><ul> <li><a href=../mkdocstrings_handlers/python/debug/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug</a></li> <li><a href=../mkdocstrings_handlers/python/handler/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler</a></li> <li><a href=../mkdocstrings_handlers/python/rendering/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering</a></li> </ul> </li> </ul> </li> </ul> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/SUMMARY/ rel=canonical><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>SUMMARY - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> SUMMARY </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../usage/ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>SUMMARY</h1> <ul> <li><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers<ul> <li><a href=../mkdocstrings_handlers/python/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python</a><ul> <li><a href=../mkdocstrings_handlers/python/debug/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug</a></li> <li><a href=../mkdocstrings_handlers/python/handler/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler</a></li> <li><a href=../mkdocstrings_handlers/python/rendering/ ><code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering</a></li> </ul> </li> </ul> </li> </ul> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/reference/mkdocstrings_handlers/python/debug/index.html b/reference/mkdocstrings_handlers/python/debug/index.html index 5adcb4f0..617c516f 100644 --- a/reference/mkdocstrings_handlers/python/debug/index.html +++ b/reference/mkdocstrings_handlers/python/debug/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/debug/ rel=canonical><link href=../ rel=prev><link href=../handler/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>mkdocstrings_handlers.python.debug - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.debug class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.debug </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Environment </span> </a> <nav class=md-nav aria-label= Environment> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_version </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.packages class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> packages </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.platform class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> platform </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.variables class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> variables </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Package </span> </a> <nav class=md-nav aria-label= Package> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> version </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Variable </span> </a> <nav class=md-nav aria-label= Variable> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.value class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> value </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_debug_info </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_version </span> </a> <nav class=md-nav aria-label= get_version> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version(dist) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> dist </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.print_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> print_debug_info </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Environment </span> </a> <nav class=md-nav aria-label= Environment> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_version </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.packages class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> packages </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.platform class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> platform </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.variables class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> variables </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Package </span> </a> <nav class=md-nav aria-label= Package> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> version </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Variable </span> </a> <nav class=md-nav aria-label= Variable> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.value class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> value </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_debug_info </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_version </span> </a> <nav class=md-nav aria-label= get_version> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version(dist) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> dist </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.print_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> print_debug_info </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/debug.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/debug.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.debug class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">debug</span> <a href=#mkdocstrings_handlers.python.debug class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>Debugging utilities.</p> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Environment href=#mkdocstrings_handlers.python.debug.Environment>Environment</a></code></b> – <div class=doc-md-description> <p>Dataclass to store environment information.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Package href=#mkdocstrings_handlers.python.debug.Package>Package</a></code></b> – <div class=doc-md-description> <p>Dataclass describing a Python package.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Variable href=#mkdocstrings_handlers.python.debug.Variable>Variable</a></code></b> – <div class=doc-md-description> <p>Dataclass describing an environment variable.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.get_debug_info href=#mkdocstrings_handlers.python.debug.get_debug_info>get_debug_info</a></code></b> – <div class=doc-md-description> <p>Get debug/environment information.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.get_version href=#mkdocstrings_handlers.python.debug.get_version>get_version</a></code></b> – <div class=doc-md-description> <p>Get version of the given distribution.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.print_debug_info href=#mkdocstrings_handlers.python.debug.print_debug_info>print_debug_info</a></code></b> – <div class=doc-md-description> <p>Print debug/environment information.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.debug.Environment class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Environment</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-dataclass"><code>dataclass</code></small> </span> <a href=#mkdocstrings_handlers.python.debug.Environment class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>Environment</span><span class=p>(</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/debug/ rel=canonical><link href=../ rel=prev><link href=../handler/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>mkdocstrings_handlers.python.debug - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.debug class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.debug </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Environment </span> </a> <nav class=md-nav aria-label= Environment> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_version </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.packages class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> packages </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.platform class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> platform </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.variables class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> variables </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Package </span> </a> <nav class=md-nav aria-label= Package> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> version </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Variable </span> </a> <nav class=md-nav aria-label= Variable> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.value class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> value </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_debug_info </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_version </span> </a> <nav class=md-nav aria-label= get_version> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version(dist) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> dist </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.print_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> print_debug_info </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Environment </span> </a> <nav class=md-nav aria-label= Environment> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.interpreter_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> interpreter_version </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.packages class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> packages </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.platform class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> platform </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Environment.variables class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> variables </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Package </span> </a> <nav class=md-nav aria-label= Package> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Package.version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> version </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Variable </span> </a> <nav class=md-nav aria-label= Variable> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.Variable.value class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> value </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_debug_info </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_version </span> </a> <nav class=md-nav aria-label= get_version> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.get_version(dist) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> dist </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.debug.print_debug_info class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> print_debug_info </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/debug.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/debug.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.debug class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">debug</span> <a href=#mkdocstrings_handlers.python.debug class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>Debugging utilities.</p> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Environment href=#mkdocstrings_handlers.python.debug.Environment>Environment</a></code></b> – <div class=doc-md-description> <p>Dataclass to store environment information.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Package href=#mkdocstrings_handlers.python.debug.Package>Package</a></code></b> – <div class=doc-md-description> <p>Dataclass describing a Python package.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.Variable href=#mkdocstrings_handlers.python.debug.Variable>Variable</a></code></b> – <div class=doc-md-description> <p>Dataclass describing an environment variable.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.get_debug_info href=#mkdocstrings_handlers.python.debug.get_debug_info>get_debug_info</a></code></b> – <div class=doc-md-description> <p>Get debug/environment information.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.get_version href=#mkdocstrings_handlers.python.debug.get_version>get_version</a></code></b> – <div class=doc-md-description> <p>Get version of the given distribution.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug.print_debug_info href=#mkdocstrings_handlers.python.debug.print_debug_info>print_debug_info</a></code></b> – <div class=doc-md-description> <p>Print debug/environment information.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.debug.Environment class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Environment</span> <span class="doc doc-labels"> <small class="doc doc-label doc-label-dataclass"><code>dataclass</code></small> </span> <a href=#mkdocstrings_handlers.python.debug.Environment class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>Environment</span><span class=p>(</span> <span class=n>interpreter_name</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n>interpreter_version</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n>interpreter_path</span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span><span class=p>,</span> @@ -55,4 +55,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../ class="md-footer__link md-footer__link--prev" aria-label="Previous: mkdocstrings_handlers.python"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> mkdocstrings_handlers.python </div> </div> </a> <a href=../handler/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../ class="md-footer__link md-footer__link--prev" aria-label="Previous: mkdocstrings_handlers.python"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> mkdocstrings_handlers.python </div> </div> </a> <a href=../handler/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/reference/mkdocstrings_handlers/python/handler/index.html b/reference/mkdocstrings_handlers/python/handler/index.html index 303defb8..dae578b0 100644 --- a/reference/mkdocstrings_handlers/python/handler/index.html +++ b/reference/mkdocstrings_handlers/python/handler/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/handler/ rel=canonical><link href=../debug/ rel=prev><link href=../rendering/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>mkdocstrings_handlers.python.handler - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.handler class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.handler </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PythonHandler </span> </a> <nav class=md-nav aria-label= PythonHandler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(*args) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> *args </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.default_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> default_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.domain class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> domain </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> enable_inventory </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.extra_css class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> extra_css </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_convert_markdown </span> </a> <nav class=md-nav aria-label= do_convert_markdown> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> html_id </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> strip_paragraph </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_heading </span> </a> <nav class=md-nav aria-label= do_heading> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> content </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> role </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> hidden </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> toc_label </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **attributes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_extended_templates_dirs </span> </a> <nav class=md-nav aria-label= get_extended_templates_dirs> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_headings class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_headings </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_templates_dir </span> </a> <nav class=md-nav aria-label= get_templates_dir> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> load_inventory </span> </a> <nav class=md-nav aria-label= load_inventory> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> in_file </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> base_url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> domains </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> normalize_extension_paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.teardown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> teardown </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> update_env </span> </a> <nav class=md-nav aria-label= update_env> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> md </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PythonHandler </span> </a> <nav class=md-nav aria-label= PythonHandler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(*args) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> *args </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.default_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> default_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.domain class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> domain </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> enable_inventory </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.extra_css class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> extra_css </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_convert_markdown </span> </a> <nav class=md-nav aria-label= do_convert_markdown> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> html_id </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> strip_paragraph </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_heading </span> </a> <nav class=md-nav aria-label= do_heading> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> content </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> role </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> hidden </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> toc_label </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **attributes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_extended_templates_dirs </span> </a> <nav class=md-nav aria-label= get_extended_templates_dirs> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_headings class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_headings </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_templates_dir </span> </a> <nav class=md-nav aria-label= get_templates_dir> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> load_inventory </span> </a> <nav class=md-nav aria-label= load_inventory> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> in_file </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> base_url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> domains </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> normalize_extension_paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.teardown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> teardown </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> update_env </span> </a> <nav class=md-nav aria-label= update_env> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> md </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/handler.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/handler.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.handler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">handler</span> <a href=#mkdocstrings_handlers.python.handler class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>This module implements a handler for the Python language.</p> <p><span class=doc-section-title>Modules:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.rendering href=../rendering/#mkdocstrings_handlers.python.rendering>rendering</a></code></b> – <div class=doc-md-description> <p>This module implements rendering utilities.</p> </div> </li> </ul> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.PythonHandler href=#mkdocstrings_handlers.python.handler.PythonHandler>PythonHandler</a></code></b> – <div class=doc-md-description> <p>The Python handler class.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.get_handler href=#mkdocstrings_handlers.python.handler.get_handler>get_handler</a></code></b> – <div class=doc-md-description> <p>Simply return an instance of <code>PythonHandler</code>.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.handler.PythonHandler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">PythonHandler</span> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>PythonHandler</span><span class=p>(</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/handler/ rel=canonical><link href=../debug/ rel=prev><link href=../rendering/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>mkdocstrings_handlers.python.handler - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.handler class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.handler </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PythonHandler </span> </a> <nav class=md-nav aria-label= PythonHandler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(*args) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> *args </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.default_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> default_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.domain class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> domain </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> enable_inventory </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.extra_css class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> extra_css </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_convert_markdown </span> </a> <nav class=md-nav aria-label= do_convert_markdown> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> html_id </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> strip_paragraph </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_heading </span> </a> <nav class=md-nav aria-label= do_heading> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> content </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> role </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> hidden </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> toc_label </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **attributes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_extended_templates_dirs </span> </a> <nav class=md-nav aria-label= get_extended_templates_dirs> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_headings class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_headings </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_templates_dir </span> </a> <nav class=md-nav aria-label= get_templates_dir> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> load_inventory </span> </a> <nav class=md-nav aria-label= load_inventory> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> in_file </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> base_url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> domains </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> normalize_extension_paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.teardown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> teardown </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> update_env </span> </a> <nav class=md-nav aria-label= update_env> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> md </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> PythonHandler </span> </a> <nav class=md-nav aria-label= PythonHandler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(*args) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> *args </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.default_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> default_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.domain class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> domain </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> enable_inventory </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.extra_css class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> extra_css </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_config </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> fallback_theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.name class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> name </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_convert_markdown </span> </a> <nav class=md-nav aria-label= do_convert_markdown> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> html_id </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> strip_paragraph </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> do_heading </span> </a> <nav class=md-nav aria-label= do_heading> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> content </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> heading_level </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> role </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> hidden </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> toc_label </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **attributes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_extended_templates_dirs </span> </a> <nav class=md-nav aria-label= get_extended_templates_dirs> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_headings class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_headings </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> get_templates_dir </span> </a> <nav class=md-nav aria-label= get_templates_dir> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> load_inventory </span> </a> <nav class=md-nav aria-label= load_inventory> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> in_file </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> base_url </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> domains </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **kwargs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> normalize_extension_paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.teardown class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> teardown </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-method"></code> update_env </span> </a> <nav class=md-nav aria-label= update_env> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> md </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.handler.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/handler.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/handler.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.handler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">handler</span> <a href=#mkdocstrings_handlers.python.handler class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>This module implements a handler for the Python language.</p> <p><span class=doc-section-title>Modules:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.rendering href=../rendering/#mkdocstrings_handlers.python.rendering>rendering</a></code></b> – <div class=doc-md-description> <p>This module implements rendering utilities.</p> </div> </li> </ul> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.PythonHandler href=#mkdocstrings_handlers.python.handler.PythonHandler>PythonHandler</a></code></b> – <div class=doc-md-description> <p>The Python handler class.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler.get_handler href=#mkdocstrings_handlers.python.handler.get_handler>get_handler</a></code></b> – <div class=doc-md-description> <p>Simply return an instance of <code>PythonHandler</code>.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.handler.PythonHandler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">PythonHandler</span> <a href=#mkdocstrings_handlers.python.handler.PythonHandler class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>PythonHandler</span><span class=p>(</span> <span class=n><a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.handler.PythonHandler(*args)>*args</a></span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" title=typing.Any href=https://docs.python.org/3/library/typing.html#typing.Any>Any</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path)>config_file_path</a></span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.handler.PythonHandler(paths)>paths</a></span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#list>list</a></span><span class=p>[</span><span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span><span class=p>]</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> @@ -154,4 +154,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../debug/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </div> </div> </a> <a href=../rendering/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../debug/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </div> </div> </a> <a href=../rendering/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/reference/mkdocstrings_handlers/python/index.html b/reference/mkdocstrings_handlers/python/index.html index 66caf75a..18ce15a9 100644 --- a/reference/mkdocstrings_handlers/python/index.html +++ b/reference/mkdocstrings_handlers/python/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/ rel=canonical><link href=../../../usage/extensions/ rel=prev><link href=debug/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>mkdocstrings_handlers.python - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/__init__.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/__init__.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">python</span> <a href=#mkdocstrings_handlers.python class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>Python handler for mkdocstrings.</p> <p><span class=doc-section-title>Modules:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug href=debug/#mkdocstrings_handlers.python.debug>debug</a></code></b> – <div class=doc-md-description> <p>Debugging utilities.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler href=handler/#mkdocstrings_handlers.python.handler>handler</a></code></b> – <div class=doc-md-description> <p>This module implements a handler for the Python language.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering href=rendering/#mkdocstrings_handlers.python.rendering>rendering</a></code></b> – <div class=doc-md-description> <p>This module implements rendering utilities.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.get_handler href=#mkdocstrings_handlers.python.get_handler>get_handler</a></code></b> – <div class=doc-md-description> <p>Simply return an instance of <code>PythonHandler</code>.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-function"> <h2 id=mkdocstrings_handlers.python.get_handler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_handler</span> <a href=#mkdocstrings_handlers.python.get_handler class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>get_handler</span><span class=p>(</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/ rel=canonical><link href=../../../usage/extensions/ rel=prev><link href=debug/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>mkdocstrings_handlers.python - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> get_handler </span> </a> <nav class=md-nav aria-label= get_handler> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(theme) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> theme </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(custom_templates) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> custom_templates </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(config_file_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> config_file_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(paths) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> paths </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(locale) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> locale </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(load_external_modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> load_external_modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.get_handler(**config) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> **config </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/__init__.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/__init__.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">python</span> <a href=#mkdocstrings_handlers.python class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>Python handler for mkdocstrings.</p> <p><span class=doc-section-title>Modules:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.debug href=debug/#mkdocstrings_handlers.python.debug>debug</a></code></b> – <div class=doc-md-description> <p>Debugging utilities.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.handler href=handler/#mkdocstrings_handlers.python.handler>handler</a></code></b> – <div class=doc-md-description> <p>This module implements a handler for the Python language.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering href=rendering/#mkdocstrings_handlers.python.rendering>rendering</a></code></b> – <div class=doc-md-description> <p>This module implements rendering utilities.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.get_handler href=#mkdocstrings_handlers.python.get_handler>get_handler</a></code></b> – <div class=doc-md-description> <p>Simply return an instance of <code>PythonHandler</code>.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-function"> <h2 id=mkdocstrings_handlers.python.get_handler class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-function"></code> <span class="doc doc-object-name doc-function-name">get_handler</span> <a href=#mkdocstrings_handlers.python.get_handler class=headerlink title="Permanent link">¤</a></h2> <div class="language-python doc-signature highlight"><pre><span></span><code><span class=nf>get_handler</span><span class=p>(</span> <span class=o>*</span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.get_handler(theme)>theme</a></span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span><span class=p>,</span> <span class=n><a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.get_handler(custom_templates)>custom_templates</a></span><span class=p>:</span> <span class=n><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a></span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span> @@ -42,4 +42,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../../usage/extensions/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Extensions"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Extensions </div> </div> </a> <a href=debug/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../../usage/extensions/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Extensions"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Extensions </div> </div> </a> <a href=debug/ class="md-footer__link md-footer__link--next" aria-label='Next: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug'> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/reference/mkdocstrings_handlers/python/rendering/index.html b/reference/mkdocstrings_handlers/python/rendering/index.html index f89f5b99..1bb3a7b9 100644 --- a/reference/mkdocstrings_handlers/python/rendering/index.html +++ b/reference/mkdocstrings_handlers/python/rendering/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/rendering/ rel=canonical><link href=../handler/ rel=prev><link href=../../../../contributing/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>mkdocstrings_handlers.python.rendering - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.rendering class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.rendering </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Order </span> </a> <nav class=md-nav aria-label= Order> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.alphabetical class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> alphabetical </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.source class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> source </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_attributes_section </span> </a> <nav class=md-nav aria-label= do_as_attributes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attributes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_classes_section </span> </a> <nav class=md-nav aria-label= do_as_classes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> classes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_functions_section </span> </a> <nav class=md-nav aria-label= do_as_functions_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> functions </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_modules_section </span> </a> <nav class=md-nav aria-label= do_as_modules_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_crossref </span> </a> <nav class=md-nav aria-label= do_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(brief) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> brief </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_filter_objects </span> </a> <nav class=md-nav aria-label= do_filter_objects> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> objects_dictionary </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(filters) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> filters </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> inherited_members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> keep_no_docstrings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_attribute </span> </a> <nav class=md-nav aria-label= do_format_attribute> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_code </span> </a> <nav class=md-nav aria-label= do_format_code> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_signature </span> </a> <nav class=md-nav aria-label= do_format_signature> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> callable_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(function) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> function </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(annotations) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> annotations </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_get_template </span> </a> <nav class=md-nav aria-label= do_get_template> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(env) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> env </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(obj) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> obj </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_multi_crossref </span> </a> <nav class=md-nav aria-label= do_multi_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_order_members </span> </a> <nav class=md-nav aria-label= do_order_members> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(order) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> order </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_split_path </span> </a> <nav class=md-nav aria-label= do_split_path> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Order </span> </a> <nav class=md-nav aria-label= Order> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.alphabetical class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> alphabetical </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.source class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> source </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_attributes_section </span> </a> <nav class=md-nav aria-label= do_as_attributes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attributes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_classes_section </span> </a> <nav class=md-nav aria-label= do_as_classes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> classes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_functions_section </span> </a> <nav class=md-nav aria-label= do_as_functions_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> functions </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_modules_section </span> </a> <nav class=md-nav aria-label= do_as_modules_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_crossref </span> </a> <nav class=md-nav aria-label= do_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(brief) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> brief </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_filter_objects </span> </a> <nav class=md-nav aria-label= do_filter_objects> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> objects_dictionary </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(filters) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> filters </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> inherited_members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> keep_no_docstrings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_attribute </span> </a> <nav class=md-nav aria-label= do_format_attribute> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_code </span> </a> <nav class=md-nav aria-label= do_format_code> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_signature </span> </a> <nav class=md-nav aria-label= do_format_signature> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> callable_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(function) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> function </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(annotations) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> annotations </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_get_template </span> </a> <nav class=md-nav aria-label= do_get_template> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(env) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> env </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(obj) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> obj </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_multi_crossref </span> </a> <nav class=md-nav aria-label= do_multi_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_order_members </span> </a> <nav class=md-nav aria-label= do_order_members> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(order) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> order </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_split_path </span> </a> <nav class=md-nav aria-label= do_split_path> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/rendering.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/rendering.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.rendering class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">rendering</span> <a href=#mkdocstrings_handlers.python.rendering class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>This module implements rendering utilities.</p> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.Order href=#mkdocstrings_handlers.python.rendering.Order>Order</a></code></b> – <div class=doc-md-description> <p>Enumeration for the possible members ordering.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_attributes_section href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section>do_as_attributes_section</a></code></b> – <div class=doc-md-description> <p>Build an attributes section from a list of attributes.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_classes_section href=#mkdocstrings_handlers.python.rendering.do_as_classes_section>do_as_classes_section</a></code></b> – <div class=doc-md-description> <p>Build a classes section from a list of classes.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_functions_section href=#mkdocstrings_handlers.python.rendering.do_as_functions_section>do_as_functions_section</a></code></b> – <div class=doc-md-description> <p>Build a functions section from a list of functions.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_modules_section href=#mkdocstrings_handlers.python.rendering.do_as_modules_section>do_as_modules_section</a></code></b> – <div class=doc-md-description> <p>Build a modules section from a list of modules.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_crossref href=#mkdocstrings_handlers.python.rendering.do_crossref>do_crossref</a></code></b> – <div class=doc-md-description> <p>Deprecated. Filter to create cross-references.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_filter_objects href=#mkdocstrings_handlers.python.rendering.do_filter_objects>do_filter_objects</a></code></b> – <div class=doc-md-description> <p>Filter a dictionary of objects based on their docstrings.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_attribute href=#mkdocstrings_handlers.python.rendering.do_format_attribute>do_format_attribute</a></code></b> – <div class=doc-md-description> <p>Format an attribute using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_code href=#mkdocstrings_handlers.python.rendering.do_format_code>do_format_code</a></code></b> – <div class=doc-md-description> <p>Format code using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_signature href=#mkdocstrings_handlers.python.rendering.do_format_signature>do_format_signature</a></code></b> – <div class=doc-md-description> <p>Format a signature using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_get_template href=#mkdocstrings_handlers.python.rendering.do_get_template>do_get_template</a></code></b> – <div class=doc-md-description> <p>Get the template name used to render an object.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_multi_crossref href=#mkdocstrings_handlers.python.rendering.do_multi_crossref>do_multi_crossref</a></code></b> – <div class=doc-md-description> <p>Deprecated. Filter to create cross-references.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_order_members href=#mkdocstrings_handlers.python.rendering.do_order_members>do_order_members</a></code></b> – <div class=doc-md-description> <p>Order members given an ordering method.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_split_path href=#mkdocstrings_handlers.python.rendering.do_split_path>do_split_path</a></code></b> – <div class=doc-md-description> <p>Split object paths for building cross-references.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.rendering.Order class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Order</span> <a href=#mkdocstrings_handlers.python.rendering.Order class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents "> <div style="display: none"> <a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.rendering.Order id=mermaid-link-mkdocstrings_handlers.python.rendering.Order></a> </div> <pre class=mermaid><code id=mermaid-diagram-mkdocstrings_handlers.python.rendering.Order> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/rendering/ rel=canonical><link href=../handler/ rel=prev><link href=../../../../contributing/ rel=next><link rel=icon href=../../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>mkdocstrings_handlers.python.rendering - mkdocstrings-python</title><link rel=stylesheet href=../../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../../css/material.css><link rel=stylesheet href=../../../../css/mkdocstrings.css><link rel=stylesheet href=../../../../css/insiders.css><script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mkdocstrings_handlers.python.rendering class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> mkdocstrings_handlers.python.rendering </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../../../usage/ class=md-tabs__link> Usage </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2> <div class="md-nav__link md-nav__container"> <a href=../../../../usage/ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex=0> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex=0> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex=0> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../usage/customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../../../usage/extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1 checked> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1 checked> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=true> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Order </span> </a> <nav class=md-nav aria-label= Order> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.alphabetical class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> alphabetical </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.source class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> source </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_attributes_section </span> </a> <nav class=md-nav aria-label= do_as_attributes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attributes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_classes_section </span> </a> <nav class=md-nav aria-label= do_as_classes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> classes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_functions_section </span> </a> <nav class=md-nav aria-label= do_as_functions_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> functions </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_modules_section </span> </a> <nav class=md-nav aria-label= do_as_modules_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_crossref </span> </a> <nav class=md-nav aria-label= do_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(brief) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> brief </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_filter_objects </span> </a> <nav class=md-nav aria-label= do_filter_objects> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> objects_dictionary </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(filters) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> filters </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> inherited_members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> keep_no_docstrings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_attribute </span> </a> <nav class=md-nav aria-label= do_format_attribute> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_code </span> </a> <nav class=md-nav aria-label= do_format_code> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_signature </span> </a> <nav class=md-nav aria-label= do_format_signature> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> callable_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(function) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> function </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(annotations) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> annotations </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_get_template </span> </a> <nav class=md-nav aria-label= do_get_template> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(env) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> env </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(obj) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> obj </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_multi_crossref </span> </a> <nav class=md-nav aria-label= do_multi_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_order_members </span> </a> <nav class=md-nav aria-label= do_order_members> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(order) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> order </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_split_path </span> </a> <nav class=md-nav aria-label= do_split_path> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-class"></code> Order </span> </a> <nav class=md-nav aria-label= Order> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.alphabetical class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> alphabetical </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.Order.source class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-attribute"></code> source </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_attributes_section </span> </a> <nav class=md-nav aria-label= do_as_attributes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attributes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_classes_section </span> </a> <nav class=md-nav aria-label= do_as_classes_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> classes </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_functions_section </span> </a> <nav class=md-nav aria-label= do_as_functions_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> functions </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_as_modules_section </span> </a> <nav class=md-nav aria-label= do_as_modules_section> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> modules </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> check_public </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_crossref </span> </a> <nav class=md-nav aria-label= do_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_crossref(brief) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> brief </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_filter_objects </span> </a> <nav class=md-nav aria-label= do_filter_objects> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> objects_dictionary </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(filters) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> filters </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> inherited_members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> keep_no_docstrings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_attribute </span> </a> <nav class=md-nav aria-label= do_format_attribute> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> attribute </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_code </span> </a> <nav class=md-nav aria-label= do_format_code> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_code(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_format_signature </span> </a> <nav class=md-nav aria-label= do_format_signature> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(context) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> context </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> callable_path </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(function) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> function </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(line_length) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> line_length </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(annotations) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> annotations </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> crossrefs </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_get_template </span> </a> <nav class=md-nav aria-label= do_get_template> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(env) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> env </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_get_template(obj) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> obj </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_multi_crossref </span> </a> <nav class=md-nav aria-label= do_multi_crossref> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(text) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> text </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_multi_crossref(code) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> code </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_order_members </span> </a> <nav class=md-nav aria-label= do_order_members> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(order) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> order </span> </a> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_order_members(members_list) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> members_list </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-function"></code> do_split_path </span> </a> <nav class=md-nav aria-label= do_split_path> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mkdocstrings_handlers.python.rendering.do_split_path(path) class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-toc doc-symbol-parameter"></code> path </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/src/mkdocstrings_handlers/python/rendering.py title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/src/mkdocstrings_handlers/python/rendering.py title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <div class="doc doc-object doc-module"> <h1 id=mkdocstrings_handlers.python.rendering class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-module"></code> <span class="doc doc-object-name doc-module-name">rendering</span> <a href=#mkdocstrings_handlers.python.rendering class=headerlink title="Permanent link">¤</a></h1> <div class="doc doc-contents first"> <p>This module implements rendering utilities.</p> <p><span class=doc-section-title>Classes:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.Order href=#mkdocstrings_handlers.python.rendering.Order>Order</a></code></b> – <div class=doc-md-description> <p>Enumeration for the possible members ordering.</p> </div> </li> </ul> <p><span class=doc-section-title>Functions:</span></p> <ul> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_attributes_section href=#mkdocstrings_handlers.python.rendering.do_as_attributes_section>do_as_attributes_section</a></code></b> – <div class=doc-md-description> <p>Build an attributes section from a list of attributes.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_classes_section href=#mkdocstrings_handlers.python.rendering.do_as_classes_section>do_as_classes_section</a></code></b> – <div class=doc-md-description> <p>Build a classes section from a list of classes.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_functions_section href=#mkdocstrings_handlers.python.rendering.do_as_functions_section>do_as_functions_section</a></code></b> – <div class=doc-md-description> <p>Build a functions section from a list of functions.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_as_modules_section href=#mkdocstrings_handlers.python.rendering.do_as_modules_section>do_as_modules_section</a></code></b> – <div class=doc-md-description> <p>Build a modules section from a list of modules.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_crossref href=#mkdocstrings_handlers.python.rendering.do_crossref>do_crossref</a></code></b> – <div class=doc-md-description> <p>Deprecated. Filter to create cross-references.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_filter_objects href=#mkdocstrings_handlers.python.rendering.do_filter_objects>do_filter_objects</a></code></b> – <div class=doc-md-description> <p>Filter a dictionary of objects based on their docstrings.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_attribute href=#mkdocstrings_handlers.python.rendering.do_format_attribute>do_format_attribute</a></code></b> – <div class=doc-md-description> <p>Format an attribute using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_code href=#mkdocstrings_handlers.python.rendering.do_format_code>do_format_code</a></code></b> – <div class=doc-md-description> <p>Format code using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_format_signature href=#mkdocstrings_handlers.python.rendering.do_format_signature>do_format_signature</a></code></b> – <div class=doc-md-description> <p>Format a signature using Black.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_get_template href=#mkdocstrings_handlers.python.rendering.do_get_template>do_get_template</a></code></b> – <div class=doc-md-description> <p>Get the template name used to render an object.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_multi_crossref href=#mkdocstrings_handlers.python.rendering.do_multi_crossref>do_multi_crossref</a></code></b> – <div class=doc-md-description> <p>Deprecated. Filter to create cross-references.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_order_members href=#mkdocstrings_handlers.python.rendering.do_order_members>do_order_members</a></code></b> – <div class=doc-md-description> <p>Order members given an ordering method.</p> </div> </li> <li class="doc-section-item field-body"> <b><code><a class="autorefs autorefs-internal" title=mkdocstrings_handlers.python.rendering.do_split_path href=#mkdocstrings_handlers.python.rendering.do_split_path>do_split_path</a></code></b> – <div class=doc-md-description> <p>Split object paths for building cross-references.</p> </div> </li> </ul> <div class="doc doc-children"> <div class="doc doc-object doc-class"> <h2 id=mkdocstrings_handlers.python.rendering.Order class="doc doc-heading"> <code class="doc-symbol doc-symbol-heading doc-symbol-class"></code> <span class="doc doc-object-name doc-class-name">Order</span> <a href=#mkdocstrings_handlers.python.rendering.Order class=headerlink title="Permanent link">¤</a></h2> <div class="doc doc-contents "> <div style="display: none"> <a class="autorefs autorefs-internal" href=#mkdocstrings_handlers.python.rendering.Order id=mermaid-link-mkdocstrings_handlers.python.rendering.Order></a> </div> <pre class=mermaid><code id=mermaid-diagram-mkdocstrings_handlers.python.rendering.Order> flowchart TD mkdocstrings_handlers.python.rendering.Order[Order] @@ -112,4 +112,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../handler/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </div> </div> </a> <a href=../../../../contributing/ class="md-footer__link md-footer__link--next" aria-label="Next: Contributing"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Contributing </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../handler/ class="md-footer__link md-footer__link--prev" aria-label='Previous: <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler'> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </div> </div> </a> <a href=../../../../contributing/ class="md-footer__link md-footer__link--next" aria-label="Next: Contributing"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Contributing </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/search/search_index.json b/search/search_index.json index 4cd8a457..c2a82fa1 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Overview","text":"mkdocstrings-python <p>A Python handler for mkdocstrings.</p> <p> </p> <p></p> <p>The Python handler uses Griffe to collect documentation from Python source code. The word \"griffe\" can sometimes be used instead of \"signature\" in French. Griffe is able to visit the Abstract Syntax Tree (AST) of the source code to extract useful information. It is also able to execute the code (by importing it) and introspect objects in memory when source code is not available. Finally, it can parse docstrings following different styles.</p>"},{"location":"#installation","title":"Installation","text":"<p>You can install this handler as a mkdocstrings extra:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings[python]>=0.18\",\n]\n</code></pre> <p>You can also explicitly depend on the handler:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings-python\",\n]\n</code></pre>"},{"location":"#preview","title":"Preview","text":""},{"location":"#features","title":"Features","text":"<ul> <li> <p>Data collection from source code: collection of the object-tree and the docstrings is done thanks to Griffe.</p> </li> <li> <p>Support for type annotations: Griffe collects your type annotations and mkdocstrings uses them to display parameter types or return types. It is even able to automatically add cross-references to other objects from your API, from the standard library or third-party libraries! See how to load inventories to enable it.</p> </li> <li> <p>Recursive documentation of Python objects: just use the module dotted-path as an identifier, and you get the full module docs. You don't need to inject documentation for each class, function, etc.</p> </li> <li> <p>Support for documented attributes: attributes (variables) followed by a docstring (triple-quoted string) will be recognized by Griffe in modules, classes and even in <code>__init__</code> methods.</p> </li> <li> <p>Multiple docstring-styles support: common support for Google-style, Numpydoc-style, and Sphinx-style docstrings. See Griffe's documentation on docstrings support.</p> </li> <li> <p>Admonition support in Google docstrings: blocks like <code>Note:</code> or <code>Warning:</code> will be transformed to their admonition equivalent. We do not support nested admonitions in docstrings!</p> </li> <li> <p>Every object has a TOC entry: we render a heading for each object, meaning MkDocs picks them into the Table of Contents, which is nicely displayed by the Material theme. Thanks to mkdocstrings cross-reference ability, you can reference other objects within your docstrings, with the classic Markdown syntax: <code>[this object][package.module.object]</code> or directly with <code>[package.module.object][]</code></p> </li> <li> <p>Source code display: mkdocstrings can add a collapsible div containing the highlighted source code of the Python object.</p> </li> </ul>"},{"location":"changelog/","title":"Changelog","text":"<p>All notable changes to this project will be documented in this file.</p> <p>The format is based on Keep a Changelog and this project adheres to Semantic Versioning.</p>"},{"location":"changelog/#1107-2024-07-25","title":"1.10.7 - 2024-07-25","text":"<p>Compare with 1.10.6</p>"},{"location":"changelog/#packaging","title":"Packaging","text":"<ul> <li>Include tests and all relevant files for downstream packaging in source distribution</li> </ul>"},{"location":"changelog/#1106-2024-07-25","title":"1.10.6 - 2024-07-25","text":"<p>Compare with 1.10.5</p>"},{"location":"changelog/#bug-fixes","title":"Bug Fixes","text":"<ul> <li>Fix condition to display members (check all members, not just non-inherited ones) (3d838a9 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring","title":"Code Refactoring","text":"<ul> <li>Update code for Griffe 0.48 (removing deprecation warnings) (eff10cc by Timoth\u00e9e Mazzucotelli). Issue-173</li> </ul>"},{"location":"changelog/#1105-2024-06-19","title":"1.10.5 - 2024-06-19","text":"<p>Compare with 1.10.4</p>"},{"location":"changelog/#bug-fixes_1","title":"Bug Fixes","text":"<ul> <li>Mix both previous checks for displaying objects: not imported or public (587963b by Timoth\u00e9e Mazzucotelli). Issue-294</li> </ul>"},{"location":"changelog/#1104-2024-06-18","title":"1.10.4 - 2024-06-18","text":"<p>Compare with 1.10.3</p>"},{"location":"changelog/#code-refactoring_1","title":"Code Refactoring","text":"<ul> <li>Only filter out imported objects instead of non-public ones after applying filters (e2f4b35 by Timoth\u00e9e Mazzucotelli). Issue-mkdocstrings/griffe-294</li> <li>Update code for Griffe 0.46 to avoid deprecation warnings (321b407 by Timoth\u00e9e Mazzucotelli).</li> <li>Change <code>load_external_modules</code> default value to <code>None</code> to support new default mode in Griffe (ae5896c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#1103-2024-05-22","title":"1.10.3 - 2024-05-22","text":"<p>Compare with 1.10.2</p>"},{"location":"changelog/#bug-fixes_2","title":"Bug Fixes","text":"<ul> <li>Don't crash when rendering the source of an object whose lineno is none (64df00b by Timoth\u00e9e Mazzucotelli). Issue-163</li> </ul>"},{"location":"changelog/#1102-2024-05-16","title":"1.10.2 - 2024-05-16","text":"<p>Compare with 1.10.1</p>"},{"location":"changelog/#bug-fixes_3","title":"Bug Fixes","text":"<ul> <li>Actually make use of custom .html.jinja templates (5668abb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#1101-2024-05-14","title":"1.10.1 - 2024-05-14","text":"<p>Compare with 1.10.0</p>"},{"location":"changelog/#build","title":"Build","text":"<ul> <li>Depend on mkdocstrings 0.25 which adds support for parameter <code>once</code> when logging messages (2bc156b by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_2","title":"Code Refactoring","text":"<ul> <li>Set handler's name (a71ab12 by Timoth\u00e9e Mazzucotelli).</li> <li>Update <code>*.html</code> top-level templates to extend the <code>*.html.jinja</code> base templates (a8c540e by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Update <code>*.html</code> base templates to extend their <code>*.html.jinja</code> counterpart, while overriding the <code>logs</code> block to issue a logging message (info) stating that extending <code>*.html</code> templates is deprecated (e6f1b9c by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Add <code>*.html.jinja</code> top-level (overridable) templates, extending their base counterpart (7c14924 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Add <code>*.html.jinja</code> base templates, which are copies of <code>*.html</code> templates, with an additional <code>logs</code> block, and using the updated <code>get_template</code> filter (eced9a5 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Update <code>get_template</code> filter to support both <code>*.html</code> and <code>*.html.jinja</code> templates, logging a message (info) when <code>*.html</code> templates are overridden by users (3546fd7 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Log a warning when base templates are overridden (26e3d66 by Timoth\u00e9e Mazzucotelli). Issue-151</li> </ul>"},{"location":"changelog/#1100-2024-04-19","title":"1.10.0 - 2024-04-19","text":"<p>Compare with 1.9.2</p>"},{"location":"changelog/#features","title":"Features","text":"<ul> <li>Add CSS classes <code>doc-section-title</code> and <code>doc-section-item</code> in docstring sections (d6e1d68 by Timoth\u00e9e Mazzucotelli). Issue-17</li> </ul>"},{"location":"changelog/#bug-fixes_4","title":"Bug Fixes","text":"<ul> <li>Render enumeration instance name instead of just \"value\", allowing proper cross-reference (11d81d8 by Timoth\u00e9e Mazzucotelli). Issue-124</li> </ul>"},{"location":"changelog/#192-2024-04-02","title":"1.9.2 - 2024-04-02","text":"<p>Compare with 1.9.1</p>"},{"location":"changelog/#dependencies","title":"Dependencies","text":"<ul> <li>Remove cap on Python-Markdown 3.6 now that ToC labels are fixed by mkdocstrings (0c1e2c1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#191-2024-04-02","title":"1.9.1 - 2024-04-02","text":"<p>Compare with 1.9.0</p>"},{"location":"changelog/#bug-fixes_5","title":"Bug Fixes","text":"<ul> <li>Don't try loading packages from relative paths (bd73497 by Timoth\u00e9e Mazzucotelli). Issue-145</li> </ul>"},{"location":"changelog/#code-refactoring_3","title":"Code Refactoring","text":"<ul> <li>Allow first name in a separate signature to be highlighted as a function name (f798a1e by Timoth\u00e9e Mazzucotelli).</li> <li>Maintain original Pygments color for cross-refs in signatures (7c8b885 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#190-2024-03-13","title":"1.9.0 - 2024-03-13","text":"<p>Compare with 1.8.0</p>"},{"location":"changelog/#dependencies_1","title":"Dependencies","text":"<ul> <li>Add upper bound on Python-Markdown 3.6 to temporarily prevent breaking changes (cd93ee3 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_1","title":"Features","text":"<ul> <li>Add <code>show_labels</code> option to show/hide labels (eaf9b82 by Viicos). Issue #120, PR #130</li> <li>Add option to search for stubs packages (0c6aa32 by Romain). PR #128, PR griffe#221: : https://github.com/mkdocstrings/griffe/pull/221</li> </ul>"},{"location":"changelog/#code-refactoring_4","title":"Code Refactoring","text":"<ul> <li>Mark all Jinja blocks as scoped (548bdad by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#180-2024-01-08","title":"1.8.0 - 2024-01-08","text":"<p>Compare with 1.7.5</p>"},{"location":"changelog/#features_2","title":"Features","text":"<ul> <li> <p>Release Insiders features of the $500/month funding goal (bd30106 by Timoth\u00e9e Mazzucotelli). The features and projects related to mkdocstrings-python are:</p> <ul> <li>Cross-references for type annotations in signatures</li> <li>Symbol types in headings and table of contents</li> <li><code>griffe-inherited-docstrings</code>, a Griffe extension for inheriting docstrings</li> <li><code>griffe2md</code>, a tool to output API docs to Markdown using Griffe</li> </ul> <p>See the complete list of features and projects here: https://pawamoy.github.io/insiders/#500-plasmavac-user-guide.</p> </li> </ul>"},{"location":"changelog/#175-2023-11-21","title":"1.7.5 - 2023-11-21","text":"<p>Compare with 1.7.4</p>"},{"location":"changelog/#bug-fixes_6","title":"Bug Fixes","text":"<ul> <li>Add missing translations (fallback theme) for ReadTheDocs (2fb6513 by Timoth\u00e9e Mazzucotelli). Issue #115</li> </ul>"},{"location":"changelog/#174-2023-11-12","title":"1.7.4 - 2023-11-12","text":"<p>Compare with 1.7.3</p>"},{"location":"changelog/#bug-fixes_7","title":"Bug Fixes","text":"<ul> <li>Make extension paths relative to config file (5035e92 by Waylan Limberg). PR #112, Co-authored-by: Timoth\u00e9e Mazzucotelli pawamoy@pm.me</li> </ul>"},{"location":"changelog/#code-refactoring_5","title":"Code Refactoring","text":"<ul> <li>Prepare for Griffe 0.37 (b5bb8a9 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#173-2023-10-09","title":"1.7.3 - 2023-10-09","text":"<p>Compare with 1.7.2</p>"},{"location":"changelog/#bug-fixes_8","title":"Bug Fixes","text":"<ul> <li>Don't deepcopy the local config (1300d2c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#172-2023-10-05","title":"1.7.2 - 2023-10-05","text":"<p>Compare with 1.7.1</p>"},{"location":"changelog/#bug-fixes_9","title":"Bug Fixes","text":"<ul> <li>Prevent alias resolution error when source-ordering members (67df10c by Timoth\u00e9e Mazzucotelli). Issue griffe#213</li> </ul>"},{"location":"changelog/#code-refactoring_6","title":"Code Refactoring","text":"<ul> <li>Use package relative filepath if filepath is not relative (aa5a3f7 by Timoth\u00e9e Mazzucotelli). Discussion mkdocstrings#622</li> </ul>"},{"location":"changelog/#171-2023-09-28","title":"1.7.1 - 2023-09-28","text":"<p>Compare with 1.7.0</p>"},{"location":"changelog/#bug-fixes_10","title":"Bug Fixes","text":"<ul> <li>Stop propagation of annotation to next parameter in signature template (3a760ac by Timoth\u00e9e Mazzucotelli). Issue #110</li> </ul>"},{"location":"changelog/#code-refactoring_7","title":"Code Refactoring","text":"<ul> <li>Look into inherited members for <code>__init__</code> methods when merging docstrings (b97d51f by Timoth\u00e9e Mazzucotelli). Issue #106</li> </ul>"},{"location":"changelog/#170-2023-09-14","title":"1.7.0 - 2023-09-14","text":"<p>Compare with 1.6.3</p>"},{"location":"changelog/#features_3","title":"Features","text":"<ul> <li>Add option to unwrap <code>Annotated</code> types (53db04b by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#163-2023-09-11","title":"1.6.3 - 2023-09-11","text":"<p>Compare with 1.6.2</p>"},{"location":"changelog/#bug-fixes_11","title":"Bug Fixes","text":"<ul> <li>Make <code>load_external_modules</code> a global-only option (266f41f by Timoth\u00e9e Mazzucotelli). Issue #87</li> <li>Never fail when trying to format code with Black (df24bbc by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_8","title":"Code Refactoring","text":"<ul> <li>Wrap docstring section elements (list style) in code tags to prevent spell checker errors (1ae8dd8 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#162-2023-09-05","title":"1.6.2 - 2023-09-05","text":"<p>Compare with 1.6.1</p>"},{"location":"changelog/#bug-fixes_12","title":"Bug Fixes","text":"<ul> <li>Don't render cross-ref spans when they're not enabled (eed51ee by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#161-2023-09-04","title":"1.6.1 - 2023-09-04","text":"<p>Compare with 1.6.0</p>"},{"location":"changelog/#bug-fixes_13","title":"Bug Fixes","text":"<ul> <li>Fix spacing for rendered named items in Yields, Receives and Returns sections (list style) (e12688e by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering Receives sections as lists (9ff7e68 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#160-2023-08-27","title":"1.6.0 - 2023-08-27","text":"<p>Compare with 1.5.2</p>"},{"location":"changelog/#features_4","title":"Features","text":"<ul> <li>Add <code>doc-signature</code> CSS class to separate signature code blocks (b6c648f by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_9","title":"Code Refactoring","text":"<ul> <li>Add a <code>format_attribute</code> filter, preparing for cross-refs in attribute signatures (8f0ade2 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#152-2023-08-25","title":"1.5.2 - 2023-08-25","text":"<p>Compare with 1.5.1</p>"},{"location":"changelog/#bug-fixes_14","title":"Bug Fixes","text":"<ul> <li>Regression in children template: fix condition for when members are specified (beeebff by Timoth\u00e9e Mazzucotelli). Issue #100</li> <li>Prevent whitespace removal before highlight filter (c6f36c0 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_10","title":"Code Refactoring","text":"<ul> <li>Never show full object path in ToC entry (9aa758b by Timoth\u00e9e Mazzucotelli).</li> <li>Sync templates with insiders, remove useless lines (38b317f by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#151-2023-08-24","title":"1.5.1 - 2023-08-24","text":"<p>Compare with 1.5.0</p>"},{"location":"changelog/#code-refactoring_11","title":"Code Refactoring","text":"<ul> <li>Never show full path in separate signature since it would appear in the heading already (9e02049 by Timoth\u00e9e Mazzucotelli).</li> <li>Improve guessing whether an object is public (35eb811 by Timoth\u00e9e Mazzucotelli).</li> <li>Always sort modules alphabetically as source order wouldn't make sense (70c81ce by Timoth\u00e9e Mazzucotelli).</li> <li>Return anchors as a tuple, not a set, to preserve order (736a2b5 by Timoth\u00e9e Mazzucotelli). Related-to #mkdocstrings/crystal#6</li> </ul>"},{"location":"changelog/#150-2023-08-20","title":"1.5.0 - 2023-08-20","text":"<p>Compare with 1.4.0</p>"},{"location":"changelog/#features_5","title":"Features","text":"<ul> <li>Add support for new Griffe docstring sections: modules, classes, and functions (methods) (d5337af by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#140-2023-08-18","title":"1.4.0 - 2023-08-18","text":"<p>Compare with 1.3.0</p>"},{"location":"changelog/#features_6","title":"Features","text":"<ul> <li>Support new Griffe expressions (in v0.33) (9b8e1b1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_12","title":"Code Refactoring","text":"<ul> <li>Deprecate <code>crossref</code> and <code>multi_crossref</code> filters (4fe3d20 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#130-2023-08-06","title":"1.3.0 - 2023-08-06","text":"<p>Compare with 1.2.1</p>"},{"location":"changelog/#dependencies_2","title":"Dependencies","text":"<ul> <li>Set upper bound on Griffe (0.33) (ad8c2a3 by Timoth\u00e9e Mazzucotelli). See https://github.com/mkdocstrings/griffe/discussions/195.</li> </ul>"},{"location":"changelog/#features_7","title":"Features","text":"<ul> <li>Show parameter default values within the \"list\" section style too (55f08f3 by Antoine Dechaume). PR #92, Co-authored-by: Timoth\u00e9e Mazzucotelli pawamoy@pm.me</li> </ul>"},{"location":"changelog/#121-2023-07-20","title":"1.2.1 - 2023-07-20","text":"<p>Compare with 1.2.0</p>"},{"location":"changelog/#bug-fixes_15","title":"Bug Fixes","text":"<ul> <li>Fix members ordering when members are specified with a boolean (c69f9c3 by Timoth\u00e9e Mazzucotelli). Issue #89</li> </ul>"},{"location":"changelog/#120-2023-07-14","title":"1.2.0 - 2023-07-14","text":"<p>Compare with 1.1.2</p>"},{"location":"changelog/#features_8","title":"Features","text":"<ul> <li>Add Jinja blocks to module, class, function and attribute templates (299fe48 by Timoth\u00e9e Mazzucotelli).</li> <li>Setup infrastructure for I18N, add translations for simplified chinese and japanese (b053b29 by Nyuan Zhang). PR #77</li> <li>Support inheritance (ae42356 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings#157, Discussion mkdocstrings#536</li> </ul>"},{"location":"changelog/#bug-fixes_16","title":"Bug Fixes","text":"<ul> <li>Don't show <code>None</code> as return annotation of class signatures (3d8724e by Timoth\u00e9e Mazzucotelli). Issue #85</li> <li>Show labels in deterministic order (02619a8 by Oleh Prypin).</li> </ul>"},{"location":"changelog/#112-2023-06-04","title":"1.1.2 - 2023-06-04","text":"<p>Compare with 1.1.1</p>"},{"location":"changelog/#code-refactoring_13","title":"Code Refactoring","text":"<ul> <li>Keep headings style consistent (CSS) (92032e5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#111-2023-06-04","title":"1.1.1 - 2023-06-04","text":"<p>Compare with 1.1.0</p>"},{"location":"changelog/#bug-fixes_17","title":"Bug Fixes","text":"<ul> <li>Fix mkdocs and readthedocs themes support (14f18b2 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_14","title":"Code Refactoring","text":"<ul> <li>Improve display of paragraphs in docstring sections (439f5e6 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#110-2023-05-25","title":"1.1.0 - 2023-05-25","text":"<p>Compare with 1.0.0</p>"},{"location":"changelog/#features_9","title":"Features","text":"<ul> <li>Support custom templates through objects' extra data (8ff2b06 by Timoth\u00e9e Mazzucotelli). PR #70</li> </ul>"},{"location":"changelog/#100-2023-05-11","title":"1.0.0 - 2023-05-11","text":"<p>Compare with 0.10.1</p>"},{"location":"changelog/#breaking-changes","title":"Breaking changes","text":"<ul> <li> <p>The signature of the <code>format_signature</code> filter has changed. If you override templates in your project to customize the output, make sure to update the following templates so that they use the new filter signature:</p> <ul> <li><code>class.html</code></li> <li><code>expression.html</code></li> <li><code>function.html</code></li> <li><code>signature.html</code></li> </ul> <p>You can see how to use the filter in this commit's changes: f686f4e4.</p> </li> </ul> <p>We take this as an opportunity to go out of beta and bump the version to 1.0.0. This will allow users to rely on semantic versioning.</p>"},{"location":"changelog/#bug-fixes_18","title":"Bug Fixes","text":"<ul> <li>Bring compatibility with insiders signature crossrefs feature (f686f4e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#0101-2023-05-07","title":"0.10.1 - 2023-05-07","text":"<p>Compare with 0.10.0</p>"},{"location":"changelog/#bug-fixes_19","title":"Bug Fixes","text":"<ul> <li>Format signatures with full-path names (685512d by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#0100-2023-05-07","title":"0.10.0 - 2023-05-07","text":"<p>Compare with 0.9.0</p>"},{"location":"changelog/#features_10","title":"Features","text":"<ul> <li>Add option to disallow inspection (40f2f26 by Nyuan Zhang). Issue #68, PR #69</li> </ul>"},{"location":"changelog/#bug-fixes_20","title":"Bug Fixes","text":"<ul> <li>Make admonitions open by default (79cd153 by Timoth\u00e9e Mazzucotelli). Issue #22</li> </ul>"},{"location":"changelog/#code-refactoring_15","title":"Code Refactoring","text":"<ul> <li>Match documented behavior for filtering (all members, list, none) (c7f70c3 by Timoth\u00e9e Mazzucotelli).</li> <li>Switch to an info level log for when black's not installed (f593bb0 by Faster Speeding).</li> <li>Return anchors as a set (e2b820c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#090-2023-04-03","title":"0.9.0 - 2023-04-03","text":"<p>Compare with 0.8.3</p>"},{"location":"changelog/#features_11","title":"Features","text":"<ul> <li>Allow resolving alias to external modules (02052e2 by Gilad). PR #61, Follow-up of PR #60</li> <li>Allow pre-loading modules (36002cb by Gilad). Issue mkdocstrings/mkdocstrings#503, PR #60</li> <li>Add show options for docstrings (a6c55fb by Jeremy Goh). Issue mkdocstrings/mkdocstrings#466, PR #56</li> <li>Allow custom list of domains for inventories (f5ea6fd by Sorin Sbarnea). Issue mkdocstrings/mkdocstrings#510, PR #49</li> </ul>"},{"location":"changelog/#bug-fixes_21","title":"Bug Fixes","text":"<ul> <li>Prevent alias resolution error when searching for anchors (a190e2c by Timoth\u00e9e Mazzucotelli). Issue #64</li> </ul>"},{"location":"changelog/#code-refactoring_16","title":"Code Refactoring","text":"<ul> <li>Support Griffe 0.26 (075735c by Timoth\u00e9e Mazzucotelli).</li> <li>Log (debug) unresolved aliases (9164742 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#083-2023-01-04","title":"0.8.3 - 2023-01-04","text":"<p>Compare with 0.8.2</p>"},{"location":"changelog/#code-refactoring_17","title":"Code Refactoring","text":"<ul> <li>Change \"unresolved aliases\" log level to DEBUG (dccb818 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#082-2022-11-19","title":"0.8.2 - 2022-11-19","text":"<p>Compare with 0.8.1</p>"},{"location":"changelog/#bug-fixes_22","title":"Bug Fixes","text":"<ul> <li>Fix base directory used to expand globs (34cfa4b by Florian Hofer). PR #45</li> </ul>"},{"location":"changelog/#081-2022-11-19","title":"0.8.1 - 2022-11-19","text":"<p>Compare with 0.8.0</p>"},{"location":"changelog/#bug-fixes_23","title":"Bug Fixes","text":"<ul> <li>Expand globs relative to configuration file path (0dc45ae by David Vegh). Issue #42, PR #43</li> </ul>"},{"location":"changelog/#080-2022-11-13","title":"0.8.0 - 2022-11-13","text":"<p>Compare with 0.7.1</p>"},{"location":"changelog/#features_12","title":"Features","text":"<ul> <li>Add support for globs in paths configuration (29edd02 by Andrew Guenther). Issue #33, PR #34</li> </ul>"},{"location":"changelog/#code-refactoring_18","title":"Code Refactoring","text":"<ul> <li>Support Griffe 0.24 (3b9f701 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#071-2022-06-12","title":"0.7.1 - 2022-06-12","text":"<p>Compare with 0.7.0</p>"},{"location":"changelog/#bug-fixes_24","title":"Bug Fixes","text":"<ul> <li>Fix rendering of <code>/</code> in signatures (3e927e4 by Timoth\u00e9e Mazzucotelli). Issue #25</li> </ul>"},{"location":"changelog/#070-2022-05-28","title":"0.7.0 - 2022-05-28","text":"<p>Compare with 0.6.6</p>"},{"location":"changelog/#packaging-dependencies","title":"Packaging / Dependencies","text":"<ul> <li>Depend on mkdocstrings 0.19 (b6a9a47 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_13","title":"Features","text":"<ul> <li>Add config option for annotations paths verbosity (b6c9893 by Timoth\u00e9e Mazzucotelli).</li> <li>Use sections titles in SpaCy-styled docstrings (fe16b54 by Timoth\u00e9e Mazzucotelli).</li> <li>Wrap objects names in spans to allow custom styling (0822ff9 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/mkdocstrings#240</li> <li>Add Jinja blocks around docstring section styles (aaa79ee by Timoth\u00e9e Mazzucotelli).</li> <li>Add members and filters options (24a6136 by Timoth\u00e9e Mazzucotelli).</li> <li>Add paths option (dd41182 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/mkdocstrings#311, PR #20</li> </ul>"},{"location":"changelog/#bug-fixes_25","title":"Bug Fixes","text":"<ul> <li>Fix CSS class on labels (312a709 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix categories rendering (6407cf4 by Timoth\u00e9e Mazzucotelli). Issue #14</li> </ul>"},{"location":"changelog/#code-refactoring_19","title":"Code Refactoring","text":"<ul> <li>Disable <code>show_submodules</code> by default (480d0c3 by Timoth\u00e9e Mazzucotelli).</li> <li>Merge default configuration options in handler (347ce76 by Timoth\u00e9e Mazzucotelli).</li> <li>Reduce number of template debug logs (8fed314 by Timoth\u00e9e Mazzucotelli).</li> <li>Respect <code>show_root_full_path</code> for ToC entries (hidden headings) (8f4c853 by Timoth\u00e9e Mazzucotelli).</li> <li>Bring consistency on headings style (59104c4 by Timoth\u00e9e Mazzucotelli).</li> <li>Stop using deprecated base classes (d5ea1c5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#066-2022-03-06","title":"0.6.6 - 2022-03-06","text":"<p>Compare with 0.6.5</p>"},{"location":"changelog/#code-refactoring_20","title":"Code Refactoring","text":"<ul> <li>Always hide <code>self</code> and <code>cls</code> parameters (7f579d1 by Timoth\u00e9e Mazzucotelli). Issue #7</li> <li>Use <code>pycon</code> for examples code blocks (6545900 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#065-2022-02-24","title":"0.6.5 - 2022-02-24","text":"<p>Compare with 0.6.4</p>"},{"location":"changelog/#bug-fixes_26","title":"Bug Fixes","text":"<ul> <li>Don't escape signatures return annotations (ac54bfc by Timoth\u00e9e Mazzucotelli). Issue #6</li> </ul>"},{"location":"changelog/#064-2022-02-22","title":"0.6.4 - 2022-02-22","text":"<p>Compare with 0.6.3</p>"},{"location":"changelog/#bug-fixes_27","title":"Bug Fixes","text":"<ul> <li>Fix rendering of signature return annotation (b92ba3b by Timoth\u00e9e Mazzucotelli). Issue #4</li> </ul>"},{"location":"changelog/#063-2022-02-20","title":"0.6.3 - 2022-02-20","text":"<p>Compare with 0.6.2</p>"},{"location":"changelog/#bug-fixes_28","title":"Bug Fixes","text":"<ul> <li>Fix examples rendering (a06a7e3 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/griffe#46</li> </ul>"},{"location":"changelog/#062-2022-02-17","title":"0.6.2 - 2022-02-17","text":"<p>Compare with 0.6.1</p>"},{"location":"changelog/#bug-fixes_29","title":"Bug Fixes","text":"<ul> <li>Catch alias resolution errors (b734dd0 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#061-2022-02-17","title":"0.6.1 - 2022-02-17","text":"<p>Compare with 0.6.0</p>"},{"location":"changelog/#bug-fixes_30","title":"Bug Fixes","text":"<ul> <li>Don't pop from fallback config (bde32af by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering init method source when merged into class (4a20aea by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#060-2022-02-13","title":"0.6.0 - 2022-02-13","text":"<p>Compare with 0.5.4</p>"},{"location":"changelog/#features_14","title":"Features","text":"<ul> <li>Add option to merge <code>__init__</code> methods' docstrings into their classes' docstrings (1b4d1c0 by Timoth\u00e9e Mazzucotelli).</li> <li>Support separate attribute signature (e962b88 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_31","title":"Bug Fixes","text":"<ul> <li>Restore full cross-refs paths on hover (ac11970 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering of labels (52919c5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_21","title":"Code Refactoring","text":"<ul> <li>Don't add trailing parentheses in functions heading when separate signature (885696e by Timoth\u00e9e Mazzucotelli).</li> <li>Use more explicit template debug messages (f2122d7 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#054-2022-02-13","title":"0.5.4 - 2022-02-13","text":"<p>Compare with 0.5.3</p>"},{"location":"changelog/#bug-fixes_32","title":"Bug Fixes","text":"<ul> <li>Don't load additional modules during fallback (69b8e25 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#053-2022-02-08","title":"0.5.3 - 2022-02-08","text":"<p>Compare with 0.5.2</p>"},{"location":"changelog/#bug-fixes_33","title":"Bug Fixes","text":"<ul> <li>Allow passing <code>null</code> as docstring style (f526816 by Timoth\u00e9e Mazzucotelli). Issue #2</li> </ul>"},{"location":"changelog/#052-2022-02-05","title":"0.5.2 - 2022-02-05","text":"<p>Compare with 0.5.1</p>"},{"location":"changelog/#dependencies_3","title":"Dependencies","text":"<ul> <li>Require at least mkdocstrings 0.18 (7abdda4 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#051-2022-02-03","title":"0.5.1 - 2022-02-03","text":"<p>Compare with 0.5.0</p>"},{"location":"changelog/#dependencies_4","title":"Dependencies","text":"<ul> <li>Depend on Griffe >= 0.11.1 (1303557 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_22","title":"Code Refactoring","text":"<ul> <li>Move handler into its own module (b787e78 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#050-2022-02-03","title":"0.5.0 - 2022-02-03","text":"<p>Compare with 0.4.1</p>"},{"location":"changelog/#features_15","title":"Features","text":"<ul> <li>Allow changing docstring style of an object (39240c1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_34","title":"Bug Fixes","text":"<ul> <li>Warn if Black is not installed when formatting signature (b848277 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix missing default for <code>docstring_section_style</code> option (774988e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_23","title":"Code Refactoring","text":"<ul> <li>Change to new way of stripping paragraphs (33d4594 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#041-2022-02-01","title":"0.4.1 - 2022-02-01","text":"<p>Compare with 0.4.0</p>"},{"location":"changelog/#bug-fixes_35","title":"Bug Fixes","text":"<ul> <li>Fix docstring admonitions rendering (a24ae2e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#040-2022-02-01","title":"0.4.0 - 2022-02-01","text":"<p>Compare with 0.3.0</p>"},{"location":"changelog/#code-refactoring_24","title":"Code Refactoring","text":"<ul> <li>Use the new <code>mkdocstrings_handlers</code> namespace (23c9023 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#030-2022-01-14","title":"0.3.0 - 2022-01-14","text":"<p>Compare with 0.2.0</p>"},{"location":"changelog/#features_16","title":"Features","text":"<ul> <li>Support griffe 0.10 (28061de by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#dependencies_5","title":"Dependencies","text":"<ul> <li>Require griffe 0.10 (cfbd7bb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_25","title":"Code Refactoring","text":"<ul> <li>Use new logger patching utility (4cdb292 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#020-2021-12-28","title":"0.2.0 - 2021-12-28","text":"<p>Compare with 0.1.0</p>"},{"location":"changelog/#dependencies_6","title":"Dependencies","text":"<ul> <li>Depend on griffe >= 0.7.1 (34f7ebd by Timoth\u00e9e Mazzucotelli).</li> <li>Upgrade griffe, no upper bound (8f0aa42 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_17","title":"Features","text":"<ul> <li>Add <code>show_signature</code> rendering option (0f07c2e by Will Da Silva).</li> </ul>"},{"location":"changelog/#bug-fixes_36","title":"Bug Fixes","text":"<ul> <li>Fix templates for named docstring elements (47868a1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#010-2021-12-19","title":"0.1.0 - 2021-12-19","text":"<p>Compare with first commit</p>"},{"location":"changelog/#features_18","title":"Features","text":"<ul> <li>Implement handler and add templates (dbb580a by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_37","title":"Bug Fixes","text":"<ul> <li>Fix separate signature feature (da6e81c by Timoth\u00e9e Mazzucotelli).</li> <li>Fix signature template (parameters annotations) (b34ead0 by Timoth\u00e9e Mazzucotelli).</li> <li>Only show source when present (c270d68 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_26","title":"Code Refactoring","text":"<ul> <li>Return all known anchors (9bbfe14 by Timoth\u00e9e Mazzucotelli).</li> <li>Update for griffe 0.4.0 (831aabb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"code_of_conduct/","title":"Contributor Covenant Code of Conduct","text":""},{"location":"code_of_conduct/#our-pledge","title":"Our Pledge","text":"<p>We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.</p> <p>We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.</p>"},{"location":"code_of_conduct/#our-standards","title":"Our Standards","text":"<p>Examples of behavior that contributes to a positive environment for our community include:</p> <ul> <li>Demonstrating empathy and kindness toward other people</li> <li>Being respectful of differing opinions, viewpoints, and experiences</li> <li>Giving and gracefully accepting constructive feedback</li> <li>Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience</li> <li>Focusing on what is best not just for us as individuals, but for the overall community</li> </ul> <p>Examples of unacceptable behavior include:</p> <ul> <li>The use of sexualized language or imagery, and sexual attention or advances of any kind</li> <li>Trolling, insulting or derogatory comments, and personal or political attacks</li> <li>Public or private harassment</li> <li>Publishing others' private information, such as a physical or email address, without their explicit permission</li> <li>Other conduct which could reasonably be considered inappropriate in a professional setting</li> </ul>"},{"location":"code_of_conduct/#enforcement-responsibilities","title":"Enforcement Responsibilities","text":"<p>Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.</p> <p>Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.</p>"},{"location":"code_of_conduct/#scope","title":"Scope","text":"<p>This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.</p>"},{"location":"code_of_conduct/#enforcement","title":"Enforcement","text":"<p>Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at dev@pawamoy.fr. All complaints will be reviewed and investigated promptly and fairly.</p> <p>All community leaders are obligated to respect the privacy and security of the reporter of any incident.</p>"},{"location":"code_of_conduct/#enforcement-guidelines","title":"Enforcement Guidelines","text":"<p>Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:</p>"},{"location":"code_of_conduct/#1-correction","title":"1. Correction","text":"<p>Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.</p> <p>Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.</p>"},{"location":"code_of_conduct/#2-warning","title":"2. Warning","text":"<p>Community Impact: A violation through a single incident or series of actions.</p> <p>Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.</p>"},{"location":"code_of_conduct/#3-temporary-ban","title":"3. Temporary Ban","text":"<p>Community Impact: A serious violation of community standards, including sustained inappropriate behavior.</p> <p>Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.</p>"},{"location":"code_of_conduct/#4-permanent-ban","title":"4. Permanent Ban","text":"<p>Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.</p> <p>Consequence: A permanent ban from any sort of public interaction within the community.</p>"},{"location":"code_of_conduct/#attribution","title":"Attribution","text":"<p>This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.</p> <p>Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.</p> <p>For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.</p>"},{"location":"contributing/","title":"Contributing","text":"<p>Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.</p>"},{"location":"contributing/#environment-setup","title":"Environment setup","text":"<p>Nothing easier!</p> <p>Fork and clone the repository, then:</p> <pre><code>cd python\nmake setup\n</code></pre> <p>Note</p> <p> If it fails for some reason, you'll need to install uv manually.</p> <p>You can install it with:</p> <pre><code>python3 -m pip install --user pipx\npipx install uv\n</code></pre> <p>Now you can try running <code>make setup</code> again, or simply <code>uv install</code>.</p> <p>You now have the dependencies installed.</p> <p>Run <code>make help</code> to see all the available actions!</p>"},{"location":"contributing/#tasks","title":"Tasks","text":"<p>The entry-point to run commands and tasks is the <code>make</code> Python script, located in the <code>scripts</code> directory. Try running <code>make</code> to show the available commands and tasks. The commands do not need the Python dependencies to be installed, while the tasks do. The cross-platform tasks are written in Python, thanks to duty.</p> <p>If you work in VSCode, we provide an action to configure VSCode for the project.</p>"},{"location":"contributing/#development","title":"Development","text":"<p>As usual:</p> <ol> <li>create a new branch: <code>git switch -c feature-or-bugfix-name</code></li> <li>edit the code and/or the documentation</li> </ol> <p>Before committing:</p> <ol> <li>run <code>make format</code> to auto-format the code</li> <li>run <code>make check</code> to check everything (fix any warning)</li> <li>run <code>make test</code> to run the tests (fix any issue)</li> <li>if you updated the documentation or the project dependencies:<ol> <li>run <code>make docs</code></li> <li>go to http://localhost:8000 and check that everything looks good</li> </ol> </li> <li>follow our commit message convention</li> </ol> <p>If you are unsure about how to fix or ignore a warning, just let the continuous integration fail, and we will help you during review.</p> <p>Don't bother updating the changelog, we will take care of this.</p>"},{"location":"contributing/#commit-message-convention","title":"Commit message convention","text":"<p>Commit messages must follow our convention based on the Angular style or the Karma convention:</p> <pre><code><type>[(scope)]: Subject\n\n[Body]\n</code></pre> <p>Subject and body must be valid Markdown. Subject must have proper casing (uppercase for first letter if it makes sense), but no dot at the end, and no punctuation in general.</p> <p>Scope and body are optional. Type can be:</p> <ul> <li><code>build</code>: About packaging, building wheels, etc.</li> <li><code>chore</code>: About packaging or repo/files management.</li> <li><code>ci</code>: About Continuous Integration.</li> <li><code>deps</code>: Dependencies update.</li> <li><code>docs</code>: About documentation.</li> <li><code>feat</code>: New feature.</li> <li><code>fix</code>: Bug fix.</li> <li><code>perf</code>: About performance.</li> <li><code>refactor</code>: Changes that are not features or bug fixes.</li> <li><code>style</code>: A change in code style/format.</li> <li><code>tests</code>: About tests.</li> </ul> <p>If you write a body, please add trailers at the end (for example issues and PR references, or co-authors), without relying on GitHub's flavored Markdown:</p> <pre><code>Body.\n\nIssue #10: https://github.com/namespace/project/issues/10\nRelated to PR namespace/other-project#15: https://github.com/namespace/other-project/pull/15\n</code></pre> <p>These \"trailers\" must appear at the end of the body, without any blank lines between them. The trailer title can contain any character except colons <code>:</code>. We expect a full URI for each trailer, not just GitHub autolinks (for example, full GitHub URLs for commits and issues, not the hash or the #issue-number).</p> <p>We do not enforce a line length on commit messages summary and body, but please avoid very long summaries, and very long lines in the body, unless they are part of code blocks that must not be wrapped.</p>"},{"location":"contributing/#pull-requests-guidelines","title":"Pull requests guidelines","text":"<p>Link to any related issue in the Pull Request message.</p> <p>During the review, we recommend using fixups:</p> <pre><code># SHA is the SHA of the commit you want to fix\ngit commit --fixup=SHA\n</code></pre> <p>Once all the changes are approved, you can squash your commits:</p> <pre><code>git rebase -i --autosquash main\n</code></pre> <p>And force-push:</p> <pre><code>git push -f\n</code></pre> <p>If this seems all too complicated, you can push or force-push each new commit, and we will squash them ourselves if needed, before merging.</p>"},{"location":"credits/","title":"Credits","text":""},{"location":"credits/#exec-1--credits","title":"Credits","text":"<p>These projects were used to build mkdocstrings-python. Thank you!</p> <p>Python | uv | copier-uv</p>"},{"location":"credits/#exec-1--runtime-dependencies","title":"Runtime dependencies","text":"Project Summary Version (accepted) Version (last resolved) License click Composable command line interface toolkit <code>>=7.0</code> <code>8.1.7</code> BSD-3-Clause colorama Cross-platform colored terminal text. <code>>=0.4</code> <code>0.4.6</code> BSD License ghp-import Copy your docs directly to the gh-pages branch. <code>>=1.0</code> <code>2.1.0</code> Apache Software License griffe Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API. <code>>=0.48</code> <code>0.48.0.1.2.0</code> ISC importlib_metadata Read metadata from Python packages <code>>=4.6, >=4.4</code> <code>8.2.0</code> Apache Software License Jinja2 A very fast and expressive template engine. <code>>=2.11.1, >=2.10</code> <code>3.1.4</code> BSD License Markdown Python implementation of John Gruber's Markdown. <code>>=3.3.6, >=3.3</code> <code>3.6</code> BSD License MarkupSafe Safely add untrusted strings to HTML/XML markup. <code>>=2.0.1, >=1.1</code> <code>2.1.5</code> BSD-3-Clause mergedeep A deep merge function for \ud83d\udc0d. <code>>=1.3.4</code> <code>1.3.4</code> MIT License mkdocs Project documentation with Markdown. <code>>=1.6, >=1.4</code> <code>1.6.0</code> BSD-2-Clause mkdocs-autorefs Automatically link across pages in MkDocs. <code>>=0.3.1</code> <code>1.0.1</code> ISC mkdocs-get-deps MkDocs extension that lists all dependencies according to a mkdocs.yml file <code>>=0.2.0</code> <code>0.2.0</code> MIT mkdocstrings Automatic documentation from sources, for MkDocs. <code>>=0.25</code> <code>0.25.2</code> ISC packaging Core utilities for Python packages <code>>=24.0, >=20.5</code> <code>24.1</code> Apache Software License + BSD License pathspec Utility library for gitignore style pattern matching of file paths. <code>>=0.11.1</code> <code>0.12.1</code> Mozilla Public License 2.0 (MPL 2.0) platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>. <code>>=2.2.0, >=2</code> <code>4.2.2</code> MIT pymdown-extensions Extension pack for Python Markdown. <code>>=6.3</code> <code>10.8.1</code> MIT python-dateutil Extensions to the standard Python datetime module <code>>=2.8.1</code> <code>2.9.0.post0</code> BSD License + Apache Software License PyYAML YAML parser and emitter for Python <code>>=5.1</code> <code>6.0.1</code> MIT pyyaml_env_tag A custom YAML tag for referencing environment variables in YAML files. <code>>=0.1</code> <code>0.1</code> MIT License six Python 2 and 3 compatibility utilities <code>>=1.5</code> <code>1.16.0</code> MIT typing_extensions Backported and Experimental Type Hints for Python 3.8+ <code>>=4.1, >=4.0.1</code> <code>4.12.2</code> Python Software Foundation License watchdog Filesystem events monitoring <code>>=2.0</code> <code>4.0.1</code> Apache-2.0 zipp Backport of pathlib-compatible object wrapper for zip files <code>>=0.5</code> <code>3.19.2</code> MIT License"},{"location":"credits/#exec-1--development-dependencies","title":"Development dependencies","text":"Project Summary Version (accepted) Version (last resolved) License ansimarkup Produce colored terminal text with an xml-like markup <code>~=1.4</code> <code>1.5.0</code> Revised BSD License appdirs A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\". <code>>=1.4</code> <code>1.4.4</code> MIT Babel Internationalization utilities <code>~=2.10</code> <code>2.15.0</code> BSD-3-Clause backports.tarfile Backport of CPython tarfile module <code>1.2.0</code> MIT License black The uncompromising code formatter. <code>>=24.4</code> <code>24.4.2</code> MIT build A simple, correct Python build frontend <code>>=1.2</code> <code>1.2.1</code> MIT License certifi Python package for providing Mozilla's CA Bundle. <code>>=2017.4.17</code> <code>2024.7.4</code> MPL-2.0 cffi Foreign Function Interface for Python calling C code. <code>>=1.12</code> <code>1.16.0</code> MIT charset-normalizer The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. <code>>=2, <4</code> <code>3.3.2</code> MIT click Composable command line interface toolkit <code>>=7.0</code> <code>8.1.7</code> BSD-3-Clause colorama Cross-platform colored terminal text. <code>>=0.4</code> <code>0.4.6</code> BSD License coverage Code coverage measurement for Python <code>>=5.2.1</code> <code>7.6.0</code> Apache-2.0 cryptography cryptography is a package which provides cryptographic recipes and primitives to Python developers. <code>>=2.0</code> <code>43.0.0</code> Apache-2.0 OR BSD-3-Clause csscompressor A python port of YUI CSS Compressor <code>>=0.9.5</code> <code>0.9.5</code> BSD docutils Docutils -- Python Documentation Utilities <code>>=0.21.2</code> <code>0.21.2</code> Public Domain + Python Software Foundation License + BSD License + GNU General Public License (GPL) duty A simple task runner. <code>>=1.4</code> <code>1.4.0</code> ISC editables Editable installations <code>>=0.5</code> <code>0.5</code> MIT License execnet execnet: rapid multi-Python deployment <code>>=2.1</code> <code>2.1.1</code> MIT failprint Run a command, print its output only if it fails. <code>>=0.11, !=1.0.0</code> <code>1.0.2</code> ISC ghp-import Copy your docs directly to the gh-pages branch. <code>>=1.0</code> <code>2.1.0</code> Apache Software License git-changelog Automatic Changelog generator using Jinja2 templates. <code>>=2.5</code> <code>2.5.2</code> ISC gitdb Git Object Database <code>>=4.0.1, <5</code> <code>4.0.11</code> BSD License GitPython GitPython is a Python library used to interact with Git repositories <code>3.1.43</code> BSD-3-Clause htmlmin2 An HTML Minifier <code>>=0.1.13</code> <code>0.1.13</code> BSD idna Internationalized Domain Names in Applications (IDNA) <code>>=2.5, <4</code> <code>3.7</code> BSD License importlib_metadata Read metadata from Python packages <code>>=4.6, >=4.4</code> <code>8.2.0</code> Apache Software License iniconfig brain-dead simple config-ini parsing <code>2.0.0</code> MIT jaraco.classes Utility functions for Python class constructs <code>3.4.0</code> MIT License jaraco.context Useful decorators and context managers <code>5.3.0</code> MIT License jaraco.functools Functools like those found in stdlib <code>4.0.1</code> MIT License jeepney Low-level, pure Python DBus protocol wrapper. <code>>=0.4.2</code> <code>0.8.0</code> MIT License Jinja2 A very fast and expressive template engine. <code>>=2.11.1, >=2.10</code> <code>3.1.4</code> BSD License jsmin JavaScript minifier. <code>>=3.0.1</code> <code>3.0.1</code> MIT License keyring Store and access your passwords safely. <code>>=15.1</code> <code>25.2.1</code> MIT License Markdown Python implementation of John Gruber's Markdown. <code>>=3.3.6, >=3.3</code> <code>3.6</code> BSD License markdown-callouts Markdown extension: a classier syntax for admonitions <code>>=0.4</code> <code>0.4.0</code> MIT markdown-exec Utilities to execute code blocks in Markdown files. <code>>=1.8</code> <code>1.9.3.1.1.0</code> ISC markdown-it-py Python port of markdown-it. Markdown parsing, done right! <code>>=2.2.0</code> <code>3.0.0</code> MIT License MarkupSafe Safely add untrusted strings to HTML/XML markup. <code>>=2.0.1, >=1.1</code> <code>2.1.5</code> BSD-3-Clause mdurl Markdown URL utilities <code>~=0.1</code> <code>0.1.2</code> MIT License mergedeep A deep merge function for \ud83d\udc0d. <code>>=1.3.4</code> <code>1.3.4</code> MIT License mkdocs Project documentation with Markdown. <code>>=1.6, >=1.4</code> <code>1.6.0</code> BSD-2-Clause mkdocs-autorefs Automatically link across pages in MkDocs. <code>>=0.3.1</code> <code>1.0.1</code> ISC mkdocs-coverage MkDocs plugin to integrate your coverage HTML report into your site. <code>>=1.0</code> <code>1.1.0</code> ISC mkdocs-gen-files MkDocs plugin to programmatically generate documentation pages during the build <code>>=0.5</code> <code>0.5.0</code> MIT mkdocs-get-deps MkDocs extension that lists all dependencies according to a mkdocs.yml file <code>>=0.2.0</code> <code>0.2.0</code> MIT mkdocs-git-committers-plugin-2 An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date <code>>=2.3</code> <code>2.3.0</code> MIT mkdocs-literate-nav MkDocs plugin to specify the navigation in Markdown instead of YAML <code>>=0.6</code> <code>0.6.1</code> MIT mkdocs-material Documentation that simply works <code>>=9.5</code> <code>9.5.30+insiders.4.53.11</code> MIT mkdocs-material-extensions Extension pack for Python Markdown and MkDocs Material. <code>~=1.3</code> <code>1.3.1</code> MIT mkdocs-minify-plugin An MkDocs plugin to minify HTML, JS or CSS files prior to being written to disk <code>>=0.8</code> <code>0.8.0</code> MIT mkdocstrings Automatic documentation from sources, for MkDocs. <code>>=0.25</code> <code>0.25.2</code> ISC more-itertools More routines for operating on iterables, beyond itertools <code>10.3.0</code> MIT License mypy Optional static typing for Python <code>>=1.10</code> <code>1.11.0</code> MIT mypy-extensions Type system extensions for programs checked with the mypy type checker. <code>>=0.4.3</code> <code>1.0.0</code> MIT License nh3 Python bindings to the ammonia HTML sanitization library. <code>>=0.2.14</code> <code>0.2.18</code> MIT packaging Core utilities for Python packages <code>>=24.0, >=20.5</code> <code>24.1</code> Apache Software License + BSD License paginate Divides large result sets into pages for easier browsing <code>~=0.5</code> <code>0.5.6</code> MIT pathspec Utility library for gitignore style pattern matching of file paths. <code>>=0.11.1</code> <code>0.12.1</code> Mozilla Public License 2.0 (MPL 2.0) pkginfo Query metadata from sdists / bdists / installed packages. <code>>=1.8.1</code> <code>1.10.0</code> MIT platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>. <code>>=2.2.0, >=2</code> <code>4.2.2</code> MIT pluggy plugin and hook calling mechanisms for python <code>>=1.5, <2</code> <code>1.5.0</code> MIT ptyprocess Run a subprocess in a pseudo terminal <code>~=0.6</code> <code>0.7.0</code> ISC License (ISCL) pycparser C parser in Python <code>2.22</code> BSD-3-Clause Pygments Pygments is a syntax highlighting package written in Python. <code>~=2.16</code> <code>2.18.0</code> BSD-2-Clause pymdown-extensions Extension pack for Python Markdown. <code>>=6.3</code> <code>10.8.1</code> MIT pyproject_hooks Wrappers to call pyproject.toml-based build backend hooks. <code>1.1.0</code> MIT License pytest pytest: simple powerful testing with Python <code>>=8.2</code> <code>8.3.2</code> MIT pytest-cov Pytest plugin for measuring coverage. <code>>=5.0</code> <code>5.0.0</code> MIT pytest-randomly Pytest plugin to randomly order tests and control random.seed. <code>>=3.15</code> <code>3.15.0</code> MIT pytest-xdist pytest xdist plugin for distributed testing, most importantly across multiple CPUs <code>>=3.6</code> <code>3.6.1</code> MIT License python-dateutil Extensions to the standard Python datetime module <code>>=2.8.1</code> <code>2.9.0.post0</code> BSD License + Apache Software License PyYAML YAML parser and emitter for Python <code>>=5.1</code> <code>6.0.1</code> MIT pyyaml_env_tag A custom YAML tag for referencing environment variables in YAML files. <code>>=0.1</code> <code>0.1</code> MIT License readme_renderer readme_renderer is a library for rendering readme descriptions for Warehouse <code>>=35.0</code> <code>44.0</code> Apache License, Version 2.0 regex Alternative regular expression module, to replace re. <code>>=2022.4</code> <code>2024.7.24</code> Apache Software License requests Python HTTP for Humans. <code>~=2.26</code> <code>2.32.3</code> Apache-2.0 requests-toolbelt A utility belt for advanced users of python-requests <code>>=0.8.0, !=0.9.0</code> <code>1.0.0</code> Apache 2.0 rfc3986 Validating URI References per RFC 3986 <code>>=1.4.0</code> <code>2.0.0</code> Apache 2.0 rich Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal <code>>=12.0.0</code> <code>13.7.1</code> MIT ruff An extremely fast Python linter and code formatter, written in Rust. <code>>=0.4</code> <code>0.5.5</code> MIT SecretStorage Python bindings to FreeDesktop.org Secret Service API <code>>=3.2</code> <code>3.3.3</code> BSD 3-Clause License semver Python helper for Semantic Versioning (https://semver.org) <code>>=2.13</code> <code>3.0.2</code> BSD six Python 2 and 3 compatibility utilities <code>>=1.5</code> <code>1.16.0</code> MIT smmap A pure Python implementation of a sliding window memory map manager <code>>=3.0.1, <6</code> <code>5.0.1</code> BSD twine Collection of utilities for publishing packages on PyPI <code>>=5.0</code> <code>5.1.1</code> Apache Software License types-Markdown Typing stubs for Markdown <code>>=3.6</code> <code>3.6.0.20240316</code> Apache-2.0 license types-PyYAML Typing stubs for PyYAML <code>>=6.0</code> <code>6.0.12.20240724</code> Apache-2.0 license typing_extensions Backported and Experimental Type Hints for Python 3.8+ <code>>=4.1, >=4.0.1</code> <code>4.12.2</code> Python Software Foundation License urllib3 HTTP library with thread-safe connection pooling, file post, and more. <code>>=1.21.1, <3</code> <code>2.2.2</code> MIT License watchdog Filesystem events monitoring <code>>=2.0</code> <code>4.0.1</code> Apache-2.0 zipp Backport of pathlib-compatible object wrapper for zip files <code>>=0.5</code> <code>3.19.2</code> MIT License <p>More credits from the author</p>"},{"location":"license/","title":"License","text":"<pre><code>ISC License\n\nCopyright (c) 2021, Timoth\u00e9e Mazzucotelli\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n</code></pre>"},{"location":"insiders/","title":"Insiders","text":"<p>mkdocstrings-python follows the sponsorware release strategy, which means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor to get access to Insiders, and what's in it for you!</p>"},{"location":"insiders/#what-is-insiders","title":"What is Insiders?","text":"<p>mkdocstrings-python Insiders is a private fork of mkdocstrings-python, hosted as a private GitHub repository. Almost<sup>1</sup> all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.</p> <p>Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into mkdocstrings-python and released for general availability, making them available to all users. Bugfixes are always released in tandem.</p> <p>Sponsorships start as low as $10 a month.<sup>2</sup></p>"},{"location":"insiders/#what-sponsorships-achieve","title":"What sponsorships achieve","text":"<p>Sponsorships make this project sustainable, as they buy the maintainers of this project time \u2013 a very scarce resource \u2013 which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.<sup>3</sup></p> <p>If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships. You're most likely using at least a handful of them, thanks to our awesome sponsors!</p>"},{"location":"insiders/#whats-in-it-for-me","title":"What's in it for me?","text":"<p>The moment you become a sponsor, you'll get immediate access to 9 additional features that you can start using right away, and which are currently exclusively available to sponsors:</p> <ul> <li> Class inheritance diagrams with Mermaid</li> <li> Annotations modernization</li> <li> Parameter headings</li> <li> Automatic cross-references to parameters</li> <li> Automatic cross-references for default parameter values in signatures</li> <li> Automatic rendering of function signature overloads</li> <li> Auto-summary of object members</li> <li> griffe-warnings-deprecated \u2014 [Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</li> <li> griffe-pydantic \u2014 [Project] Griffe extension for Pydantic</li> </ul> <p>These are just the features related to this project. See the complete feature list on the author's main Insiders page.</p>"},{"location":"insiders/#how-to-become-a-sponsor","title":"How to become a sponsor","text":"<p>Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit pawamoy's sponsor profile, and complete a sponsorship of $10 a month or more. You can use your individual or organization GitHub account for sponsoring.</p> <p>Sponsorships lower than $10 a month are also very much appreciated, and useful. They won't grant you access to Insiders, but they will be counted towards reaching sponsorship goals. Every sponsorship helps us implementing new features and releasing them to the public.</p> <p>Important: If you're sponsoring @pawamoy through a GitHub organization, please send a short email to insiders@pawamoy.fr with the name of your organization and the GitHub account of the individual that should be added as a collaborator.<sup>4</sup></p> <p>You can cancel your sponsorship anytime.<sup>5</sup></p> <p> \u00a0 Join our awesome sponsors</p> <p> If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for mkdocstrings-python. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards. </p>"},{"location":"insiders/#funding","title":"Funding","text":""},{"location":"insiders/#goals","title":"Goals","text":"<p>The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is already available or planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.</p> <p></p>"},{"location":"insiders/#1000-gravifridge-fluid-renewal","title":"$ 1,000 \u2014 GraviFridge Fluid Renewal","text":"<ul> <li> Auto-summary of object members</li> <li> Automatic rendering of function signature overloads</li> <li> Parameter headings</li> <li> Automatic cross-references to parameters</li> <li> Automatic cross-references for default parameter values in signatures</li> <li> griffe-pydantic \u2014 [Project] Griffe extension for Pydantic</li> <li> griffe-warnings-deprecated \u2014 [Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</li> </ul>"},{"location":"insiders/#1500-hyperlamp-navigation-tips","title":"$ 1,500 \u2014 HyperLamp Navigation Tips","text":"<ul> <li> Class inheritance diagrams with Mermaid</li> <li> Annotations modernization</li> </ul>"},{"location":"insiders/#2000-fusiondrive-ejection-configuration","title":"$ 2,000 \u2014 FusionDrive Ejection Configuration","text":"<ul> <li> Relative cross-references</li> </ul>"},{"location":"insiders/#goals-completed","title":"Goals completed","text":"<p>This section lists all funding goals that were previously completed, which means that those features were part of Insiders, but are now generally available and can be used by all users.</p> <p></p>"},{"location":"insiders/#500-plasmavac-user-guide","title":"$ 500 \u2014 PlasmaVac User Guide","text":"<ul> <li> Cross-references for type annotations in signatures</li> <li> Symbol types in headings and table of contents</li> <li> griffe-inherited-docstrings \u2014 [Project] Griffe extension for inheriting docstrings</li> </ul>"},{"location":"insiders/#frequently-asked-questions","title":"Frequently asked questions","text":""},{"location":"insiders/#compatibility","title":"Compatibility","text":"<p>We're building an open source project and want to allow outside collaborators to use mkdocstrings-python locally without having access to Insiders. Is this still possible?</p> <p>Yes. Insiders is compatible with mkdocstrings-python. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.</p>"},{"location":"insiders/#payment","title":"Payment","text":"<p>We don't want to pay for sponsorship every month. Are there any other options?</p> <p>Yes. You can sponsor on a yearly basis by switching your GitHub account to a yearly billing cycle. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).</p> <p>If you have any problems or further questions, please reach out to insiders@pawamoy.fr.</p>"},{"location":"insiders/#terms","title":"Terms","text":"<p>Are we allowed to use Insiders under the same terms and conditions as mkdocstrings-python?</p> <p>Yes. Whether you're an individual or a company, you may use mkdocstrings-python Insiders precisely under the same terms as mkdocstrings-python, which are given by the ISC License. However, we kindly ask you to respect our fair use policy:</p> <ul> <li> <p>Please don't distribute the source code of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.</p> </li> <li> <p>If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may use the latest version that's available to you as long as you like. Just remember that GitHub deletes private forks.</p> </li> </ul> <ol> <li> <p>In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by mkdocstrings-python.\u00a0\u21a9</p> </li> <li> <p>Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability.\u00a0\u21a9</p> </li> <li> <p>Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use mkdocstrings-python, you can be sure that bugs are fixed quickly and new features are added regularly.\u00a0\u21a9</p> </li> <li> <p>It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to insiders@pawamoy.fr, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations.\u00a0\u21a9</p> </li> <li> <p>If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable.\u00a0\u21a9</p> </li> </ol>"},{"location":"insiders/changelog/","title":"Changelog","text":""},{"location":"insiders/changelog/#mkdocstrings-python-insiders","title":"mkdocstrings-python Insiders","text":""},{"location":"insiders/changelog/#1.8.3","title":"1.8.3 June 19, 2024","text":"<ul> <li>Update code for Griffe 0.46+ to avoid deprecation warnings</li> </ul>"},{"location":"insiders/changelog/#1.8.2","title":"1.8.2 May 09, 2024","text":"<ul> <li>Don't render cross-refs for default values when signatures aren't separated</li> </ul>"},{"location":"insiders/changelog/#1.8.1","title":"1.8.1 April 19, 2024","text":"<ul> <li>Render enumeration instance name instead of just \"value\", allowing proper cross-reference</li> </ul>"},{"location":"insiders/changelog/#1.8.0","title":"1.8.0 March 24, 2024","text":"<ul> <li>Annotations modernization</li> </ul>"},{"location":"insiders/changelog/#1.7.0","title":"1.7.0 March 24, 2024","text":"<ul> <li>Class inheritance diagrams with Mermaid</li> </ul>"},{"location":"insiders/changelog/#1.6.0","title":"1.6.0 January 30, 2024","text":"<ul> <li>Render cross-references to parameters documentation in signatures and attribute values.</li> <li>Add <code>parameter_headings</code> option to render headings for parameters (enabling permalinks and ToC/inventory entries).</li> <li>Render cross-references for default parameter values in signatures.</li> </ul>"},{"location":"insiders/changelog/#1.5.1","title":"1.5.1 September 12, 2023","text":"<ul> <li>Prevent empty auto-summarized Methods section.</li> </ul>"},{"location":"insiders/changelog/#1.5.0","title":"1.5.0 September 05, 2023","text":"<ul> <li>Render function signature overloads.</li> </ul>"},{"location":"insiders/changelog/#1.4.0","title":"1.4.0 August 27, 2023","text":"<ul> <li>Render cross-references in attribute signatures.</li> </ul>"},{"location":"insiders/changelog/#1.3.0","title":"1.3.0 August 24, 2023","text":"<ul> <li>Add \"method\" symbol type.</li> </ul>"},{"location":"insiders/changelog/#1.2.0","title":"1.2.0 August 20, 2023","text":"<ul> <li>Add member auto-summaries.</li> </ul>"},{"location":"insiders/changelog/#1.1.4","title":"1.1.4 July 17, 2023","text":"<ul> <li>Fix heading level increment for class members.</li> </ul>"},{"location":"insiders/changelog/#1.1.3","title":"1.1.3 July 17, 2023","text":"<ul> <li>Fix heading level (avoid with clause preventing to decrease it).</li> </ul>"},{"location":"insiders/changelog/#1.1.2","title":"1.1.2 July 15, 2023","text":"<ul> <li>Use non-breaking spaces after symbol types.</li> </ul>"},{"location":"insiders/changelog/#1.1.1","title":"1.1.1 June 27, 2023","text":"<ul> <li>Correctly escape expressions in signatures and other rendered types.</li> </ul>"},{"location":"insiders/changelog/#1.1.0","title":"1.1.0 June 4, 2023","text":"<ul> <li>Add Symbol types in headings and table of contents.</li> </ul>"},{"location":"insiders/changelog/#1.0.0","title":"1.0.0 May 10, 2023","text":"<ul> <li>Add cross-references for type annotations in signatures. Make sure to update your local templates as the signature of the <code>format_signature</code> filter has changed. The templates that must be updated: <code>class.html</code>, <code>expression.html</code>, <code>function.html</code> and <code>signature.html</code>.</li> </ul>"},{"location":"insiders/installation/","title":"Getting started with Insiders","text":"<p>mkdocstrings-python Insiders is a compatible drop-in replacement for mkdocstrings-python, and can be installed similarly using <code>pip</code> or <code>git</code>. Note that in order to access the Insiders repository, you need to become an eligible sponsor of @pawamoy on GitHub.</p>"},{"location":"insiders/installation/#installation","title":"Installation","text":""},{"location":"insiders/installation/#with-pypi-insiders","title":"with PyPI Insiders","text":"<p>PyPI Insiders is a tool that helps you keep up-to-date versions of Insiders projects in the PyPI index of your choice (self-hosted, Google registry, Artifactory, etc.).</p> <p>See how to install it and how to use it.</p> <p>We kindly ask that you do not upload the distributions to public registries, as it is against our Terms of use.</p>"},{"location":"insiders/installation/#with-pip-sshhttps","title":"with pip (ssh/https)","text":"<p>mkdocstrings-python Insiders can be installed with <code>pip</code> using SSH:</p> <pre><code>pip install git+ssh://git@github.com/pawamoy-insiders/mkdocstrings-python.git\n</code></pre> <p>Or using HTTPS:</p> <pre><code>pip install git+https://${GH_TOKEN}@github.com/pawamoy-insiders/mkdocstrings-python.git\n</code></pre> How to get a GitHub personal access token <p>The <code>GH_TOKEN</code> environment variable is a GitHub token. It can be obtained by creating a personal access token for your GitHub account. It will give you access to the Insiders repository, programmatically, from the command line or GitHub Actions workflows:</p> <ol> <li>Go to https://github.com/settings/tokens</li> <li>Click on Generate a new token</li> <li>Enter a name and select the <code>repo</code> scope</li> <li>Generate the token and store it in a safe place</li> </ol> <p>Note that the personal access token must be kept secret at all times, as it allows the owner to access your private repositories.</p>"},{"location":"insiders/installation/#with-git","title":"with Git","text":"<p>Of course, you can use mkdocstrings-python Insiders directly using Git:</p> <pre><code>git clone git@github.com:pawamoy-insiders/mkdocstrings-python\n</code></pre> <p>When cloning with Git, the package must be installed:</p> <pre><code>pip install -e mkdocstrings-python\n</code></pre>"},{"location":"insiders/installation/#upgrading","title":"Upgrading","text":"<p>When upgrading Insiders, you should always check the version of mkdocstrings-python which makes up the first part of the version qualifier. For example, a version like <code>8.x.x.4.x.x</code> means that Insiders <code>4.x.x</code> is currently based on <code>8.x.x</code>.</p> <p>If the major version increased, it's a good idea to consult the changelog and go through the steps to ensure your configuration is up to date and all necessary changes have been made.</p>"},{"location":"reference/SUMMARY/","title":"SUMMARY","text":"<ul> <li> mkdocstrings_handlers<ul> <li> python<ul> <li> debug</li> <li> handler</li> <li> rendering</li> </ul> </li> </ul> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/","title":"mkdocstrings_handlers.python","text":""},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python","title":"python","text":"<p>Python handler for mkdocstrings.</p> <p>Modules:</p> <ul> <li> <code>debug</code> \u2013 <p>Debugging utilities.</p> </li> <li> <code>handler</code> \u2013 <p>This module implements a handler for the Python language.</p> </li> <li> <code>rendering</code> \u2013 <p>This module implements rendering utilities.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_handler</code> \u2013 <p>Simply return an instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler","title":"get_handler","text":"<pre><code>get_handler(\n *,\n theme: str,\n custom_templates: str | None = None,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **config: Any\n) -> PythonHandler\n</code></pre> <p>Simply return an instance of <code>PythonHandler</code>.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>An instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(theme)","title":"<code>theme</code>","text":"(<code>str</code>) \u2013 <p>The theme to use when rendering contents.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(custom_templates)","title":"<code>custom_templates</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>Directory containing custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(**config)","title":"<code>**config</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Configuration passed to the handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/","title":"mkdocstrings_handlers.python.debug","text":""},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug","title":"debug","text":"<p>Debugging utilities.</p> <p>Classes:</p> <ul> <li> <code>Environment</code> \u2013 <p>Dataclass to store environment information.</p> </li> <li> <code>Package</code> \u2013 <p>Dataclass describing a Python package.</p> </li> <li> <code>Variable</code> \u2013 <p>Dataclass describing an environment variable.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_debug_info</code> \u2013 <p>Get debug/environment information.</p> </li> <li> <code>get_version</code> \u2013 <p>Get version of the given distribution.</p> </li> <li> <code>print_debug_info</code> \u2013 <p>Print debug/environment information.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment","title":"Environment <code>dataclass</code>","text":"<pre><code>Environment(\n interpreter_name: str,\n interpreter_version: str,\n interpreter_path: str,\n platform: str,\n packages: list[Package],\n variables: list[Variable],\n)\n</code></pre> <p>Dataclass to store environment information.</p> <p>Attributes:</p> <ul> <li> <code>interpreter_name</code> (<code>str</code>) \u2013 <p>Python interpreter name.</p> </li> <li> <code>interpreter_path</code> (<code>str</code>) \u2013 <p>Path to Python executable.</p> </li> <li> <code>interpreter_version</code> (<code>str</code>) \u2013 <p>Python interpreter version.</p> </li> <li> <code>packages</code> (<code>list[Package]</code>) \u2013 <p>Installed packages.</p> </li> <li> <code>platform</code> (<code>str</code>) \u2013 <p>Operating System.</p> </li> <li> <code>variables</code> (<code>list[Variable]</code>) \u2013 <p>Environment variables.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_name","title":"interpreter_name <code>instance-attribute</code>","text":"<pre><code>interpreter_name: str\n</code></pre> <p>Python interpreter name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_path","title":"interpreter_path <code>instance-attribute</code>","text":"<pre><code>interpreter_path: str\n</code></pre> <p>Path to Python executable.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_version","title":"interpreter_version <code>instance-attribute</code>","text":"<pre><code>interpreter_version: str\n</code></pre> <p>Python interpreter version.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.packages","title":"packages <code>instance-attribute</code>","text":"<pre><code>packages: list[Package]\n</code></pre> <p>Installed packages.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.platform","title":"platform <code>instance-attribute</code>","text":"<pre><code>platform: str\n</code></pre> <p>Operating System.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.variables","title":"variables <code>instance-attribute</code>","text":"<pre><code>variables: list[Variable]\n</code></pre> <p>Environment variables.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package","title":"Package <code>dataclass</code>","text":"<pre><code>Package(name: str, version: str)\n</code></pre> <p>Dataclass describing a Python package.</p> <p>Attributes:</p> <ul> <li> <code>name</code> (<code>str</code>) \u2013 <p>Package name.</p> </li> <li> <code>version</code> (<code>str</code>) \u2013 <p>Package version.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.name","title":"name <code>instance-attribute</code>","text":"<pre><code>name: str\n</code></pre> <p>Package name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.version","title":"version <code>instance-attribute</code>","text":"<pre><code>version: str\n</code></pre> <p>Package version.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable","title":"Variable <code>dataclass</code>","text":"<pre><code>Variable(name: str, value: str)\n</code></pre> <p>Dataclass describing an environment variable.</p> <p>Attributes:</p> <ul> <li> <code>name</code> (<code>str</code>) \u2013 <p>Variable name.</p> </li> <li> <code>value</code> (<code>str</code>) \u2013 <p>Variable value.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.name","title":"name <code>instance-attribute</code>","text":"<pre><code>name: str\n</code></pre> <p>Variable name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.value","title":"value <code>instance-attribute</code>","text":"<pre><code>value: str\n</code></pre> <p>Variable value.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_debug_info","title":"get_debug_info","text":"<pre><code>get_debug_info() -> Environment\n</code></pre> <p>Get debug/environment information.</p> <p>Returns:</p> <ul> <li> <code>Environment</code> \u2013 <p>Environment information.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_version","title":"get_version","text":"<pre><code>get_version(dist: str = 'mkdocstrings-python') -> str\n</code></pre> <p>Get version of the given distribution.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>A version number.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.print_debug_info","title":"print_debug_info","text":"<pre><code>print_debug_info() -> None\n</code></pre> <p>Print debug/environment information.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/","title":"mkdocstrings_handlers.python.handler","text":""},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler","title":"handler","text":"<p>This module implements a handler for the Python language.</p> <p>Modules:</p> <ul> <li> <code>rendering</code> \u2013 <p>This module implements rendering utilities.</p> </li> </ul> <p>Classes:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>The Python handler class.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_handler</code> \u2013 <p>Simply return an instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler","title":"PythonHandler","text":"<pre><code>PythonHandler(\n *args: Any,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **kwargs: Any,\n)\n</code></pre> <pre><code>\n flowchart TD\n mkdocstrings_handlers.python.handler.PythonHandler[PythonHandler]\n mkdocstrings.handlers.base.BaseHandler[BaseHandler]\n\n mkdocstrings.handlers.base.BaseHandler --> mkdocstrings_handlers.python.handler.PythonHandler\n \n\n\n click mkdocstrings_handlers.python.handler.PythonHandler href \"\" \"mkdocstrings_handlers.python.handler.PythonHandler\"\n click mkdocstrings.handlers.base.BaseHandler href \"\" \"mkdocstrings.handlers.base.BaseHandler\"\n </code></pre> <p>The Python handler class.</p> <p>Parameters:</p> <p>Methods:</p> <ul> <li> <code>do_convert_markdown</code> \u2013 <p>Render Markdown text; for use inside templates.</p> </li> <li> <code>do_heading</code> \u2013 <p>Render an HTML heading and register it for the table of contents. For use inside templates.</p> </li> <li> <code>get_extended_templates_dirs</code> \u2013 <p>Load template extensions for the given handler, return their templates directories.</p> </li> <li> <code>get_headings</code> \u2013 <p>Return and clear the headings gathered so far.</p> </li> <li> <code>get_templates_dir</code> \u2013 <p>Return the path to the handler's templates directory.</p> </li> <li> <code>load_inventory</code> \u2013 <p>Yield items and their URLs from an inventory file streamed from <code>in_file</code>.</p> </li> <li> <code>normalize_extension_paths</code> \u2013 <p>Resolve extension paths relative to config file.</p> </li> <li> <code>teardown</code> \u2013 <p>Teardown the handler.</p> </li> <li> <code>update_env</code> \u2013 <p>Update the Jinja environment with custom filters and tests.</p> </li> </ul> <p>Attributes:</p> <ul> <li> <code>default_config</code> (<code>dict</code>) \u2013 <p>Default handler configuration.</p> </li> <li> <code>domain</code> (<code>str</code>) \u2013 <p>The cross-documentation domain/language for this handler.</p> </li> <li> <code>enable_inventory</code> (<code>bool</code>) \u2013 <p>Whether this handler is interested in enabling the creation of the <code>objects.inv</code> Sphinx inventory file.</p> </li> <li> <code>extra_css</code> \u2013 <p>Extra CSS.</p> </li> <li> <code>fallback_config</code> (<code>dict</code>) \u2013 <p>The configuration used to collect item during autorefs fallback.</p> </li> <li> <code>fallback_theme</code> \u2013 <p>The fallback theme.</p> </li> <li> <code>name</code> (<code>str</code>) \u2013 <p>The handler's name.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(*args)","title":"<code>*args</code>","text":"(<code>Any</code>, default: <code>()</code> ) \u2013 <p>Handler name, theme and custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs)","title":"<code>**kwargs</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Same thing, but with keyword arguments.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.default_config","title":"default_config <code>class-attribute</code>","text":"<pre><code>default_config: dict = {\n \"find_stubs_package\": False,\n \"docstring_style\": \"google\",\n \"docstring_options\": {},\n \"show_symbol_type_heading\": False,\n \"show_symbol_type_toc\": False,\n \"show_root_heading\": False,\n \"show_root_toc_entry\": True,\n \"show_root_full_path\": True,\n \"show_root_members_full_path\": False,\n \"show_object_full_path\": False,\n \"show_category_heading\": False,\n \"show_if_no_docstring\": False,\n \"show_signature\": True,\n \"show_signature_annotations\": False,\n \"signature_crossrefs\": False,\n \"separate_signature\": False,\n \"line_length\": 60,\n \"merge_init_into_class\": False,\n \"show_docstring_attributes\": True,\n \"show_docstring_functions\": True,\n \"show_docstring_classes\": True,\n \"show_docstring_modules\": True,\n \"show_docstring_description\": True,\n \"show_docstring_examples\": True,\n \"show_docstring_other_parameters\": True,\n \"show_docstring_parameters\": True,\n \"show_docstring_raises\": True,\n \"show_docstring_receives\": True,\n \"show_docstring_returns\": True,\n \"show_docstring_warns\": True,\n \"show_docstring_yields\": True,\n \"show_source\": True,\n \"show_bases\": True,\n \"show_inheritance_diagram\": False,\n \"show_submodules\": False,\n \"group_by_category\": True,\n \"heading_level\": 2,\n \"members_order\": alphabetical.value,\n \"docstring_section_style\": \"table\",\n \"members\": None,\n \"inherited_members\": False,\n \"filters\": [\"!^_[^_]\"],\n \"annotations_path\": \"brief\",\n \"preload_modules\": None,\n \"allow_inspection\": True,\n \"summary\": False,\n \"show_labels\": True,\n \"unwrap_annotated\": False,\n \"parameter_headings\": False,\n \"modernize_annotations\": False,\n}\n</code></pre> <p>Default handler configuration.</p> <p>General options:</p> <ul> <li> <code>find_stubs_package</code> (<code>bool</code>) \u2013 <p>Whether to load stubs package (package-stubs) when extracting docstrings. Default <code>False</code>.</p> </li> <li> <code>allow_inspection</code> (<code>bool</code>) \u2013 <p>Whether to allow inspecting modules when visiting them is not possible. Default: <code>True</code>.</p> </li> <li> <code>show_bases</code> (<code>bool</code>) \u2013 <p>Show the base classes of a class. Default: <code>True</code>.</p> </li> <li> <code>show_inheritance_diagram</code> (<code>bool</code>) \u2013 <p>Show the inheritance diagram of a class using Mermaid. Default: <code>False</code>.</p> </li> <li> <code>show_source</code> (<code>bool</code>) \u2013 <p>Show the source code of this object. Default: <code>True</code>.</p> </li> <li> <code>preload_modules</code> (<code>list[str] | None</code>) \u2013 <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module.</p> <p>The modules must be listed as an array of strings. Default: <code>None</code>.</p> </li> </ul> <p>Headings options:</p> <ul> <li> <code>heading_level</code> (<code>int</code>) \u2013 <p>The initial heading level to use. Default: <code>2</code>.</p> </li> <li> <code>parameter_headings</code> (<code>bool</code>) \u2013 <p>Whether to render headings for parameters (therefore showing parameters in the ToC). Default: <code>False</code>.</p> </li> <li> <code>show_root_heading</code> (<code>bool</code>) \u2013 <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>). Default: <code>False</code>.</p> </li> <li> <code>show_root_toc_entry</code> (<code>bool</code>) \u2013 <p>If the root heading is not shown, at least add a ToC entry for it. Default: <code>True</code>.</p> </li> <li> <code>show_root_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path for the root object heading. Default: <code>True</code>.</p> </li> <li> <code>show_root_members_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of the root members. Default: <code>False</code>.</p> </li> <li> <code>show_object_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of every object. Default: <code>False</code>.</p> </li> <li> <code>show_category_heading</code> (<code>bool</code>) \u2013 <p>When grouped by categories, show a heading for each category. Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_heading</code> (<code>bool</code>) \u2013 <p>Show the symbol type in headings (e.g. mod, class, meth, func and attr). Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_toc</code> (<code>bool</code>) \u2013 <p>Show the symbol type in the Table of Contents (e.g. mod, class, methd, func and attr). Default: <code>False</code>.</p> </li> </ul> <p>Members options:</p> <ul> <li> <code>inherited_members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of inherited members to render. If true, select all inherited members, which can then be filtered with <code>members</code>. If false or empty list, do not select any inherited member. Default: <code>False</code>.</p> </li> <li> <code>members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of members to render. If true, select all members without further filtering. If false or empty list, do not render members. If none, select all members and apply further filtering with filters and docstrings. Default: <code>None</code>.</p> </li> <li> <code>members_order</code> (<code>str</code>) \u2013 <p>The members ordering to use. Options: <code>alphabetical</code> - order by the members names, <code>source</code> - order members as they appear in the source file. Default: <code>\"alphabetical\"</code>.</p> </li> <li> <code>filters</code> (<code>list[str] | None</code>) \u2013 <p>A list of filters applied to filter objects based on their name. A filter starting with <code>!</code> will exclude matching objects instead of including them. The <code>members</code> option takes precedence over <code>filters</code> (filters will still be applied recursively to lower members in the hierarchy). Default: <code>[\"!^_[^_]\"]</code>.</p> </li> <li> <code>group_by_category</code> (<code>bool</code>) \u2013 <p>Group the object's children by categories: attributes, classes, functions, and modules. Default: <code>True</code>.</p> </li> <li> <code>show_submodules</code> (<code>bool</code>) \u2013 <p>When rendering a module, show its submodules recursively. Default: <code>False</code>.</p> </li> <li> <code>summary</code> (<code>bool | dict[str, bool]</code>) \u2013 <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> </li> <li> <code>show_labels</code> (<code>bool</code>) \u2013 <p>Whether to show labels of the members. Default: <code>True</code>.</p> </li> </ul> <p>Docstrings options:</p> <ul> <li> <code>docstring_style</code> (<code>str</code>) \u2013 <p>The docstring style to use: <code>google</code>, <code>numpy</code>, <code>sphinx</code>, or <code>None</code>. Default: <code>\"google\"</code>.</p> </li> <li> <code>docstring_options</code> (<code>dict</code>) \u2013 <p>The options for the docstring parser. See docstring parsers and their options in Griffe docs.</p> </li> <li> <code>docstring_section_style</code> (<code>str</code>) \u2013 <p>The style used to render docstring sections. Options: <code>table</code>, <code>list</code>, <code>spacy</code>. Default: <code>\"table\"</code>.</p> </li> <li> <code>merge_init_into_class</code> (<code>bool</code>) \u2013 <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring. Default: <code>False</code>.</p> </li> <li> <code>show_if_no_docstring</code> (<code>bool</code>) \u2013 <p>Show the object heading even if it has no docstring or children with docstrings. Default: <code>False</code>.</p> </li> <li> <code>show_docstring_attributes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Attributes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_functions</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Functions\" or \"Methods\" sections in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_classes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Classes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_modules</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Modules\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_description</code> (<code>bool</code>) \u2013 <p>Whether to display the textual block (including admonitions) in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_examples</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Examples\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_other_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Other Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_raises</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Raises\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_receives</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Receives\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_returns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Returns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_warns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Warns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_yields</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Yields\" section in the object's docstring. Default: <code>True</code>.</p> </li> </ul> <p>Signatures/annotations options:</p> <ul> <li> <code>annotations_path</code> (<code>str</code>) \u2013 <p>The verbosity for annotations path: <code>brief</code> (recommended), or <code>source</code> (as written in the source). Default: <code>\"brief\"</code>.</p> </li> <li> <code>line_length</code> (<code>int</code>) \u2013 <p>Maximum line length when formatting code/signatures. Default: <code>60</code>.</p> </li> <li> <code>show_signature</code> (<code>bool</code>) \u2013 <p>Show methods and functions signatures. Default: <code>True</code>.</p> </li> <li> <code>show_signature_annotations</code> (<code>bool</code>) \u2013 <p>Show the type annotations in methods and functions signatures. Default: <code>False</code>.</p> </li> <li> <code>signature_crossrefs</code> (<code>bool</code>) \u2013 <p>Whether to render cross-references for type annotations in signatures. Default: <code>False</code>.</p> </li> <li> <code>separate_signature</code> (<code>bool</code>) \u2013 <p>Whether to put the whole signature in a code block below the heading. If Black is installed, the signature is also formatted using it. Default: <code>False</code>.</p> </li> <li> <code>unwrap_annotated</code> (<code>bool</code>) \u2013 <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations. Default: <code>False</code>.</p> </li> <li> <code>modernize_annotations</code> (<code>bool</code>) \u2013 <p>Whether to modernize annotations, for example <code>Optional[str]</code> into <code>str | None</code>. Default: <code>False</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.domain","title":"domain <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>domain: str = 'py'\n</code></pre> <p>The cross-documentation domain/language for this handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory","title":"enable_inventory <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>enable_inventory: bool = True\n</code></pre> <p>Whether this handler is interested in enabling the creation of the <code>objects.inv</code> Sphinx inventory file.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.extra_css","title":"extra_css <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>extra_css = ''\n</code></pre> <p>Extra CSS.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config","title":"fallback_config <code>class-attribute</code>","text":"<pre><code>fallback_config: dict = {'fallback': True}\n</code></pre> <p>The configuration used to collect item during autorefs fallback.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme","title":"fallback_theme <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>fallback_theme = 'material'\n</code></pre> <p>The fallback theme.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.name","title":"name <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>name: str = 'python'\n</code></pre> <p>The handler's name.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown","title":"do_convert_markdown","text":"<pre><code>do_convert_markdown(\n text: str,\n heading_level: int,\n html_id: str = \"\",\n *,\n strip_paragraph: bool = False\n) -> Markup\n</code></pre> <p>Render Markdown text; for use inside templates.</p> <p>Parameters:</p> <ul> <li>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text)","title":"<code>text</code>","text":"(<code>str</code>) \u2013 <p>The text to convert.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level)","title":"<code>heading_level</code>","text":"(<code>int</code>) \u2013 <p>The base heading level to start all Markdown headings from.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id)","title":"<code>html_id</code>","text":"(<code>str</code>, default: <code>''</code> ) \u2013 <p>The HTML id of the element that's considered the parent of this element.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph)","title":"<code>strip_paragraph</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to exclude the <p> tag from around the whole output.</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>An HTML string.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading","title":"do_heading","text":"<pre><code>do_heading(\n content: Markup,\n heading_level: int,\n *,\n role: str | None = None,\n hidden: bool = False,\n toc_label: str | None = None,\n **attributes: str\n) -> Markup\n</code></pre> <p>Render an HTML heading and register it for the table of contents. For use inside templates.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>An HTML string.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content)","title":"<code>content</code>","text":"(<code>Markup</code>) \u2013 <p>The HTML within the heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level)","title":"<code>heading_level</code>","text":"(<code>int</code>) \u2013 <p>The level of heading (e.g. 3 -> <code>h3</code>).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role)","title":"<code>role</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>An optional role for the object bound to this heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden)","title":"<code>hidden</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>If True, only register it for the table of contents, don't render anything.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label)","title":"<code>toc_label</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The title to use in the table of contents ('data-toc-label' attribute).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes)","title":"<code>**attributes</code>","text":"(<code>str</code>, default: <code>{}</code> ) \u2013 <p>Any extra HTML attributes of the heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs","title":"get_extended_templates_dirs","text":"<pre><code>get_extended_templates_dirs(handler: str) -> list[Path]\n</code></pre> <p>Load template extensions for the given handler, return their templates directories.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[Path]</code> \u2013 <p>The extensions templates directories.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler)","title":"<code>handler</code>","text":"(<code>str</code>) \u2013 <p>The name of the handler to get the extended templates directory of.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_headings","title":"get_headings","text":"<pre><code>get_headings() -> Sequence[Element]\n</code></pre> <p>Return and clear the headings gathered so far.</p> <p>Returns:</p> <ul> <li> <code>Sequence[Element]</code> \u2013 <p>A list of HTML elements.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir","title":"get_templates_dir","text":"<pre><code>get_templates_dir(handler: str | None = None) -> Path\n</code></pre> <p>Return the path to the handler's templates directory.</p> <p>Override to customize how the templates directory is found.</p> <p>Parameters:</p> <p>Raises:</p> <ul> <li> <code>ModuleNotFoundError</code> \u2013 <p>When no such handler is installed.</p> </li> <li> <code>FileNotFoundError</code> \u2013 <p>When the templates directory cannot be found.</p> </li> </ul> <p>Returns:</p> <ul> <li> <code>Path</code> \u2013 <p>The templates directory path.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler)","title":"<code>handler</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The name of the handler to get the templates directory of.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory","title":"load_inventory <code>classmethod</code>","text":"<pre><code>load_inventory(\n in_file: BinaryIO,\n url: str,\n base_url: str | None = None,\n domains: list[str] | None = None,\n **kwargs: Any,\n) -> Iterator[tuple[str, str]]\n</code></pre> <p>Yield items and their URLs from an inventory file streamed from <code>in_file</code>.</p> <p>This implements mkdocstrings' <code>load_inventory</code> \"protocol\" (see <code>mkdocstrings.plugin</code>).</p> <p>Parameters:</p> <p>Yields:</p> <ul> <li> <code>str</code> \u2013 <p>Tuples of (item identifier, item URL).</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file)","title":"<code>in_file</code>","text":"(<code>BinaryIO</code>) \u2013 <p>The binary file-like object to read the inventory from.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url)","title":"<code>url</code>","text":"(<code>str</code>) \u2013 <p>The URL that this file is being streamed from (used to guess <code>base_url</code>).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url)","title":"<code>base_url</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The URL that this inventory's sub-paths are relative to.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains)","title":"<code>domains</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of domain strings to filter the inventory by, when not passed, \"py\" will be used.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs)","title":"<code>**kwargs</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Ignore additional arguments passed from the config.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths","title":"normalize_extension_paths","text":"<pre><code>normalize_extension_paths(extensions: Sequence) -> Sequence\n</code></pre> <p>Resolve extension paths relative to config file.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.teardown","title":"teardown","text":"<pre><code>teardown() -> None\n</code></pre> <p>Teardown the handler.</p> <p>This method should be implemented to, for example, terminate a subprocess that was started when creating the handler instance.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env","title":"update_env","text":"<pre><code>update_env(md: Markdown, config: dict) -> None\n</code></pre> <p>Update the Jinja environment with custom filters and tests.</p> <p>Parameters:</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md)","title":"<code>md</code>","text":"(<code>Markdown</code>) \u2013 <p>The Markdown instance.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config)","title":"<code>config</code>","text":"(<code>dict</code>) \u2013 <p>The configuration dictionary.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler","title":"get_handler","text":"<pre><code>get_handler(\n *,\n theme: str,\n custom_templates: str | None = None,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **config: Any\n) -> PythonHandler\n</code></pre> <p>Simply return an instance of <code>PythonHandler</code>.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>An instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(theme)","title":"<code>theme</code>","text":"(<code>str</code>) \u2013 <p>The theme to use when rendering contents.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(custom_templates)","title":"<code>custom_templates</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>Directory containing custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(**config)","title":"<code>**config</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Configuration passed to the handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/","title":"mkdocstrings_handlers.python.rendering","text":""},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering","title":"rendering","text":"<p>This module implements rendering utilities.</p> <p>Classes:</p> <ul> <li> <code>Order</code> \u2013 <p>Enumeration for the possible members ordering.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>do_as_attributes_section</code> \u2013 <p>Build an attributes section from a list of attributes.</p> </li> <li> <code>do_as_classes_section</code> \u2013 <p>Build a classes section from a list of classes.</p> </li> <li> <code>do_as_functions_section</code> \u2013 <p>Build a functions section from a list of functions.</p> </li> <li> <code>do_as_modules_section</code> \u2013 <p>Build a modules section from a list of modules.</p> </li> <li> <code>do_crossref</code> \u2013 <p>Deprecated. Filter to create cross-references.</p> </li> <li> <code>do_filter_objects</code> \u2013 <p>Filter a dictionary of objects based on their docstrings.</p> </li> <li> <code>do_format_attribute</code> \u2013 <p>Format an attribute using Black.</p> </li> <li> <code>do_format_code</code> \u2013 <p>Format code using Black.</p> </li> <li> <code>do_format_signature</code> \u2013 <p>Format a signature using Black.</p> </li> <li> <code>do_get_template</code> \u2013 <p>Get the template name used to render an object.</p> </li> <li> <code>do_multi_crossref</code> \u2013 <p>Deprecated. Filter to create cross-references.</p> </li> <li> <code>do_order_members</code> \u2013 <p>Order members given an ordering method.</p> </li> <li> <code>do_split_path</code> \u2013 <p>Split object paths for building cross-references.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order","title":"Order","text":"<pre><code>\n flowchart TD\n mkdocstrings_handlers.python.rendering.Order[Order]\n\n \n\n click mkdocstrings_handlers.python.rendering.Order href \"\" \"mkdocstrings_handlers.python.rendering.Order\"\n </code></pre> <p>Enumeration for the possible members ordering.</p> <p>Attributes:</p> <ul> <li> <code>alphabetical</code> \u2013 <p>Alphabetical order.</p> </li> <li> <code>source</code> \u2013 <p>Source code order.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order.alphabetical","title":"alphabetical <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>alphabetical = 'alphabetical'\n</code></pre> <p>Alphabetical order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order.source","title":"source <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>source = 'source'\n</code></pre> <p>Source code order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section","title":"do_as_attributes_section","text":"<pre><code>do_as_attributes_section(\n context: Context,\n attributes: Sequence[Attribute],\n *,\n check_public: bool = True\n) -> DocstringSectionAttributes\n</code></pre> <p>Build an attributes section from a list of attributes.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionAttributes</code> \u2013 <p>An attributes docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes)","title":"<code>attributes</code>","text":"(<code>Sequence[Attribute]</code>) \u2013 <p>The attributes to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the attribute is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section","title":"do_as_classes_section","text":"<pre><code>do_as_classes_section(\n context: Context,\n classes: Sequence[Class],\n *,\n check_public: bool = True\n) -> DocstringSectionClasses\n</code></pre> <p>Build a classes section from a list of classes.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionClasses</code> \u2013 <p>A classes docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes)","title":"<code>classes</code>","text":"(<code>Sequence[Class]</code>) \u2013 <p>The classes to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the class is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section","title":"do_as_functions_section","text":"<pre><code>do_as_functions_section(\n context: Context,\n functions: Sequence[Function],\n *,\n check_public: bool = True\n) -> DocstringSectionFunctions\n</code></pre> <p>Build a functions section from a list of functions.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionFunctions</code> \u2013 <p>A functions docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions)","title":"<code>functions</code>","text":"(<code>Sequence[Function]</code>) \u2013 <p>The functions to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the function is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section","title":"do_as_modules_section","text":"<pre><code>do_as_modules_section(\n context: Context,\n modules: Sequence[Module],\n *,\n check_public: bool = True\n) -> DocstringSectionModules\n</code></pre> <p>Build a modules section from a list of modules.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionModules</code> \u2013 <p>A modules docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules)","title":"<code>modules</code>","text":"(<code>Sequence[Module]</code>) \u2013 <p>The modules to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the module is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref","title":"do_crossref","text":"<pre><code>do_crossref(path: str, *, brief: bool = True) -> Markup\n</code></pre> <p>Deprecated. Filter to create cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>Markup text.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref(path)","title":"<code>path</code>","text":"(<code>str</code>) \u2013 <p>The path to link to.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref(brief)","title":"<code>brief</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Show only the last part of the path, add full path as hover.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects","title":"do_filter_objects","text":"<pre><code>do_filter_objects(\n objects_dictionary: dict[str, Object | Alias],\n *,\n filters: Sequence[tuple[Pattern, bool]] | None = None,\n members_list: bool | list[str] | None = None,\n inherited_members: bool | list[str] = False,\n keep_no_docstrings: bool = True\n) -> list[Object | Alias]\n</code></pre> <p>Filter a dictionary of objects based on their docstrings.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[Object | Alias]</code> \u2013 <p>A list of objects.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary)","title":"<code>objects_dictionary</code>","text":"(<code>dict[str, Object | Alias]</code>) \u2013 <p>The dictionary of objects.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(filters)","title":"<code>filters</code>","text":"(<code>Sequence[tuple[Pattern, bool]] | None</code>, default: <code>None</code> ) \u2013 <p>Filters to apply, based on members' names. Each element is a tuple: a pattern, and a boolean indicating whether to reject the object if the pattern matches.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list)","title":"<code>members_list</code>","text":"(<code>bool | list[str] | None</code>, default: <code>None</code> ) \u2013 <p>An optional, explicit list of members to keep. When given and empty, return an empty list. When given and not empty, ignore filters and docstrings presence/absence.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members)","title":"<code>inherited_members</code>","text":"(<code>bool | list[str]</code>, default: <code>False</code> ) \u2013 <p>Whether to keep inherited members or exclude them.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings)","title":"<code>keep_no_docstrings</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to keep objects with no/empty docstrings (recursive check).</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute","title":"do_format_attribute","text":"<pre><code>do_format_attribute(\n context: Context,\n attribute_path: Markup,\n attribute: Attribute,\n line_length: int,\n *,\n crossrefs: bool = False\n) -> str\n</code></pre> <p>Format an attribute using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(context)","title":"<code>context</code>","text":"(<code>Context</code>) \u2013 <p>Jinja context, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path)","title":"<code>attribute_path</code>","text":"(<code>Markup</code>) \u2013 <p>The path of the callable we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute)","title":"<code>attribute</code>","text":"(<code>Attribute</code>) \u2013 <p>The attribute we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs)","title":"<code>crossrefs</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to cross-reference types in the signature.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code","title":"do_format_code","text":"<pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Format code using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code(code)","title":"<code>code</code>","text":"(<code>str</code>) \u2013 <p>The code to format.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature","title":"do_format_signature","text":"<pre><code>do_format_signature(\n context: Context,\n callable_path: Markup,\n function: Function,\n line_length: int,\n *,\n annotations: bool | None = None,\n crossrefs: bool = False\n) -> str\n</code></pre> <p>Format a signature using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(context)","title":"<code>context</code>","text":"(<code>Context</code>) \u2013 <p>Jinja context, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path)","title":"<code>callable_path</code>","text":"(<code>Markup</code>) \u2013 <p>The path of the callable we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(function)","title":"<code>function</code>","text":"(<code>Function</code>) \u2013 <p>The function we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(annotations)","title":"<code>annotations</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Whether to show type annotations.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs)","title":"<code>crossrefs</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to cross-reference types in the signature.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template","title":"do_get_template","text":"<pre><code>do_get_template(\n env: Environment, obj: str | Object\n) -> str | Template\n</code></pre> <p>Get the template name used to render an object.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str | Template</code> \u2013 <p>A template name.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template(env)","title":"<code>env</code>","text":"(<code>Environment</code>) \u2013 <p>The Jinja environment, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template(obj)","title":"<code>obj</code>","text":"(<code>str | Object</code>) \u2013 <p>A Griffe object, or a template name.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref","title":"do_multi_crossref","text":"<pre><code>do_multi_crossref(\n text: str, *, code: bool = True\n) -> Markup\n</code></pre> <p>Deprecated. Filter to create cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>Markup text.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref(text)","title":"<code>text</code>","text":"(<code>str</code>) \u2013 <p>The text to scan.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref(code)","title":"<code>code</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to wrap the result in a code tag.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members","title":"do_order_members","text":"<pre><code>do_order_members(\n members: Sequence[Object | Alias],\n order: Order,\n members_list: bool | list[str] | None,\n) -> Sequence[Object | Alias]\n</code></pre> <p>Order members given an ordering method.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Sequence[Object | Alias]</code> \u2013 <p>The same members, ordered.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(members)","title":"<code>members</code>","text":"(<code>Sequence[Object | Alias]</code>) \u2013 <p>The members to order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(order)","title":"<code>order</code>","text":"(<code>Order</code>) \u2013 <p>The ordering method.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(members_list)","title":"<code>members_list</code>","text":"(<code>bool | list[str] | None</code>) \u2013 <p>An optional member list (manual ordering).</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_split_path","title":"do_split_path","text":"<pre><code>do_split_path(\n path: str, full_path: str\n) -> list[tuple[str, str]]\n</code></pre> <p>Split object paths for building cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[tuple[str, str]]</code> \u2013 <p>A list of pairs (title, full path).</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_split_path(path)","title":"<code>path</code>","text":"(<code>str</code>) \u2013 <p>The path to split.</p>"},{"location":"usage/","title":"Usage","text":"<p>This is the documentation for the NEW Python handler.</p> <p>To read the documentation for the LEGACY handler, go to the legacy handler documentation.</p>"},{"location":"usage/#installation","title":"Installation","text":"<p>You can install this handler as a mkdocstrings extra:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings[python]>=0.18\",\n]\n</code></pre> <p>You can also explicitly depend on the handler:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings-python\",\n]\n</code></pre> <p>The Python handler is the default mkdocstrings handler. You can change the default handler, or explicitely set the Python handler as default by defining the <code>default_handler</code> configuration option of <code>mkdocstrings</code> in <code>mkdocs.yml</code>:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n default_handler: python\n</code></pre>"},{"location":"usage/#injecting-documentation","title":"Injecting documentation","text":"<p>With the Python handler installed and configured as default handler, you can inject documentation for a module, class, function, or any other Python object with mkdocstrings' autodoc syntax, in your Markdown pages:</p> <pre><code>::: path.to.object\n</code></pre> <p>If another handler was defined as default handler, you can explicitely ask for the Python handler to be used when injecting documentation with the <code>handler</code> option:</p> <pre><code>::: path.to.object\n handler: python\n</code></pre>"},{"location":"usage/#configuration","title":"Configuration","text":"<p>When installed, the Python handler becomes the default mkdocstrings handler. You can configure it in <code>mkdocs.yml</code>:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n ... # the Python handler configuration\n</code></pre>"},{"location":"usage/#global-only-options","title":"Global-only options","text":"<p>Some options are global only, and go directly under the handler's name.</p>"},{"location":"usage/#import","title":"<code>import</code>","text":"<p>This option is used to import Sphinx-compatible objects inventories from other documentation sites. For example, you can import the standard library objects inventory like this:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n import:\n - https://docs.python-requests.org/en/master/objects.inv\n</code></pre> <p>When importing an inventory, you enable automatic cross-references to other documentation sites like the standard library docs or any third-party package docs. Typically, you want to import the inventories of your project's dependencies, at least those that are used in the public API. </p> <p>See mkdocstrings' documentation on inventories for more details.</p> <p>Additionally, the Python handler accepts a <code>domains</code> option in the import items, which allows to select the inventory domains to select. By default the Python handler only selects the <code>py</code> domain (for Python objects). You might find useful to also enable the <code>std</code> domain:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n import:\n - url: https://docs.python-requests.org/en/master/objects.inv\n domains: [std, py]\n</code></pre> <p>Note</p> <p>The <code>import</code> option is common to all handlers, however they might implement it differently, or not even implement it.</p>"},{"location":"usage/#paths","title":"<code>paths</code>","text":"<p>This option is used to provide filesystem paths in which to search for Python modules. Non-absolute paths are computed as relative to MkDocs configuration file. Example:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [src] # search packages in the src folder\n</code></pre> <p>More details at Finding modules.</p>"},{"location":"usage/#load_external_modules","title":"<code>load_external_modules</code>","text":"<p>This option allows resolving aliases (imports) to any external module. Modules are considered external when they are not part of the package your are injecting documentation for. Setting this option to <code>True</code> will tell the handler to resolve aliases recursively when they are made public through the <code>__all__</code> variable. By default, the handler will only resolve aliases when they point at a private sibling of the source package, for example aliases going from <code>ast</code> to <code>_ast</code>. Set <code>load_external_modules</code> to <code>False</code> to prevent even that.</p> <p>Use with caution</p> <p> This can load a lot of modules through Griffe, slowing down your build or triggering errors that Griffe does not yet handle. We recommend using the <code>preload_modules</code> option instead, which acts as an include-list rather than as include-all.</p> <p>Example:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n load_external_modules: true\n</code></pre>"},{"location":"usage/#globallocal-options","title":"Global/local options","text":"<p>The other options can be used both globally and locally, under the <code>options</code> key. For example, globally:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n do_something: true\n</code></pre> <p>...and locally, overriding the global configuration:</p> docs/some_page.md<pre><code>::: package.module.class\n options:\n do_something: false\n</code></pre> <p>These options affect how the documentation is collected from sources and rendered. See the following tables summarizing the options, and get more details for each option in the following pages:</p> <ul> <li>General options: various options that do not fit in the other categories</li> <li>Headings options: options related to headings and the table of contents (or sidebar, depending on the theme used)</li> <li>Members options: options related to filtering or ordering members in the generated documentation</li> <li>Docstrings options: options related to docstrings (parsing and rendering)</li> <li>Signature options: options related to signatures and type annotations</li> </ul>"},{"location":"usage/#options-summary","title":"Options summary","text":"<p>Default handler configuration.</p> <p>General options:</p> <ul> <li> <code>find_stubs_package</code> (<code>bool</code>) \u2013 <p>Whether to load stubs package (package-stubs) when extracting docstrings. Default <code>False</code>.</p> </li> <li> <code>allow_inspection</code> (<code>bool</code>) \u2013 <p>Whether to allow inspecting modules when visiting them is not possible. Default: <code>True</code>.</p> </li> <li> <code>show_bases</code> (<code>bool</code>) \u2013 <p>Show the base classes of a class. Default: <code>True</code>.</p> </li> <li> <code>show_inheritance_diagram</code> (<code>bool</code>) \u2013 <p>Show the inheritance diagram of a class using Mermaid. Default: <code>False</code>.</p> </li> <li> <code>show_source</code> (<code>bool</code>) \u2013 <p>Show the source code of this object. Default: <code>True</code>.</p> </li> <li> <code>preload_modules</code> (<code>list[str] | None</code>) \u2013 <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module.</p> <p>The modules must be listed as an array of strings. Default: <code>None</code>.</p> </li> </ul> <p>Headings options:</p> <ul> <li> <code>heading_level</code> (<code>int</code>) \u2013 <p>The initial heading level to use. Default: <code>2</code>.</p> </li> <li> <code>parameter_headings</code> (<code>bool</code>) \u2013 <p>Whether to render headings for parameters (therefore showing parameters in the ToC). Default: <code>False</code>.</p> </li> <li> <code>show_root_heading</code> (<code>bool</code>) \u2013 <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>). Default: <code>False</code>.</p> </li> <li> <code>show_root_toc_entry</code> (<code>bool</code>) \u2013 <p>If the root heading is not shown, at least add a ToC entry for it. Default: <code>True</code>.</p> </li> <li> <code>show_root_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path for the root object heading. Default: <code>True</code>.</p> </li> <li> <code>show_root_members_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of the root members. Default: <code>False</code>.</p> </li> <li> <code>show_object_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of every object. Default: <code>False</code>.</p> </li> <li> <code>show_category_heading</code> (<code>bool</code>) \u2013 <p>When grouped by categories, show a heading for each category. Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_heading</code> (<code>bool</code>) \u2013 <p>Show the symbol type in headings (e.g. mod, class, meth, func and attr). Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_toc</code> (<code>bool</code>) \u2013 <p>Show the symbol type in the Table of Contents (e.g. mod, class, methd, func and attr). Default: <code>False</code>.</p> </li> </ul> <p>Members options:</p> <ul> <li> <code>inherited_members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of inherited members to render. If true, select all inherited members, which can then be filtered with <code>members</code>. If false or empty list, do not select any inherited member. Default: <code>False</code>.</p> </li> <li> <code>members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of members to render. If true, select all members without further filtering. If false or empty list, do not render members. If none, select all members and apply further filtering with filters and docstrings. Default: <code>None</code>.</p> </li> <li> <code>members_order</code> (<code>str</code>) \u2013 <p>The members ordering to use. Options: <code>alphabetical</code> - order by the members names, <code>source</code> - order members as they appear in the source file. Default: <code>\"alphabetical\"</code>.</p> </li> <li> <code>filters</code> (<code>list[str] | None</code>) \u2013 <p>A list of filters applied to filter objects based on their name. A filter starting with <code>!</code> will exclude matching objects instead of including them. The <code>members</code> option takes precedence over <code>filters</code> (filters will still be applied recursively to lower members in the hierarchy). Default: <code>[\"!^_[^_]\"]</code>.</p> </li> <li> <code>group_by_category</code> (<code>bool</code>) \u2013 <p>Group the object's children by categories: attributes, classes, functions, and modules. Default: <code>True</code>.</p> </li> <li> <code>show_submodules</code> (<code>bool</code>) \u2013 <p>When rendering a module, show its submodules recursively. Default: <code>False</code>.</p> </li> <li> <code>summary</code> (<code>bool | dict[str, bool]</code>) \u2013 <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> </li> <li> <code>show_labels</code> (<code>bool</code>) \u2013 <p>Whether to show labels of the members. Default: <code>True</code>.</p> </li> </ul> <p>Docstrings options:</p> <ul> <li> <code>docstring_style</code> (<code>str</code>) \u2013 <p>The docstring style to use: <code>google</code>, <code>numpy</code>, <code>sphinx</code>, or <code>None</code>. Default: <code>\"google\"</code>.</p> </li> <li> <code>docstring_options</code> (<code>dict</code>) \u2013 <p>The options for the docstring parser. See docstring parsers and their options in Griffe docs.</p> </li> <li> <code>docstring_section_style</code> (<code>str</code>) \u2013 <p>The style used to render docstring sections. Options: <code>table</code>, <code>list</code>, <code>spacy</code>. Default: <code>\"table\"</code>.</p> </li> <li> <code>merge_init_into_class</code> (<code>bool</code>) \u2013 <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring. Default: <code>False</code>.</p> </li> <li> <code>show_if_no_docstring</code> (<code>bool</code>) \u2013 <p>Show the object heading even if it has no docstring or children with docstrings. Default: <code>False</code>.</p> </li> <li> <code>show_docstring_attributes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Attributes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_functions</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Functions\" or \"Methods\" sections in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_classes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Classes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_modules</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Modules\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_description</code> (<code>bool</code>) \u2013 <p>Whether to display the textual block (including admonitions) in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_examples</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Examples\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_other_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Other Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_raises</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Raises\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_receives</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Receives\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_returns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Returns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_warns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Warns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_yields</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Yields\" section in the object's docstring. Default: <code>True</code>.</p> </li> </ul> <p>Signatures/annotations options:</p> <ul> <li> <code>annotations_path</code> (<code>str</code>) \u2013 <p>The verbosity for annotations path: <code>brief</code> (recommended), or <code>source</code> (as written in the source). Default: <code>\"brief\"</code>.</p> </li> <li> <code>line_length</code> (<code>int</code>) \u2013 <p>Maximum line length when formatting code/signatures. Default: <code>60</code>.</p> </li> <li> <code>show_signature</code> (<code>bool</code>) \u2013 <p>Show methods and functions signatures. Default: <code>True</code>.</p> </li> <li> <code>show_signature_annotations</code> (<code>bool</code>) \u2013 <p>Show the type annotations in methods and functions signatures. Default: <code>False</code>.</p> </li> <li> <code>signature_crossrefs</code> (<code>bool</code>) \u2013 <p>Whether to render cross-references for type annotations in signatures. Default: <code>False</code>.</p> </li> <li> <code>separate_signature</code> (<code>bool</code>) \u2013 <p>Whether to put the whole signature in a code block below the heading. If Black is installed, the signature is also formatted using it. Default: <code>False</code>.</p> </li> <li> <code>unwrap_annotated</code> (<code>bool</code>) \u2013 <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations. Default: <code>False</code>.</p> </li> <li> <code>modernize_annotations</code> (<code>bool</code>) \u2013 <p>Whether to modernize annotations, for example <code>Optional[str]</code> into <code>str | None</code>. Default: <code>False</code>.</p> </li> </ul>"},{"location":"usage/#finding-modules","title":"Finding modules","text":"<p>There are multiple ways to tell the handler where to find your packages/modules.</p> <p>The recommended method is to use the <code>paths</code> option, as it's the only one that works with the <code>-f</code> option of MkDocs, allowing to build the documentation from any location on the file system. Indeed, the paths provided with the <code>paths</code> option are computed as relative to the configuration file (mkdocs.yml), so that the current working directory has no impact on the build process: you can build the docs from any location on your filesystem.</p>"},{"location":"usage/#using-the-paths-option","title":"Using the <code>paths</code> option","text":"<p>This is the recommended method.</p> <ol> <li> <p>mkdocs.yml in root, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [.] # actually not needed, default\n</code></pre> </li> <li> <p>mkdocs.yml in root, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [src]\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [..]\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [../src]\n</code></pre> </li> </ol> <p>Except for case 1, which is supported by default, we strongly recommend setting the path to your packages using this option, even if it works without it (for example because your project manager automatically adds <code>src</code> to PYTHONPATH), to make sure anyone can build your docs from any location on their filesystem.</p>"},{"location":"usage/#using-the-pythonpath-environment-variable","title":"Using the PYTHONPATH environment variable","text":"<p>This method has limitations.</p> <p>This method might work for you, with your current setup, but not for others trying your build your docs with their own setup/environment. We recommend using the <code>paths</code> method instead.</p> <p>You can take advantage of the usual Python loading mechanisms. In Bash and other shells, you can run your command like this (note the prepended <code>PYTHONPATH=...</code>):</p> <ol> <li> <p>mkdocs.yml in root, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=. mkdocs build # actually not needed, default\n</code></pre> </li> <li> <p>mkdocs.yml in root, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=src mkdocs build\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=. mkdocs build -f docs/mkdocs.yml\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=src mkdocs build -f docs/mkdocs.yml\n</code></pre> </li> </ol>"},{"location":"usage/#installing-your-package-in-the-current-python-environment","title":"Installing your package in the current Python environment","text":"<p>This method has limitations.</p> <p>This method might work for you, with your current setup, but not for others trying your build your docs with their own setup/environment. We recommend using the <code>paths</code> method instead.</p> <p>Install your package in the current environment, and run MkDocs:</p> pipPDMPoetry <pre><code>. venv/bin/activate\npip install -e .\nmkdocs build\n</code></pre> <pre><code>pdm install\npdm run mkdocs build\n</code></pre> <pre><code>poetry install\npoetry run mkdocs build\n</code></pre>"},{"location":"usage/customization/","title":"Customization","text":"<p>It is possible to customize the output of the generated documentation with CSS and/or by overriding templates.</p>"},{"location":"usage/customization/#css-classes","title":"CSS classes","text":"<p>Our templates add CSS classes to many HTML elements to make it possible for users to customize the resulting look and feel.</p> <p>To add CSS rules and style mkdocstrings' output, put them in a CSS file in your docs folder, for example in <code>docs/css/mkdocstrings.css</code>, and reference this file in MkDocs' <code>extra_css</code> configuration option:</p> mkdocs.yml<pre><code>extra_css:\n- css/mkdocstrings.css\n</code></pre> <p>Example:</p> docs/css/mkdocstrings.css<pre><code>.doc-section-title {\n font-weight: bold;\n}\n</code></pre> <p>The following CSS classes are used in the generated HTML:</p> <ul> <li><code>doc</code>: on all the following elements</li> <li><code>doc-children</code>: on <code>div</code>s containing the children of an object</li> <li><code>doc-object</code>: on <code>div</code>s containing an object<ul> <li><code>doc-attribute</code>: on <code>div</code>s containing an attribute</li> <li><code>doc-class</code>: on <code>div</code>s containing a class</li> <li><code>doc-function</code>: on <code>div</code>s containing a function</li> <li><code>doc-module</code>: on <code>div</code>s containing a module</li> </ul> </li> <li><code>doc-heading</code>: on objects headings<ul> <li><code>doc-object-name</code>: on <code>span</code>s wrapping objects names/paths in the heading<ul> <li><code>doc-KIND-name</code>: as above, specific to the kind of object (module, class, function, attribute)</li> </ul> </li> </ul> </li> <li><code>doc-contents</code>: on <code>div</code>s wrapping the docstring then the children (if any)<ul> <li><code>first</code>: same, but only on the root object's contents <code>div</code></li> </ul> </li> <li><code>doc-labels</code>: on <code>span</code>s wrapping the object's labels<ul> <li><code>doc-label</code>: on <code>small</code> elements containing a label<ul> <li><code>doc-label-LABEL</code>: same, where <code>LABEL</code> is replaced by the actual label</li> </ul> </li> </ul> </li> <li><code>doc-section-title</code>: on section titles (depend on the selected style for section rendering)</li> <li><code>doc-section-item</code>: on section items (depend on the selected style for section rendering)</li> <li><code>doc-md-description</code>: on <code>div</code>s containing HTML descriptions converted from Markdown docstrings</li> <li><code>doc-symbol</code>: on <code>code</code> tags of symbol types<ul> <li><code>doc-symbol-heading</code>: on symbol types in headings</li> <li><code>doc-symbol-toc</code>: on symbol types in the ToC</li> <li><code>doc-symbol-KIND</code>: specific to the kind of object (<code>module</code>, <code>class</code>, <code>function</code>, <code>method</code>, <code>attribute</code>)</li> </ul> </li> </ul> <p>Example with colorful labels</p> CSSResult <pre><code>.doc-label { border-radius: 15px; padding: 2px 8px; font-weight: bold; }\n.doc-label-special { background-color: #3330E4; color: white; }\n.doc-label-private { background-color: #F637EC; color: white; }\n.doc-label-property { background-color: #FBB454; color: black; }\n.doc-label-read-only { background-color: #FAEA48; color: black; }\n</code></pre> <p> special private property read-only </p>"},{"location":"usage/customization/#symbol-types","title":"Symbol types","text":""},{"location":"usage/customization/#colors","title":"Colors","text":"<p>You can customize the colors of the symbol types (see <code>show_symbol_type_heading</code> and <code>show_symbol_type_toc</code>) by overriding the values of our CSS variables, for example:</p> docs/css/mkdocstrings.css<pre><code>[data-md-color-scheme=\"default\"] {\n --doc-symbol-parameter-fg-color: #df50af;\n --doc-symbol-attribute-fg-color: #0079ff;\n --doc-symbol-function-fg-color: #00dfa2;\n --doc-symbol-method-fg-color: #00dfa2;\n --doc-symbol-class-fg-color: #d1b619;\n --doc-symbol-module-fg-color: #ff0060;\n\n --doc-symbol-parameter-bg-color: #df50af1a;\n --doc-symbol-attribute-bg-color: #0079ff1a;\n --doc-symbol-function-bg-color: #00dfa21a;\n --doc-symbol-method-bg-color: #00dfa21a;\n --doc-symbol-class-bg-color: #d1b6191a;\n --doc-symbol-module-bg-color: #ff00601a;\n}\n\n[data-md-color-scheme=\"slate\"] {\n --doc-symbol-parameter-fg-color: #ffa8cc;\n --doc-symbol-attribute-fg-color: #963fb8;\n --doc-symbol-function-fg-color: #6d67e4;\n --doc-symbol-method-fg-color: #6d67e4;\n --doc-symbol-class-fg-color: #46c2cb;\n --doc-symbol-module-fg-color: #f2f7a1;\n\n --doc-symbol-parameter-bg-color: #ffa8cc1a;\n --doc-symbol-attribute-bg-color: #963fb81a;\n --doc-symbol-function-bg-color: #6d67e41a;\n --doc-symbol-method-bg-color: #6d67e41a;\n --doc-symbol-class-bg-color: #46c2cb1a;\n --doc-symbol-module-bg-color: #f2f7a11a;\n}\n</code></pre> <p>The <code>[data-md-color-scheme=\"*\"]</code> selectors work with the Material for MkDocs theme. If you are using another theme, adapt the selectors to this theme if it supports light and dark themes, otherwise just override the variables at root level:</p> docs/css/mkdocstrings.css<pre><code>:root {\n --doc-symbol-parameter-fg-color: #df50af;\n --doc-symbol-attribute-fg-color: #0079ff;\n --doc-symbol-function-fg-color: #00dfa2;\n --doc-symbol-method-fg-color: #00dfa2;\n --doc-symbol-class-fg-color: #d1b619;\n --doc-symbol-module-fg-color: #ff0060;\n\n --doc-symbol-parameter-bg-color: #df50af1a;\n --doc-symbol-attribute-bg-color: #0079ff1a;\n --doc-symbol-function-bg-color: #00dfa21a;\n --doc-symbol-method-bg-color: #00dfa21a;\n --doc-symbol-class-bg-color: #d1b6191a;\n --doc-symbol-module-bg-color: #ff00601a;\n}\n</code></pre> <p>Preview</p> <p> Try cycling through the themes to see the colors for each theme: <code></code> <code></code> <code></code> <code></code> <code></code> <code></code> </p>"},{"location":"usage/customization/#names","title":"Names","text":"<p>You can also change the actual symbol names. For example, to use single letters instead of truncated types:</p> docs/css/mkdocstrings.css<pre><code>.doc-symbol-parameter::after {\n content: \"P\";\n}\n\n.doc-symbol-attribute::after {\n content: \"A\";\n}\n\n.doc-symbol-function::after {\n content: \"F\";\n}\n\n.doc-symbol-method::after {\n content: \"M\";\n}\n\n.doc-symbol-class::after {\n content: \"C\";\n}\n\n.doc-symbol-module::after {\n content: \"M\";\n}\n</code></pre> <p>Preview</p> <ul> <li>Parameter: <code></code></li> <li>Attribute: <code></code></li> <li>Function: <code></code></li> <li>Method: <code></code></li> <li>Class: <code></code></li> <li>Module: <code></code></li> </ul>"},{"location":"usage/customization/#templates","title":"Templates","text":"<p>Templates are organized into the following tree:</p> <pre><code>\ud83d\udcc1 theme/\n\u251c\u2500\u2500 attribute.html\n\u251c\u2500\u2500 attribute.html.jinja\n\u251c\u2500\u2500 children.html\n\u251c\u2500\u2500 children.html.jinja\n\u251c\u2500\u2500 class.html\n\u251c\u2500\u2500 class.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 docstring/\n\u2502 \u251c\u2500\u2500 admonition.html\n\u2502 \u251c\u2500\u2500 admonition.html.jinja\n\u2502 \u251c\u2500\u2500 attributes.html\n\u2502 \u251c\u2500\u2500 attributes.html.jinja\n\u2502 \u251c\u2500\u2500 classes.html\n\u2502 \u251c\u2500\u2500 classes.html.jinja\n\u2502 \u251c\u2500\u2500 examples.html\n\u2502 \u251c\u2500\u2500 examples.html.jinja\n\u2502 \u251c\u2500\u2500 functions.html\n\u2502 \u251c\u2500\u2500 functions.html.jinja\n\u2502 \u251c\u2500\u2500 modules.html\n\u2502 \u251c\u2500\u2500 modules.html.jinja\n\u2502 \u251c\u2500\u2500 other_parameters.html\n\u2502 \u251c\u2500\u2500 other_parameters.html.jinja\n\u2502 \u251c\u2500\u2500 parameters.html\n\u2502 \u251c\u2500\u2500 parameters.html.jinja\n\u2502 \u251c\u2500\u2500 raises.html\n\u2502 \u251c\u2500\u2500 raises.html.jinja\n\u2502 \u251c\u2500\u2500 receives.html\n\u2502 \u251c\u2500\u2500 receives.html.jinja\n\u2502 \u251c\u2500\u2500 returns.html\n\u2502 \u251c\u2500\u2500 returns.html.jinja\n\u2502 \u251c\u2500\u2500 warns.html\n\u2502 \u251c\u2500\u2500 warns.html.jinja\n\u2502 \u251c\u2500\u2500 yields.html\n\u2502 \u2514\u2500\u2500 yields.html.jinja\n\u251c\u2500\u2500 docstring.html\n\u251c\u2500\u2500 docstring.html.jinja\n\u251c\u2500\u2500 expression.html\n\u251c\u2500\u2500 expression.html.jinja\n\u251c\u2500\u2500 function.html\n\u251c\u2500\u2500 function.html.jinja\n\u251c\u2500\u2500 labels.html\n\u251c\u2500\u2500 labels.html.jinja\n\u251c\u2500\u2500 language.html\n\u251c\u2500\u2500 language.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 languages/\n\u2502 \u251c\u2500\u2500 en.html\n\u2502 \u251c\u2500\u2500 en.html.jinja\n\u2502 \u251c\u2500\u2500 ja.html\n\u2502 \u251c\u2500\u2500 ja.html.jinja\n\u2502 \u251c\u2500\u2500 zh.html\n\u2502 \u2514\u2500\u2500 zh.html.jinja\n\u251c\u2500\u2500 module.html\n\u251c\u2500\u2500 module.html.jinja\n\u251c\u2500\u2500 signature.html\n\u251c\u2500\u2500 signature.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 summary/\n\u2502 \u251c\u2500\u2500 attributes.html\n\u2502 \u251c\u2500\u2500 attributes.html.jinja\n\u2502 \u251c\u2500\u2500 classes.html\n\u2502 \u251c\u2500\u2500 classes.html.jinja\n\u2502 \u251c\u2500\u2500 functions.html\n\u2502 \u251c\u2500\u2500 functions.html.jinja\n\u2502 \u251c\u2500\u2500 modules.html\n\u2502 \u2514\u2500\u2500 modules.html.jinja\n\u251c\u2500\u2500 summary.html\n\u2514\u2500\u2500 summary.html.jinja\n</code></pre> <p>See them in the repository. See the general mkdocstrings documentation to learn how to override them: https://mkdocstrings.github.io/theming/#templates.</p> <p>Each one of these templates extends a base version in <code>theme/_base</code>. Example:</p> theme/class.html<pre><code>{% extends \"_base/class.html\" %}\n</code></pre> <p>Some of these templates define Jinja blocks. allowing to customize only parts of a template without having to fully copy-paste it into your project:</p> templates/theme/class.html<pre><code>{% extends \"_base/class.html\" %}\n{% block contents %}\n {{ block.super }}\n Additional contents\n{% endblock contents %}\n</code></pre>"},{"location":"usage/customization/#available-blocks","title":"Available blocks","text":"<p>Only the templates for the Material for MkDocs provide Jinja blocks. The following tables show the block names, description, and the Jinja context available in their scope.</p>"},{"location":"usage/customization/#modulehtml","title":"<code>module.html</code>","text":"<ul> <li><code>heading</code>: The module heading.</li> <li><code>labels</code>: The module labels.</li> <li><code>contents</code>: The module contents: docstring and children blocks.</li> <li><code>docstring</code>: The module docstring.</li> <li><code>summary</code>: The automatic summaries of members.</li> <li><code>children</code>: The module children.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>module</code>: The Module instance.</li> </ul>"},{"location":"usage/customization/#classhtml","title":"<code>class.html</code>","text":"<ul> <li><code>heading</code>: The class heading.</li> <li><code>labels</code>: The class labels.</li> <li><code>signature</code>: The class signature.</li> <li><code>contents</code>: The class contents: bases, docstring, source and children blocks.</li> <li><code>bases</code>: The class bases.</li> <li><code>docstring</code>: The class docstring.</li> <li><code>summary</code>: The automatic summaries of members.</li> <li><code>source</code>: The class source code.</li> <li><code>children</code>: The class children.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>class</code>: The Class instance.</li> </ul>"},{"location":"usage/customization/#functionhtml","title":"<code>function.html</code>","text":"<ul> <li><code>heading</code>: The function heading.</li> <li><code>labels</code>: The function labels.</li> <li><code>signature</code>: The function signature.</li> <li><code>contents</code>: The function contents: docstring and source blocks.</li> <li><code>docstring</code>: The function docstring.</li> <li><code>source</code>: The function source code.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>function</code>: The Function instance.</li> </ul>"},{"location":"usage/customization/#attributehtml","title":"<code>attribute.html</code>","text":"<ul> <li><code>heading</code>: The attribute heading.</li> <li><code>labels</code>: The attribute labels.</li> <li><code>signature</code>: The attribute signature.</li> <li><code>contents</code>: The attribute contents: docstring block.</li> <li><code>docstring</code>: The attribute docstring.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>attribute</code>: The Attribute instance.</li> </ul>"},{"location":"usage/customization/#docstring-sections","title":"Docstring sections","text":"<p>In <code>docstring/attributes.html</code>, <code>docstring/functions.html</code>, <code>docstring/classes.html</code>, <code>docstring/modules.html</code>, <code>docstring/other_parameters.html</code>, <code>docstring/parameters.html</code>, <code>docstring/raises.html</code>, <code>docstring/receives.html</code>, <code>docstring/returns.html</code>, <code>docstring/warns.html</code>, and <code>docstring/yields.html</code>:</p> <ul> <li><code>table_style</code>: The section as a table.</li> <li><code>list_style</code>: The section as a list.</li> <li><code>spacy_style</code>: The section as a Spacy table.</li> </ul> <p>Available context:</p> <ul> <li><code>section</code>: The DocstringSection instance (see <code>DocstringSection*</code> subclasses).</li> </ul>"},{"location":"usage/customization/#syntax-highlight-in-signatures","title":"Syntax highlight in signatures","text":"<p>You can customize the colors in syntax highlighted signatures. If you are using the Material for MkDocs theme, here are some customization examples:</p> <pre><code>/* Fancier color for operators such as * and |. */\n.doc-signature .o {\n color: var(--md-code-hl-special-color);\n}\n\n/* Fancier color for constants such as None, True, and False. */\n.doc-signature .kc {\n color: var(--md-code-hl-constant-color);\n}\n\n/* Fancier color for built-in types (only useful when cross-references are used). */\n.doc-signature .n > a[href^=\"https://docs.python.org/\"][href*=\"/functions.html#\"],\n.doc-signature .n > a[href^=\"https://docs.python.org/\"][href*=\"/stdtypes.html#\"] {\n color: var(--md-code-hl-constant-color);\n}\n</code></pre> <p>For other themes, use their own CSS variables, or use plain colors such as <code>violet</code> or <code>#2987f2</code>.</p>"},{"location":"usage/customization/#style-recommendations","title":"Style recommendations","text":""},{"location":"usage/customization/#material","title":"Material","text":"<p>Here are some CSS rules for the Material for MkDocs theme:</p> <pre><code>/* Indentation. */\ndiv.doc-contents:not(.first) {\n padding-left: 25px;\n border-left: .05rem solid var(--md-typeset-table-color);\n}\n\n/* Mark external links as such. */\na.external::after,\na.autorefs-external::after {\n /* https://primer.style/octicons/arrow-up-right-24 */\n mask-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\"></path></svg>');\n -webkit-mask-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\"></path></svg>');\n content: ' ';\n\n display: inline-block;\n vertical-align: middle;\n position: relative;\n\n height: 1em;\n width: 1em;\n background-color: currentColor;\n}\n\na.external:hover::after,\na.autorefs-external:hover::after {\n background-color: var(--md-accent-fg-color);\n}\n</code></pre> <p></p>"},{"location":"usage/customization/#readthedocs","title":"ReadTheDocs","text":"<p>Here are some CSS rules for the built-in ReadTheDocs theme:</p> <pre><code>/* Indentation. */\ndiv.doc-contents:not(.first) {\n padding-left: 25px;\n border-left: .05rem solid rgba(200, 200, 200, 0.2);\n}\n</code></pre>"},{"location":"usage/extensions/","title":"Extensions","text":""},{"location":"usage/extensions/#work-in-progress","title":"Work in Progress!","text":"<p>The Python handler supports extensions through mkdocstrings' handler extensions.</p> <p>Specifically, additional templates can be added to the handler, and Griffe extensions can instruct the handler to use a particular template for a particular object by setting a value in the Griffe object's <code>extra</code> dictionary:</p> griffe_extension.py<pre><code>obj = ... # get a reference to a Griffe object\nif \"mkdocstrings\" not in obj.extra:\n obj.extra[\"mkdocstrings\"] = {}\nobj.extra[\"mkdocstrings\"][\"template\"] = \"template_name.html\"\n</code></pre>"},{"location":"usage/configuration/docstrings/","title":"Docstrings options","text":""},{"location":"usage/configuration/docstrings/#docstring_style","title":"<code>docstring_style</code>","text":"<ul> <li> Type <code>str</code> <code>\"google\"</code></li> </ul> <p>The docstring style to expect when parsing docstrings.</p> <p>Possible values:</p> <ul> <li><code>\"google\"</code>: see Google style.</li> <li><code>\"numpy\"</code>: see Numpy style.</li> <li><code>\"sphinx\"</code>: see Sphinx style.</li> <li><code>None</code> (<code>null</code> or <code>~</code> in YAML): no style at all, parse as regular text.</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_style: google\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_style: numpy\n</code></pre> <p>Preview</p> <p>Every style gets rendered the same way. Here are some docstring examples.</p> GoogleNumpySphinx <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n Parameters:\n name: The name of the person to greet.\n\n Returns:\n A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre> <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n Parameters\n ----------\n name\n The name of the person to greet.\n\n Returns\n -------\n A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre> <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n :param name: The name of the person to greet.\n :return: A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre>"},{"location":"usage/configuration/docstrings/#docstring_options","title":"<code>docstring_options</code><code>PrintOK</code><code>PrintOK</code>","text":"<ul> <li> Type <code>dict</code> <code>{}</code></li> </ul> <p>The options for the docstring parser.</p> <ul> <li>Google-style options</li> <li>Numpydoc-style options</li> </ul> <p>The Sphinx style does not offer any option.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_options:\n ignore_init_summary: false\n trim_doctest_flags: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_options:\n ignore_init_summary: true\n trim_doctest_flags: false\n</code></pre> <pre><code>class PrintOK:\n \"\"\"Class docstring.\"\"\"\n\n def __init__(self):\n \"\"\"Initialize the instance.\n\n Examples:\n >>> PrintOK() # doctest: +NORMALIZE_WHITESPACE\n ok\n \"\"\"\n print(\"ok\")\n</code></pre> <p>Preview</p> Ignore init summary, trim doctest flagsKeep init summary and doctest flags <p>Class docstring.</p> <code>__init__</code> <p>Examples:</p> <pre><code>>>> PrintOK()\nok\n</code></pre> <p>Class docstring.</p> <code>__init__</code> <p>Initialize the instance.</p> <p>Examples:</p> <pre><code>>>> PrintOK() # doctest: +NORMALIZE_WHITESPACE\nok\n</code></pre>"},{"location":"usage/configuration/docstrings/#docstring_section_style","title":"<code>docstring_section_style</code>","text":"<ul> <li> Type <code>str</code> <code>\"table\"</code></li> </ul> <p>The style used to render docstring sections.</p> <p>A section is a block of text that has a special meaning in a docstring. There are sections for documenting attributes of an object, parameters of a function, exceptions raised by a function, the return value of a function, etc.</p> <p>Sections are parsed as structured data and can therefore be rendered in different ways. Possible values:</p> <ul> <li><code>\"table\"</code>: a simple table, usually with type, name and description columns</li> <li><code>\"list\"</code>: a simple list, akin to what you get with the ReadTheDocs Sphinx theme</li> <li><code>\"spacy\"</code>: a poor implementation of the amazing tables in Spacy's documentation</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_section_style: table\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_section_style: list\n</code></pre> <p>Preview</p> TableListSpacy <p>Tables work well when you have lots of items with short names, type annotations, descriptions, etc.. With longer strings, the columns risk getting squished horizontally. In that case, the Spacy tables can help.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>threshold</code> Threshold for something. required <code>bool</code> <code>flag</code> Enable something. <code>False</code> <p>Other Parameters:</p> Type Name Description Default <code>list[int | float]</code> <code>gravity_forces</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. required <code>VacuumType | Literal[\"regular\"]</code> <code>vacuum_type</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <code>VacuumType.PLASMA</code> <p>Lists work well whatever the length of names, type annotations, descriptions, etc.</p> <p>Parameters:</p> <ul> <li><code>threshold</code> (<code>int</code>) \u2014 Threshold for something.</li> <li><code>flag</code> (<code>bool</code>) \u2014 Enable something.</li> </ul> <p>Other Parameters:</p> <ul> <li><code>gravity_forces</code> (<code>list[int | float]</code>) \u2014 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li> <li><code>vacuum_type</code> (<code>VacuumType | Literal[\"regular\"]</code>) \u2014 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li> </ul> <p>Spacy tables work better than regular tables with longer names, type annotations, descriptions, etc., by reserving more horizontal space on the second column.</p> <p>Parameters:</p> Name Description <code>threshold</code> Threshold for something.TYPE: <code>int</code> DEFAULT: required <code>flag</code> Enable something.TYPE: <code>bool</code> DEFAULT: <code>False</code> <p>Other Parameters:</p> Name Description <code>gravity_forces</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.TYPE: <code>list[int | float]</code> DEFAULT: required <code>vacuum_type</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.TYPE:<code>VacuumType | Literal[\"regular\"]</code> DEFAULT: <code>VacuumType.PLASMA</code>"},{"location":"usage/configuration/docstrings/#merge_init_into_class","title":"<code>merge_init_into_class</code><code>Thing(value=0)</code><code>Thing</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring.</p> <p>By default, only the class name is rendered in headings. When merging, the <code>__init__</code> method parameters are added after the class name, like a signature, and the <code>__init__</code> method docstring is appended to the class' docstring. This option is well used in combination with the <code>ignore_init_summary</code> docstring option, to discard the first line of the <code>__init__</code> docstring which is not often useful.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_options:\n ignore_init_summary: false\n merge_init_into_class: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_options:\n ignore_init_summary: true\n merge_init_into_class: true\n</code></pre> <pre><code>class Thing:\n \"\"\"A class for things.\"\"\"\n\n def __init__(self, value: int = 0):\n \"\"\"Initialize a thing.\n\n Parameters:\n value: The thing's value.\n \"\"\"\n self.value = value\n</code></pre> <p>Preview</p> Merged, summary discardedUnmerged, summary kept <p>Class docstring.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>value</code> The thing's value. <code>0</code> <p>Class docstring.</p> <code>__init__(value=0)</code> <p>Initialize a thing.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>value</code> The thing's value. <code>0</code>"},{"location":"usage/configuration/docstrings/#show_if_no_docstring","title":"<code>show_if_no_docstring</code><code>function_without_docstring</code><code>function_with_docstring</code><code>ClassWithoutDocstring</code><code>function_with_docstring</code><code>ClassWithoutDocstring</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the object heading even if it has no docstring or children with docstrings.</p> <p>Without an explicit list of <code>members</code>, members are selected based on <code>filters</code>, and then filtered again to keep only those with docstrings. Checking if a member has a docstring is done recursively: if at least one of its direct or indirect members (lower in the tree) has a docstring, the member is rendered. If the member does not have a docstring, and none of its members have a docstring, it is excluded.</p> <p>With this option you can tell the Python handler to skip the docstring check.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_if_no_docstring: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_if_no_docstring: true\n</code></pre> <pre><code>def function_without_docstring():\n ...\n\n\ndef function_with_docstring():\n \"\"\"Hello.\"\"\"\n\n\nclass ClassWithoutDocstring:\n def method_without_docstring(self):\n ...\n\n def method_with_docstring(self):\n \"\"\"Hello.\"\"\"\n</code></pre> <p>Preview</p> ShowDon't show <p>Hello.</p> <code>method_without_docstring</code> <code>method_with_docstring</code> <p>Hello.</p> <p>Hello.</p> <code>method_with_docstring</code> <p>Hello.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_attributes","title":"<code>show_docstring_attributes</code><code>Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Attributes\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_attributes: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_attributes: false\n</code></pre> <pre><code>class Class:\n \"\"\"Summary.\n\n Attributes:\n attr: Some attribute.\n \"\"\"\n\n attr: int = 1\n</code></pre> <p>Preview</p> With attributesWithout attributes <p>Summary.</p> <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute. <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_functions","title":"<code>show_docstring_functions</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Functions\" or \"Methods\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_functions: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_functions: false\n</code></pre> <pre><code>\"\"\"Summary.\n\nFunctions:\n foo: Some function.\n\"\"\"\n\n\ndef foo():\n ...\n\n\nclass Class:\n \"\"\"Summary.\n\n Methods:\n bar: Some method.\n \"\"\"\n\n def bar(self):\n ...\n</code></pre> <p>Preview</p> With functionsWithout functions <p>Summary.</p> <p>Functions:</p> Name Description <code>foo</code> Some function. <code>Class</code> <p>Summary.</p> <p>Methods:</p> Name Description <code>bar</code> Some method. <p>Summary.</p> <code>Class</code> <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_classes","title":"<code>show_docstring_classes</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Classes\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_classes: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_classes: false\n</code></pre> <pre><code>\"\"\"Summary.\n\nClasses:\n Class: Some class.\n\"\"\"\n\n\nclass Class:\n \"\"\"Summary.\"\"\"\n</code></pre> <p>Preview</p> With classesWithout classes <p>Summary.</p> <p>Classes:</p> Name Description <code>Class</code> Some class. <code>Class</code> <p>Summary.</p> <p>Summary.</p> <code>Class</code> <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_modules","title":"<code>show_docstring_modules</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Modules\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_modules: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_modules: false\n</code></pre> <pre><code>\ud83d\udcc1 module/\n\u251c\u2500\u2500 __init__.py\n\u2514\u2500\u2500 submodule.py\n</code></pre> module/__init__.py<pre><code>\"\"\"Summary.\n\nModules:\n submodule: Some module.\n\"\"\"\n</code></pre> <p>Preview</p> With modulesWithout modules <p>Summary.</p> <p>Modules:</p> Name Description <code>submodule</code> Some module. <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_description","title":"<code>show_docstring_description</code><code>Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the textual blocks (including admonitions) of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_description: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_description: false\n</code></pre> <pre><code>class Class:\n \"\"\"Summary.\n\n Long description.\n\n Warning: Deprecated\n Stop using this class.\n\n Attributes:\n attr: Some attribute.\n \"\"\"\n\n attr: int = 1\n</code></pre> <p>Preview</p> With description blocksWithout description blocks <p>Summary.</p> <p>Long description.</p> Deprecated<p>Stop using this class.</p> <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute. <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute."},{"location":"usage/configuration/docstrings/#show_docstring_examples","title":"<code>show_docstring_examples</code><code>print_hello</code><code>print_hello</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Examples\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_examples: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_examples: false\n</code></pre> <pre><code>def print_hello():\n \"\"\"Print hello.\n\n Examples:\n >>> print(\"hello\")\n hello\n \"\"\"\n print(\"hello\")\n</code></pre> <p>Preview</p> With examplesWithout examples <p>Print hello.</p> <p>Examples:</p> <pre><code>>>> print(\"hello\")\nhello\n</code></pre> <p>Print hello.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_other_parameters","title":"<code>show_docstring_other_parameters</code><code>do_something</code><code>do_something</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Other Parameters\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_other_parameters: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_other_parameters: false\n</code></pre> <pre><code>def do_something(**kwargs):\n \"\"\"Do something.\n\n Other parameters:\n whatever (int): Some integer.\n \"\"\"\n</code></pre> <p>Preview</p> With other parametersWithout other parameters <p>Do something.</p> <p>Other parameters:</p> Type Name Description <code>int</code> <code>whatever</code> Some integer. <p>Do something.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_parameters","title":"<code>show_docstring_parameters</code><code>do_something</code><code>do_something</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Parameters\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_parameters: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_parameters: false\n</code></pre> <pre><code>def do_something(whatever: int = 0):\n \"\"\"Do something.\n\n Parameters:\n whatever: Some integer.\n \"\"\"\n</code></pre> <p>Preview</p> With parametersWithout parameters <p>Do something.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>whatever</code> Some integer. <code>0</code> <p>Do something.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_raises","title":"<code>show_docstring_raises</code><code>raise_runtime_error</code><code>raise_runtime_error</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Raises\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_raises: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_raises: false\n</code></pre> <pre><code>def raise_runtime_error():\n \"\"\"Raise a runtime error.\n\n Raises:\n RuntimeError: Not good.\n \"\"\"\n raise RuntimeError\n</code></pre> <p>Preview</p> With exceptionsWithout exceptions <p>Raise a runtime error.</p> <p>Raises:</p> Type Description <code>RuntimeError</code> Not good. <p>Raise a runtime error.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_receives","title":"<code>show_docstring_receives</code><code>iter_skip</code><code>iter_skip</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Receives\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_receives: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_receives: false\n</code></pre> <pre><code>def iter_skip(\n iterable: Iterable[T],\n initial_skip: int = 0,\n) -> Generator[T, int, None]:\n \"\"\"Iterate and skip elements.\n\n Receives:\n skip: Number of elements to skip.\n \"\"\"\n skip = initial_skip\n for element in iterable:\n if skip or 0 > 0:\n skip -= 1\n else:\n skip = yield element\n</code></pre> <p>Preview</p> With received valuesWithout received values <p>Iterate and skip elements.</p> <p>Receives:</p> Type Description <code>int</code> Number of elements to skip. <p>Iterate and skip elements.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_returns","title":"<code>show_docstring_returns</code><code>rand</code><code>rand</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Returns\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_returns: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_returns: false\n</code></pre> <pre><code>def rand() -> int:\n \"\"\"Return a random number.\n\n Returns:\n A random number.\n \"\"\"\n return random.randint(0, 1000)\n</code></pre> <p>Preview</p> With return valueWithout return value <p>Return a random number.</p> <p>Returns:</p> Type Description <code>int</code> A random number. <p>Return a random number.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_warns","title":"<code>show_docstring_warns</code><code>warn</code><code>warn</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Warns\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_warns: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_warns: false\n</code></pre> <pre><code>def warn():\n \"\"\"Warn user.\n\n Warns:\n UserWarning: When this is inappropriate.\n \"\"\"\n warnings.warn(UserWarning(\"This is inappropriate\"))\n</code></pre> <p>Preview</p> With warningsWithout warnings <p>Warn user.</p> <p>Warns:</p> Type Description <code>UserWarning</code> When this is inappropriate. <p>Warn user.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_yields","title":"<code>show_docstring_yields</code><code>iter_skip</code><code>iter_skip</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Yields\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_yields: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_yields: false\n</code></pre> <pre><code>def iter_skip(\n iterable: Iterable[T],\n initial_skip: int = 0,\n) -> Generator[T, int, None]:\n \"\"\"Iterate and skip elements.\n\n Yields:\n Elements of the iterable.\n \"\"\"\n skip = initial_skip\n for element in iterable:\n if skip or 0 > 0:\n skip -= 1\n else:\n skip = yield element\n</code></pre> <p>Preview</p> With yielded valuesWithout yielded values <p>Iterate and skip elements.</p> <p>Yields:</p> Type Description <code>T</code> Elements of the iterable. <p>Iterate and skip elements.</p>"},{"location":"usage/configuration/general/","title":"General options","text":""},{"location":"usage/configuration/general/#allow_inspection","title":"<code>allow_inspection</code><code>SomeClass</code><code>SomeClass</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to allow inspecting modules (importing them) when it is not possible to visit them (parse their source code).</p> <p>When loading data for a given package, Griffe discovers every Python module, compiled or not, and inspects or visits them accordingly.</p> <p>If you have compiled modules but also provide stubs for them, you might want to disable the inspection of these modules, because inspection picks up many more members, and sometimes the collected data is inaccurate (depending on the tool that was used to compile the module) or too low-level/technical for API documentation.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n allow_inspection: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n allow_inspection: false\n</code></pre> <p>Preview</p> With inspectionWithout inspection <p>Docstring of the class.</p> <code>__eq__</code> <p>Method docstring.</p> <code>__weakref__</code> <p>Method docstring.</p> <code>documented_method</code> <p>Method docstring.</p> <p>Docstring of the class.</p> <code>documented_method</code> <p>Method docstring.</p>"},{"location":"usage/configuration/general/#show_bases","title":"<code>show_bases</code><code>SomeClass()</code><code>SomeClass()</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the base classes of a class.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_bases: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_bases: false\n</code></pre> <p>Preview</p> With basesWithout bases <p>Bases: <code>SomeBaseClass</code></p> <p>Docstring of the class.</p> <p>Docstring of the class.</p>"},{"location":"usage/configuration/general/#show_inheritance_diagram","title":"<code>show_inheritance_diagram</code>","text":"<p> Sponsors only \u2014 Insiders 1.7.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the inheritance diagram of a class using Mermaid.</p> <p>With this option enabled, an inheritance diagram (as a flowchart) will be displayed after a class signature. Each node will act as a cross-reference and will bring you to the relevant class' documentation when clicking on it.</p> <p>It should work out of the box with Material for MkDocs. For other themes, you must include Mermaid's Javascript code manually:</p> mkdocs.yml<pre><code>extra_javascript:\n- https://unpkg.com/mermaid@10.9.0/dist/mermaid.min.js\n</code></pre> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_inheritance_diagram: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_inheritance_diagram: false\n</code></pre> <p>Preview</p> <p>With the following classes:</p> <pre><code>class SuperAbstract:\n \"\"\"Super abstract class.\"\"\"\nclass Mixin1:\n \"\"\"Mixin 1.\"\"\"\nclass Abstract(SuperAbstract, Mixin1):\n \"\"\"Abstract class.\"\"\"\nclass Mixin2A:\n \"\"\"Mixin 2A.\"\"\"\nclass Mixin2B(Mixin2A):\n \"\"\"Mixin 2B.\"\"\"\nclass Concrete(Abstract, Mixin2B):\n \"\"\"Concrete class.\"\"\"\nclass SuperConcrete(Concrete):\n \"\"\"Super concrete class.\"\"\"\n</code></pre> <p>The diagram for <code>SuperConcrete</code> will look like this:</p> <pre><code>flowchart TD\nSuperConcrete[SuperConcrete]\nConcrete[Concrete]\nAbstract[Abstract]\nSuperAbstract[SuperAbstract]\nMixin1[Mixin1]\nMixin2B[Mixin2B]\nMixin2A[Mixin2A]\n\nConcrete --> SuperConcrete\nAbstract --> Concrete\nSuperAbstract --> Abstract\nMixin1 --> Abstract\nMixin2B --> Concrete\nMixin2A --> Mixin2B</code></pre> <p>Nodes are not clickable in this example because these classes do not exist in our documentation.</p>"},{"location":"usage/configuration/general/#show_source","title":"<code>show_source</code><code>some_function()</code><code>some_function()</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the source code of this object.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_source: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_source: false\n</code></pre> <p>Preview</p> With sourceWithout source <p>Docstring of the function.</p> Source code in <code>package/module.py</code> <pre><code>def some_function():\n ...\n</code></pre> <p>Docstring of the function.</p>"},{"location":"usage/configuration/general/#preload_modules","title":"<code>preload_modules</code><code>your_module</code><code>your_module</code>","text":"<ul> <li> Type <code>list[str] | None</code> <code>None</code></li> </ul> <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module. The package from which the imported object originates must be accessible to the handler (see Finding modules).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n preload_modules:\n - their_package\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: your_package.your_module\n options:\n preload_modules:\n - their_package \n</code></pre> your_package/your_module.py<pre><code>from their_package.their_module import their_object\n\n__all__ = [\"their_object\"]\n\n# rest of your code\n</code></pre> <p>Preview</p> With preloaded modulesWithout preloaded modules <p>Docstring of your module.</p> <code>their_object</code> <p>Docstring of their object.</p> <p>Docstring of your module.</p>"},{"location":"usage/configuration/general/#find_stubs_package","title":"<code>find_stubs_package</code><code>your_func</code><code>your_func</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When looking for documentation specified in autodoc instructions (<code>::: identifier</code>), also look for the stubs package as defined in PEP 561 if it exists. This is useful when most of your documentation is separately provided by such a package and not inline in your main package.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n find_stubs_package: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: your_package.your_module.your_func\n options:\n find_stubs_package: true\n</code></pre> your_package/your_module.py<pre><code>def your_func(a, b):\n # Function code\n ...\n\n# rest of your code\n</code></pre> your_package-stubs/your_module.pyi<pre><code>def your_func(a: int, b: str):\n \"\"\"\n <Function docstring>\n \"\"\"\n ...\n\n# rest of your code\n</code></pre> <p>Preview</p> With find_stubs_packageWithout find_stubs_package <p>Function docstring</p>"},{"location":"usage/configuration/headings/","title":"Headings options","text":""},{"location":"usage/configuration/headings/#heading_level","title":"<code>heading_level</code>","text":"<ul> <li> Type <code>int</code> <code>2</code></li> </ul> <p>The initial heading level to use.</p> <p>When injecting documentation for an object, the object itself and its members are rendered. For each layer of objects, we increase the heading level by 1.</p> <p>The initial heading level will be used for the first layer. If you set it to 3, then headings will start with <code><h3></code>.</p> <p>If the heading for the root object is not shown, then the initial heading level is used for its members.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n heading_level: 2\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n heading_level: 3\n</code></pre> <p>Preview</p> With level 3 and root headingWith level 3, without root heading <code>module</code> (3) <p>Docstring of the module.</p> <code>ClassA</code> (4) <p>Docstring of class A.</p> <code>ClassB</code> (4) <p>Docstring of class B.</p> <code>method_1</code> (5) <p>Docstring of the method.</p> <p>Docstring of the module.</p> <code>ClassA</code> (3) <p>Docstring of class A.</p> <code>ClassB</code> (3) <p>Docstring of class B.</p> <code>method_1</code> (4) <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#parameter_headings","title":"<code>parameter_headings</code>","text":"<p> Sponsors only \u2014 Insiders 1.6.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to render headings for function/method parameters.</p> <p>With this option enabled, each function/method parameter (including parameters of <code>__init__</code> methods merged in their parent class with the <code>merge_init_into_class</code> option) gets a permalink, an entry in the Table of Contents, and an entry in the generated objects inventory. The permalink and inventory entry allow cross-references from internal and external pages.</p> <p>The identifier used in the permalink and inventory is of the following form: <code>path.to.function(param_name)</code>. To manually cross-reference a parameter, you can therefore use this Markdown syntax:</p> <pre><code>- Class parameter: [`param`][package.module.Class(param)]\n- Method parameter: [`param`][package.module.Class.method(param)]\n- Function parameter: [`param`][package.module.function(param)]\n- Variadic positional parameters: [`*args`][package.module.function(*args)]\n- Variadic keyword parameters: [`**kwargs`][package.module.function(**kwargs)]\n</code></pre> <p>Enabling this option along with <code>signature_crossrefs</code> will automatically render cross-references to parameters in class/function/method signatures and attributes values.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n parameter_headings: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n parameter_headings: true\n</code></pre> <p>Preview: Cross-references</p> <p>Preview: Parameter sections</p> Table styleList styleSpacy style <p>Parameters:</p> Name Type Description Default <code>str</code> <p>A distribution name.</p> <code>'mkdocstrings-python'</code> <p>Parameters:</p> <ul> <li> </li> </ul> PARAMETER DESCRIPTION <p>A distribution name.</p> <p> TYPE: <code>str</code> DEFAULT: <code>'mkdocstrings-python'</code> </p> <p>Preview: Table of contents (with symbol types)</p> <p><code></code> get_version <code></code> dist</p> <p>To customize symbols, see Customizing symbol types.</p>"},{"location":"usage/configuration/headings/#package.get_version","title":"get_version","text":"<pre><code>get_version(dist: str = 'mkdocstrings-python') -> str\n</code></pre> <p>Get version of the given distribution.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>A version number.</p> </li> </ul>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"usage/configuration/headings/#package.current_version","title":"current_version <code>module-attribute</code>","text":"<pre><code>current_version: str = get_version(dist='mkdocstrings-python')\n</code></pre> <p>Current package version.</p>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":""},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":""},{"location":"usage/configuration/headings/#show_root_heading","title":"<code>show_root_heading</code><code>ClassA</code> (2)<code>ClassB</code> (2)<code>method_a1</code> (2)<code>method_b1</code> (2)","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>).</p> <p>It is pretty common to inject documentation for one module per page, especially when following our automatic reference pages recipe. Since each page already has a title, usually being the module's name, we can spare one heading level by not showing the heading for the module itself (heading levels are limited to 6 by the HTML specification).</p> <p>Sparing that extra level can be helpful when your objects tree is deeply nested (e.g. method in a class in a class in a module). If your objects tree is not deeply nested, and you are injecting documentation for many different objects on a single page, it might be preferable to render the heading of each object.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_heading: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.ClassA\n options:\n show_root_heading: true\n\n::: path.to.ClassB\n options:\n show_root_heading: true\n</code></pre> <p>Preview</p> With root headingWithout root heading <p>Docstring of class A.</p> <code>method_a1</code> (3) <p>Docstring of the method.</p> <p>Docstring of class B.</p> <code>method_b1</code> (3) <p>Docstring of the method.</p> <p>Docstring of class A.</p> <p>Docstring of the method.</p> <p>Docstring of class B.</p> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_root_toc_entry","title":"<code>show_root_toc_entry</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>If the root heading is not shown, at least add a ToC entry for it.</p> <p>If you inject documentation for an object in the middle of a page, after long paragraphs, and without showing the root heading, then you will not be able to link to this particular object as it won't have a permalink and will be \"lost\" in the middle of text. In that case, it is useful to add a hidden anchor to the document, which will also appear in the table of contents.</p> <p>In other cases, you might want to disable the entry to avoid polluting the ToC. It is not possible to show the root heading and hide the ToC entry.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_toc_entry: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>## Some heading\n\nLots of text.\n\n::: path.to.object\n options:\n show_root_toc_entry: false\n\n## Other heading.\n\nMore text.\n</code></pre> <p>Preview</p> With ToC entryWithout ToC entry <p>Table of contents Some heading <code>object</code> Other heading </p> <p>Table of contents Some heading Other heading</p>"},{"location":"usage/configuration/headings/#show_root_full_path","title":"<code>show_root_full_path</code><code>package.module.Class.method</code><code>method</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the full Python path for the root object heading.</p> <p>The path of a Python object is the dot-separated list of names under which it is accessible, for example <code>package.module.Class.method</code>.</p> <p>With this option you can choose to show the full path of the object you inject documentation for, or just its name. This option impacts only the object you specify, not its members. For members, see the two other options <code>show_root_members_full_path</code> and <code>show_object_full_path</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module.Class.method\n options:\n show_root_full_path: false\n</code></pre> <p>Preview</p> With root full pathWithout root full path <p>Docstring of the method.</p> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_root_members_full_path","title":"<code>show_root_members_full_path</code><code>package.module.Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the full Python path of the root members.</p> <p>This option does the same thing as <code>show_root_full_path</code>, but for direct members of the root object instead of the root object itself.</p> <p>To show the full path for every member recursively, see <code>show_object_full_path</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_members_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_root_members_full_path: false\n</code></pre> <p>Preview</p> With members full pathWithout members full path <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_object_full_path","title":"<code>show_object_full_path</code><code>package.module.Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the full Python path of every object.</p> <p>Same as for <code>show_root_members_full_path</code>, but for every member, recursively. This option takes precedence over <code>show_root_members_full_path</code>:</p> <code>show_root_members_full_path</code> <code>show_object_full_path</code> Direct root members path False False Name only False True Full True False Full True True Full in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_object_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_object_full_path: false\n</code></pre> <p>Preview</p> With objects full pathWithout objects full path <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>package.module.Class.method</code> <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_category_heading","title":"<code>show_category_heading</code>Attributes (2)Classes (2)<code>module_attribute</code> (2)<code>Class</code> (2)","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When grouped by categories, show a heading for each category. These category headings will appear in the table of contents, allowing you to link to them using their permalinks.</p> <p>Not recommended with deeply nested object</p> <p>When injecting documentation for deeply nested objects, you'll quickly run out of heading levels, and the objects at the bottom of the tree risk all getting documented using H6 headings, which might decrease the readability of your API docs.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n group_by_category: true\n show_category_heading: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n group_by_category: true\n show_category_heading: false\n</code></pre> <p>Preview</p> With category headingsWithout category headings <p>Docstring of the module.</p> <code>module_attribute</code> (3) <p>Docstring of the module attribute.</p> <code>Class</code> (3) <p>Docstring of the class.</p> Attributes (4) <code>class_attribute</code> (5) <p>Docstring of the class attribute.</p> Methods (4) <code>method</code> (5) <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the class.</p> <code>class_attribute</code> (3) <p>Docstring of the class attribute.</p> <code>method</code> (3) <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_symbol_type_heading","title":"<code>show_symbol_type_heading</code><code></code> <code>attribute</code><code></code> <code>function</code><code></code> <code>Class</code><code>attribute</code><code>function</code><code>Class</code>","text":"<p> Insiders 1.1.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the symbol type in headings.</p> <p>This option will prefix headings with <code></code>, <code></code>, <code></code>, <code></code> or <code></code> types. See also <code>show_symbol_type_toc</code>.</p> <p>To customize symbols, see Customizing symbol types.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_symbol_type_heading: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_symbol_type_heading: false\n</code></pre> <p>Preview</p> With symbol type in headingsWithout symbol type in headings <code></code> <code>module</code> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the function.</p> <p>Docstring of the class.</p> <code></code> <code>method</code> <p>Docstring of the method.</p> <code>module</code> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the function.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_symbol_type_toc","title":"<code>show_symbol_type_toc</code>","text":"<p> Insiders 1.1.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the symbol type in the Table of Contents.</p> <p>This option will prefix items in the ToC with <code></code>, <code></code>, <code></code>, <code></code> or <code></code> types. See also <code>show_symbol_type_heading</code>.</p> <p>To customize symbols, see Customizing symbol types.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_symbol_type_toc: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_symbol_type_toc: false\n</code></pre> <p>Preview</p> With symbol type in ToCWithout symbol type in ToC <ul> <li><code></code> module</li> <li><code></code> attribute</li> <li><code></code> function</li> <li><code></code> Class <ul> <li><code></code> method</li> </ul> </li> </ul> <ul> <li>module</li> <li>attribute</li> <li>function</li> <li>Class <ul> <li>method</li> </ul> </li> </ul>"},{"location":"usage/configuration/members/","title":"Members options","text":""},{"location":"usage/configuration/members/#members","title":"<code>members</code><code>this_function</code><code>ThisClass</code><code>this_attribute</code><code>ThisClass</code>","text":"<ul> <li> Type <code>list[str] | bool | None</code> <code>None</code></li> </ul> <p>An explicit list of members to render.</p> <p>Only members declared in this list will be rendered. A member without a docstring will still be rendered, even if <code>show_if_no_docstring</code> is set to false.</p> <p>The members will be rendered in the specified order, regardless of the value of <code>members_order</code>. Note that members will still be grouped by category, according to the <code>group_by_category</code> option.</p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every member.</p> <p>Any given value, except for an explicit <code>None</code> (<code>null</code> in YAML) will tell the handler to ignore <code>filters</code> for the object's members. Filters will still be applied to the next layers of members (grand-children).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n members:\n - hello # (1)\n</code></pre> <ol> <li> Most of the time it won't make sense to use this option at the global level.</li> </ol> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n members:\n - ThisClass\n - this_function\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\ndef this_function():\n \"\"\"Function docstring.\"\"\"\n\n\nclass ThisClass:\n \"\"\"Class docstring.\"\"\"\n\n def method(self):\n \"\"\"Method docstring.\"\"\"\n\n\nthis_attribute = 0\n\"\"\"Attribute docstring.\"\"\"\n</code></pre> <p>Preview</p> With <code>members: true</code>With <code>members: false</code> or <code>members: []</code>With <code>members: [ThisClass]</code> <p>Module docstring.</p> <p>Function docstring.</p> <p>Class docstring.</p> <code>method</code> <p>Method docstring.</p> <p>Attribute docstring.</p> <p>Module docstring.</p> <p>Module docstring.</p> <p>Class docstring.</p> <code>method</code> <p>Method docstring.</p> <p>The default behavior (with unspecified <code>members</code> or <code>members: null</code>) is to use <code>filters</code>.</p>"},{"location":"usage/configuration/members/#inherited_members","title":"<code>inherited_members</code><code>Base</code><code>Main</code><code>Base</code><code>Main</code>","text":"<ul> <li> Type <code>list[str] | bool</code> <code>False</code></li> </ul> <p>An explicit list of inherited members (for classes) to render.</p> <p>Inherited members are always fetched from classes that are in the same package as the currently rendered class. To fetch members inherited from base classes, themselves coming from external packages, use the <code>preload_modules</code> option. For example, if your class inherits from Pydantic's <code>BaseModel</code>, and you want to render <code>BaseModel</code>'s methods in your class, use <code>preload_modules: [pydantic]</code>. The <code>pydantic</code> package must be available in the current environment.</p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any inherited member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every inherited member.</p> <p>When all inherited members are selected with <code>inherited_members: true</code>, it is possible to specify both members and inherited members in the <code>members</code> list:</p> <pre><code>inherited_members: true\nmembers:\n- inherited_member_a\n- inherited_member_b\n- member_x\n- member_y\n</code></pre> <p>The alternative is not supported:</p> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers:\n- member_x\n- member_y\n</code></pre> <p>...because it would make members ordering ambiguous/unspecified.</p> <p>You can render inherited members only by setting <code>inherited_members: true</code> (or a list of inherited members) and setting <code>members: false</code>:</p> <pre><code>inherited_members: true\nmembers: false\n</code></pre> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers: false\n</code></pre> <p>You can render all declared members and all or specific inherited members by leaving <code>members</code> as null (default):</p> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\n# members: null # (1)\n</code></pre> <ol> <li>In this case, only declared members will be subject to further filtering with <code>filters</code> and <code>docstrings</code>.</li> </ol> <pre><code>inherited_members: true # (1)\n# members: null\n</code></pre> <ol> <li>In this case, both declared and inherited members will be subject to further filtering with <code>filters</code> and <code>docstrings</code>.</li> </ol> <p>You can render all declared members and all or specific inherited members, avoiding further filtering with <code>filters</code> and <code>docstrings</code> by setting <code>members: true</code>:</p> <pre><code>inherited_members: true\nmembers: true\n</code></pre> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers: true\n</code></pre> <p>The general rule is that declared or inherited members specified in lists are never filtered out.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n inherited_members: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n inherited_members: true\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\nclass Base:\n \"\"\"Base class.\"\"\"\n\n def base(self):\n \"\"\"Base method.\"\"\"\n\n\nclass Main(Base):\n \"\"\"Main class.\"\"\"\n\n def main(self):\n \"\"\"Main method.\"\"\"\n</code></pre> <p>Preview</p> With inherited membersWithout inherited members <p>Module docstring.</p> <p>Base class.</p> <code>base</code> <p>Base method.</p> <p>Main class.</p> <code>base</code> <p>Base method.</p> <code>main</code> <p>Main method.</p> <p>Module docstring.</p> <p>Base class.</p> <code>base</code> <p>Base method.</p> <p>Main class.</p> <code>main</code> <p>Main method.</p>"},{"location":"usage/configuration/members/#members_order","title":"<code>members_order</code><code>function_a</code><code>function_b</code><code>function_c</code><code>function_b</code><code>function_a</code><code>function_c</code>","text":"<ul> <li> Type <code>str</code> <code>\"alphabetical\"</code></li> </ul> <p>The members ordering to use. Possible values:</p> <ul> <li><code>alphabetical</code>: order by the members names.</li> <li><code>source</code>: order members as they appear in the source file.</li> </ul> <p>The order applies for all members, recursively. The order will be ignored for members that are explicitely sorted using the <code>members</code> option. Note that members will still be grouped by category, according to the <code>group_by_category</code> option.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n members_order: alphabetical\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n members_order: source\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\ndef function_b():\n \"\"\"Function a.\"\"\"\n\n\ndef function_a():\n \"\"\"Function b.\"\"\"\n\n\ndef function_c():\n \"\"\"Function c.\"\"\"\n</code></pre> <p>Preview</p> With alphabetical orderWith source order <p>Module docstring.</p> <p>Function a.</p> <p>Function b.</p> <p>Function c.</p> <p>Module docstring.</p> <p>Function b.</p> <p>Function a.</p> <p>Function c.</p>"},{"location":"usage/configuration/members/#filters","title":"<code>filters</code><code>hello</code><code>_world</code><code>hello</code><code>_world</code>","text":"<ul> <li> Type <code>list[str] | None</code> <code>[\"!^_[^_]\"]</code></li> </ul> <p>A list of filters applied to filter objects based on their name.</p> <p>Filters are regular expressions. These regular expressions are evaluated by Python and so must match the syntax supported by the <code>re</code> module. A filter starting with <code>!</code> (negative filter) will exclude matching objects instead of including them.</p> <p>The default value (<code>[\"!^_[^_]\"]</code>) means: render every object, except those starting with one underscore, unless they start with two underscores. It means that an object whose name is <code>hello</code>, <code>__hello</code>, or <code>__hello__</code> will be rendered, but not one whose name is <code>_hello</code>.</p> <p>Each filter takes precedence over the previous one. This allows for fine-grain selection of objects by adding more specific filters. For example, you can start by unselecting objects that start with <code>_</code>, and add a second filter that re-select objects that start with <code>__</code>. The default filters can therefore be rewritten like this:</p> <pre><code>filters:\n- \"!^_\"\n- \"^__\"\n</code></pre> <p>If there are no negative filters, the handler considers that everything is unselected first, and then selects things based on your positive filters. If there is at least one negative filter, the handler considers that everything is selected first, and then re-selects/unselects things based on your other filters. In short, <code>filters: [\"a\"]</code> means \"keep nothing except names containing <code>a</code>\", while <code>filters: [\"!a\"]</code> means \"keep everything except names containing <code>a</code>\".</p> <p>An empty list of filters tells the Python handler to render every object. The <code>members</code> option takes precedence over filters (filters will still be applied recursively to lower members in the hierarchy).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n filters:\n - \"!^_\"\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n filters: []\n</code></pre> package/module.py<pre><code>def hello():\n ...\n\n\ndef _world():\n ...\n</code></pre> <p>Preview</p> With <code>filters: []</code>With <code>filters: [\"hello\"]</code>With <code>filters: [\"!hello\"]</code> <p>Module docstring.</p> <p>Function docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Common filters</p> <p>Here are some common filters that you might to want to use.</p> <ul> <li><code>[\"!^_\"]</code>: exclude all private/protected/special objects</li> <li><code>[\"!^_\", \"^__init__$\"]</code>: same as above, but keep <code>__init__</code> methods</li> <li><code>[\"!^_[^_]\"]</code>: exclude all private/protected objects, keep special ones (default filters)</li> </ul>"},{"location":"usage/configuration/members/#group_by_category","title":"<code>group_by_category</code><code>attribute_c</code><code>ClassB</code><code>function_a</code><code>function_d</code><code>function_a</code><code>ClassB</code><code>attribute_c</code><code>function_d</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Group the object members by categories: attributes, classes, functions, and modules.</p> <p>Members within a same category will be ordered according to the <code>members_order</code> option. You can use the <code>show_category_heading</code> option to also render a heading for each category.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n group_by_category: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n group_by_category: false\n</code></pre> package/module.py<pre><code>def function_a():\n ...\n\n\nclass ClassB:\n ...\n\n\nattribute_C = 0\n\n\ndef function_d():\n ...\n</code></pre> <p>Preview</p> With category groupingWithout category grouping <p>Module docstring.</p> <p>Attribute docstring.</p> <p>Class docstring.</p> <p>Function docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Class docstring.</p> <p>Attribute docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/members/#show_submodules","title":"<code>show_submodules</code><code>subpackage_member</code><code>submodule</code><code>subpackage_member</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When rendering a module, show its submodules recursively.</p> <p>This is false by default, because most of the time we render only one module per page, and when rendering a package (a tree of modules and their members) on a single page, we quickly run out of heading levels.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_submodules: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.subpackage\n options:\n show_submodules: false\n</code></pre> package<pre><code>\ud83d\udcc1 package\n\u251c\u2500\u2500 __init__.py\n\u2514\u2500\u2500 \ud83d\udcc1 subpackage\n \u251c\u2500\u2500 __init__.py\n \u2514\u2500\u2500 submodule.py\n</code></pre> <p>Preview</p> With submodulesWithout submodules <p>Subpackage docstring.</p> <p>Member docstring.</p> <p>Submodule docstring.</p> <code>submodule_member</code> <p>Member docstring.</p> <p>Subpackage docstring.</p> <p>Member docstring.</p>"},{"location":"usage/configuration/members/#summary","title":"<code>summary</code>MyClassMyClass","text":"<p> Sponsors only \u2014 Insiders 1.2.0</p> <ul> <li> Type <code>bool | dict[str, bool]</code> <code>False</code></li> </ul> <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> <p>This option accepts a boolean (<code>yes</code>, <code>true</code>, <code>no</code>, <code>false</code> in YAML) or a dictionary with one or more of the following keys: <code>attributes</code>, <code>functions</code>, <code>classes</code>, <code>modules</code>, with booleans as values. Class methods summary is (de)activated with the <code>functions</code> key. By default, <code>summary</code> is false, and by extension all values are false.</p> <p>Examples:</p> <pre><code>summary: true\n</code></pre> <pre><code>summary: false\n</code></pre> <pre><code>summary:\n attributes: false\n functions: true\n modules: false\n</code></pre> <p>Summaries will be rendered as the corresponding docstring sections. For example, the summary for attributes will be rendered as an Attributes docstring section. The section will be rendered in accordance with the <code>docstring_section_style</code> option. If the objects appearing in the summary are also rendered on the page (or somewhere else on the site), their name will automatically link to their rendered documentation.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n summary: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n summary: false\n</code></pre> <p>Preview</p> With all summariesWith methods summary only <pre><code>::: path.to.module.MyClass\n options:\n summary: true\n</code></pre> <p>Class docstring.</p> <p>Methods:</p> <ul> <li>my_method1: Summary of the method (first docstring line).</li> <li>my_method2: Summary of the method (first docstring line).</li> </ul> <p>Attributes:</p> <ul> <li>attr1: Summary of the attribute (first docstring line).</li> <li>attr2: Summary of the attribute (first docstring line).</li> </ul> <pre><code>::: path.to.module.MyClass\n options:\n summary:\n functions: true\n</code></pre> <p>Class docstring.</p> <p>Methods:</p> <ul> <li>my_method1: Summary of the method (first docstring line).</li> <li>my_method2: Summary of the method (first docstring line).</li> </ul>"},{"location":"usage/configuration/members/#show_labels","title":"<code>show_labels</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to show labels of the members.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_labels: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_labels: false\n</code></pre> package/module.py<pre><code>class SomeClass:\n some_attr: int\n</code></pre> <p>Preview</p> With labelsWithout labels <p><code> some_attr: int </code> <code>instance-attribute</code></p> <p><code> some_attr: int </code></p>"},{"location":"usage/configuration/signatures/","title":"Signatures options","text":""},{"location":"usage/configuration/signatures/#annotations_path","title":"<code>annotations_path</code><code>convert(text, md)</code><code>convert(text, md)</code><code>convert(text, md)</code>","text":"<ul> <li> Type <code>str</code> <code>\"brief\"</code></li> </ul> <p>The verbosity for annotations path.</p> <p>Possible values:</p> <ul> <li><code>brief</code> (recommended): render only the last component of each type path, not their full paths. For example, it will render <code>Sequence[Path]</code> and not <code>typing.Sequence[pathlib.Path]</code>. Brief annotations will cross-reference the right object anyway, and show the full path in a tooltip when hovering them.</li> <li><code>source</code>: render annotations as written in the source. For example if you imported <code>typing</code> as <code>t</code>, it will render <code>typing.Sequence</code> as <code>t.Sequence</code>. Each part will cross-reference the relevant object: <code>t</code> will link to the <code>typing</code> module and <code>Sequence</code> will link to the <code>Sequence</code> type.</li> <li><code>full</code>: render annotations with their full path (the opposite of brief). For example if you import <code>Sequence</code> and <code>Pattern</code> from <code>typing</code> and annoate something using <code>Sequence[Pattern]</code>, it will render as <code>typing.Sequence[typing.Pattern]</code>, with each part cross-referencing the corresponding object.</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n annotations_path: brief\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n annotations_path: source\n</code></pre> <p>Preview</p> Brief annotationsSource annotationsFull annotations <pre><code>import markdown\nimport markupsafe\n\n\ndef convert(text: str, md: markdown.Markdown) -> markupsafe.Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return markupsafe.Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>Markup</code> <code>text</code> Converted markup. <pre><code>import markdown\nfrom markupsafe import Markup\n\n\ndef convert(text: str, md: markdown.Markdown) -> Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>markdown.Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>Markup</code> <code>text</code> Converted markup. <pre><code>from markdown import Markdown\nfrom markupsafe import Markup\n\n\ndef convert(text: str, md: Markdown) -> Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>markdown.Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>markupsafe.Markup</code> <code>text</code> Converted markup."},{"location":"usage/configuration/signatures/#line_length","title":"<code>line_length</code>long_function_namelong_function_name","text":"<ul> <li> Type <code>int</code> <code>60</code></li> </ul> <p>Maximum line length when formatting code/signatures.</p> <p>When separating signatures from headings with the <code>separate_signature</code> option, the Python handler will try to format the signatures using Black and the specified line length.</p> <p>If Black is not installed, the handler issues an INFO log once.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n line_length: 60\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n line_length: 80\n</code></pre> <p>Preview</p> Line length 60Line length 80 <pre><code>long_function_name(\n long_parameter_1=\"hello\",\n long_parameter_2=\"world\",\n)</code></pre> <pre><code>long_function_name(long_parameter_1=\"hello\", long_parameter_2=\"world\")</code></pre>"},{"location":"usage/configuration/signatures/#modernize_annotations","title":"<code>modernize_annotations</code>","text":"<p> Sponsors only \u2014 Insiders 1.8.0 \u2014 This feature also requires Griffe Insiders to be installed.</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Modernize annotations with latest features and PEPs of the Python language.</p> <p>The Python language keeps evolving, and often library developers must continue to support a few minor versions of Python. Therefore they cannot use some features that were introduced in the latest versions.</p> <p>Yet this doesn't mean they can't enjoy latest features in their docs: Griffe allows to \"modernize\" expressions, for example by replacing <code>typing.Union</code> with PEP 604 type unions <code>|</code>. Thanks to this, mkdocstrings' Python handler can automatically transform type annotations into their modern equivalent. This improves consistency in your docs, and shows users how to use your code with the latest features of the language.</p> <p>Modernizations applied:</p> <ul> <li><code>typing.Dict[A, B]</code> becomes <code>dict[A, B]</code></li> <li><code>typing.List[A]</code> becomes <code>list[A]</code></li> <li><code>typing.Set[A]</code> becomes <code>set[A]</code></li> <li><code>typing.Tuple[A]</code> becomes <code>tuple[A]</code></li> <li><code>typing.Union[A, B]</code> becomes <code>A | B</code></li> <li><code>typing.Optional[A]</code> becomes <code>A | None</code></li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n modernize_annotations: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n modernize_annotations: false\n</code></pre> <p>Preview</p> <pre><code>from typing import Optional, Union, List\n\nexample: Optional[Union[int, List[int]]] = None\n</code></pre> Unchanged annotationsModernized annotations"},{"location":"usage/configuration/signatures/#package.modern.example","title":"example","text":"<pre><code>example: Optional[Union[int, List[int]]] = None\n</code></pre>"},{"location":"usage/configuration/signatures/#package.modern.example","title":"example","text":"<pre><code>example: int | list[int] | None = None\n</code></pre>"},{"location":"usage/configuration/signatures/#show_signature","title":"<code>show_signature</code><code>function(param1, param2=None)</code><code>function</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show methods and functions signatures.</p> <p>Without it, just the function/method name is rendered.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_signature: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_signature: false\n</code></pre> <p>Preview</p> With signatureWithout signature <p>Function docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#show_signature_annotations","title":"<code>show_signature_annotations</code>functionfunction","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the type annotations in methods and functions signatures.</p> <p>Since the heading can become quite long when annotations are rendered, it is usually best to separate the signature from the heading.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n show_signature_annotations: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n show_signature_annotations: false\n</code></pre> <p>Preview</p> With signature annotationsWithout signature annotations <pre><code>function(\n param1: list[int | float],\n param2: bool | None = None,\n) -> float\n</code></pre> <p>Function docstring.</p> <pre><code>function(param1, param2=None)\n</code></pre> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#separate_signature","title":"<code>separate_signature</code>function<code>function(param1, param2=None)</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to put the whole signature in a code block below the heading.</p> <p>When separating signatures from headings, the Python handler will try to format the signatures using Black and the specified line length.</p> <p>If Black is not installed, the handler issues an INFO log once.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n</code></pre> <p>Preview</p> With separate signatureWithout separate signature <pre><code>function(param1, param2=None)\n</code></pre> <p>Function docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#signature_crossrefs","title":"<code>signature_crossrefs</code>do_format_codedo_format_code","text":"<p> Insiders 1.0.0</p> <p>Whether to render cross-references for type annotations in signatures.</p> <p>When signatures are separated from headings with the <code>separate_signature</code> option and type annotations are shown with the <code>show_signature_annotations</code> option, this option will render a cross-reference (link) for each type annotation in the signature.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n show_signature_annotations: true\n signature_crossrefs: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n show_signature_annotations: true\n signature_crossrefs: true\n</code></pre> <p>Preview</p> With signature cross-referencesWithout signature cross-references <pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Function docstring.</p> <pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#unwrap_annotated","title":"<code>unwrap_annotated</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations.</p> <p>For example, unwrapping <code>Annotated[int, Gt(10)]</code> will render <code>int</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n unwrap_annotated: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n unwrap_annotated: true\n</code></pre>"},{"location":"usage/docstrings/google/","title":"Google style","text":""},{"location":"usage/docstrings/google/#work-in-progress","title":"Work in Progress!","text":""},{"location":"usage/docstrings/google/#google-style-admonitions","title":"Google-style admonitions","text":"<p>With Google-style docstrings, any section that is not recognized will be transformed into its admonition equivalent. For example:</p> DocstringResult <pre><code>\"\"\"\nNote:\n It looks like a section, but it will be rendered as an admonition.\n\nTip: You can even choose a title.\n This admonition has a custom title!\n\"\"\"\n</code></pre> <p>Note</p> <p>It looks like a section, but it will be rendered as an admonition.</p> <p>You can even choose a title.</p> <p>This admonition has a custom title!</p> <p>See Napoleon's documentation. See the supported docstring sections on Griffe's documentation.</p>"},{"location":"usage/docstrings/numpy/","title":"Numpydoc style","text":""},{"location":"usage/docstrings/numpy/#work-in-progress","title":"Work in Progress!","text":"<p>Note</p> <p>As Numpy-style is partially supported by the underlying parser, you may experience problems in the building process if your docstring has a <code>Methods</code> section in the class docstring (see #366).</p> <p>See Numpydoc's documentation. See the supported docstring sections on Griffe's documentation.</p>"},{"location":"usage/docstrings/sphinx/","title":"Sphinx style","text":""},{"location":"usage/docstrings/sphinx/#work-in-progress","title":"Work in Progress!","text":"<p>See Sphinx's documentation. See the supported docstring sections on Griffe's documentation.</p>"}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"],"fields":{"title":{"boost":1000.0},"text":{"boost":1.0},"tags":{"boost":1000000.0}}},"docs":[{"location":"","title":"Overview","text":"mkdocstrings-python <p>A Python handler for mkdocstrings.</p> <p> </p> <p></p> <p>The Python handler uses Griffe to collect documentation from Python source code. The word \"griffe\" can sometimes be used instead of \"signature\" in French. Griffe is able to visit the Abstract Syntax Tree (AST) of the source code to extract useful information. It is also able to execute the code (by importing it) and introspect objects in memory when source code is not available. Finally, it can parse docstrings following different styles.</p>"},{"location":"#installation","title":"Installation","text":"<p>You can install this handler as a mkdocstrings extra:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings[python]>=0.18\",\n]\n</code></pre> <p>You can also explicitly depend on the handler:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings-python\",\n]\n</code></pre>"},{"location":"#preview","title":"Preview","text":""},{"location":"#features","title":"Features","text":"<ul> <li> <p>Data collection from source code: collection of the object-tree and the docstrings is done thanks to Griffe.</p> </li> <li> <p>Support for type annotations: Griffe collects your type annotations and mkdocstrings uses them to display parameter types or return types. It is even able to automatically add cross-references to other objects from your API, from the standard library or third-party libraries! See how to load inventories to enable it.</p> </li> <li> <p>Recursive documentation of Python objects: just use the module dotted-path as an identifier, and you get the full module docs. You don't need to inject documentation for each class, function, etc.</p> </li> <li> <p>Support for documented attributes: attributes (variables) followed by a docstring (triple-quoted string) will be recognized by Griffe in modules, classes and even in <code>__init__</code> methods.</p> </li> <li> <p>Multiple docstring-styles support: common support for Google-style, Numpydoc-style, and Sphinx-style docstrings. See Griffe's documentation on docstrings support.</p> </li> <li> <p>Admonition support in Google docstrings: blocks like <code>Note:</code> or <code>Warning:</code> will be transformed to their admonition equivalent. We do not support nested admonitions in docstrings!</p> </li> <li> <p>Every object has a TOC entry: we render a heading for each object, meaning MkDocs picks them into the Table of Contents, which is nicely displayed by the Material theme. Thanks to mkdocstrings cross-reference ability, you can reference other objects within your docstrings, with the classic Markdown syntax: <code>[this object][package.module.object]</code> or directly with <code>[package.module.object][]</code></p> </li> <li> <p>Source code display: mkdocstrings can add a collapsible div containing the highlighted source code of the Python object.</p> </li> </ul>"},{"location":"changelog/","title":"Changelog","text":"<p>All notable changes to this project will be documented in this file.</p> <p>The format is based on Keep a Changelog and this project adheres to Semantic Versioning.</p>"},{"location":"changelog/#1108-2024-08-14","title":"1.10.8 - 2024-08-14","text":"<p>Compare with 1.10.7</p>"},{"location":"changelog/#build","title":"Build","text":"<ul> <li>Depend on Griffe 0.49 (a87dcad by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#1107-2024-07-25","title":"1.10.7 - 2024-07-25","text":"<p>Compare with 1.10.6</p>"},{"location":"changelog/#packaging","title":"Packaging","text":"<ul> <li>Include tests and all relevant files for downstream packaging in source distribution</li> </ul>"},{"location":"changelog/#1106-2024-07-25","title":"1.10.6 - 2024-07-25","text":"<p>Compare with 1.10.5</p>"},{"location":"changelog/#bug-fixes","title":"Bug Fixes","text":"<ul> <li>Fix condition to display members (check all members, not just non-inherited ones) (3d838a9 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring","title":"Code Refactoring","text":"<ul> <li>Update code for Griffe 0.48 (removing deprecation warnings) (eff10cc by Timoth\u00e9e Mazzucotelli). Issue-173</li> </ul>"},{"location":"changelog/#1105-2024-06-19","title":"1.10.5 - 2024-06-19","text":"<p>Compare with 1.10.4</p>"},{"location":"changelog/#bug-fixes_1","title":"Bug Fixes","text":"<ul> <li>Mix both previous checks for displaying objects: not imported or public (587963b by Timoth\u00e9e Mazzucotelli). Issue-294</li> </ul>"},{"location":"changelog/#1104-2024-06-18","title":"1.10.4 - 2024-06-18","text":"<p>Compare with 1.10.3</p>"},{"location":"changelog/#code-refactoring_1","title":"Code Refactoring","text":"<ul> <li>Only filter out imported objects instead of non-public ones after applying filters (e2f4b35 by Timoth\u00e9e Mazzucotelli). Issue-mkdocstrings/griffe-294</li> <li>Update code for Griffe 0.46 to avoid deprecation warnings (321b407 by Timoth\u00e9e Mazzucotelli).</li> <li>Change <code>load_external_modules</code> default value to <code>None</code> to support new default mode in Griffe (ae5896c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#1103-2024-05-22","title":"1.10.3 - 2024-05-22","text":"<p>Compare with 1.10.2</p>"},{"location":"changelog/#bug-fixes_2","title":"Bug Fixes","text":"<ul> <li>Don't crash when rendering the source of an object whose lineno is none (64df00b by Timoth\u00e9e Mazzucotelli). Issue-163</li> </ul>"},{"location":"changelog/#1102-2024-05-16","title":"1.10.2 - 2024-05-16","text":"<p>Compare with 1.10.1</p>"},{"location":"changelog/#bug-fixes_3","title":"Bug Fixes","text":"<ul> <li>Actually make use of custom .html.jinja templates (5668abb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#1101-2024-05-14","title":"1.10.1 - 2024-05-14","text":"<p>Compare with 1.10.0</p>"},{"location":"changelog/#build_1","title":"Build","text":"<ul> <li>Depend on mkdocstrings 0.25 which adds support for parameter <code>once</code> when logging messages (2bc156b by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_2","title":"Code Refactoring","text":"<ul> <li>Set handler's name (a71ab12 by Timoth\u00e9e Mazzucotelli).</li> <li>Update <code>*.html</code> top-level templates to extend the <code>*.html.jinja</code> base templates (a8c540e by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Update <code>*.html</code> base templates to extend their <code>*.html.jinja</code> counterpart, while overriding the <code>logs</code> block to issue a logging message (info) stating that extending <code>*.html</code> templates is deprecated (e6f1b9c by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Add <code>*.html.jinja</code> top-level (overridable) templates, extending their base counterpart (7c14924 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Add <code>*.html.jinja</code> base templates, which are copies of <code>*.html</code> templates, with an additional <code>logs</code> block, and using the updated <code>get_template</code> filter (eced9a5 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Update <code>get_template</code> filter to support both <code>*.html</code> and <code>*.html.jinja</code> templates, logging a message (info) when <code>*.html</code> templates are overridden by users (3546fd7 by Timoth\u00e9e Mazzucotelli). Issue-151</li> <li>Log a warning when base templates are overridden (26e3d66 by Timoth\u00e9e Mazzucotelli). Issue-151</li> </ul>"},{"location":"changelog/#1100-2024-04-19","title":"1.10.0 - 2024-04-19","text":"<p>Compare with 1.9.2</p>"},{"location":"changelog/#features","title":"Features","text":"<ul> <li>Add CSS classes <code>doc-section-title</code> and <code>doc-section-item</code> in docstring sections (d6e1d68 by Timoth\u00e9e Mazzucotelli). Issue-17</li> </ul>"},{"location":"changelog/#bug-fixes_4","title":"Bug Fixes","text":"<ul> <li>Render enumeration instance name instead of just \"value\", allowing proper cross-reference (11d81d8 by Timoth\u00e9e Mazzucotelli). Issue-124</li> </ul>"},{"location":"changelog/#192-2024-04-02","title":"1.9.2 - 2024-04-02","text":"<p>Compare with 1.9.1</p>"},{"location":"changelog/#dependencies","title":"Dependencies","text":"<ul> <li>Remove cap on Python-Markdown 3.6 now that ToC labels are fixed by mkdocstrings (0c1e2c1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#191-2024-04-02","title":"1.9.1 - 2024-04-02","text":"<p>Compare with 1.9.0</p>"},{"location":"changelog/#bug-fixes_5","title":"Bug Fixes","text":"<ul> <li>Don't try loading packages from relative paths (bd73497 by Timoth\u00e9e Mazzucotelli). Issue-145</li> </ul>"},{"location":"changelog/#code-refactoring_3","title":"Code Refactoring","text":"<ul> <li>Allow first name in a separate signature to be highlighted as a function name (f798a1e by Timoth\u00e9e Mazzucotelli).</li> <li>Maintain original Pygments color for cross-refs in signatures (7c8b885 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#190-2024-03-13","title":"1.9.0 - 2024-03-13","text":"<p>Compare with 1.8.0</p>"},{"location":"changelog/#dependencies_1","title":"Dependencies","text":"<ul> <li>Add upper bound on Python-Markdown 3.6 to temporarily prevent breaking changes (cd93ee3 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_1","title":"Features","text":"<ul> <li>Add <code>show_labels</code> option to show/hide labels (eaf9b82 by Viicos). Issue #120, PR #130</li> <li>Add option to search for stubs packages (0c6aa32 by Romain). PR #128, PR griffe#221: : https://github.com/mkdocstrings/griffe/pull/221</li> </ul>"},{"location":"changelog/#code-refactoring_4","title":"Code Refactoring","text":"<ul> <li>Mark all Jinja blocks as scoped (548bdad by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#180-2024-01-08","title":"1.8.0 - 2024-01-08","text":"<p>Compare with 1.7.5</p>"},{"location":"changelog/#features_2","title":"Features","text":"<ul> <li> <p>Release Insiders features of the $500/month funding goal (bd30106 by Timoth\u00e9e Mazzucotelli). The features and projects related to mkdocstrings-python are:</p> <ul> <li>Cross-references for type annotations in signatures</li> <li>Symbol types in headings and table of contents</li> <li><code>griffe-inherited-docstrings</code>, a Griffe extension for inheriting docstrings</li> <li><code>griffe2md</code>, a tool to output API docs to Markdown using Griffe</li> </ul> <p>See the complete list of features and projects here: https://pawamoy.github.io/insiders/#500-plasmavac-user-guide.</p> </li> </ul>"},{"location":"changelog/#175-2023-11-21","title":"1.7.5 - 2023-11-21","text":"<p>Compare with 1.7.4</p>"},{"location":"changelog/#bug-fixes_6","title":"Bug Fixes","text":"<ul> <li>Add missing translations (fallback theme) for ReadTheDocs (2fb6513 by Timoth\u00e9e Mazzucotelli). Issue #115</li> </ul>"},{"location":"changelog/#174-2023-11-12","title":"1.7.4 - 2023-11-12","text":"<p>Compare with 1.7.3</p>"},{"location":"changelog/#bug-fixes_7","title":"Bug Fixes","text":"<ul> <li>Make extension paths relative to config file (5035e92 by Waylan Limberg). PR #112, Co-authored-by: Timoth\u00e9e Mazzucotelli pawamoy@pm.me</li> </ul>"},{"location":"changelog/#code-refactoring_5","title":"Code Refactoring","text":"<ul> <li>Prepare for Griffe 0.37 (b5bb8a9 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#173-2023-10-09","title":"1.7.3 - 2023-10-09","text":"<p>Compare with 1.7.2</p>"},{"location":"changelog/#bug-fixes_8","title":"Bug Fixes","text":"<ul> <li>Don't deepcopy the local config (1300d2c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#172-2023-10-05","title":"1.7.2 - 2023-10-05","text":"<p>Compare with 1.7.1</p>"},{"location":"changelog/#bug-fixes_9","title":"Bug Fixes","text":"<ul> <li>Prevent alias resolution error when source-ordering members (67df10c by Timoth\u00e9e Mazzucotelli). Issue griffe#213</li> </ul>"},{"location":"changelog/#code-refactoring_6","title":"Code Refactoring","text":"<ul> <li>Use package relative filepath if filepath is not relative (aa5a3f7 by Timoth\u00e9e Mazzucotelli). Discussion mkdocstrings#622</li> </ul>"},{"location":"changelog/#171-2023-09-28","title":"1.7.1 - 2023-09-28","text":"<p>Compare with 1.7.0</p>"},{"location":"changelog/#bug-fixes_10","title":"Bug Fixes","text":"<ul> <li>Stop propagation of annotation to next parameter in signature template (3a760ac by Timoth\u00e9e Mazzucotelli). Issue #110</li> </ul>"},{"location":"changelog/#code-refactoring_7","title":"Code Refactoring","text":"<ul> <li>Look into inherited members for <code>__init__</code> methods when merging docstrings (b97d51f by Timoth\u00e9e Mazzucotelli). Issue #106</li> </ul>"},{"location":"changelog/#170-2023-09-14","title":"1.7.0 - 2023-09-14","text":"<p>Compare with 1.6.3</p>"},{"location":"changelog/#features_3","title":"Features","text":"<ul> <li>Add option to unwrap <code>Annotated</code> types (53db04b by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#163-2023-09-11","title":"1.6.3 - 2023-09-11","text":"<p>Compare with 1.6.2</p>"},{"location":"changelog/#bug-fixes_11","title":"Bug Fixes","text":"<ul> <li>Make <code>load_external_modules</code> a global-only option (266f41f by Timoth\u00e9e Mazzucotelli). Issue #87</li> <li>Never fail when trying to format code with Black (df24bbc by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_8","title":"Code Refactoring","text":"<ul> <li>Wrap docstring section elements (list style) in code tags to prevent spell checker errors (1ae8dd8 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#162-2023-09-05","title":"1.6.2 - 2023-09-05","text":"<p>Compare with 1.6.1</p>"},{"location":"changelog/#bug-fixes_12","title":"Bug Fixes","text":"<ul> <li>Don't render cross-ref spans when they're not enabled (eed51ee by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#161-2023-09-04","title":"1.6.1 - 2023-09-04","text":"<p>Compare with 1.6.0</p>"},{"location":"changelog/#bug-fixes_13","title":"Bug Fixes","text":"<ul> <li>Fix spacing for rendered named items in Yields, Receives and Returns sections (list style) (e12688e by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering Receives sections as lists (9ff7e68 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#160-2023-08-27","title":"1.6.0 - 2023-08-27","text":"<p>Compare with 1.5.2</p>"},{"location":"changelog/#features_4","title":"Features","text":"<ul> <li>Add <code>doc-signature</code> CSS class to separate signature code blocks (b6c648f by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_9","title":"Code Refactoring","text":"<ul> <li>Add a <code>format_attribute</code> filter, preparing for cross-refs in attribute signatures (8f0ade2 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#152-2023-08-25","title":"1.5.2 - 2023-08-25","text":"<p>Compare with 1.5.1</p>"},{"location":"changelog/#bug-fixes_14","title":"Bug Fixes","text":"<ul> <li>Regression in children template: fix condition for when members are specified (beeebff by Timoth\u00e9e Mazzucotelli). Issue #100</li> <li>Prevent whitespace removal before highlight filter (c6f36c0 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_10","title":"Code Refactoring","text":"<ul> <li>Never show full object path in ToC entry (9aa758b by Timoth\u00e9e Mazzucotelli).</li> <li>Sync templates with insiders, remove useless lines (38b317f by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#151-2023-08-24","title":"1.5.1 - 2023-08-24","text":"<p>Compare with 1.5.0</p>"},{"location":"changelog/#code-refactoring_11","title":"Code Refactoring","text":"<ul> <li>Never show full path in separate signature since it would appear in the heading already (9e02049 by Timoth\u00e9e Mazzucotelli).</li> <li>Improve guessing whether an object is public (35eb811 by Timoth\u00e9e Mazzucotelli).</li> <li>Always sort modules alphabetically as source order wouldn't make sense (70c81ce by Timoth\u00e9e Mazzucotelli).</li> <li>Return anchors as a tuple, not a set, to preserve order (736a2b5 by Timoth\u00e9e Mazzucotelli). Related-to #mkdocstrings/crystal#6</li> </ul>"},{"location":"changelog/#150-2023-08-20","title":"1.5.0 - 2023-08-20","text":"<p>Compare with 1.4.0</p>"},{"location":"changelog/#features_5","title":"Features","text":"<ul> <li>Add support for new Griffe docstring sections: modules, classes, and functions (methods) (d5337af by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#140-2023-08-18","title":"1.4.0 - 2023-08-18","text":"<p>Compare with 1.3.0</p>"},{"location":"changelog/#features_6","title":"Features","text":"<ul> <li>Support new Griffe expressions (in v0.33) (9b8e1b1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_12","title":"Code Refactoring","text":"<ul> <li>Deprecate <code>crossref</code> and <code>multi_crossref</code> filters (4fe3d20 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#130-2023-08-06","title":"1.3.0 - 2023-08-06","text":"<p>Compare with 1.2.1</p>"},{"location":"changelog/#dependencies_2","title":"Dependencies","text":"<ul> <li>Set upper bound on Griffe (0.33) (ad8c2a3 by Timoth\u00e9e Mazzucotelli). See https://github.com/mkdocstrings/griffe/discussions/195.</li> </ul>"},{"location":"changelog/#features_7","title":"Features","text":"<ul> <li>Show parameter default values within the \"list\" section style too (55f08f3 by Antoine Dechaume). PR #92, Co-authored-by: Timoth\u00e9e Mazzucotelli pawamoy@pm.me</li> </ul>"},{"location":"changelog/#121-2023-07-20","title":"1.2.1 - 2023-07-20","text":"<p>Compare with 1.2.0</p>"},{"location":"changelog/#bug-fixes_15","title":"Bug Fixes","text":"<ul> <li>Fix members ordering when members are specified with a boolean (c69f9c3 by Timoth\u00e9e Mazzucotelli). Issue #89</li> </ul>"},{"location":"changelog/#120-2023-07-14","title":"1.2.0 - 2023-07-14","text":"<p>Compare with 1.1.2</p>"},{"location":"changelog/#features_8","title":"Features","text":"<ul> <li>Add Jinja blocks to module, class, function and attribute templates (299fe48 by Timoth\u00e9e Mazzucotelli).</li> <li>Setup infrastructure for I18N, add translations for simplified chinese and japanese (b053b29 by Nyuan Zhang). PR #77</li> <li>Support inheritance (ae42356 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings#157, Discussion mkdocstrings#536</li> </ul>"},{"location":"changelog/#bug-fixes_16","title":"Bug Fixes","text":"<ul> <li>Don't show <code>None</code> as return annotation of class signatures (3d8724e by Timoth\u00e9e Mazzucotelli). Issue #85</li> <li>Show labels in deterministic order (02619a8 by Oleh Prypin).</li> </ul>"},{"location":"changelog/#112-2023-06-04","title":"1.1.2 - 2023-06-04","text":"<p>Compare with 1.1.1</p>"},{"location":"changelog/#code-refactoring_13","title":"Code Refactoring","text":"<ul> <li>Keep headings style consistent (CSS) (92032e5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#111-2023-06-04","title":"1.1.1 - 2023-06-04","text":"<p>Compare with 1.1.0</p>"},{"location":"changelog/#bug-fixes_17","title":"Bug Fixes","text":"<ul> <li>Fix mkdocs and readthedocs themes support (14f18b2 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_14","title":"Code Refactoring","text":"<ul> <li>Improve display of paragraphs in docstring sections (439f5e6 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#110-2023-05-25","title":"1.1.0 - 2023-05-25","text":"<p>Compare with 1.0.0</p>"},{"location":"changelog/#features_9","title":"Features","text":"<ul> <li>Support custom templates through objects' extra data (8ff2b06 by Timoth\u00e9e Mazzucotelli). PR #70</li> </ul>"},{"location":"changelog/#100-2023-05-11","title":"1.0.0 - 2023-05-11","text":"<p>Compare with 0.10.1</p>"},{"location":"changelog/#breaking-changes","title":"Breaking changes","text":"<ul> <li> <p>The signature of the <code>format_signature</code> filter has changed. If you override templates in your project to customize the output, make sure to update the following templates so that they use the new filter signature:</p> <ul> <li><code>class.html</code></li> <li><code>expression.html</code></li> <li><code>function.html</code></li> <li><code>signature.html</code></li> </ul> <p>You can see how to use the filter in this commit's changes: f686f4e4.</p> </li> </ul> <p>We take this as an opportunity to go out of beta and bump the version to 1.0.0. This will allow users to rely on semantic versioning.</p>"},{"location":"changelog/#bug-fixes_18","title":"Bug Fixes","text":"<ul> <li>Bring compatibility with insiders signature crossrefs feature (f686f4e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#0101-2023-05-07","title":"0.10.1 - 2023-05-07","text":"<p>Compare with 0.10.0</p>"},{"location":"changelog/#bug-fixes_19","title":"Bug Fixes","text":"<ul> <li>Format signatures with full-path names (685512d by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#0100-2023-05-07","title":"0.10.0 - 2023-05-07","text":"<p>Compare with 0.9.0</p>"},{"location":"changelog/#features_10","title":"Features","text":"<ul> <li>Add option to disallow inspection (40f2f26 by Nyuan Zhang). Issue #68, PR #69</li> </ul>"},{"location":"changelog/#bug-fixes_20","title":"Bug Fixes","text":"<ul> <li>Make admonitions open by default (79cd153 by Timoth\u00e9e Mazzucotelli). Issue #22</li> </ul>"},{"location":"changelog/#code-refactoring_15","title":"Code Refactoring","text":"<ul> <li>Match documented behavior for filtering (all members, list, none) (c7f70c3 by Timoth\u00e9e Mazzucotelli).</li> <li>Switch to an info level log for when black's not installed (f593bb0 by Faster Speeding).</li> <li>Return anchors as a set (e2b820c by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#090-2023-04-03","title":"0.9.0 - 2023-04-03","text":"<p>Compare with 0.8.3</p>"},{"location":"changelog/#features_11","title":"Features","text":"<ul> <li>Allow resolving alias to external modules (02052e2 by Gilad). PR #61, Follow-up of PR #60</li> <li>Allow pre-loading modules (36002cb by Gilad). Issue mkdocstrings/mkdocstrings#503, PR #60</li> <li>Add show options for docstrings (a6c55fb by Jeremy Goh). Issue mkdocstrings/mkdocstrings#466, PR #56</li> <li>Allow custom list of domains for inventories (f5ea6fd by Sorin Sbarnea). Issue mkdocstrings/mkdocstrings#510, PR #49</li> </ul>"},{"location":"changelog/#bug-fixes_21","title":"Bug Fixes","text":"<ul> <li>Prevent alias resolution error when searching for anchors (a190e2c by Timoth\u00e9e Mazzucotelli). Issue #64</li> </ul>"},{"location":"changelog/#code-refactoring_16","title":"Code Refactoring","text":"<ul> <li>Support Griffe 0.26 (075735c by Timoth\u00e9e Mazzucotelli).</li> <li>Log (debug) unresolved aliases (9164742 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#083-2023-01-04","title":"0.8.3 - 2023-01-04","text":"<p>Compare with 0.8.2</p>"},{"location":"changelog/#code-refactoring_17","title":"Code Refactoring","text":"<ul> <li>Change \"unresolved aliases\" log level to DEBUG (dccb818 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#082-2022-11-19","title":"0.8.2 - 2022-11-19","text":"<p>Compare with 0.8.1</p>"},{"location":"changelog/#bug-fixes_22","title":"Bug Fixes","text":"<ul> <li>Fix base directory used to expand globs (34cfa4b by Florian Hofer). PR #45</li> </ul>"},{"location":"changelog/#081-2022-11-19","title":"0.8.1 - 2022-11-19","text":"<p>Compare with 0.8.0</p>"},{"location":"changelog/#bug-fixes_23","title":"Bug Fixes","text":"<ul> <li>Expand globs relative to configuration file path (0dc45ae by David Vegh). Issue #42, PR #43</li> </ul>"},{"location":"changelog/#080-2022-11-13","title":"0.8.0 - 2022-11-13","text":"<p>Compare with 0.7.1</p>"},{"location":"changelog/#features_12","title":"Features","text":"<ul> <li>Add support for globs in paths configuration (29edd02 by Andrew Guenther). Issue #33, PR #34</li> </ul>"},{"location":"changelog/#code-refactoring_18","title":"Code Refactoring","text":"<ul> <li>Support Griffe 0.24 (3b9f701 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#071-2022-06-12","title":"0.7.1 - 2022-06-12","text":"<p>Compare with 0.7.0</p>"},{"location":"changelog/#bug-fixes_24","title":"Bug Fixes","text":"<ul> <li>Fix rendering of <code>/</code> in signatures (3e927e4 by Timoth\u00e9e Mazzucotelli). Issue #25</li> </ul>"},{"location":"changelog/#070-2022-05-28","title":"0.7.0 - 2022-05-28","text":"<p>Compare with 0.6.6</p>"},{"location":"changelog/#packaging-dependencies","title":"Packaging / Dependencies","text":"<ul> <li>Depend on mkdocstrings 0.19 (b6a9a47 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_13","title":"Features","text":"<ul> <li>Add config option for annotations paths verbosity (b6c9893 by Timoth\u00e9e Mazzucotelli).</li> <li>Use sections titles in SpaCy-styled docstrings (fe16b54 by Timoth\u00e9e Mazzucotelli).</li> <li>Wrap objects names in spans to allow custom styling (0822ff9 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/mkdocstrings#240</li> <li>Add Jinja blocks around docstring section styles (aaa79ee by Timoth\u00e9e Mazzucotelli).</li> <li>Add members and filters options (24a6136 by Timoth\u00e9e Mazzucotelli).</li> <li>Add paths option (dd41182 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/mkdocstrings#311, PR #20</li> </ul>"},{"location":"changelog/#bug-fixes_25","title":"Bug Fixes","text":"<ul> <li>Fix CSS class on labels (312a709 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix categories rendering (6407cf4 by Timoth\u00e9e Mazzucotelli). Issue #14</li> </ul>"},{"location":"changelog/#code-refactoring_19","title":"Code Refactoring","text":"<ul> <li>Disable <code>show_submodules</code> by default (480d0c3 by Timoth\u00e9e Mazzucotelli).</li> <li>Merge default configuration options in handler (347ce76 by Timoth\u00e9e Mazzucotelli).</li> <li>Reduce number of template debug logs (8fed314 by Timoth\u00e9e Mazzucotelli).</li> <li>Respect <code>show_root_full_path</code> for ToC entries (hidden headings) (8f4c853 by Timoth\u00e9e Mazzucotelli).</li> <li>Bring consistency on headings style (59104c4 by Timoth\u00e9e Mazzucotelli).</li> <li>Stop using deprecated base classes (d5ea1c5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#066-2022-03-06","title":"0.6.6 - 2022-03-06","text":"<p>Compare with 0.6.5</p>"},{"location":"changelog/#code-refactoring_20","title":"Code Refactoring","text":"<ul> <li>Always hide <code>self</code> and <code>cls</code> parameters (7f579d1 by Timoth\u00e9e Mazzucotelli). Issue #7</li> <li>Use <code>pycon</code> for examples code blocks (6545900 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#065-2022-02-24","title":"0.6.5 - 2022-02-24","text":"<p>Compare with 0.6.4</p>"},{"location":"changelog/#bug-fixes_26","title":"Bug Fixes","text":"<ul> <li>Don't escape signatures return annotations (ac54bfc by Timoth\u00e9e Mazzucotelli). Issue #6</li> </ul>"},{"location":"changelog/#064-2022-02-22","title":"0.6.4 - 2022-02-22","text":"<p>Compare with 0.6.3</p>"},{"location":"changelog/#bug-fixes_27","title":"Bug Fixes","text":"<ul> <li>Fix rendering of signature return annotation (b92ba3b by Timoth\u00e9e Mazzucotelli). Issue #4</li> </ul>"},{"location":"changelog/#063-2022-02-20","title":"0.6.3 - 2022-02-20","text":"<p>Compare with 0.6.2</p>"},{"location":"changelog/#bug-fixes_28","title":"Bug Fixes","text":"<ul> <li>Fix examples rendering (a06a7e3 by Timoth\u00e9e Mazzucotelli). Issue mkdocstrings/griffe#46</li> </ul>"},{"location":"changelog/#062-2022-02-17","title":"0.6.2 - 2022-02-17","text":"<p>Compare with 0.6.1</p>"},{"location":"changelog/#bug-fixes_29","title":"Bug Fixes","text":"<ul> <li>Catch alias resolution errors (b734dd0 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#061-2022-02-17","title":"0.6.1 - 2022-02-17","text":"<p>Compare with 0.6.0</p>"},{"location":"changelog/#bug-fixes_30","title":"Bug Fixes","text":"<ul> <li>Don't pop from fallback config (bde32af by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering init method source when merged into class (4a20aea by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#060-2022-02-13","title":"0.6.0 - 2022-02-13","text":"<p>Compare with 0.5.4</p>"},{"location":"changelog/#features_14","title":"Features","text":"<ul> <li>Add option to merge <code>__init__</code> methods' docstrings into their classes' docstrings (1b4d1c0 by Timoth\u00e9e Mazzucotelli).</li> <li>Support separate attribute signature (e962b88 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_31","title":"Bug Fixes","text":"<ul> <li>Restore full cross-refs paths on hover (ac11970 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix rendering of labels (52919c5 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_21","title":"Code Refactoring","text":"<ul> <li>Don't add trailing parentheses in functions heading when separate signature (885696e by Timoth\u00e9e Mazzucotelli).</li> <li>Use more explicit template debug messages (f2122d7 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#054-2022-02-13","title":"0.5.4 - 2022-02-13","text":"<p>Compare with 0.5.3</p>"},{"location":"changelog/#bug-fixes_32","title":"Bug Fixes","text":"<ul> <li>Don't load additional modules during fallback (69b8e25 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#053-2022-02-08","title":"0.5.3 - 2022-02-08","text":"<p>Compare with 0.5.2</p>"},{"location":"changelog/#bug-fixes_33","title":"Bug Fixes","text":"<ul> <li>Allow passing <code>null</code> as docstring style (f526816 by Timoth\u00e9e Mazzucotelli). Issue #2</li> </ul>"},{"location":"changelog/#052-2022-02-05","title":"0.5.2 - 2022-02-05","text":"<p>Compare with 0.5.1</p>"},{"location":"changelog/#dependencies_3","title":"Dependencies","text":"<ul> <li>Require at least mkdocstrings 0.18 (7abdda4 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#051-2022-02-03","title":"0.5.1 - 2022-02-03","text":"<p>Compare with 0.5.0</p>"},{"location":"changelog/#dependencies_4","title":"Dependencies","text":"<ul> <li>Depend on Griffe >= 0.11.1 (1303557 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_22","title":"Code Refactoring","text":"<ul> <li>Move handler into its own module (b787e78 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#050-2022-02-03","title":"0.5.0 - 2022-02-03","text":"<p>Compare with 0.4.1</p>"},{"location":"changelog/#features_15","title":"Features","text":"<ul> <li>Allow changing docstring style of an object (39240c1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_34","title":"Bug Fixes","text":"<ul> <li>Warn if Black is not installed when formatting signature (b848277 by Timoth\u00e9e Mazzucotelli).</li> <li>Fix missing default for <code>docstring_section_style</code> option (774988e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_23","title":"Code Refactoring","text":"<ul> <li>Change to new way of stripping paragraphs (33d4594 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#041-2022-02-01","title":"0.4.1 - 2022-02-01","text":"<p>Compare with 0.4.0</p>"},{"location":"changelog/#bug-fixes_35","title":"Bug Fixes","text":"<ul> <li>Fix docstring admonitions rendering (a24ae2e by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#040-2022-02-01","title":"0.4.0 - 2022-02-01","text":"<p>Compare with 0.3.0</p>"},{"location":"changelog/#code-refactoring_24","title":"Code Refactoring","text":"<ul> <li>Use the new <code>mkdocstrings_handlers</code> namespace (23c9023 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#030-2022-01-14","title":"0.3.0 - 2022-01-14","text":"<p>Compare with 0.2.0</p>"},{"location":"changelog/#features_16","title":"Features","text":"<ul> <li>Support griffe 0.10 (28061de by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#dependencies_5","title":"Dependencies","text":"<ul> <li>Require griffe 0.10 (cfbd7bb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_25","title":"Code Refactoring","text":"<ul> <li>Use new logger patching utility (4cdb292 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#020-2021-12-28","title":"0.2.0 - 2021-12-28","text":"<p>Compare with 0.1.0</p>"},{"location":"changelog/#dependencies_6","title":"Dependencies","text":"<ul> <li>Depend on griffe >= 0.7.1 (34f7ebd by Timoth\u00e9e Mazzucotelli).</li> <li>Upgrade griffe, no upper bound (8f0aa42 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#features_17","title":"Features","text":"<ul> <li>Add <code>show_signature</code> rendering option (0f07c2e by Will Da Silva).</li> </ul>"},{"location":"changelog/#bug-fixes_36","title":"Bug Fixes","text":"<ul> <li>Fix templates for named docstring elements (47868a1 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#010-2021-12-19","title":"0.1.0 - 2021-12-19","text":"<p>Compare with first commit</p>"},{"location":"changelog/#features_18","title":"Features","text":"<ul> <li>Implement handler and add templates (dbb580a by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#bug-fixes_37","title":"Bug Fixes","text":"<ul> <li>Fix separate signature feature (da6e81c by Timoth\u00e9e Mazzucotelli).</li> <li>Fix signature template (parameters annotations) (b34ead0 by Timoth\u00e9e Mazzucotelli).</li> <li>Only show source when present (c270d68 by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"changelog/#code-refactoring_26","title":"Code Refactoring","text":"<ul> <li>Return all known anchors (9bbfe14 by Timoth\u00e9e Mazzucotelli).</li> <li>Update for griffe 0.4.0 (831aabb by Timoth\u00e9e Mazzucotelli).</li> </ul>"},{"location":"code_of_conduct/","title":"Contributor Covenant Code of Conduct","text":""},{"location":"code_of_conduct/#our-pledge","title":"Our Pledge","text":"<p>We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation.</p> <p>We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.</p>"},{"location":"code_of_conduct/#our-standards","title":"Our Standards","text":"<p>Examples of behavior that contributes to a positive environment for our community include:</p> <ul> <li>Demonstrating empathy and kindness toward other people</li> <li>Being respectful of differing opinions, viewpoints, and experiences</li> <li>Giving and gracefully accepting constructive feedback</li> <li>Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience</li> <li>Focusing on what is best not just for us as individuals, but for the overall community</li> </ul> <p>Examples of unacceptable behavior include:</p> <ul> <li>The use of sexualized language or imagery, and sexual attention or advances of any kind</li> <li>Trolling, insulting or derogatory comments, and personal or political attacks</li> <li>Public or private harassment</li> <li>Publishing others' private information, such as a physical or email address, without their explicit permission</li> <li>Other conduct which could reasonably be considered inappropriate in a professional setting</li> </ul>"},{"location":"code_of_conduct/#enforcement-responsibilities","title":"Enforcement Responsibilities","text":"<p>Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.</p> <p>Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.</p>"},{"location":"code_of_conduct/#scope","title":"Scope","text":"<p>This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.</p>"},{"location":"code_of_conduct/#enforcement","title":"Enforcement","text":"<p>Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at dev@pawamoy.fr. All complaints will be reviewed and investigated promptly and fairly.</p> <p>All community leaders are obligated to respect the privacy and security of the reporter of any incident.</p>"},{"location":"code_of_conduct/#enforcement-guidelines","title":"Enforcement Guidelines","text":"<p>Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:</p>"},{"location":"code_of_conduct/#1-correction","title":"1. Correction","text":"<p>Community Impact: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.</p> <p>Consequence: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.</p>"},{"location":"code_of_conduct/#2-warning","title":"2. Warning","text":"<p>Community Impact: A violation through a single incident or series of actions.</p> <p>Consequence: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.</p>"},{"location":"code_of_conduct/#3-temporary-ban","title":"3. Temporary Ban","text":"<p>Community Impact: A serious violation of community standards, including sustained inappropriate behavior.</p> <p>Consequence: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.</p>"},{"location":"code_of_conduct/#4-permanent-ban","title":"4. Permanent Ban","text":"<p>Community Impact: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.</p> <p>Consequence: A permanent ban from any sort of public interaction within the community.</p>"},{"location":"code_of_conduct/#attribution","title":"Attribution","text":"<p>This Code of Conduct is adapted from the Contributor Covenant, version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.</p> <p>Community Impact Guidelines were inspired by Mozilla's code of conduct enforcement ladder.</p> <p>For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.</p>"},{"location":"contributing/","title":"Contributing","text":"<p>Contributions are welcome, and they are greatly appreciated! Every little bit helps, and credit will always be given.</p>"},{"location":"contributing/#environment-setup","title":"Environment setup","text":"<p>Nothing easier!</p> <p>Fork and clone the repository, then:</p> <pre><code>cd python\nmake setup\n</code></pre> <p>Note</p> <p> If it fails for some reason, you'll need to install uv manually.</p> <p>You can install it with:</p> <pre><code>python3 -m pip install --user pipx\npipx install uv\n</code></pre> <p>Now you can try running <code>make setup</code> again, or simply <code>uv install</code>.</p> <p>You now have the dependencies installed.</p> <p>Run <code>make help</code> to see all the available actions!</p>"},{"location":"contributing/#tasks","title":"Tasks","text":"<p>The entry-point to run commands and tasks is the <code>make</code> Python script, located in the <code>scripts</code> directory. Try running <code>make</code> to show the available commands and tasks. The commands do not need the Python dependencies to be installed, while the tasks do. The cross-platform tasks are written in Python, thanks to duty.</p> <p>If you work in VSCode, we provide an action to configure VSCode for the project.</p>"},{"location":"contributing/#development","title":"Development","text":"<p>As usual:</p> <ol> <li>create a new branch: <code>git switch -c feature-or-bugfix-name</code></li> <li>edit the code and/or the documentation</li> </ol> <p>Before committing:</p> <ol> <li>run <code>make format</code> to auto-format the code</li> <li>run <code>make check</code> to check everything (fix any warning)</li> <li>run <code>make test</code> to run the tests (fix any issue)</li> <li>if you updated the documentation or the project dependencies:<ol> <li>run <code>make docs</code></li> <li>go to http://localhost:8000 and check that everything looks good</li> </ol> </li> <li>follow our commit message convention</li> </ol> <p>If you are unsure about how to fix or ignore a warning, just let the continuous integration fail, and we will help you during review.</p> <p>Don't bother updating the changelog, we will take care of this.</p>"},{"location":"contributing/#commit-message-convention","title":"Commit message convention","text":"<p>Commit messages must follow our convention based on the Angular style or the Karma convention:</p> <pre><code><type>[(scope)]: Subject\n\n[Body]\n</code></pre> <p>Subject and body must be valid Markdown. Subject must have proper casing (uppercase for first letter if it makes sense), but no dot at the end, and no punctuation in general.</p> <p>Scope and body are optional. Type can be:</p> <ul> <li><code>build</code>: About packaging, building wheels, etc.</li> <li><code>chore</code>: About packaging or repo/files management.</li> <li><code>ci</code>: About Continuous Integration.</li> <li><code>deps</code>: Dependencies update.</li> <li><code>docs</code>: About documentation.</li> <li><code>feat</code>: New feature.</li> <li><code>fix</code>: Bug fix.</li> <li><code>perf</code>: About performance.</li> <li><code>refactor</code>: Changes that are not features or bug fixes.</li> <li><code>style</code>: A change in code style/format.</li> <li><code>tests</code>: About tests.</li> </ul> <p>If you write a body, please add trailers at the end (for example issues and PR references, or co-authors), without relying on GitHub's flavored Markdown:</p> <pre><code>Body.\n\nIssue #10: https://github.com/namespace/project/issues/10\nRelated to PR namespace/other-project#15: https://github.com/namespace/other-project/pull/15\n</code></pre> <p>These \"trailers\" must appear at the end of the body, without any blank lines between them. The trailer title can contain any character except colons <code>:</code>. We expect a full URI for each trailer, not just GitHub autolinks (for example, full GitHub URLs for commits and issues, not the hash or the #issue-number).</p> <p>We do not enforce a line length on commit messages summary and body, but please avoid very long summaries, and very long lines in the body, unless they are part of code blocks that must not be wrapped.</p>"},{"location":"contributing/#pull-requests-guidelines","title":"Pull requests guidelines","text":"<p>Link to any related issue in the Pull Request message.</p> <p>During the review, we recommend using fixups:</p> <pre><code># SHA is the SHA of the commit you want to fix\ngit commit --fixup=SHA\n</code></pre> <p>Once all the changes are approved, you can squash your commits:</p> <pre><code>git rebase -i --autosquash main\n</code></pre> <p>And force-push:</p> <pre><code>git push -f\n</code></pre> <p>If this seems all too complicated, you can push or force-push each new commit, and we will squash them ourselves if needed, before merging.</p>"},{"location":"credits/","title":"Credits","text":""},{"location":"credits/#exec-1--credits","title":"Credits","text":"<p>These projects were used to build mkdocstrings-python. Thank you!</p> <p>Python | uv | copier-uv</p>"},{"location":"credits/#exec-1--runtime-dependencies","title":"Runtime dependencies","text":"Project Summary Version (accepted) Version (last resolved) License click Composable command line interface toolkit <code>>=8.0.0, >=7.0</code> <code>8.1.7</code> BSD-3-Clause colorama Cross-platform colored terminal text. <code>~=0.4, >=0.4</code> <code>0.4.6</code> BSD License ghp-import Copy your docs directly to the gh-pages branch. <code>>=1.0</code> <code>2.1.0</code> Apache Software License griffe Signatures for entire Python programs. Extract the structure, the frame, the skeleton of your project, to generate API documentation or find breaking changes in your API. <code>>=0.49</code> <code>0.49.0.1.2.0</code> ISC importlib_metadata Read metadata from Python packages <code>>=4.6, >=4.4</code> <code>8.2.0</code> Apache Software License Jinja2 A very fast and expressive template engine. <code>~=3.0, >=2.11.1</code> <code>3.1.4</code> BSD License Markdown Python implementation of John Gruber's Markdown. <code>~=3.2, >=3.3</code> <code>3.6</code> BSD License MarkupSafe Safely add untrusted strings to HTML/XML markup. <code>>=2.0.1, >=1.1</code> <code>2.1.5</code> BSD-3-Clause mergedeep A deep merge function for \ud83d\udc0d. <code>~=1.3, >=1.3.4</code> <code>1.3.4</code> MIT License mkdocs Project documentation with Markdown. <code>>=1.6, >=1.4</code> <code>1.6.0</code> BSD-2-Clause mkdocs-autorefs Automatically link across pages in MkDocs. <code>>=0.3.1</code> <code>1.0.1</code> ISC mkdocs-get-deps MkDocs extension that lists all dependencies according to a mkdocs.yml file <code>>=0.2.0</code> <code>0.2.0</code> MIT mkdocstrings Automatic documentation from sources, for MkDocs. <code>>=0.25</code> <code>0.25.2</code> ISC packaging Core utilities for Python packages <code>>=24.0, >=20.5</code> <code>24.1</code> Apache Software License + BSD License pathspec Utility library for gitignore style pattern matching of file paths. <code>>=0.9.0, >=0.11.1</code> <code>0.12.1</code> Mozilla Public License 2.0 (MPL 2.0) platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>. <code>>=2.2.0, >=2</code> <code>4.2.2</code> MIT pymdown-extensions Extension pack for Python Markdown. <code>~=10.2, >=6.3</code> <code>10.9</code> MIT python-dateutil Extensions to the standard Python datetime module <code>>=2.8.1</code> <code>2.9.0.post0</code> BSD License + Apache Software License PyYAML YAML parser and emitter for Python <code>6.0.2</code> MIT pyyaml_env_tag A custom YAML tag for referencing environment variables in YAML files. <code>>=0.1</code> <code>0.1</code> MIT License six Python 2 and 3 compatibility utilities <code>>=1.5</code> <code>1.16.0</code> MIT typing_extensions Backported and Experimental Type Hints for Python 3.8+ <code>>=4.1, >=4.0.1</code> <code>4.12.2</code> Python Software Foundation License watchdog Filesystem events monitoring <code>>=2.0</code> <code>4.0.2</code> Apache-2.0 zipp Backport of pathlib-compatible object wrapper for zip files <code>>=0.5</code> <code>3.20.0</code> MIT License"},{"location":"credits/#exec-1--development-dependencies","title":"Development dependencies","text":"Project Summary Version (accepted) Version (last resolved) License ansimarkup Produce colored terminal text with an xml-like markup <code>~=1.4</code> <code>1.5.0</code> Revised BSD License appdirs A small Python module for determining appropriate platform-specific dirs, e.g. a \"user data dir\". <code>>=1.4</code> <code>1.4.4</code> MIT babel Internationalization utilities <code>~=2.10</code> <code>2.16.0</code> BSD-3-Clause backports.tarfile Backport of CPython tarfile module <code>1.2.0</code> MIT License black The uncompromising code formatter. <code>>=24.4</code> <code>24.8.0</code> MIT build A simple, correct Python build frontend <code>>=1.2</code> <code>1.2.1</code> MIT License certifi Python package for providing Mozilla's CA Bundle. <code>>=2017.4.17</code> <code>2024.7.4</code> MPL-2.0 cffi Foreign Function Interface for Python calling C code. <code>>=1.12</code> <code>1.17.0</code> MIT charset-normalizer The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet. <code>>=2, <4</code> <code>3.3.2</code> MIT click Composable command line interface toolkit <code>>=8.0.0, >=7.0</code> <code>8.1.7</code> BSD-3-Clause colorama Cross-platform colored terminal text. <code>~=0.4, >=0.4</code> <code>0.4.6</code> BSD License coverage Code coverage measurement for Python <code>>=5.2.1</code> <code>7.6.1</code> Apache-2.0 cryptography cryptography is a package which provides cryptographic recipes and primitives to Python developers. <code>>=2.0</code> <code>43.0.0</code> Apache-2.0 OR BSD-3-Clause csscompressor A python port of YUI CSS Compressor <code>>=0.9.5</code> <code>0.9.5</code> BSD docutils Docutils -- Python Documentation Utilities <code>>=0.21.2</code> <code>0.21.2</code> Public Domain + Python Software Foundation License + BSD License + GNU General Public License (GPL) duty A simple task runner. <code>>=1.4</code> <code>1.4.0</code> ISC editables Editable installations <code>>=0.5</code> <code>0.5</code> MIT License execnet execnet: rapid multi-Python deployment <code>>=2.1</code> <code>2.1.1</code> MIT failprint Run a command, print its output only if it fails. <code>>=0.11, !=1.0.0</code> <code>1.0.2</code> ISC ghp-import Copy your docs directly to the gh-pages branch. <code>>=1.0</code> <code>2.1.0</code> Apache Software License git-changelog Automatic Changelog generator using Jinja2 templates. <code>>=2.5</code> <code>2.5.2</code> ISC gitdb Git Object Database <code>>=4.0.1, <5</code> <code>4.0.11</code> BSD License GitPython GitPython is a Python library used to interact with Git repositories <code>3.1.43</code> BSD-3-Clause htmlmin2 An HTML Minifier <code>>=0.1.13</code> <code>0.1.13</code> BSD idna Internationalized Domain Names in Applications (IDNA) <code>>=2.5, <4</code> <code>3.7</code> BSD License importlib_metadata Read metadata from Python packages <code>>=4.6, >=4.4</code> <code>8.2.0</code> Apache Software License iniconfig brain-dead simple config-ini parsing <code>2.0.0</code> MIT jaraco.classes Utility functions for Python class constructs <code>3.4.0</code> MIT License jaraco.context Useful decorators and context managers <code>5.3.0</code> MIT License jaraco.functools Functools like those found in stdlib <code>4.0.2</code> MIT License jeepney Low-level, pure Python DBus protocol wrapper. <code>>=0.4.2</code> <code>0.8.0</code> MIT License Jinja2 A very fast and expressive template engine. <code>~=3.0, >=2.11.1</code> <code>3.1.4</code> BSD License jsmin JavaScript minifier. <code>>=3.0.1</code> <code>3.0.1</code> MIT License keyring Store and access your passwords safely. <code>>=15.1</code> <code>25.3.0</code> MIT License Markdown Python implementation of John Gruber's Markdown. <code>~=3.2, >=3.3</code> <code>3.6</code> BSD License markdown-callouts Markdown extension: a classier syntax for admonitions <code>>=0.4</code> <code>0.4.0</code> MIT markdown-exec Utilities to execute code blocks in Markdown files. <code>>=1.8</code> <code>1.9.3.1.1.0</code> ISC markdown-it-py Python port of markdown-it. Markdown parsing, done right! <code>>=2.2.0</code> <code>3.0.0</code> MIT License MarkupSafe Safely add untrusted strings to HTML/XML markup. <code>>=2.0.1, >=1.1</code> <code>2.1.5</code> BSD-3-Clause mdurl Markdown URL utilities <code>~=0.1</code> <code>0.1.2</code> MIT License mergedeep A deep merge function for \ud83d\udc0d. <code>~=1.3, >=1.3.4</code> <code>1.3.4</code> MIT License mkdocs Project documentation with Markdown. <code>>=1.6, >=1.4</code> <code>1.6.0</code> BSD-2-Clause mkdocs-autorefs Automatically link across pages in MkDocs. <code>>=0.3.1</code> <code>1.0.1</code> ISC mkdocs-coverage MkDocs plugin to integrate your coverage HTML report into your site. <code>>=1.0</code> <code>1.1.0</code> ISC mkdocs-gen-files MkDocs plugin to programmatically generate documentation pages during the build <code>>=0.5</code> <code>0.5.0</code> MIT mkdocs-get-deps MkDocs extension that lists all dependencies according to a mkdocs.yml file <code>>=0.2.0</code> <code>0.2.0</code> MIT mkdocs-git-committers-plugin-2 An MkDocs plugin to create a list of contributors on the page. The git-committers plugin will seed the template context with a list of GitHub or GitLab committers and other useful GIT info such as last modified date <code>>=2.3</code> <code>2.3.0</code> MIT mkdocs-literate-nav MkDocs plugin to specify the navigation in Markdown instead of YAML <code>>=0.6</code> <code>0.6.1</code> MIT mkdocs-material Documentation that simply works <code>>=9.5</code> <code>9.5.31+insiders.4.53.12</code> MIT mkdocs-material-extensions Extension pack for Python Markdown and MkDocs Material. <code>~=1.3</code> <code>1.3.1</code> MIT mkdocs-minify-plugin An MkDocs plugin to minify HTML, JS or CSS files prior to being written to disk <code>>=0.8</code> <code>0.8.0</code> MIT mkdocstrings Automatic documentation from sources, for MkDocs. <code>>=0.25</code> <code>0.25.2</code> ISC more-itertools More routines for operating on iterables, beyond itertools <code>10.4.0</code> MIT License mypy Optional static typing for Python <code>>=1.10</code> <code>1.11.1</code> MIT mypy-extensions Type system extensions for programs checked with the mypy type checker. <code>>=0.4.3</code> <code>1.0.0</code> MIT License nh3 Python bindings to the ammonia HTML sanitization library. <code>>=0.2.14</code> <code>0.2.18</code> MIT packaging Core utilities for Python packages <code>>=24.0, >=20.5</code> <code>24.1</code> Apache Software License + BSD License paginate Divides large result sets into pages for easier browsing <code>~=0.5</code> <code>0.5.6</code> MIT pathspec Utility library for gitignore style pattern matching of file paths. <code>>=0.9.0, >=0.11.1</code> <code>0.12.1</code> Mozilla Public License 2.0 (MPL 2.0) pkginfo Query metadata from sdists / bdists / installed packages. <code>>=1.8.1</code> <code>1.10.0</code> MIT platformdirs A small Python package for determining appropriate platform-specific dirs, e.g. a <code>user data dir</code>. <code>>=2.2.0, >=2</code> <code>4.2.2</code> MIT pluggy plugin and hook calling mechanisms for python <code>>=1.5, <2</code> <code>1.5.0</code> MIT ptyprocess Run a subprocess in a pseudo terminal <code>~=0.6</code> <code>0.7.0</code> ISC License (ISCL) pycparser C parser in Python <code>2.22</code> BSD-3-Clause Pygments Pygments is a syntax highlighting package written in Python. <code>~=2.16</code> <code>2.18.0</code> BSD-2-Clause pymdown-extensions Extension pack for Python Markdown. <code>~=10.2, >=6.3</code> <code>10.9</code> MIT pyproject_hooks Wrappers to call pyproject.toml-based build backend hooks. <code>1.1.0</code> MIT License pytest pytest: simple powerful testing with Python <code>>=8.2</code> <code>8.3.2</code> MIT pytest-cov Pytest plugin for measuring coverage. <code>>=5.0</code> <code>5.0.0</code> MIT pytest-randomly Pytest plugin to randomly order tests and control random.seed. <code>>=3.15</code> <code>3.15.0</code> MIT pytest-xdist pytest xdist plugin for distributed testing, most importantly across multiple CPUs <code>>=3.6</code> <code>3.6.1</code> MIT License python-dateutil Extensions to the standard Python datetime module <code>>=2.8.1</code> <code>2.9.0.post0</code> BSD License + Apache Software License PyYAML YAML parser and emitter for Python <code>6.0.2</code> MIT pyyaml_env_tag A custom YAML tag for referencing environment variables in YAML files. <code>>=0.1</code> <code>0.1</code> MIT License readme_renderer readme_renderer is a library for rendering readme descriptions for Warehouse <code>>=35.0</code> <code>44.0</code> Apache License, Version 2.0 regex Alternative regular expression module, to replace re. <code>>=2022.4</code> <code>2024.7.24</code> Apache Software License requests Python HTTP for Humans. <code>~=2.26</code> <code>2.32.3</code> Apache-2.0 requests-toolbelt A utility belt for advanced users of python-requests <code>>=0.8.0, !=0.9.0</code> <code>1.0.0</code> Apache 2.0 rfc3986 Validating URI References per RFC 3986 <code>>=1.4.0</code> <code>2.0.0</code> Apache 2.0 rich Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal <code>>=12.0.0</code> <code>13.7.1</code> MIT ruff An extremely fast Python linter and code formatter, written in Rust. <code>>=0.4</code> <code>0.5.7</code> MIT SecretStorage Python bindings to FreeDesktop.org Secret Service API <code>>=3.2</code> <code>3.3.3</code> BSD 3-Clause License semver Python helper for Semantic Versioning (https://semver.org) <code>>=2.13</code> <code>3.0.2</code> BSD six Python 2 and 3 compatibility utilities <code>>=1.5</code> <code>1.16.0</code> MIT smmap A pure Python implementation of a sliding window memory map manager <code>>=3.0.1, <6</code> <code>5.0.1</code> BSD twine Collection of utilities for publishing packages on PyPI <code>>=5.0</code> <code>5.1.1</code> Apache Software License types-Markdown Typing stubs for Markdown <code>>=3.6</code> <code>3.6.0.20240316</code> Apache-2.0 license types-PyYAML Typing stubs for PyYAML <code>>=6.0</code> <code>6.0.12.20240808</code> Apache-2.0 typing_extensions Backported and Experimental Type Hints for Python 3.8+ <code>>=4.1, >=4.0.1</code> <code>4.12.2</code> Python Software Foundation License urllib3 HTTP library with thread-safe connection pooling, file post, and more. <code>>=1.21.1, <3</code> <code>2.2.2</code> MIT License watchdog Filesystem events monitoring <code>>=2.0</code> <code>4.0.2</code> Apache-2.0 zipp Backport of pathlib-compatible object wrapper for zip files <code>>=0.5</code> <code>3.20.0</code> MIT License <p>More credits from the author</p>"},{"location":"license/","title":"License","text":"<pre><code>ISC License\n\nCopyright (c) 2021, Timoth\u00e9e Mazzucotelli\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted, provided that the above\ncopyright notice and this permission notice appear in all copies.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\nWITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\nMERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\nANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\nWHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\nACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\nOR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n</code></pre>"},{"location":"insiders/","title":"Insiders","text":"<p>mkdocstrings-python follows the sponsorware release strategy, which means that new features are first exclusively released to sponsors as part of Insiders. Read on to learn what sponsorships achieve, how to become a sponsor to get access to Insiders, and what's in it for you!</p>"},{"location":"insiders/#what-is-insiders","title":"What is Insiders?","text":"<p>mkdocstrings-python Insiders is a private fork of mkdocstrings-python, hosted as a private GitHub repository. Almost<sup>1</sup> all new features are developed as part of this fork, which means that they are immediately available to all eligible sponsors, as they are made collaborators of this repository.</p> <p>Every feature is tied to a funding goal in monthly subscriptions. When a funding goal is hit, the features that are tied to it are merged back into mkdocstrings-python and released for general availability, making them available to all users. Bugfixes are always released in tandem.</p> <p>Sponsorships start as low as $10 a month.<sup>2</sup></p>"},{"location":"insiders/#what-sponsorships-achieve","title":"What sponsorships achieve","text":"<p>Sponsorships make this project sustainable, as they buy the maintainers of this project time \u2013 a very scarce resource \u2013 which is spent on the development of new features, bug fixing, stability improvement, issue triage and general support. The biggest bottleneck in Open Source is time.<sup>3</sup></p> <p>If you're unsure if you should sponsor this project, check out the list of completed funding goals to learn whether you're already using features that were developed with the help of sponsorships. You're most likely using at least a handful of them, thanks to our awesome sponsors!</p>"},{"location":"insiders/#whats-in-it-for-me","title":"What's in it for me?","text":"<p>The moment you become a sponsor, you'll get immediate access to 9 additional features that you can start using right away, and which are currently exclusively available to sponsors:</p> <ul> <li> Class inheritance diagrams with Mermaid</li> <li> Annotations modernization</li> <li> Parameter headings</li> <li> Automatic cross-references to parameters</li> <li> Automatic cross-references for default parameter values in signatures</li> <li> Automatic rendering of function signature overloads</li> <li> Auto-summary of object members</li> <li> griffe-warnings-deprecated \u2014 [Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</li> <li> griffe-pydantic \u2014 [Project] Griffe extension for Pydantic</li> </ul> <p>These are just the features related to this project. See the complete feature list on the author's main Insiders page.</p>"},{"location":"insiders/#how-to-become-a-sponsor","title":"How to become a sponsor","text":"<p>Thanks for your interest in sponsoring! In order to become an eligible sponsor with your GitHub account, visit pawamoy's sponsor profile, and complete a sponsorship of $10 a month or more. You can use your individual or organization GitHub account for sponsoring.</p> <p>Sponsorships lower than $10 a month are also very much appreciated, and useful. They won't grant you access to Insiders, but they will be counted towards reaching sponsorship goals. Every sponsorship helps us implementing new features and releasing them to the public.</p> <p>Important: If you're sponsoring @pawamoy through a GitHub organization, please send a short email to insiders@pawamoy.fr with the name of your organization and the GitHub account of the individual that should be added as a collaborator.<sup>4</sup></p> <p>You can cancel your sponsorship anytime.<sup>5</sup></p> <p> \u00a0 Join our awesome sponsors</p> <p> If you sponsor publicly, you're automatically added here with a link to your profile and avatar to show your support for mkdocstrings-python. Alternatively, if you wish to keep your sponsorship private, you'll be a silent +1. You can select visibility during checkout and change it afterwards. </p>"},{"location":"insiders/#funding","title":"Funding","text":""},{"location":"insiders/#goals","title":"Goals","text":"<p>The following section lists all funding goals. Each goal contains a list of features prefixed with a checkmark symbol, denoting whether a feature is already available or planned, but not yet implemented. When the funding goal is hit, the features are released for general availability.</p> <p></p>"},{"location":"insiders/#1000-gravifridge-fluid-renewal","title":"$ 1,000 \u2014 GraviFridge Fluid Renewal","text":"<ul> <li> Auto-summary of object members</li> <li> Automatic rendering of function signature overloads</li> <li> Parameter headings</li> <li> Automatic cross-references to parameters</li> <li> Automatic cross-references for default parameter values in signatures</li> <li> griffe-pydantic \u2014 [Project] Griffe extension for Pydantic</li> <li> griffe-warnings-deprecated \u2014 [Project] Griffe extension for <code>@warnings.deprecated</code> (PEP 702)</li> </ul>"},{"location":"insiders/#1500-hyperlamp-navigation-tips","title":"$ 1,500 \u2014 HyperLamp Navigation Tips","text":"<ul> <li> Class inheritance diagrams with Mermaid</li> <li> Annotations modernization</li> </ul>"},{"location":"insiders/#2000-fusiondrive-ejection-configuration","title":"$ 2,000 \u2014 FusionDrive Ejection Configuration","text":"<ul> <li> Relative cross-references</li> </ul>"},{"location":"insiders/#goals-completed","title":"Goals completed","text":"<p>This section lists all funding goals that were previously completed, which means that those features were part of Insiders, but are now generally available and can be used by all users.</p> <p></p>"},{"location":"insiders/#500-plasmavac-user-guide","title":"$ 500 \u2014 PlasmaVac User Guide","text":"<ul> <li> Cross-references for type annotations in signatures</li> <li> Symbol types in headings and table of contents</li> <li> griffe-inherited-docstrings \u2014 [Project] Griffe extension for inheriting docstrings</li> </ul>"},{"location":"insiders/#frequently-asked-questions","title":"Frequently asked questions","text":""},{"location":"insiders/#compatibility","title":"Compatibility","text":"<p>We're building an open source project and want to allow outside collaborators to use mkdocstrings-python locally without having access to Insiders. Is this still possible?</p> <p>Yes. Insiders is compatible with mkdocstrings-python. Almost all new features and configuration options are either backward-compatible or implemented behind feature flags. Most Insiders features enhance the overall experience, though while these features add value for the users of your project, they shouldn't be necessary for previewing when making changes to content.</p>"},{"location":"insiders/#payment","title":"Payment","text":"<p>We don't want to pay for sponsorship every month. Are there any other options?</p> <p>Yes. You can sponsor on a yearly basis by switching your GitHub account to a yearly billing cycle. If for some reason you cannot do that, you could also create a dedicated GitHub account with a yearly billing cycle, which you only use for sponsoring (some sponsors already do that).</p> <p>If you have any problems or further questions, please reach out to insiders@pawamoy.fr.</p>"},{"location":"insiders/#terms","title":"Terms","text":"<p>Are we allowed to use Insiders under the same terms and conditions as mkdocstrings-python?</p> <p>Yes. Whether you're an individual or a company, you may use mkdocstrings-python Insiders precisely under the same terms as mkdocstrings-python, which are given by the ISC License. However, we kindly ask you to respect our fair use policy:</p> <ul> <li> <p>Please don't distribute the source code of Insiders. You may freely use it for public, private or commercial projects, privately fork or mirror it, but please don't make the source code public, as it would counteract the sponsorware strategy.</p> </li> <li> <p>If you cancel your subscription, you're automatically removed as a collaborator and will miss out on all future updates of Insiders. However, you may use the latest version that's available to you as long as you like. Just remember that GitHub deletes private forks.</p> </li> </ul> <ol> <li> <p>In general, every new feature is first exclusively released to sponsors, but sometimes upstream dependencies enhance existing features that must be supported by mkdocstrings-python.\u00a0\u21a9</p> </li> <li> <p>Note that $10 a month is the minimum amount to become eligible for Insiders. While GitHub Sponsors also allows to sponsor lower amounts or one-time amounts, those can't be granted access to Insiders due to technical reasons. Such contributions are still very much welcome as they help ensuring the project's sustainability.\u00a0\u21a9</p> </li> <li> <p>Making an Open Source project sustainable is exceptionally hard: maintainers burn out, projects are abandoned. That's not great and very unpredictable. The sponsorware model ensures that if you decide to use mkdocstrings-python, you can be sure that bugs are fixed quickly and new features are added regularly.\u00a0\u21a9</p> </li> <li> <p>It's currently not possible to grant access to each member of an organization, as GitHub only allows for adding users. Thus, after sponsoring, please send an email to insiders@pawamoy.fr, stating which account should become a collaborator of the Insiders repository. We're working on a solution which will make access to organizations much simpler. To ensure that access is not tied to a particular individual GitHub account, create a bot account (i.e. a GitHub account that is not tied to a specific individual), and use this account for the sponsoring. After being added to the list of collaborators, the bot account can create a private fork of the private Insiders GitHub repository, and grant access to all members of the organizations.\u00a0\u21a9</p> </li> <li> <p>If you cancel your sponsorship, GitHub schedules a cancellation request which will become effective at the end of the billing cycle. This means that even though you cancel your sponsorship, you will keep your access to Insiders as long as your cancellation isn't effective. All charges are processed by GitHub through Stripe. As we don't receive any information regarding your payment, and GitHub doesn't offer refunds, sponsorships are non-refundable.\u00a0\u21a9</p> </li> </ol>"},{"location":"insiders/changelog/","title":"Changelog","text":""},{"location":"insiders/changelog/#mkdocstrings-python-insiders","title":"mkdocstrings-python Insiders","text":""},{"location":"insiders/changelog/#1.8.3","title":"1.8.3 June 19, 2024","text":"<ul> <li>Update code for Griffe 0.46+ to avoid deprecation warnings</li> </ul>"},{"location":"insiders/changelog/#1.8.2","title":"1.8.2 May 09, 2024","text":"<ul> <li>Don't render cross-refs for default values when signatures aren't separated</li> </ul>"},{"location":"insiders/changelog/#1.8.1","title":"1.8.1 April 19, 2024","text":"<ul> <li>Render enumeration instance name instead of just \"value\", allowing proper cross-reference</li> </ul>"},{"location":"insiders/changelog/#1.8.0","title":"1.8.0 March 24, 2024","text":"<ul> <li>Annotations modernization</li> </ul>"},{"location":"insiders/changelog/#1.7.0","title":"1.7.0 March 24, 2024","text":"<ul> <li>Class inheritance diagrams with Mermaid</li> </ul>"},{"location":"insiders/changelog/#1.6.0","title":"1.6.0 January 30, 2024","text":"<ul> <li>Render cross-references to parameters documentation in signatures and attribute values.</li> <li>Add <code>parameter_headings</code> option to render headings for parameters (enabling permalinks and ToC/inventory entries).</li> <li>Render cross-references for default parameter values in signatures.</li> </ul>"},{"location":"insiders/changelog/#1.5.1","title":"1.5.1 September 12, 2023","text":"<ul> <li>Prevent empty auto-summarized Methods section.</li> </ul>"},{"location":"insiders/changelog/#1.5.0","title":"1.5.0 September 05, 2023","text":"<ul> <li>Render function signature overloads.</li> </ul>"},{"location":"insiders/changelog/#1.4.0","title":"1.4.0 August 27, 2023","text":"<ul> <li>Render cross-references in attribute signatures.</li> </ul>"},{"location":"insiders/changelog/#1.3.0","title":"1.3.0 August 24, 2023","text":"<ul> <li>Add \"method\" symbol type.</li> </ul>"},{"location":"insiders/changelog/#1.2.0","title":"1.2.0 August 20, 2023","text":"<ul> <li>Add member auto-summaries.</li> </ul>"},{"location":"insiders/changelog/#1.1.4","title":"1.1.4 July 17, 2023","text":"<ul> <li>Fix heading level increment for class members.</li> </ul>"},{"location":"insiders/changelog/#1.1.3","title":"1.1.3 July 17, 2023","text":"<ul> <li>Fix heading level (avoid with clause preventing to decrease it).</li> </ul>"},{"location":"insiders/changelog/#1.1.2","title":"1.1.2 July 15, 2023","text":"<ul> <li>Use non-breaking spaces after symbol types.</li> </ul>"},{"location":"insiders/changelog/#1.1.1","title":"1.1.1 June 27, 2023","text":"<ul> <li>Correctly escape expressions in signatures and other rendered types.</li> </ul>"},{"location":"insiders/changelog/#1.1.0","title":"1.1.0 June 4, 2023","text":"<ul> <li>Add Symbol types in headings and table of contents.</li> </ul>"},{"location":"insiders/changelog/#1.0.0","title":"1.0.0 May 10, 2023","text":"<ul> <li>Add cross-references for type annotations in signatures. Make sure to update your local templates as the signature of the <code>format_signature</code> filter has changed. The templates that must be updated: <code>class.html</code>, <code>expression.html</code>, <code>function.html</code> and <code>signature.html</code>.</li> </ul>"},{"location":"insiders/installation/","title":"Getting started with Insiders","text":"<p>mkdocstrings-python Insiders is a compatible drop-in replacement for mkdocstrings-python, and can be installed similarly using <code>pip</code> or <code>git</code>. Note that in order to access the Insiders repository, you need to become an eligible sponsor of @pawamoy on GitHub.</p>"},{"location":"insiders/installation/#installation","title":"Installation","text":""},{"location":"insiders/installation/#with-pypi-insiders","title":"with PyPI Insiders","text":"<p>PyPI Insiders is a tool that helps you keep up-to-date versions of Insiders projects in the PyPI index of your choice (self-hosted, Google registry, Artifactory, etc.).</p> <p>See how to install it and how to use it.</p> <p>We kindly ask that you do not upload the distributions to public registries, as it is against our Terms of use.</p>"},{"location":"insiders/installation/#with-pip-sshhttps","title":"with pip (ssh/https)","text":"<p>mkdocstrings-python Insiders can be installed with <code>pip</code> using SSH:</p> <pre><code>pip install git+ssh://git@github.com/pawamoy-insiders/mkdocstrings-python.git\n</code></pre> <p>Or using HTTPS:</p> <pre><code>pip install git+https://${GH_TOKEN}@github.com/pawamoy-insiders/mkdocstrings-python.git\n</code></pre> How to get a GitHub personal access token <p>The <code>GH_TOKEN</code> environment variable is a GitHub token. It can be obtained by creating a personal access token for your GitHub account. It will give you access to the Insiders repository, programmatically, from the command line or GitHub Actions workflows:</p> <ol> <li>Go to https://github.com/settings/tokens</li> <li>Click on Generate a new token</li> <li>Enter a name and select the <code>repo</code> scope</li> <li>Generate the token and store it in a safe place</li> </ol> <p>Note that the personal access token must be kept secret at all times, as it allows the owner to access your private repositories.</p>"},{"location":"insiders/installation/#with-git","title":"with Git","text":"<p>Of course, you can use mkdocstrings-python Insiders directly using Git:</p> <pre><code>git clone git@github.com:pawamoy-insiders/mkdocstrings-python\n</code></pre> <p>When cloning with Git, the package must be installed:</p> <pre><code>pip install -e mkdocstrings-python\n</code></pre>"},{"location":"insiders/installation/#upgrading","title":"Upgrading","text":"<p>When upgrading Insiders, you should always check the version of mkdocstrings-python which makes up the first part of the version qualifier. For example, a version like <code>8.x.x.4.x.x</code> means that Insiders <code>4.x.x</code> is currently based on <code>8.x.x</code>.</p> <p>If the major version increased, it's a good idea to consult the changelog and go through the steps to ensure your configuration is up to date and all necessary changes have been made.</p>"},{"location":"reference/SUMMARY/","title":"SUMMARY","text":"<ul> <li> mkdocstrings_handlers<ul> <li> python<ul> <li> debug</li> <li> handler</li> <li> rendering</li> </ul> </li> </ul> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/","title":"mkdocstrings_handlers.python","text":""},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python","title":"python","text":"<p>Python handler for mkdocstrings.</p> <p>Modules:</p> <ul> <li> <code>debug</code> \u2013 <p>Debugging utilities.</p> </li> <li> <code>handler</code> \u2013 <p>This module implements a handler for the Python language.</p> </li> <li> <code>rendering</code> \u2013 <p>This module implements rendering utilities.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_handler</code> \u2013 <p>Simply return an instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler","title":"get_handler","text":"<pre><code>get_handler(\n *,\n theme: str,\n custom_templates: str | None = None,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **config: Any\n) -> PythonHandler\n</code></pre> <p>Simply return an instance of <code>PythonHandler</code>.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>An instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(theme)","title":"<code>theme</code>","text":"(<code>str</code>) \u2013 <p>The theme to use when rendering contents.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(custom_templates)","title":"<code>custom_templates</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>Directory containing custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/#mkdocstrings_handlers.python.get_handler(**config)","title":"<code>**config</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Configuration passed to the handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/","title":"mkdocstrings_handlers.python.debug","text":""},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug","title":"debug","text":"<p>Debugging utilities.</p> <p>Classes:</p> <ul> <li> <code>Environment</code> \u2013 <p>Dataclass to store environment information.</p> </li> <li> <code>Package</code> \u2013 <p>Dataclass describing a Python package.</p> </li> <li> <code>Variable</code> \u2013 <p>Dataclass describing an environment variable.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_debug_info</code> \u2013 <p>Get debug/environment information.</p> </li> <li> <code>get_version</code> \u2013 <p>Get version of the given distribution.</p> </li> <li> <code>print_debug_info</code> \u2013 <p>Print debug/environment information.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment","title":"Environment <code>dataclass</code>","text":"<pre><code>Environment(\n interpreter_name: str,\n interpreter_version: str,\n interpreter_path: str,\n platform: str,\n packages: list[Package],\n variables: list[Variable],\n)\n</code></pre> <p>Dataclass to store environment information.</p> <p>Attributes:</p> <ul> <li> <code>interpreter_name</code> (<code>str</code>) \u2013 <p>Python interpreter name.</p> </li> <li> <code>interpreter_path</code> (<code>str</code>) \u2013 <p>Path to Python executable.</p> </li> <li> <code>interpreter_version</code> (<code>str</code>) \u2013 <p>Python interpreter version.</p> </li> <li> <code>packages</code> (<code>list[Package]</code>) \u2013 <p>Installed packages.</p> </li> <li> <code>platform</code> (<code>str</code>) \u2013 <p>Operating System.</p> </li> <li> <code>variables</code> (<code>list[Variable]</code>) \u2013 <p>Environment variables.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_name","title":"interpreter_name <code>instance-attribute</code>","text":"<pre><code>interpreter_name: str\n</code></pre> <p>Python interpreter name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_path","title":"interpreter_path <code>instance-attribute</code>","text":"<pre><code>interpreter_path: str\n</code></pre> <p>Path to Python executable.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.interpreter_version","title":"interpreter_version <code>instance-attribute</code>","text":"<pre><code>interpreter_version: str\n</code></pre> <p>Python interpreter version.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.packages","title":"packages <code>instance-attribute</code>","text":"<pre><code>packages: list[Package]\n</code></pre> <p>Installed packages.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.platform","title":"platform <code>instance-attribute</code>","text":"<pre><code>platform: str\n</code></pre> <p>Operating System.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Environment.variables","title":"variables <code>instance-attribute</code>","text":"<pre><code>variables: list[Variable]\n</code></pre> <p>Environment variables.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package","title":"Package <code>dataclass</code>","text":"<pre><code>Package(name: str, version: str)\n</code></pre> <p>Dataclass describing a Python package.</p> <p>Attributes:</p> <ul> <li> <code>name</code> (<code>str</code>) \u2013 <p>Package name.</p> </li> <li> <code>version</code> (<code>str</code>) \u2013 <p>Package version.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.name","title":"name <code>instance-attribute</code>","text":"<pre><code>name: str\n</code></pre> <p>Package name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Package.version","title":"version <code>instance-attribute</code>","text":"<pre><code>version: str\n</code></pre> <p>Package version.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable","title":"Variable <code>dataclass</code>","text":"<pre><code>Variable(name: str, value: str)\n</code></pre> <p>Dataclass describing an environment variable.</p> <p>Attributes:</p> <ul> <li> <code>name</code> (<code>str</code>) \u2013 <p>Variable name.</p> </li> <li> <code>value</code> (<code>str</code>) \u2013 <p>Variable value.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.name","title":"name <code>instance-attribute</code>","text":"<pre><code>name: str\n</code></pre> <p>Variable name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.Variable.value","title":"value <code>instance-attribute</code>","text":"<pre><code>value: str\n</code></pre> <p>Variable value.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_debug_info","title":"get_debug_info","text":"<pre><code>get_debug_info() -> Environment\n</code></pre> <p>Get debug/environment information.</p> <p>Returns:</p> <ul> <li> <code>Environment</code> \u2013 <p>Environment information.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_version","title":"get_version","text":"<pre><code>get_version(dist: str = 'mkdocstrings-python') -> str\n</code></pre> <p>Get version of the given distribution.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>A version number.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"reference/mkdocstrings_handlers/python/debug/#mkdocstrings_handlers.python.debug.print_debug_info","title":"print_debug_info","text":"<pre><code>print_debug_info() -> None\n</code></pre> <p>Print debug/environment information.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/","title":"mkdocstrings_handlers.python.handler","text":""},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler","title":"handler","text":"<p>This module implements a handler for the Python language.</p> <p>Modules:</p> <ul> <li> <code>rendering</code> \u2013 <p>This module implements rendering utilities.</p> </li> </ul> <p>Classes:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>The Python handler class.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>get_handler</code> \u2013 <p>Simply return an instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler","title":"PythonHandler","text":"<pre><code>PythonHandler(\n *args: Any,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **kwargs: Any,\n)\n</code></pre> <pre><code>\n flowchart TD\n mkdocstrings_handlers.python.handler.PythonHandler[PythonHandler]\n mkdocstrings.handlers.base.BaseHandler[BaseHandler]\n\n mkdocstrings.handlers.base.BaseHandler --> mkdocstrings_handlers.python.handler.PythonHandler\n \n\n\n click mkdocstrings_handlers.python.handler.PythonHandler href \"\" \"mkdocstrings_handlers.python.handler.PythonHandler\"\n click mkdocstrings.handlers.base.BaseHandler href \"\" \"mkdocstrings.handlers.base.BaseHandler\"\n </code></pre> <p>The Python handler class.</p> <p>Parameters:</p> <p>Methods:</p> <ul> <li> <code>do_convert_markdown</code> \u2013 <p>Render Markdown text; for use inside templates.</p> </li> <li> <code>do_heading</code> \u2013 <p>Render an HTML heading and register it for the table of contents. For use inside templates.</p> </li> <li> <code>get_extended_templates_dirs</code> \u2013 <p>Load template extensions for the given handler, return their templates directories.</p> </li> <li> <code>get_headings</code> \u2013 <p>Return and clear the headings gathered so far.</p> </li> <li> <code>get_templates_dir</code> \u2013 <p>Return the path to the handler's templates directory.</p> </li> <li> <code>load_inventory</code> \u2013 <p>Yield items and their URLs from an inventory file streamed from <code>in_file</code>.</p> </li> <li> <code>normalize_extension_paths</code> \u2013 <p>Resolve extension paths relative to config file.</p> </li> <li> <code>teardown</code> \u2013 <p>Teardown the handler.</p> </li> <li> <code>update_env</code> \u2013 <p>Update the Jinja environment with custom filters and tests.</p> </li> </ul> <p>Attributes:</p> <ul> <li> <code>default_config</code> (<code>dict</code>) \u2013 <p>Default handler configuration.</p> </li> <li> <code>domain</code> (<code>str</code>) \u2013 <p>The cross-documentation domain/language for this handler.</p> </li> <li> <code>enable_inventory</code> (<code>bool</code>) \u2013 <p>Whether this handler is interested in enabling the creation of the <code>objects.inv</code> Sphinx inventory file.</p> </li> <li> <code>extra_css</code> \u2013 <p>Extra CSS.</p> </li> <li> <code>fallback_config</code> (<code>dict</code>) \u2013 <p>The configuration used to collect item during autorefs fallback.</p> </li> <li> <code>fallback_theme</code> \u2013 <p>The fallback theme.</p> </li> <li> <code>name</code> (<code>str</code>) \u2013 <p>The handler's name.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(*args)","title":"<code>*args</code>","text":"(<code>Any</code>, default: <code>()</code> ) \u2013 <p>Handler name, theme and custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler(**kwargs)","title":"<code>**kwargs</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Same thing, but with keyword arguments.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.default_config","title":"default_config <code>class-attribute</code>","text":"<pre><code>default_config: dict = {\n \"find_stubs_package\": False,\n \"docstring_style\": \"google\",\n \"docstring_options\": {},\n \"show_symbol_type_heading\": False,\n \"show_symbol_type_toc\": False,\n \"show_root_heading\": False,\n \"show_root_toc_entry\": True,\n \"show_root_full_path\": True,\n \"show_root_members_full_path\": False,\n \"show_object_full_path\": False,\n \"show_category_heading\": False,\n \"show_if_no_docstring\": False,\n \"show_signature\": True,\n \"show_signature_annotations\": False,\n \"signature_crossrefs\": False,\n \"separate_signature\": False,\n \"line_length\": 60,\n \"merge_init_into_class\": False,\n \"show_docstring_attributes\": True,\n \"show_docstring_functions\": True,\n \"show_docstring_classes\": True,\n \"show_docstring_modules\": True,\n \"show_docstring_description\": True,\n \"show_docstring_examples\": True,\n \"show_docstring_other_parameters\": True,\n \"show_docstring_parameters\": True,\n \"show_docstring_raises\": True,\n \"show_docstring_receives\": True,\n \"show_docstring_returns\": True,\n \"show_docstring_warns\": True,\n \"show_docstring_yields\": True,\n \"show_source\": True,\n \"show_bases\": True,\n \"show_inheritance_diagram\": False,\n \"show_submodules\": False,\n \"group_by_category\": True,\n \"heading_level\": 2,\n \"members_order\": alphabetical.value,\n \"docstring_section_style\": \"table\",\n \"members\": None,\n \"inherited_members\": False,\n \"filters\": [\"!^_[^_]\"],\n \"annotations_path\": \"brief\",\n \"preload_modules\": None,\n \"allow_inspection\": True,\n \"summary\": False,\n \"show_labels\": True,\n \"unwrap_annotated\": False,\n \"parameter_headings\": False,\n \"modernize_annotations\": False,\n}\n</code></pre> <p>Default handler configuration.</p> <p>General options:</p> <ul> <li> <code>find_stubs_package</code> (<code>bool</code>) \u2013 <p>Whether to load stubs package (package-stubs) when extracting docstrings. Default <code>False</code>.</p> </li> <li> <code>allow_inspection</code> (<code>bool</code>) \u2013 <p>Whether to allow inspecting modules when visiting them is not possible. Default: <code>True</code>.</p> </li> <li> <code>show_bases</code> (<code>bool</code>) \u2013 <p>Show the base classes of a class. Default: <code>True</code>.</p> </li> <li> <code>show_inheritance_diagram</code> (<code>bool</code>) \u2013 <p>Show the inheritance diagram of a class using Mermaid. Default: <code>False</code>.</p> </li> <li> <code>show_source</code> (<code>bool</code>) \u2013 <p>Show the source code of this object. Default: <code>True</code>.</p> </li> <li> <code>preload_modules</code> (<code>list[str] | None</code>) \u2013 <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module.</p> <p>The modules must be listed as an array of strings. Default: <code>None</code>.</p> </li> </ul> <p>Headings options:</p> <ul> <li> <code>heading_level</code> (<code>int</code>) \u2013 <p>The initial heading level to use. Default: <code>2</code>.</p> </li> <li> <code>parameter_headings</code> (<code>bool</code>) \u2013 <p>Whether to render headings for parameters (therefore showing parameters in the ToC). Default: <code>False</code>.</p> </li> <li> <code>show_root_heading</code> (<code>bool</code>) \u2013 <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>). Default: <code>False</code>.</p> </li> <li> <code>show_root_toc_entry</code> (<code>bool</code>) \u2013 <p>If the root heading is not shown, at least add a ToC entry for it. Default: <code>True</code>.</p> </li> <li> <code>show_root_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path for the root object heading. Default: <code>True</code>.</p> </li> <li> <code>show_root_members_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of the root members. Default: <code>False</code>.</p> </li> <li> <code>show_object_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of every object. Default: <code>False</code>.</p> </li> <li> <code>show_category_heading</code> (<code>bool</code>) \u2013 <p>When grouped by categories, show a heading for each category. Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_heading</code> (<code>bool</code>) \u2013 <p>Show the symbol type in headings (e.g. mod, class, meth, func and attr). Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_toc</code> (<code>bool</code>) \u2013 <p>Show the symbol type in the Table of Contents (e.g. mod, class, methd, func and attr). Default: <code>False</code>.</p> </li> </ul> <p>Members options:</p> <ul> <li> <code>inherited_members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of inherited members to render. If true, select all inherited members, which can then be filtered with <code>members</code>. If false or empty list, do not select any inherited member. Default: <code>False</code>.</p> </li> <li> <code>members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of members to render. If true, select all members without further filtering. If false or empty list, do not render members. If none, select all members and apply further filtering with filters and docstrings. Default: <code>None</code>.</p> </li> <li> <code>members_order</code> (<code>str</code>) \u2013 <p>The members ordering to use. Options: <code>alphabetical</code> - order by the members names, <code>source</code> - order members as they appear in the source file. Default: <code>\"alphabetical\"</code>.</p> </li> <li> <code>filters</code> (<code>list[str] | None</code>) \u2013 <p>A list of filters applied to filter objects based on their name. A filter starting with <code>!</code> will exclude matching objects instead of including them. The <code>members</code> option takes precedence over <code>filters</code> (filters will still be applied recursively to lower members in the hierarchy). Default: <code>[\"!^_[^_]\"]</code>.</p> </li> <li> <code>group_by_category</code> (<code>bool</code>) \u2013 <p>Group the object's children by categories: attributes, classes, functions, and modules. Default: <code>True</code>.</p> </li> <li> <code>show_submodules</code> (<code>bool</code>) \u2013 <p>When rendering a module, show its submodules recursively. Default: <code>False</code>.</p> </li> <li> <code>summary</code> (<code>bool | dict[str, bool]</code>) \u2013 <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> </li> <li> <code>show_labels</code> (<code>bool</code>) \u2013 <p>Whether to show labels of the members. Default: <code>True</code>.</p> </li> </ul> <p>Docstrings options:</p> <ul> <li> <code>docstring_style</code> (<code>str</code>) \u2013 <p>The docstring style to use: <code>google</code>, <code>numpy</code>, <code>sphinx</code>, or <code>None</code>. Default: <code>\"google\"</code>.</p> </li> <li> <code>docstring_options</code> (<code>dict</code>) \u2013 <p>The options for the docstring parser. See docstring parsers and their options in Griffe docs.</p> </li> <li> <code>docstring_section_style</code> (<code>str</code>) \u2013 <p>The style used to render docstring sections. Options: <code>table</code>, <code>list</code>, <code>spacy</code>. Default: <code>\"table\"</code>.</p> </li> <li> <code>merge_init_into_class</code> (<code>bool</code>) \u2013 <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring. Default: <code>False</code>.</p> </li> <li> <code>show_if_no_docstring</code> (<code>bool</code>) \u2013 <p>Show the object heading even if it has no docstring or children with docstrings. Default: <code>False</code>.</p> </li> <li> <code>show_docstring_attributes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Attributes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_functions</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Functions\" or \"Methods\" sections in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_classes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Classes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_modules</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Modules\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_description</code> (<code>bool</code>) \u2013 <p>Whether to display the textual block (including admonitions) in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_examples</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Examples\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_other_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Other Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_raises</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Raises\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_receives</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Receives\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_returns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Returns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_warns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Warns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_yields</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Yields\" section in the object's docstring. Default: <code>True</code>.</p> </li> </ul> <p>Signatures/annotations options:</p> <ul> <li> <code>annotations_path</code> (<code>str</code>) \u2013 <p>The verbosity for annotations path: <code>brief</code> (recommended), or <code>source</code> (as written in the source). Default: <code>\"brief\"</code>.</p> </li> <li> <code>line_length</code> (<code>int</code>) \u2013 <p>Maximum line length when formatting code/signatures. Default: <code>60</code>.</p> </li> <li> <code>show_signature</code> (<code>bool</code>) \u2013 <p>Show methods and functions signatures. Default: <code>True</code>.</p> </li> <li> <code>show_signature_annotations</code> (<code>bool</code>) \u2013 <p>Show the type annotations in methods and functions signatures. Default: <code>False</code>.</p> </li> <li> <code>signature_crossrefs</code> (<code>bool</code>) \u2013 <p>Whether to render cross-references for type annotations in signatures. Default: <code>False</code>.</p> </li> <li> <code>separate_signature</code> (<code>bool</code>) \u2013 <p>Whether to put the whole signature in a code block below the heading. If Black is installed, the signature is also formatted using it. Default: <code>False</code>.</p> </li> <li> <code>unwrap_annotated</code> (<code>bool</code>) \u2013 <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations. Default: <code>False</code>.</p> </li> <li> <code>modernize_annotations</code> (<code>bool</code>) \u2013 <p>Whether to modernize annotations, for example <code>Optional[str]</code> into <code>str | None</code>. Default: <code>False</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.domain","title":"domain <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>domain: str = 'py'\n</code></pre> <p>The cross-documentation domain/language for this handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.enable_inventory","title":"enable_inventory <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>enable_inventory: bool = True\n</code></pre> <p>Whether this handler is interested in enabling the creation of the <code>objects.inv</code> Sphinx inventory file.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.extra_css","title":"extra_css <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>extra_css = ''\n</code></pre> <p>Extra CSS.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_config","title":"fallback_config <code>class-attribute</code>","text":"<pre><code>fallback_config: dict = {'fallback': True}\n</code></pre> <p>The configuration used to collect item during autorefs fallback.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.fallback_theme","title":"fallback_theme <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>fallback_theme = 'material'\n</code></pre> <p>The fallback theme.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.name","title":"name <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>name: str = 'python'\n</code></pre> <p>The handler's name.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown","title":"do_convert_markdown","text":"<pre><code>do_convert_markdown(\n text: str,\n heading_level: int,\n html_id: str = \"\",\n *,\n strip_paragraph: bool = False\n) -> Markup\n</code></pre> <p>Render Markdown text; for use inside templates.</p> <p>Parameters:</p> <ul> <li>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(text)","title":"<code>text</code>","text":"(<code>str</code>) \u2013 <p>The text to convert.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(heading_level)","title":"<code>heading_level</code>","text":"(<code>int</code>) \u2013 <p>The base heading level to start all Markdown headings from.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(html_id)","title":"<code>html_id</code>","text":"(<code>str</code>, default: <code>''</code> ) \u2013 <p>The HTML id of the element that's considered the parent of this element.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_convert_markdown(strip_paragraph)","title":"<code>strip_paragraph</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to exclude the <p> tag from around the whole output.</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>An HTML string.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading","title":"do_heading","text":"<pre><code>do_heading(\n content: Markup,\n heading_level: int,\n *,\n role: str | None = None,\n hidden: bool = False,\n toc_label: str | None = None,\n **attributes: str\n) -> Markup\n</code></pre> <p>Render an HTML heading and register it for the table of contents. For use inside templates.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>An HTML string.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(content)","title":"<code>content</code>","text":"(<code>Markup</code>) \u2013 <p>The HTML within the heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(heading_level)","title":"<code>heading_level</code>","text":"(<code>int</code>) \u2013 <p>The level of heading (e.g. 3 -> <code>h3</code>).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(role)","title":"<code>role</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>An optional role for the object bound to this heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(hidden)","title":"<code>hidden</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>If True, only register it for the table of contents, don't render anything.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(toc_label)","title":"<code>toc_label</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The title to use in the table of contents ('data-toc-label' attribute).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.do_heading(**attributes)","title":"<code>**attributes</code>","text":"(<code>str</code>, default: <code>{}</code> ) \u2013 <p>Any extra HTML attributes of the heading.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs","title":"get_extended_templates_dirs","text":"<pre><code>get_extended_templates_dirs(handler: str) -> list[Path]\n</code></pre> <p>Load template extensions for the given handler, return their templates directories.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[Path]</code> \u2013 <p>The extensions templates directories.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_extended_templates_dirs(handler)","title":"<code>handler</code>","text":"(<code>str</code>) \u2013 <p>The name of the handler to get the extended templates directory of.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_headings","title":"get_headings","text":"<pre><code>get_headings() -> Sequence[Element]\n</code></pre> <p>Return and clear the headings gathered so far.</p> <p>Returns:</p> <ul> <li> <code>Sequence[Element]</code> \u2013 <p>A list of HTML elements.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir","title":"get_templates_dir","text":"<pre><code>get_templates_dir(handler: str | None = None) -> Path\n</code></pre> <p>Return the path to the handler's templates directory.</p> <p>Override to customize how the templates directory is found.</p> <p>Parameters:</p> <p>Raises:</p> <ul> <li> <code>ModuleNotFoundError</code> \u2013 <p>When no such handler is installed.</p> </li> <li> <code>FileNotFoundError</code> \u2013 <p>When the templates directory cannot be found.</p> </li> </ul> <p>Returns:</p> <ul> <li> <code>Path</code> \u2013 <p>The templates directory path.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.get_templates_dir(handler)","title":"<code>handler</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The name of the handler to get the templates directory of.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory","title":"load_inventory <code>classmethod</code>","text":"<pre><code>load_inventory(\n in_file: BinaryIO,\n url: str,\n base_url: str | None = None,\n domains: list[str] | None = None,\n **kwargs: Any,\n) -> Iterator[tuple[str, str]]\n</code></pre> <p>Yield items and their URLs from an inventory file streamed from <code>in_file</code>.</p> <p>This implements mkdocstrings' <code>load_inventory</code> \"protocol\" (see <code>mkdocstrings.plugin</code>).</p> <p>Parameters:</p> <p>Yields:</p> <ul> <li> <code>str</code> \u2013 <p>Tuples of (item identifier, item URL).</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(in_file)","title":"<code>in_file</code>","text":"(<code>BinaryIO</code>) \u2013 <p>The binary file-like object to read the inventory from.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(url)","title":"<code>url</code>","text":"(<code>str</code>) \u2013 <p>The URL that this file is being streamed from (used to guess <code>base_url</code>).</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(base_url)","title":"<code>base_url</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The URL that this inventory's sub-paths are relative to.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(domains)","title":"<code>domains</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of domain strings to filter the inventory by, when not passed, \"py\" will be used.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.load_inventory(**kwargs)","title":"<code>**kwargs</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Ignore additional arguments passed from the config.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.normalize_extension_paths","title":"normalize_extension_paths","text":"<pre><code>normalize_extension_paths(extensions: Sequence) -> Sequence\n</code></pre> <p>Resolve extension paths relative to config file.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.teardown","title":"teardown","text":"<pre><code>teardown() -> None\n</code></pre> <p>Teardown the handler.</p> <p>This method should be implemented to, for example, terminate a subprocess that was started when creating the handler instance.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env","title":"update_env","text":"<pre><code>update_env(md: Markdown, config: dict) -> None\n</code></pre> <p>Update the Jinja environment with custom filters and tests.</p> <p>Parameters:</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env(md)","title":"<code>md</code>","text":"(<code>Markdown</code>) \u2013 <p>The Markdown instance.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.PythonHandler.update_env(config)","title":"<code>config</code>","text":"(<code>dict</code>) \u2013 <p>The configuration dictionary.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler","title":"get_handler","text":"<pre><code>get_handler(\n *,\n theme: str,\n custom_templates: str | None = None,\n config_file_path: str | None = None,\n paths: list[str] | None = None,\n locale: str = \"en\",\n load_external_modules: bool | None = None,\n **config: Any\n) -> PythonHandler\n</code></pre> <p>Simply return an instance of <code>PythonHandler</code>.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>PythonHandler</code> \u2013 <p>An instance of <code>PythonHandler</code>.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(theme)","title":"<code>theme</code>","text":"(<code>str</code>) \u2013 <p>The theme to use when rendering contents.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(custom_templates)","title":"<code>custom_templates</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>Directory containing custom templates.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(config_file_path)","title":"<code>config_file_path</code>","text":"(<code>str | None</code>, default: <code>None</code> ) \u2013 <p>The MkDocs configuration file path.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(paths)","title":"<code>paths</code>","text":"(<code>list[str] | None</code>, default: <code>None</code> ) \u2013 <p>A list of paths to use as Griffe search paths.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(locale)","title":"<code>locale</code>","text":"(<code>str</code>, default: <code>'en'</code> ) \u2013 <p>The locale to use when rendering content.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(load_external_modules)","title":"<code>load_external_modules</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Load external modules when resolving aliases.</p>"},{"location":"reference/mkdocstrings_handlers/python/handler/#mkdocstrings_handlers.python.handler.get_handler(**config)","title":"<code>**config</code>","text":"(<code>Any</code>, default: <code>{}</code> ) \u2013 <p>Configuration passed to the handler.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/","title":"mkdocstrings_handlers.python.rendering","text":""},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering","title":"rendering","text":"<p>This module implements rendering utilities.</p> <p>Classes:</p> <ul> <li> <code>Order</code> \u2013 <p>Enumeration for the possible members ordering.</p> </li> </ul> <p>Functions:</p> <ul> <li> <code>do_as_attributes_section</code> \u2013 <p>Build an attributes section from a list of attributes.</p> </li> <li> <code>do_as_classes_section</code> \u2013 <p>Build a classes section from a list of classes.</p> </li> <li> <code>do_as_functions_section</code> \u2013 <p>Build a functions section from a list of functions.</p> </li> <li> <code>do_as_modules_section</code> \u2013 <p>Build a modules section from a list of modules.</p> </li> <li> <code>do_crossref</code> \u2013 <p>Deprecated. Filter to create cross-references.</p> </li> <li> <code>do_filter_objects</code> \u2013 <p>Filter a dictionary of objects based on their docstrings.</p> </li> <li> <code>do_format_attribute</code> \u2013 <p>Format an attribute using Black.</p> </li> <li> <code>do_format_code</code> \u2013 <p>Format code using Black.</p> </li> <li> <code>do_format_signature</code> \u2013 <p>Format a signature using Black.</p> </li> <li> <code>do_get_template</code> \u2013 <p>Get the template name used to render an object.</p> </li> <li> <code>do_multi_crossref</code> \u2013 <p>Deprecated. Filter to create cross-references.</p> </li> <li> <code>do_order_members</code> \u2013 <p>Order members given an ordering method.</p> </li> <li> <code>do_split_path</code> \u2013 <p>Split object paths for building cross-references.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order","title":"Order","text":"<pre><code>\n flowchart TD\n mkdocstrings_handlers.python.rendering.Order[Order]\n\n \n\n click mkdocstrings_handlers.python.rendering.Order href \"\" \"mkdocstrings_handlers.python.rendering.Order\"\n </code></pre> <p>Enumeration for the possible members ordering.</p> <p>Attributes:</p> <ul> <li> <code>alphabetical</code> \u2013 <p>Alphabetical order.</p> </li> <li> <code>source</code> \u2013 <p>Source code order.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order.alphabetical","title":"alphabetical <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>alphabetical = 'alphabetical'\n</code></pre> <p>Alphabetical order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.Order.source","title":"source <code>class-attribute</code> <code>instance-attribute</code>","text":"<pre><code>source = 'source'\n</code></pre> <p>Source code order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section","title":"do_as_attributes_section","text":"<pre><code>do_as_attributes_section(\n context: Context,\n attributes: Sequence[Attribute],\n *,\n check_public: bool = True\n) -> DocstringSectionAttributes\n</code></pre> <p>Build an attributes section from a list of attributes.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionAttributes</code> \u2013 <p>An attributes docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section(attributes)","title":"<code>attributes</code>","text":"(<code>Sequence[Attribute]</code>) \u2013 <p>The attributes to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_attributes_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the attribute is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section","title":"do_as_classes_section","text":"<pre><code>do_as_classes_section(\n context: Context,\n classes: Sequence[Class],\n *,\n check_public: bool = True\n) -> DocstringSectionClasses\n</code></pre> <p>Build a classes section from a list of classes.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionClasses</code> \u2013 <p>A classes docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section(classes)","title":"<code>classes</code>","text":"(<code>Sequence[Class]</code>) \u2013 <p>The classes to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_classes_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the class is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section","title":"do_as_functions_section","text":"<pre><code>do_as_functions_section(\n context: Context,\n functions: Sequence[Function],\n *,\n check_public: bool = True\n) -> DocstringSectionFunctions\n</code></pre> <p>Build a functions section from a list of functions.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionFunctions</code> \u2013 <p>A functions docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section(functions)","title":"<code>functions</code>","text":"(<code>Sequence[Function]</code>) \u2013 <p>The functions to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_functions_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the function is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section","title":"do_as_modules_section","text":"<pre><code>do_as_modules_section(\n context: Context,\n modules: Sequence[Module],\n *,\n check_public: bool = True\n) -> DocstringSectionModules\n</code></pre> <p>Build a modules section from a list of modules.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>DocstringSectionModules</code> \u2013 <p>A modules docstring section.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section(modules)","title":"<code>modules</code>","text":"(<code>Sequence[Module]</code>) \u2013 <p>The modules to build the section from.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_as_modules_section(check_public)","title":"<code>check_public</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to check if the module is public.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref","title":"do_crossref","text":"<pre><code>do_crossref(path: str, *, brief: bool = True) -> Markup\n</code></pre> <p>Deprecated. Filter to create cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>Markup text.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref(path)","title":"<code>path</code>","text":"(<code>str</code>) \u2013 <p>The path to link to.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_crossref(brief)","title":"<code>brief</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Show only the last part of the path, add full path as hover.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects","title":"do_filter_objects","text":"<pre><code>do_filter_objects(\n objects_dictionary: dict[str, Object | Alias],\n *,\n filters: Sequence[tuple[Pattern, bool]] | None = None,\n members_list: bool | list[str] | None = None,\n inherited_members: bool | list[str] = False,\n keep_no_docstrings: bool = True\n) -> list[Object | Alias]\n</code></pre> <p>Filter a dictionary of objects based on their docstrings.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[Object | Alias]</code> \u2013 <p>A list of objects.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(objects_dictionary)","title":"<code>objects_dictionary</code>","text":"(<code>dict[str, Object | Alias]</code>) \u2013 <p>The dictionary of objects.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(filters)","title":"<code>filters</code>","text":"(<code>Sequence[tuple[Pattern, bool]] | None</code>, default: <code>None</code> ) \u2013 <p>Filters to apply, based on members' names. Each element is a tuple: a pattern, and a boolean indicating whether to reject the object if the pattern matches.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(members_list)","title":"<code>members_list</code>","text":"(<code>bool | list[str] | None</code>, default: <code>None</code> ) \u2013 <p>An optional, explicit list of members to keep. When given and empty, return an empty list. When given and not empty, ignore filters and docstrings presence/absence.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(inherited_members)","title":"<code>inherited_members</code>","text":"(<code>bool | list[str]</code>, default: <code>False</code> ) \u2013 <p>Whether to keep inherited members or exclude them.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_filter_objects(keep_no_docstrings)","title":"<code>keep_no_docstrings</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to keep objects with no/empty docstrings (recursive check).</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute","title":"do_format_attribute","text":"<pre><code>do_format_attribute(\n context: Context,\n attribute_path: Markup,\n attribute: Attribute,\n line_length: int,\n *,\n crossrefs: bool = False\n) -> str\n</code></pre> <p>Format an attribute using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(context)","title":"<code>context</code>","text":"(<code>Context</code>) \u2013 <p>Jinja context, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute_path)","title":"<code>attribute_path</code>","text":"(<code>Markup</code>) \u2013 <p>The path of the callable we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(attribute)","title":"<code>attribute</code>","text":"(<code>Attribute</code>) \u2013 <p>The attribute we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_attribute(crossrefs)","title":"<code>crossrefs</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to cross-reference types in the signature.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code","title":"do_format_code","text":"<pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Format code using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code(code)","title":"<code>code</code>","text":"(<code>str</code>) \u2013 <p>The code to format.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_code(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature","title":"do_format_signature","text":"<pre><code>do_format_signature(\n context: Context,\n callable_path: Markup,\n function: Function,\n line_length: int,\n *,\n annotations: bool | None = None,\n crossrefs: bool = False\n) -> str\n</code></pre> <p>Format a signature using Black.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>The same code, formatted.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(context)","title":"<code>context</code>","text":"(<code>Context</code>) \u2013 <p>Jinja context, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(callable_path)","title":"<code>callable_path</code>","text":"(<code>Markup</code>) \u2013 <p>The path of the callable we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(function)","title":"<code>function</code>","text":"(<code>Function</code>) \u2013 <p>The function we render the signature of.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(line_length)","title":"<code>line_length</code>","text":"(<code>int</code>) \u2013 <p>The line length to give to Black.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(annotations)","title":"<code>annotations</code>","text":"(<code>bool | None</code>, default: <code>None</code> ) \u2013 <p>Whether to show type annotations.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_format_signature(crossrefs)","title":"<code>crossrefs</code>","text":"(<code>bool</code>, default: <code>False</code> ) \u2013 <p>Whether to cross-reference types in the signature.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template","title":"do_get_template","text":"<pre><code>do_get_template(\n env: Environment, obj: str | Object\n) -> str | Template\n</code></pre> <p>Get the template name used to render an object.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str | Template</code> \u2013 <p>A template name.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template(env)","title":"<code>env</code>","text":"(<code>Environment</code>) \u2013 <p>The Jinja environment, passed automatically.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_get_template(obj)","title":"<code>obj</code>","text":"(<code>str | Object</code>) \u2013 <p>A Griffe object, or a template name.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref","title":"do_multi_crossref","text":"<pre><code>do_multi_crossref(\n text: str, *, code: bool = True\n) -> Markup\n</code></pre> <p>Deprecated. Filter to create cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Markup</code> \u2013 <p>Markup text.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref(text)","title":"<code>text</code>","text":"(<code>str</code>) \u2013 <p>The text to scan.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_multi_crossref(code)","title":"<code>code</code>","text":"(<code>bool</code>, default: <code>True</code> ) \u2013 <p>Whether to wrap the result in a code tag.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members","title":"do_order_members","text":"<pre><code>do_order_members(\n members: Sequence[Object | Alias],\n order: Order,\n members_list: bool | list[str] | None,\n) -> Sequence[Object | Alias]\n</code></pre> <p>Order members given an ordering method.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>Sequence[Object | Alias]</code> \u2013 <p>The same members, ordered.</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(members)","title":"<code>members</code>","text":"(<code>Sequence[Object | Alias]</code>) \u2013 <p>The members to order.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(order)","title":"<code>order</code>","text":"(<code>Order</code>) \u2013 <p>The ordering method.</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_order_members(members_list)","title":"<code>members_list</code>","text":"(<code>bool | list[str] | None</code>) \u2013 <p>An optional member list (manual ordering).</p>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_split_path","title":"do_split_path","text":"<pre><code>do_split_path(\n path: str, full_path: str\n) -> list[tuple[str, str]]\n</code></pre> <p>Split object paths for building cross-references.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>list[tuple[str, str]]</code> \u2013 <p>A list of pairs (title, full path).</p> </li> </ul>"},{"location":"reference/mkdocstrings_handlers/python/rendering/#mkdocstrings_handlers.python.rendering.do_split_path(path)","title":"<code>path</code>","text":"(<code>str</code>) \u2013 <p>The path to split.</p>"},{"location":"usage/","title":"Usage","text":"<p>This is the documentation for the NEW Python handler.</p> <p>To read the documentation for the LEGACY handler, go to the legacy handler documentation.</p>"},{"location":"usage/#installation","title":"Installation","text":"<p>You can install this handler as a mkdocstrings extra:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings[python]>=0.18\",\n]\n</code></pre> <p>You can also explicitly depend on the handler:</p> pyproject.toml<pre><code># PEP 621 dependencies declaration\n# adapt to your dependencies manager\n[project]\ndependencies = [\n \"mkdocstrings-python\",\n]\n</code></pre> <p>The Python handler is the default mkdocstrings handler. You can change the default handler, or explicitely set the Python handler as default by defining the <code>default_handler</code> configuration option of <code>mkdocstrings</code> in <code>mkdocs.yml</code>:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n default_handler: python\n</code></pre>"},{"location":"usage/#injecting-documentation","title":"Injecting documentation","text":"<p>With the Python handler installed and configured as default handler, you can inject documentation for a module, class, function, or any other Python object with mkdocstrings' autodoc syntax, in your Markdown pages:</p> <pre><code>::: path.to.object\n</code></pre> <p>If another handler was defined as default handler, you can explicitely ask for the Python handler to be used when injecting documentation with the <code>handler</code> option:</p> <pre><code>::: path.to.object\n handler: python\n</code></pre>"},{"location":"usage/#configuration","title":"Configuration","text":"<p>When installed, the Python handler becomes the default mkdocstrings handler. You can configure it in <code>mkdocs.yml</code>:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n ... # the Python handler configuration\n</code></pre>"},{"location":"usage/#global-only-options","title":"Global-only options","text":"<p>Some options are global only, and go directly under the handler's name.</p>"},{"location":"usage/#import","title":"<code>import</code>","text":"<p>This option is used to import Sphinx-compatible objects inventories from other documentation sites. For example, you can import the standard library objects inventory like this:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n import:\n - https://docs.python-requests.org/en/master/objects.inv\n</code></pre> <p>When importing an inventory, you enable automatic cross-references to other documentation sites like the standard library docs or any third-party package docs. Typically, you want to import the inventories of your project's dependencies, at least those that are used in the public API. </p> <p>See mkdocstrings' documentation on inventories for more details.</p> <p>Additionally, the Python handler accepts a <code>domains</code> option in the import items, which allows to select the inventory domains to select. By default the Python handler only selects the <code>py</code> domain (for Python objects). You might find useful to also enable the <code>std</code> domain:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n import:\n - url: https://docs.python-requests.org/en/master/objects.inv\n domains: [std, py]\n</code></pre> <p>Note</p> <p>The <code>import</code> option is common to all handlers, however they might implement it differently, or not even implement it.</p>"},{"location":"usage/#paths","title":"<code>paths</code>","text":"<p>This option is used to provide filesystem paths in which to search for Python modules. Non-absolute paths are computed as relative to MkDocs configuration file. Example:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [src] # search packages in the src folder\n</code></pre> <p>More details at Finding modules.</p>"},{"location":"usage/#load_external_modules","title":"<code>load_external_modules</code>","text":"<p>This option allows resolving aliases (imports) to any external module. Modules are considered external when they are not part of the package your are injecting documentation for. Setting this option to <code>True</code> will tell the handler to resolve aliases recursively when they are made public through the <code>__all__</code> variable. By default, the handler will only resolve aliases when they point at a private sibling of the source package, for example aliases going from <code>ast</code> to <code>_ast</code>. Set <code>load_external_modules</code> to <code>False</code> to prevent even that.</p> <p>Use with caution</p> <p> This can load a lot of modules through Griffe, slowing down your build or triggering errors that Griffe does not yet handle. We recommend using the <code>preload_modules</code> option instead, which acts as an include-list rather than as include-all.</p> <p>Example:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n load_external_modules: true\n</code></pre>"},{"location":"usage/#globallocal-options","title":"Global/local options","text":"<p>The other options can be used both globally and locally, under the <code>options</code> key. For example, globally:</p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n do_something: true\n</code></pre> <p>...and locally, overriding the global configuration:</p> docs/some_page.md<pre><code>::: package.module.class\n options:\n do_something: false\n</code></pre> <p>These options affect how the documentation is collected from sources and rendered. See the following tables summarizing the options, and get more details for each option in the following pages:</p> <ul> <li>General options: various options that do not fit in the other categories</li> <li>Headings options: options related to headings and the table of contents (or sidebar, depending on the theme used)</li> <li>Members options: options related to filtering or ordering members in the generated documentation</li> <li>Docstrings options: options related to docstrings (parsing and rendering)</li> <li>Signature options: options related to signatures and type annotations</li> </ul>"},{"location":"usage/#options-summary","title":"Options summary","text":"<p>Default handler configuration.</p> <p>General options:</p> <ul> <li> <code>find_stubs_package</code> (<code>bool</code>) \u2013 <p>Whether to load stubs package (package-stubs) when extracting docstrings. Default <code>False</code>.</p> </li> <li> <code>allow_inspection</code> (<code>bool</code>) \u2013 <p>Whether to allow inspecting modules when visiting them is not possible. Default: <code>True</code>.</p> </li> <li> <code>show_bases</code> (<code>bool</code>) \u2013 <p>Show the base classes of a class. Default: <code>True</code>.</p> </li> <li> <code>show_inheritance_diagram</code> (<code>bool</code>) \u2013 <p>Show the inheritance diagram of a class using Mermaid. Default: <code>False</code>.</p> </li> <li> <code>show_source</code> (<code>bool</code>) \u2013 <p>Show the source code of this object. Default: <code>True</code>.</p> </li> <li> <code>preload_modules</code> (<code>list[str] | None</code>) \u2013 <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module.</p> <p>The modules must be listed as an array of strings. Default: <code>None</code>.</p> </li> </ul> <p>Headings options:</p> <ul> <li> <code>heading_level</code> (<code>int</code>) \u2013 <p>The initial heading level to use. Default: <code>2</code>.</p> </li> <li> <code>parameter_headings</code> (<code>bool</code>) \u2013 <p>Whether to render headings for parameters (therefore showing parameters in the ToC). Default: <code>False</code>.</p> </li> <li> <code>show_root_heading</code> (<code>bool</code>) \u2013 <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>). Default: <code>False</code>.</p> </li> <li> <code>show_root_toc_entry</code> (<code>bool</code>) \u2013 <p>If the root heading is not shown, at least add a ToC entry for it. Default: <code>True</code>.</p> </li> <li> <code>show_root_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path for the root object heading. Default: <code>True</code>.</p> </li> <li> <code>show_root_members_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of the root members. Default: <code>False</code>.</p> </li> <li> <code>show_object_full_path</code> (<code>bool</code>) \u2013 <p>Show the full Python path of every object. Default: <code>False</code>.</p> </li> <li> <code>show_category_heading</code> (<code>bool</code>) \u2013 <p>When grouped by categories, show a heading for each category. Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_heading</code> (<code>bool</code>) \u2013 <p>Show the symbol type in headings (e.g. mod, class, meth, func and attr). Default: <code>False</code>.</p> </li> <li> <code>show_symbol_type_toc</code> (<code>bool</code>) \u2013 <p>Show the symbol type in the Table of Contents (e.g. mod, class, methd, func and attr). Default: <code>False</code>.</p> </li> </ul> <p>Members options:</p> <ul> <li> <code>inherited_members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of inherited members to render. If true, select all inherited members, which can then be filtered with <code>members</code>. If false or empty list, do not select any inherited member. Default: <code>False</code>.</p> </li> <li> <code>members</code> (<code>list[str] | bool | None</code>) \u2013 <p>A boolean, or an explicit list of members to render. If true, select all members without further filtering. If false or empty list, do not render members. If none, select all members and apply further filtering with filters and docstrings. Default: <code>None</code>.</p> </li> <li> <code>members_order</code> (<code>str</code>) \u2013 <p>The members ordering to use. Options: <code>alphabetical</code> - order by the members names, <code>source</code> - order members as they appear in the source file. Default: <code>\"alphabetical\"</code>.</p> </li> <li> <code>filters</code> (<code>list[str] | None</code>) \u2013 <p>A list of filters applied to filter objects based on their name. A filter starting with <code>!</code> will exclude matching objects instead of including them. The <code>members</code> option takes precedence over <code>filters</code> (filters will still be applied recursively to lower members in the hierarchy). Default: <code>[\"!^_[^_]\"]</code>.</p> </li> <li> <code>group_by_category</code> (<code>bool</code>) \u2013 <p>Group the object's children by categories: attributes, classes, functions, and modules. Default: <code>True</code>.</p> </li> <li> <code>show_submodules</code> (<code>bool</code>) \u2013 <p>When rendering a module, show its submodules recursively. Default: <code>False</code>.</p> </li> <li> <code>summary</code> (<code>bool | dict[str, bool]</code>) \u2013 <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> </li> <li> <code>show_labels</code> (<code>bool</code>) \u2013 <p>Whether to show labels of the members. Default: <code>True</code>.</p> </li> </ul> <p>Docstrings options:</p> <ul> <li> <code>docstring_style</code> (<code>str</code>) \u2013 <p>The docstring style to use: <code>google</code>, <code>numpy</code>, <code>sphinx</code>, or <code>None</code>. Default: <code>\"google\"</code>.</p> </li> <li> <code>docstring_options</code> (<code>dict</code>) \u2013 <p>The options for the docstring parser. See docstring parsers and their options in Griffe docs.</p> </li> <li> <code>docstring_section_style</code> (<code>str</code>) \u2013 <p>The style used to render docstring sections. Options: <code>table</code>, <code>list</code>, <code>spacy</code>. Default: <code>\"table\"</code>.</p> </li> <li> <code>merge_init_into_class</code> (<code>bool</code>) \u2013 <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring. Default: <code>False</code>.</p> </li> <li> <code>show_if_no_docstring</code> (<code>bool</code>) \u2013 <p>Show the object heading even if it has no docstring or children with docstrings. Default: <code>False</code>.</p> </li> <li> <code>show_docstring_attributes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Attributes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_functions</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Functions\" or \"Methods\" sections in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_classes</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Classes\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_modules</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Modules\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_description</code> (<code>bool</code>) \u2013 <p>Whether to display the textual block (including admonitions) in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_examples</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Examples\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_other_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Other Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_parameters</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Parameters\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_raises</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Raises\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_receives</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Receives\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_returns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Returns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_warns</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Warns\" section in the object's docstring. Default: <code>True</code>.</p> </li> <li> <code>show_docstring_yields</code> (<code>bool</code>) \u2013 <p>Whether to display the \"Yields\" section in the object's docstring. Default: <code>True</code>.</p> </li> </ul> <p>Signatures/annotations options:</p> <ul> <li> <code>annotations_path</code> (<code>str</code>) \u2013 <p>The verbosity for annotations path: <code>brief</code> (recommended), or <code>source</code> (as written in the source). Default: <code>\"brief\"</code>.</p> </li> <li> <code>line_length</code> (<code>int</code>) \u2013 <p>Maximum line length when formatting code/signatures. Default: <code>60</code>.</p> </li> <li> <code>show_signature</code> (<code>bool</code>) \u2013 <p>Show methods and functions signatures. Default: <code>True</code>.</p> </li> <li> <code>show_signature_annotations</code> (<code>bool</code>) \u2013 <p>Show the type annotations in methods and functions signatures. Default: <code>False</code>.</p> </li> <li> <code>signature_crossrefs</code> (<code>bool</code>) \u2013 <p>Whether to render cross-references for type annotations in signatures. Default: <code>False</code>.</p> </li> <li> <code>separate_signature</code> (<code>bool</code>) \u2013 <p>Whether to put the whole signature in a code block below the heading. If Black is installed, the signature is also formatted using it. Default: <code>False</code>.</p> </li> <li> <code>unwrap_annotated</code> (<code>bool</code>) \u2013 <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations. Default: <code>False</code>.</p> </li> <li> <code>modernize_annotations</code> (<code>bool</code>) \u2013 <p>Whether to modernize annotations, for example <code>Optional[str]</code> into <code>str | None</code>. Default: <code>False</code>.</p> </li> </ul>"},{"location":"usage/#finding-modules","title":"Finding modules","text":"<p>There are multiple ways to tell the handler where to find your packages/modules.</p> <p>The recommended method is to use the <code>paths</code> option, as it's the only one that works with the <code>-f</code> option of MkDocs, allowing to build the documentation from any location on the file system. Indeed, the paths provided with the <code>paths</code> option are computed as relative to the configuration file (mkdocs.yml), so that the current working directory has no impact on the build process: you can build the docs from any location on your filesystem.</p>"},{"location":"usage/#using-the-paths-option","title":"Using the <code>paths</code> option","text":"<p>This is the recommended method.</p> <ol> <li> <p>mkdocs.yml in root, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [.] # actually not needed, default\n</code></pre> </li> <li> <p>mkdocs.yml in root, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [src]\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [..]\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> mkdocs.yml<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n paths: [../src]\n</code></pre> </li> </ol> <p>Except for case 1, which is supported by default, we strongly recommend setting the path to your packages using this option, even if it works without it (for example because your project manager automatically adds <code>src</code> to PYTHONPATH), to make sure anyone can build your docs from any location on their filesystem.</p>"},{"location":"usage/#using-the-pythonpath-environment-variable","title":"Using the PYTHONPATH environment variable","text":"<p>This method has limitations.</p> <p>This method might work for you, with your current setup, but not for others trying your build your docs with their own setup/environment. We recommend using the <code>paths</code> method instead.</p> <p>You can take advantage of the usual Python loading mechanisms. In Bash and other shells, you can run your command like this (note the prepended <code>PYTHONPATH=...</code>):</p> <ol> <li> <p>mkdocs.yml in root, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=. mkdocs build # actually not needed, default\n</code></pre> </li> <li> <p>mkdocs.yml in root, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=src mkdocs build\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in root <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=. mkdocs build -f docs/mkdocs.yml\n</code></pre> </li> <li> <p>mkdocs.yml in subfolder, package in subfolder <pre><code>\ud83d\udcc1 root/\n\u251c\u2500\u2500 \ud83d\udcc1 docs/\n\u2502 \u2514\u2500\u2500 mkdocs.yml\n\u2514\u2500\u2500 \ud83d\udcc1 src/\n \u2514\u2500\u2500 \ud83d\udcc1 package/\n</code></pre></p> <pre><code>PYTHONPATH=src mkdocs build -f docs/mkdocs.yml\n</code></pre> </li> </ol>"},{"location":"usage/#installing-your-package-in-the-current-python-environment","title":"Installing your package in the current Python environment","text":"<p>This method has limitations.</p> <p>This method might work for you, with your current setup, but not for others trying your build your docs with their own setup/environment. We recommend using the <code>paths</code> method instead.</p> <p>Install your package in the current environment, and run MkDocs:</p> pipPDMPoetry <pre><code>. venv/bin/activate\npip install -e .\nmkdocs build\n</code></pre> <pre><code>pdm install\npdm run mkdocs build\n</code></pre> <pre><code>poetry install\npoetry run mkdocs build\n</code></pre>"},{"location":"usage/customization/","title":"Customization","text":"<p>It is possible to customize the output of the generated documentation with CSS and/or by overriding templates.</p>"},{"location":"usage/customization/#css-classes","title":"CSS classes","text":"<p>Our templates add CSS classes to many HTML elements to make it possible for users to customize the resulting look and feel.</p> <p>To add CSS rules and style mkdocstrings' output, put them in a CSS file in your docs folder, for example in <code>docs/css/mkdocstrings.css</code>, and reference this file in MkDocs' <code>extra_css</code> configuration option:</p> mkdocs.yml<pre><code>extra_css:\n- css/mkdocstrings.css\n</code></pre> <p>Example:</p> docs/css/mkdocstrings.css<pre><code>.doc-section-title {\n font-weight: bold;\n}\n</code></pre> <p>The following CSS classes are used in the generated HTML:</p> <ul> <li><code>doc</code>: on all the following elements</li> <li><code>doc-children</code>: on <code>div</code>s containing the children of an object</li> <li><code>doc-object</code>: on <code>div</code>s containing an object<ul> <li><code>doc-attribute</code>: on <code>div</code>s containing an attribute</li> <li><code>doc-class</code>: on <code>div</code>s containing a class</li> <li><code>doc-function</code>: on <code>div</code>s containing a function</li> <li><code>doc-module</code>: on <code>div</code>s containing a module</li> </ul> </li> <li><code>doc-heading</code>: on objects headings<ul> <li><code>doc-object-name</code>: on <code>span</code>s wrapping objects names/paths in the heading<ul> <li><code>doc-KIND-name</code>: as above, specific to the kind of object (module, class, function, attribute)</li> </ul> </li> </ul> </li> <li><code>doc-contents</code>: on <code>div</code>s wrapping the docstring then the children (if any)<ul> <li><code>first</code>: same, but only on the root object's contents <code>div</code></li> </ul> </li> <li><code>doc-labels</code>: on <code>span</code>s wrapping the object's labels<ul> <li><code>doc-label</code>: on <code>small</code> elements containing a label<ul> <li><code>doc-label-LABEL</code>: same, where <code>LABEL</code> is replaced by the actual label</li> </ul> </li> </ul> </li> <li><code>doc-section-title</code>: on section titles (depend on the selected style for section rendering)</li> <li><code>doc-section-item</code>: on section items (depend on the selected style for section rendering)</li> <li><code>doc-md-description</code>: on <code>div</code>s containing HTML descriptions converted from Markdown docstrings</li> <li><code>doc-symbol</code>: on <code>code</code> tags of symbol types<ul> <li><code>doc-symbol-heading</code>: on symbol types in headings</li> <li><code>doc-symbol-toc</code>: on symbol types in the ToC</li> <li><code>doc-symbol-KIND</code>: specific to the kind of object (<code>module</code>, <code>class</code>, <code>function</code>, <code>method</code>, <code>attribute</code>)</li> </ul> </li> </ul> <p>Example with colorful labels</p> CSSResult <pre><code>.doc-label { border-radius: 15px; padding: 2px 8px; font-weight: bold; }\n.doc-label-special { background-color: #3330E4; color: white; }\n.doc-label-private { background-color: #F637EC; color: white; }\n.doc-label-property { background-color: #FBB454; color: black; }\n.doc-label-read-only { background-color: #FAEA48; color: black; }\n</code></pre> <p> special private property read-only </p>"},{"location":"usage/customization/#symbol-types","title":"Symbol types","text":""},{"location":"usage/customization/#colors","title":"Colors","text":"<p>You can customize the colors of the symbol types (see <code>show_symbol_type_heading</code> and <code>show_symbol_type_toc</code>) by overriding the values of our CSS variables, for example:</p> docs/css/mkdocstrings.css<pre><code>[data-md-color-scheme=\"default\"] {\n --doc-symbol-parameter-fg-color: #df50af;\n --doc-symbol-attribute-fg-color: #0079ff;\n --doc-symbol-function-fg-color: #00dfa2;\n --doc-symbol-method-fg-color: #00dfa2;\n --doc-symbol-class-fg-color: #d1b619;\n --doc-symbol-module-fg-color: #ff0060;\n\n --doc-symbol-parameter-bg-color: #df50af1a;\n --doc-symbol-attribute-bg-color: #0079ff1a;\n --doc-symbol-function-bg-color: #00dfa21a;\n --doc-symbol-method-bg-color: #00dfa21a;\n --doc-symbol-class-bg-color: #d1b6191a;\n --doc-symbol-module-bg-color: #ff00601a;\n}\n\n[data-md-color-scheme=\"slate\"] {\n --doc-symbol-parameter-fg-color: #ffa8cc;\n --doc-symbol-attribute-fg-color: #963fb8;\n --doc-symbol-function-fg-color: #6d67e4;\n --doc-symbol-method-fg-color: #6d67e4;\n --doc-symbol-class-fg-color: #46c2cb;\n --doc-symbol-module-fg-color: #f2f7a1;\n\n --doc-symbol-parameter-bg-color: #ffa8cc1a;\n --doc-symbol-attribute-bg-color: #963fb81a;\n --doc-symbol-function-bg-color: #6d67e41a;\n --doc-symbol-method-bg-color: #6d67e41a;\n --doc-symbol-class-bg-color: #46c2cb1a;\n --doc-symbol-module-bg-color: #f2f7a11a;\n}\n</code></pre> <p>The <code>[data-md-color-scheme=\"*\"]</code> selectors work with the Material for MkDocs theme. If you are using another theme, adapt the selectors to this theme if it supports light and dark themes, otherwise just override the variables at root level:</p> docs/css/mkdocstrings.css<pre><code>:root {\n --doc-symbol-parameter-fg-color: #df50af;\n --doc-symbol-attribute-fg-color: #0079ff;\n --doc-symbol-function-fg-color: #00dfa2;\n --doc-symbol-method-fg-color: #00dfa2;\n --doc-symbol-class-fg-color: #d1b619;\n --doc-symbol-module-fg-color: #ff0060;\n\n --doc-symbol-parameter-bg-color: #df50af1a;\n --doc-symbol-attribute-bg-color: #0079ff1a;\n --doc-symbol-function-bg-color: #00dfa21a;\n --doc-symbol-method-bg-color: #00dfa21a;\n --doc-symbol-class-bg-color: #d1b6191a;\n --doc-symbol-module-bg-color: #ff00601a;\n}\n</code></pre> <p>Preview</p> <p> Try cycling through the themes to see the colors for each theme: <code></code> <code></code> <code></code> <code></code> <code></code> <code></code> </p>"},{"location":"usage/customization/#names","title":"Names","text":"<p>You can also change the actual symbol names. For example, to use single letters instead of truncated types:</p> docs/css/mkdocstrings.css<pre><code>.doc-symbol-parameter::after {\n content: \"P\";\n}\n\n.doc-symbol-attribute::after {\n content: \"A\";\n}\n\n.doc-symbol-function::after {\n content: \"F\";\n}\n\n.doc-symbol-method::after {\n content: \"M\";\n}\n\n.doc-symbol-class::after {\n content: \"C\";\n}\n\n.doc-symbol-module::after {\n content: \"M\";\n}\n</code></pre> <p>Preview</p> <ul> <li>Parameter: <code></code></li> <li>Attribute: <code></code></li> <li>Function: <code></code></li> <li>Method: <code></code></li> <li>Class: <code></code></li> <li>Module: <code></code></li> </ul>"},{"location":"usage/customization/#templates","title":"Templates","text":"<p>Templates are organized into the following tree:</p> <pre><code>\ud83d\udcc1 theme/\n\u251c\u2500\u2500 attribute.html\n\u251c\u2500\u2500 attribute.html.jinja\n\u251c\u2500\u2500 children.html\n\u251c\u2500\u2500 children.html.jinja\n\u251c\u2500\u2500 class.html\n\u251c\u2500\u2500 class.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 docstring/\n\u2502 \u251c\u2500\u2500 admonition.html\n\u2502 \u251c\u2500\u2500 admonition.html.jinja\n\u2502 \u251c\u2500\u2500 attributes.html\n\u2502 \u251c\u2500\u2500 attributes.html.jinja\n\u2502 \u251c\u2500\u2500 classes.html\n\u2502 \u251c\u2500\u2500 classes.html.jinja\n\u2502 \u251c\u2500\u2500 examples.html\n\u2502 \u251c\u2500\u2500 examples.html.jinja\n\u2502 \u251c\u2500\u2500 functions.html\n\u2502 \u251c\u2500\u2500 functions.html.jinja\n\u2502 \u251c\u2500\u2500 modules.html\n\u2502 \u251c\u2500\u2500 modules.html.jinja\n\u2502 \u251c\u2500\u2500 other_parameters.html\n\u2502 \u251c\u2500\u2500 other_parameters.html.jinja\n\u2502 \u251c\u2500\u2500 parameters.html\n\u2502 \u251c\u2500\u2500 parameters.html.jinja\n\u2502 \u251c\u2500\u2500 raises.html\n\u2502 \u251c\u2500\u2500 raises.html.jinja\n\u2502 \u251c\u2500\u2500 receives.html\n\u2502 \u251c\u2500\u2500 receives.html.jinja\n\u2502 \u251c\u2500\u2500 returns.html\n\u2502 \u251c\u2500\u2500 returns.html.jinja\n\u2502 \u251c\u2500\u2500 warns.html\n\u2502 \u251c\u2500\u2500 warns.html.jinja\n\u2502 \u251c\u2500\u2500 yields.html\n\u2502 \u2514\u2500\u2500 yields.html.jinja\n\u251c\u2500\u2500 docstring.html\n\u251c\u2500\u2500 docstring.html.jinja\n\u251c\u2500\u2500 expression.html\n\u251c\u2500\u2500 expression.html.jinja\n\u251c\u2500\u2500 function.html\n\u251c\u2500\u2500 function.html.jinja\n\u251c\u2500\u2500 labels.html\n\u251c\u2500\u2500 labels.html.jinja\n\u251c\u2500\u2500 language.html\n\u251c\u2500\u2500 language.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 languages/\n\u2502 \u251c\u2500\u2500 en.html\n\u2502 \u251c\u2500\u2500 en.html.jinja\n\u2502 \u251c\u2500\u2500 ja.html\n\u2502 \u251c\u2500\u2500 ja.html.jinja\n\u2502 \u251c\u2500\u2500 zh.html\n\u2502 \u2514\u2500\u2500 zh.html.jinja\n\u251c\u2500\u2500 module.html\n\u251c\u2500\u2500 module.html.jinja\n\u251c\u2500\u2500 signature.html\n\u251c\u2500\u2500 signature.html.jinja\n\u251c\u2500\u2500 \ud83d\udcc1 summary/\n\u2502 \u251c\u2500\u2500 attributes.html\n\u2502 \u251c\u2500\u2500 attributes.html.jinja\n\u2502 \u251c\u2500\u2500 classes.html\n\u2502 \u251c\u2500\u2500 classes.html.jinja\n\u2502 \u251c\u2500\u2500 functions.html\n\u2502 \u251c\u2500\u2500 functions.html.jinja\n\u2502 \u251c\u2500\u2500 modules.html\n\u2502 \u2514\u2500\u2500 modules.html.jinja\n\u251c\u2500\u2500 summary.html\n\u2514\u2500\u2500 summary.html.jinja\n</code></pre> <p>See them in the repository. See the general mkdocstrings documentation to learn how to override them: https://mkdocstrings.github.io/theming/#templates.</p> <p>Each one of these templates extends a base version in <code>theme/_base</code>. Example:</p> theme/class.html<pre><code>{% extends \"_base/class.html\" %}\n</code></pre> <p>Some of these templates define Jinja blocks. allowing to customize only parts of a template without having to fully copy-paste it into your project:</p> templates/theme/class.html<pre><code>{% extends \"_base/class.html\" %}\n{% block contents %}\n {{ block.super }}\n Additional contents\n{% endblock contents %}\n</code></pre>"},{"location":"usage/customization/#available-blocks","title":"Available blocks","text":"<p>Only the templates for the Material for MkDocs provide Jinja blocks. The following tables show the block names, description, and the Jinja context available in their scope.</p>"},{"location":"usage/customization/#modulehtml","title":"<code>module.html</code>","text":"<ul> <li><code>heading</code>: The module heading.</li> <li><code>labels</code>: The module labels.</li> <li><code>contents</code>: The module contents: docstring and children blocks.</li> <li><code>docstring</code>: The module docstring.</li> <li><code>summary</code>: The automatic summaries of members.</li> <li><code>children</code>: The module children.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>module</code>: The Module instance.</li> </ul>"},{"location":"usage/customization/#classhtml","title":"<code>class.html</code>","text":"<ul> <li><code>heading</code>: The class heading.</li> <li><code>labels</code>: The class labels.</li> <li><code>signature</code>: The class signature.</li> <li><code>contents</code>: The class contents: bases, docstring, source and children blocks.</li> <li><code>bases</code>: The class bases.</li> <li><code>docstring</code>: The class docstring.</li> <li><code>summary</code>: The automatic summaries of members.</li> <li><code>source</code>: The class source code.</li> <li><code>children</code>: The class children.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>class</code>: The Class instance.</li> </ul>"},{"location":"usage/customization/#functionhtml","title":"<code>function.html</code>","text":"<ul> <li><code>heading</code>: The function heading.</li> <li><code>labels</code>: The function labels.</li> <li><code>signature</code>: The function signature.</li> <li><code>contents</code>: The function contents: docstring and source blocks.</li> <li><code>docstring</code>: The function docstring.</li> <li><code>source</code>: The function source code.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>function</code>: The Function instance.</li> </ul>"},{"location":"usage/customization/#attributehtml","title":"<code>attribute.html</code>","text":"<ul> <li><code>heading</code>: The attribute heading.</li> <li><code>labels</code>: The attribute labels.</li> <li><code>signature</code>: The attribute signature.</li> <li><code>contents</code>: The attribute contents: docstring block.</li> <li><code>docstring</code>: The attribute docstring.</li> </ul> <p>Available context:</p> <ul> <li><code>config</code>: The handler configuration (dictionary).</li> <li><code>attribute</code>: The Attribute instance.</li> </ul>"},{"location":"usage/customization/#docstring-sections","title":"Docstring sections","text":"<p>In <code>docstring/attributes.html</code>, <code>docstring/functions.html</code>, <code>docstring/classes.html</code>, <code>docstring/modules.html</code>, <code>docstring/other_parameters.html</code>, <code>docstring/parameters.html</code>, <code>docstring/raises.html</code>, <code>docstring/receives.html</code>, <code>docstring/returns.html</code>, <code>docstring/warns.html</code>, and <code>docstring/yields.html</code>:</p> <ul> <li><code>table_style</code>: The section as a table.</li> <li><code>list_style</code>: The section as a list.</li> <li><code>spacy_style</code>: The section as a Spacy table.</li> </ul> <p>Available context:</p> <ul> <li><code>section</code>: The DocstringSection instance (see <code>DocstringSection*</code> subclasses).</li> </ul>"},{"location":"usage/customization/#syntax-highlight-in-signatures","title":"Syntax highlight in signatures","text":"<p>You can customize the colors in syntax highlighted signatures. If you are using the Material for MkDocs theme, here are some customization examples:</p> <pre><code>/* Fancier color for operators such as * and |. */\n.doc-signature .o {\n color: var(--md-code-hl-special-color);\n}\n\n/* Fancier color for constants such as None, True, and False. */\n.doc-signature .kc {\n color: var(--md-code-hl-constant-color);\n}\n\n/* Fancier color for built-in types (only useful when cross-references are used). */\n.doc-signature .n > a[href^=\"https://docs.python.org/\"][href*=\"/functions.html#\"],\n.doc-signature .n > a[href^=\"https://docs.python.org/\"][href*=\"/stdtypes.html#\"] {\n color: var(--md-code-hl-constant-color);\n}\n</code></pre> <p>For other themes, use their own CSS variables, or use plain colors such as <code>violet</code> or <code>#2987f2</code>.</p>"},{"location":"usage/customization/#style-recommendations","title":"Style recommendations","text":""},{"location":"usage/customization/#material","title":"Material","text":"<p>Here are some CSS rules for the Material for MkDocs theme:</p> <pre><code>/* Indentation. */\ndiv.doc-contents:not(.first) {\n padding-left: 25px;\n border-left: .05rem solid var(--md-typeset-table-color);\n}\n\n/* Mark external links as such. */\na.external::after,\na.autorefs-external::after {\n /* https://primer.style/octicons/arrow-up-right-24 */\n mask-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\"></path></svg>');\n -webkit-mask-image: url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\"><path d=\"M18.25 15.5a.75.75 0 00.75-.75v-9a.75.75 0 00-.75-.75h-9a.75.75 0 000 1.5h7.19L6.22 16.72a.75.75 0 101.06 1.06L17.5 7.56v7.19c0 .414.336.75.75.75z\"></path></svg>');\n content: ' ';\n\n display: inline-block;\n vertical-align: middle;\n position: relative;\n\n height: 1em;\n width: 1em;\n background-color: currentColor;\n}\n\na.external:hover::after,\na.autorefs-external:hover::after {\n background-color: var(--md-accent-fg-color);\n}\n</code></pre> <p></p>"},{"location":"usage/customization/#readthedocs","title":"ReadTheDocs","text":"<p>Here are some CSS rules for the built-in ReadTheDocs theme:</p> <pre><code>/* Indentation. */\ndiv.doc-contents:not(.first) {\n padding-left: 25px;\n border-left: .05rem solid rgba(200, 200, 200, 0.2);\n}\n</code></pre>"},{"location":"usage/extensions/","title":"Extensions","text":""},{"location":"usage/extensions/#work-in-progress","title":"Work in Progress!","text":"<p>The Python handler supports extensions through mkdocstrings' handler extensions.</p> <p>Specifically, additional templates can be added to the handler, and Griffe extensions can instruct the handler to use a particular template for a particular object by setting a value in the Griffe object's <code>extra</code> dictionary:</p> griffe_extension.py<pre><code>obj = ... # get a reference to a Griffe object\nif \"mkdocstrings\" not in obj.extra:\n obj.extra[\"mkdocstrings\"] = {}\nobj.extra[\"mkdocstrings\"][\"template\"] = \"template_name.html\"\n</code></pre>"},{"location":"usage/configuration/docstrings/","title":"Docstrings options","text":""},{"location":"usage/configuration/docstrings/#docstring_style","title":"<code>docstring_style</code>","text":"<ul> <li> Type <code>str</code> <code>\"google\"</code></li> </ul> <p>The docstring style to expect when parsing docstrings.</p> <p>Possible values:</p> <ul> <li><code>\"google\"</code>: see Google style.</li> <li><code>\"numpy\"</code>: see Numpy style.</li> <li><code>\"sphinx\"</code>: see Sphinx style.</li> <li><code>None</code> (<code>null</code> or <code>~</code> in YAML): no style at all, parse as regular text.</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_style: google\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_style: numpy\n</code></pre> <p>Preview</p> <p>Every style gets rendered the same way. Here are some docstring examples.</p> GoogleNumpySphinx <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n Parameters:\n name: The name of the person to greet.\n\n Returns:\n A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre> <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n Parameters\n ----------\n name\n The name of the person to greet.\n\n Returns\n -------\n A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre> <pre><code>def greet(name: str) -> str:\n \"\"\"Greet someone.\n\n :param name: The name of the person to greet.\n :return: A greeting message.\n \"\"\"\n return f\"Hello {name}!\"\n</code></pre>"},{"location":"usage/configuration/docstrings/#docstring_options","title":"<code>docstring_options</code><code>PrintOK</code><code>PrintOK</code>","text":"<ul> <li> Type <code>dict</code> <code>{}</code></li> </ul> <p>The options for the docstring parser.</p> <ul> <li>Google-style options</li> <li>Numpydoc-style options</li> </ul> <p>The Sphinx style does not offer any option.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_options:\n ignore_init_summary: false\n trim_doctest_flags: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_options:\n ignore_init_summary: true\n trim_doctest_flags: false\n</code></pre> <pre><code>class PrintOK:\n \"\"\"Class docstring.\"\"\"\n\n def __init__(self):\n \"\"\"Initialize the instance.\n\n Examples:\n >>> PrintOK() # doctest: +NORMALIZE_WHITESPACE\n ok\n \"\"\"\n print(\"ok\")\n</code></pre> <p>Preview</p> Ignore init summary, trim doctest flagsKeep init summary and doctest flags <p>Class docstring.</p> <code>__init__</code> <p>Examples:</p> <pre><code>>>> PrintOK()\nok\n</code></pre> <p>Class docstring.</p> <code>__init__</code> <p>Initialize the instance.</p> <p>Examples:</p> <pre><code>>>> PrintOK() # doctest: +NORMALIZE_WHITESPACE\nok\n</code></pre>"},{"location":"usage/configuration/docstrings/#docstring_section_style","title":"<code>docstring_section_style</code>","text":"<ul> <li> Type <code>str</code> <code>\"table\"</code></li> </ul> <p>The style used to render docstring sections.</p> <p>A section is a block of text that has a special meaning in a docstring. There are sections for documenting attributes of an object, parameters of a function, exceptions raised by a function, the return value of a function, etc.</p> <p>Sections are parsed as structured data and can therefore be rendered in different ways. Possible values:</p> <ul> <li><code>\"table\"</code>: a simple table, usually with type, name and description columns</li> <li><code>\"list\"</code>: a simple list, akin to what you get with the ReadTheDocs Sphinx theme</li> <li><code>\"spacy\"</code>: a poor implementation of the amazing tables in Spacy's documentation</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_section_style: table\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_section_style: list\n</code></pre> <p>Preview</p> TableListSpacy <p>Tables work well when you have lots of items with short names, type annotations, descriptions, etc.. With longer strings, the columns risk getting squished horizontally. In that case, the Spacy tables can help.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>threshold</code> Threshold for something. required <code>bool</code> <code>flag</code> Enable something. <code>False</code> <p>Other Parameters:</p> Type Name Description Default <code>list[int | float]</code> <code>gravity_forces</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. required <code>VacuumType | Literal[\"regular\"]</code> <code>vacuum_type</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. <code>VacuumType.PLASMA</code> <p>Lists work well whatever the length of names, type annotations, descriptions, etc.</p> <p>Parameters:</p> <ul> <li><code>threshold</code> (<code>int</code>) \u2014 Threshold for something.</li> <li><code>flag</code> (<code>bool</code>) \u2014 Enable something.</li> </ul> <p>Other Parameters:</p> <ul> <li><code>gravity_forces</code> (<code>list[int | float]</code>) \u2014 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li> <li><code>vacuum_type</code> (<code>VacuumType | Literal[\"regular\"]</code>) \u2014 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</li> </ul> <p>Spacy tables work better than regular tables with longer names, type annotations, descriptions, etc., by reserving more horizontal space on the second column.</p> <p>Parameters:</p> Name Description <code>threshold</code> Threshold for something.TYPE: <code>int</code> DEFAULT: required <code>flag</code> Enable something.TYPE: <code>bool</code> DEFAULT: <code>False</code> <p>Other Parameters:</p> Name Description <code>gravity_forces</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.TYPE: <code>list[int | float]</code> DEFAULT: required <code>vacuum_type</code> Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.TYPE:<code>VacuumType | Literal[\"regular\"]</code> DEFAULT: <code>VacuumType.PLASMA</code>"},{"location":"usage/configuration/docstrings/#merge_init_into_class","title":"<code>merge_init_into_class</code><code>Thing(value=0)</code><code>Thing</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to merge the <code>__init__</code> method into the class' signature and docstring.</p> <p>By default, only the class name is rendered in headings. When merging, the <code>__init__</code> method parameters are added after the class name, like a signature, and the <code>__init__</code> method docstring is appended to the class' docstring. This option is well used in combination with the <code>ignore_init_summary</code> docstring option, to discard the first line of the <code>__init__</code> docstring which is not often useful.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n docstring_options:\n ignore_init_summary: false\n merge_init_into_class: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n docstring_options:\n ignore_init_summary: true\n merge_init_into_class: true\n</code></pre> <pre><code>class Thing:\n \"\"\"A class for things.\"\"\"\n\n def __init__(self, value: int = 0):\n \"\"\"Initialize a thing.\n\n Parameters:\n value: The thing's value.\n \"\"\"\n self.value = value\n</code></pre> <p>Preview</p> Merged, summary discardedUnmerged, summary kept <p>Class docstring.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>value</code> The thing's value. <code>0</code> <p>Class docstring.</p> <code>__init__(value=0)</code> <p>Initialize a thing.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>value</code> The thing's value. <code>0</code>"},{"location":"usage/configuration/docstrings/#show_if_no_docstring","title":"<code>show_if_no_docstring</code><code>function_without_docstring</code><code>function_with_docstring</code><code>ClassWithoutDocstring</code><code>function_with_docstring</code><code>ClassWithoutDocstring</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the object heading even if it has no docstring or children with docstrings.</p> <p>Without an explicit list of <code>members</code>, members are selected based on <code>filters</code>, and then filtered again to keep only those with docstrings. Checking if a member has a docstring is done recursively: if at least one of its direct or indirect members (lower in the tree) has a docstring, the member is rendered. If the member does not have a docstring, and none of its members have a docstring, it is excluded.</p> <p>With this option you can tell the Python handler to skip the docstring check.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_if_no_docstring: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_if_no_docstring: true\n</code></pre> <pre><code>def function_without_docstring():\n ...\n\n\ndef function_with_docstring():\n \"\"\"Hello.\"\"\"\n\n\nclass ClassWithoutDocstring:\n def method_without_docstring(self):\n ...\n\n def method_with_docstring(self):\n \"\"\"Hello.\"\"\"\n</code></pre> <p>Preview</p> ShowDon't show <p>Hello.</p> <code>method_without_docstring</code> <code>method_with_docstring</code> <p>Hello.</p> <p>Hello.</p> <code>method_with_docstring</code> <p>Hello.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_attributes","title":"<code>show_docstring_attributes</code><code>Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Attributes\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_attributes: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_attributes: false\n</code></pre> <pre><code>class Class:\n \"\"\"Summary.\n\n Attributes:\n attr: Some attribute.\n \"\"\"\n\n attr: int = 1\n</code></pre> <p>Preview</p> With attributesWithout attributes <p>Summary.</p> <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute. <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_functions","title":"<code>show_docstring_functions</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Functions\" or \"Methods\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_functions: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_functions: false\n</code></pre> <pre><code>\"\"\"Summary.\n\nFunctions:\n foo: Some function.\n\"\"\"\n\n\ndef foo():\n ...\n\n\nclass Class:\n \"\"\"Summary.\n\n Methods:\n bar: Some method.\n \"\"\"\n\n def bar(self):\n ...\n</code></pre> <p>Preview</p> With functionsWithout functions <p>Summary.</p> <p>Functions:</p> Name Description <code>foo</code> Some function. <code>Class</code> <p>Summary.</p> <p>Methods:</p> Name Description <code>bar</code> Some method. <p>Summary.</p> <code>Class</code> <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_classes","title":"<code>show_docstring_classes</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Classes\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_classes: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_classes: false\n</code></pre> <pre><code>\"\"\"Summary.\n\nClasses:\n Class: Some class.\n\"\"\"\n\n\nclass Class:\n \"\"\"Summary.\"\"\"\n</code></pre> <p>Preview</p> With classesWithout classes <p>Summary.</p> <p>Classes:</p> Name Description <code>Class</code> Some class. <code>Class</code> <p>Summary.</p> <p>Summary.</p> <code>Class</code> <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_modules","title":"<code>show_docstring_modules</code>modulemodule","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Modules\" sections of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_modules: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_modules: false\n</code></pre> <pre><code>\ud83d\udcc1 module/\n\u251c\u2500\u2500 __init__.py\n\u2514\u2500\u2500 submodule.py\n</code></pre> module/__init__.py<pre><code>\"\"\"Summary.\n\nModules:\n submodule: Some module.\n\"\"\"\n</code></pre> <p>Preview</p> With modulesWithout modules <p>Summary.</p> <p>Modules:</p> Name Description <code>submodule</code> Some module. <p>Summary.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_description","title":"<code>show_docstring_description</code><code>Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the textual blocks (including admonitions) of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_description: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_description: false\n</code></pre> <pre><code>class Class:\n \"\"\"Summary.\n\n Long description.\n\n Warning: Deprecated\n Stop using this class.\n\n Attributes:\n attr: Some attribute.\n \"\"\"\n\n attr: int = 1\n</code></pre> <p>Preview</p> With description blocksWithout description blocks <p>Summary.</p> <p>Long description.</p> Deprecated<p>Stop using this class.</p> <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute. <p>Attributes:</p> Type Name Description <code>int</code> <code>attr</code> Some attribute."},{"location":"usage/configuration/docstrings/#show_docstring_examples","title":"<code>show_docstring_examples</code><code>print_hello</code><code>print_hello</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Examples\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_examples: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_examples: false\n</code></pre> <pre><code>def print_hello():\n \"\"\"Print hello.\n\n Examples:\n >>> print(\"hello\")\n hello\n \"\"\"\n print(\"hello\")\n</code></pre> <p>Preview</p> With examplesWithout examples <p>Print hello.</p> <p>Examples:</p> <pre><code>>>> print(\"hello\")\nhello\n</code></pre> <p>Print hello.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_other_parameters","title":"<code>show_docstring_other_parameters</code><code>do_something</code><code>do_something</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Other Parameters\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_other_parameters: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_other_parameters: false\n</code></pre> <pre><code>def do_something(**kwargs):\n \"\"\"Do something.\n\n Other parameters:\n whatever (int): Some integer.\n \"\"\"\n</code></pre> <p>Preview</p> With other parametersWithout other parameters <p>Do something.</p> <p>Other parameters:</p> Type Name Description <code>int</code> <code>whatever</code> Some integer. <p>Do something.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_parameters","title":"<code>show_docstring_parameters</code><code>do_something</code><code>do_something</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Parameters\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_parameters: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_parameters: false\n</code></pre> <pre><code>def do_something(whatever: int = 0):\n \"\"\"Do something.\n\n Parameters:\n whatever: Some integer.\n \"\"\"\n</code></pre> <p>Preview</p> With parametersWithout parameters <p>Do something.</p> <p>Parameters:</p> Type Name Description Default <code>int</code> <code>whatever</code> Some integer. <code>0</code> <p>Do something.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_raises","title":"<code>show_docstring_raises</code><code>raise_runtime_error</code><code>raise_runtime_error</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Raises\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_raises: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_raises: false\n</code></pre> <pre><code>def raise_runtime_error():\n \"\"\"Raise a runtime error.\n\n Raises:\n RuntimeError: Not good.\n \"\"\"\n raise RuntimeError\n</code></pre> <p>Preview</p> With exceptionsWithout exceptions <p>Raise a runtime error.</p> <p>Raises:</p> Type Description <code>RuntimeError</code> Not good. <p>Raise a runtime error.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_receives","title":"<code>show_docstring_receives</code><code>iter_skip</code><code>iter_skip</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Receives\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_receives: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_receives: false\n</code></pre> <pre><code>def iter_skip(\n iterable: Iterable[T],\n initial_skip: int = 0,\n) -> Generator[T, int, None]:\n \"\"\"Iterate and skip elements.\n\n Receives:\n skip: Number of elements to skip.\n \"\"\"\n skip = initial_skip\n for element in iterable:\n if skip or 0 > 0:\n skip -= 1\n else:\n skip = yield element\n</code></pre> <p>Preview</p> With received valuesWithout received values <p>Iterate and skip elements.</p> <p>Receives:</p> Type Description <code>int</code> Number of elements to skip. <p>Iterate and skip elements.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_returns","title":"<code>show_docstring_returns</code><code>rand</code><code>rand</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Returns\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_returns: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_returns: false\n</code></pre> <pre><code>def rand() -> int:\n \"\"\"Return a random number.\n\n Returns:\n A random number.\n \"\"\"\n return random.randint(0, 1000)\n</code></pre> <p>Preview</p> With return valueWithout return value <p>Return a random number.</p> <p>Returns:</p> Type Description <code>int</code> A random number. <p>Return a random number.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_warns","title":"<code>show_docstring_warns</code><code>warn</code><code>warn</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Warns\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_warns: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_warns: false\n</code></pre> <pre><code>def warn():\n \"\"\"Warn user.\n\n Warns:\n UserWarning: When this is inappropriate.\n \"\"\"\n warnings.warn(UserWarning(\"This is inappropriate\"))\n</code></pre> <p>Preview</p> With warningsWithout warnings <p>Warn user.</p> <p>Warns:</p> Type Description <code>UserWarning</code> When this is inappropriate. <p>Warn user.</p>"},{"location":"usage/configuration/docstrings/#show_docstring_yields","title":"<code>show_docstring_yields</code><code>iter_skip</code><code>iter_skip</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to render the \"Yields\" section of docstrings.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_docstring_yields: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_docstring_yields: false\n</code></pre> <pre><code>def iter_skip(\n iterable: Iterable[T],\n initial_skip: int = 0,\n) -> Generator[T, int, None]:\n \"\"\"Iterate and skip elements.\n\n Yields:\n Elements of the iterable.\n \"\"\"\n skip = initial_skip\n for element in iterable:\n if skip or 0 > 0:\n skip -= 1\n else:\n skip = yield element\n</code></pre> <p>Preview</p> With yielded valuesWithout yielded values <p>Iterate and skip elements.</p> <p>Yields:</p> Type Description <code>T</code> Elements of the iterable. <p>Iterate and skip elements.</p>"},{"location":"usage/configuration/general/","title":"General options","text":""},{"location":"usage/configuration/general/#allow_inspection","title":"<code>allow_inspection</code><code>SomeClass</code><code>SomeClass</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to allow inspecting modules (importing them) when it is not possible to visit them (parse their source code).</p> <p>When loading data for a given package, Griffe discovers every Python module, compiled or not, and inspects or visits them accordingly.</p> <p>If you have compiled modules but also provide stubs for them, you might want to disable the inspection of these modules, because inspection picks up many more members, and sometimes the collected data is inaccurate (depending on the tool that was used to compile the module) or too low-level/technical for API documentation.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n allow_inspection: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n allow_inspection: false\n</code></pre> <p>Preview</p> With inspectionWithout inspection <p>Docstring of the class.</p> <code>__eq__</code> <p>Method docstring.</p> <code>__weakref__</code> <p>Method docstring.</p> <code>documented_method</code> <p>Method docstring.</p> <p>Docstring of the class.</p> <code>documented_method</code> <p>Method docstring.</p>"},{"location":"usage/configuration/general/#show_bases","title":"<code>show_bases</code><code>SomeClass()</code><code>SomeClass()</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the base classes of a class.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_bases: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_bases: false\n</code></pre> <p>Preview</p> With basesWithout bases <p>Bases: <code>SomeBaseClass</code></p> <p>Docstring of the class.</p> <p>Docstring of the class.</p>"},{"location":"usage/configuration/general/#show_inheritance_diagram","title":"<code>show_inheritance_diagram</code>","text":"<p> Sponsors only \u2014 Insiders 1.7.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the inheritance diagram of a class using Mermaid.</p> <p>With this option enabled, an inheritance diagram (as a flowchart) will be displayed after a class signature. Each node will act as a cross-reference and will bring you to the relevant class' documentation when clicking on it.</p> <p>It should work out of the box with Material for MkDocs. For other themes, you must include Mermaid's Javascript code manually:</p> mkdocs.yml<pre><code>extra_javascript:\n- https://unpkg.com/mermaid@10.9.0/dist/mermaid.min.js\n</code></pre> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_inheritance_diagram: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_inheritance_diagram: false\n</code></pre> <p>Preview</p> <p>With the following classes:</p> <pre><code>class SuperAbstract:\n \"\"\"Super abstract class.\"\"\"\nclass Mixin1:\n \"\"\"Mixin 1.\"\"\"\nclass Abstract(SuperAbstract, Mixin1):\n \"\"\"Abstract class.\"\"\"\nclass Mixin2A:\n \"\"\"Mixin 2A.\"\"\"\nclass Mixin2B(Mixin2A):\n \"\"\"Mixin 2B.\"\"\"\nclass Concrete(Abstract, Mixin2B):\n \"\"\"Concrete class.\"\"\"\nclass SuperConcrete(Concrete):\n \"\"\"Super concrete class.\"\"\"\n</code></pre> <p>The diagram for <code>SuperConcrete</code> will look like this:</p> <pre><code>flowchart TD\nSuperConcrete[SuperConcrete]\nConcrete[Concrete]\nAbstract[Abstract]\nSuperAbstract[SuperAbstract]\nMixin1[Mixin1]\nMixin2B[Mixin2B]\nMixin2A[Mixin2A]\n\nConcrete --> SuperConcrete\nAbstract --> Concrete\nSuperAbstract --> Abstract\nMixin1 --> Abstract\nMixin2B --> Concrete\nMixin2A --> Mixin2B</code></pre> <p>Nodes are not clickable in this example because these classes do not exist in our documentation.</p>"},{"location":"usage/configuration/general/#show_source","title":"<code>show_source</code><code>some_function()</code><code>some_function()</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the source code of this object.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_source: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n show_source: false\n</code></pre> <p>Preview</p> With sourceWithout source <p>Docstring of the function.</p> Source code in <code>package/module.py</code> <pre><code>def some_function():\n ...\n</code></pre> <p>Docstring of the function.</p>"},{"location":"usage/configuration/general/#preload_modules","title":"<code>preload_modules</code><code>your_module</code><code>your_module</code>","text":"<ul> <li> Type <code>list[str] | None</code> <code>None</code></li> </ul> <p>Pre-load modules that are not specified directly in autodoc instructions (<code>::: identifier</code>). It is useful when you want to render documentation for a particular member of an object, and this member is imported from another package than its parent.</p> <p>For an imported member to be rendered, you need to add it to the <code>__all__</code> attribute of the importing module. The package from which the imported object originates must be accessible to the handler (see Finding modules).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n preload_modules:\n - their_package\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: your_package.your_module\n options:\n preload_modules:\n - their_package \n</code></pre> your_package/your_module.py<pre><code>from their_package.their_module import their_object\n\n__all__ = [\"their_object\"]\n\n# rest of your code\n</code></pre> <p>Preview</p> With preloaded modulesWithout preloaded modules <p>Docstring of your module.</p> <code>their_object</code> <p>Docstring of their object.</p> <p>Docstring of your module.</p>"},{"location":"usage/configuration/general/#find_stubs_package","title":"<code>find_stubs_package</code><code>your_func</code><code>your_func</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When looking for documentation specified in autodoc instructions (<code>::: identifier</code>), also look for the stubs package as defined in PEP 561 if it exists. This is useful when most of your documentation is separately provided by such a package and not inline in your main package.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n find_stubs_package: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: your_package.your_module.your_func\n options:\n find_stubs_package: true\n</code></pre> your_package/your_module.py<pre><code>def your_func(a, b):\n # Function code\n ...\n\n# rest of your code\n</code></pre> your_package-stubs/your_module.pyi<pre><code>def your_func(a: int, b: str):\n \"\"\"\n <Function docstring>\n \"\"\"\n ...\n\n# rest of your code\n</code></pre> <p>Preview</p> With find_stubs_packageWithout find_stubs_package <p>Function docstring</p>"},{"location":"usage/configuration/headings/","title":"Headings options","text":""},{"location":"usage/configuration/headings/#heading_level","title":"<code>heading_level</code>","text":"<ul> <li> Type <code>int</code> <code>2</code></li> </ul> <p>The initial heading level to use.</p> <p>When injecting documentation for an object, the object itself and its members are rendered. For each layer of objects, we increase the heading level by 1.</p> <p>The initial heading level will be used for the first layer. If you set it to 3, then headings will start with <code><h3></code>.</p> <p>If the heading for the root object is not shown, then the initial heading level is used for its members.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n heading_level: 2\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n heading_level: 3\n</code></pre> <p>Preview</p> With level 3 and root headingWith level 3, without root heading <code>module</code> (3) <p>Docstring of the module.</p> <code>ClassA</code> (4) <p>Docstring of class A.</p> <code>ClassB</code> (4) <p>Docstring of class B.</p> <code>method_1</code> (5) <p>Docstring of the method.</p> <p>Docstring of the module.</p> <code>ClassA</code> (3) <p>Docstring of class A.</p> <code>ClassB</code> (3) <p>Docstring of class B.</p> <code>method_1</code> (4) <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#parameter_headings","title":"<code>parameter_headings</code>","text":"<p> Sponsors only \u2014 Insiders 1.6.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to render headings for function/method parameters.</p> <p>With this option enabled, each function/method parameter (including parameters of <code>__init__</code> methods merged in their parent class with the <code>merge_init_into_class</code> option) gets a permalink, an entry in the Table of Contents, and an entry in the generated objects inventory. The permalink and inventory entry allow cross-references from internal and external pages.</p> <p>The identifier used in the permalink and inventory is of the following form: <code>path.to.function(param_name)</code>. To manually cross-reference a parameter, you can therefore use this Markdown syntax:</p> <pre><code>- Class parameter: [`param`][package.module.Class(param)]\n- Method parameter: [`param`][package.module.Class.method(param)]\n- Function parameter: [`param`][package.module.function(param)]\n- Variadic positional parameters: [`*args`][package.module.function(*args)]\n- Variadic keyword parameters: [`**kwargs`][package.module.function(**kwargs)]\n</code></pre> <p>Enabling this option along with <code>signature_crossrefs</code> will automatically render cross-references to parameters in class/function/method signatures and attributes values.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n parameter_headings: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n parameter_headings: true\n</code></pre> <p>Preview: Cross-references</p> <p>Preview: Parameter sections</p> Table styleList styleSpacy style <p>Parameters:</p> Name Type Description Default <code>str</code> <p>A distribution name.</p> <code>'mkdocstrings-python'</code> <p>Parameters:</p> <ul> <li> </li> </ul> PARAMETER DESCRIPTION <p>A distribution name.</p> <p> TYPE: <code>str</code> DEFAULT: <code>'mkdocstrings-python'</code> </p> <p>Preview: Table of contents (with symbol types)</p> <p><code></code> get_version <code></code> dist</p> <p>To customize symbols, see Customizing symbol types.</p>"},{"location":"usage/configuration/headings/#package.get_version","title":"get_version","text":"<pre><code>get_version(dist: str = 'mkdocstrings-python') -> str\n</code></pre> <p>Get version of the given distribution.</p> <p>Parameters:</p> <p>Returns:</p> <ul> <li> <code>str</code> \u2013 <p>A version number.</p> </li> </ul>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"usage/configuration/headings/#package.current_version","title":"current_version <code>module-attribute</code>","text":"<pre><code>current_version: str = get_version(dist='mkdocstrings-python')\n</code></pre> <p>Current package version.</p>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":""},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":"(<code>str</code>, default: <code>'mkdocstrings-python'</code> ) \u2013 <p>A distribution name.</p>"},{"location":"usage/configuration/headings/#package.get_version(dist)","title":"<code>dist</code>","text":""},{"location":"usage/configuration/headings/#show_root_heading","title":"<code>show_root_heading</code><code>ClassA</code> (2)<code>ClassB</code> (2)<code>method_a1</code> (2)<code>method_b1</code> (2)","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the heading of the object at the root of the documentation tree (i.e. the object referenced by the identifier after <code>:::</code>).</p> <p>It is pretty common to inject documentation for one module per page, especially when following our automatic reference pages recipe. Since each page already has a title, usually being the module's name, we can spare one heading level by not showing the heading for the module itself (heading levels are limited to 6 by the HTML specification).</p> <p>Sparing that extra level can be helpful when your objects tree is deeply nested (e.g. method in a class in a class in a module). If your objects tree is not deeply nested, and you are injecting documentation for many different objects on a single page, it might be preferable to render the heading of each object.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_heading: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.ClassA\n options:\n show_root_heading: true\n\n::: path.to.ClassB\n options:\n show_root_heading: true\n</code></pre> <p>Preview</p> With root headingWithout root heading <p>Docstring of class A.</p> <code>method_a1</code> (3) <p>Docstring of the method.</p> <p>Docstring of class B.</p> <code>method_b1</code> (3) <p>Docstring of the method.</p> <p>Docstring of class A.</p> <p>Docstring of the method.</p> <p>Docstring of class B.</p> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_root_toc_entry","title":"<code>show_root_toc_entry</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>If the root heading is not shown, at least add a ToC entry for it.</p> <p>If you inject documentation for an object in the middle of a page, after long paragraphs, and without showing the root heading, then you will not be able to link to this particular object as it won't have a permalink and will be \"lost\" in the middle of text. In that case, it is useful to add a hidden anchor to the document, which will also appear in the table of contents.</p> <p>In other cases, you might want to disable the entry to avoid polluting the ToC. It is not possible to show the root heading and hide the ToC entry.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_toc_entry: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>## Some heading\n\nLots of text.\n\n::: path.to.object\n options:\n show_root_toc_entry: false\n\n## Other heading.\n\nMore text.\n</code></pre> <p>Preview</p> With ToC entryWithout ToC entry <p>Table of contents Some heading <code>object</code> Other heading </p> <p>Table of contents Some heading Other heading</p>"},{"location":"usage/configuration/headings/#show_root_full_path","title":"<code>show_root_full_path</code><code>package.module.Class.method</code><code>method</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show the full Python path for the root object heading.</p> <p>The path of a Python object is the dot-separated list of names under which it is accessible, for example <code>package.module.Class.method</code>.</p> <p>With this option you can choose to show the full path of the object you inject documentation for, or just its name. This option impacts only the object you specify, not its members. For members, see the two other options <code>show_root_members_full_path</code> and <code>show_object_full_path</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module.Class.method\n options:\n show_root_full_path: false\n</code></pre> <p>Preview</p> With root full pathWithout root full path <p>Docstring of the method.</p> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_root_members_full_path","title":"<code>show_root_members_full_path</code><code>package.module.Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the full Python path of the root members.</p> <p>This option does the same thing as <code>show_root_full_path</code>, but for direct members of the root object instead of the root object itself.</p> <p>To show the full path for every member recursively, see <code>show_object_full_path</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_root_members_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_root_members_full_path: false\n</code></pre> <p>Preview</p> With members full pathWithout members full path <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_object_full_path","title":"<code>show_object_full_path</code><code>package.module.Class</code><code>Class</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the full Python path of every object.</p> <p>Same as for <code>show_root_members_full_path</code>, but for every member, recursively. This option takes precedence over <code>show_root_members_full_path</code>:</p> <code>show_root_members_full_path</code> <code>show_object_full_path</code> Direct root members path False False Name only False True Full True False Full True True Full in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_object_full_path: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_object_full_path: false\n</code></pre> <p>Preview</p> With objects full pathWithout objects full path <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>package.module.Class.method</code> <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_category_heading","title":"<code>show_category_heading</code>Attributes (2)Classes (2)<code>module_attribute</code> (2)<code>Class</code> (2)","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When grouped by categories, show a heading for each category. These category headings will appear in the table of contents, allowing you to link to them using their permalinks.</p> <p>Not recommended with deeply nested object</p> <p>When injecting documentation for deeply nested objects, you'll quickly run out of heading levels, and the objects at the bottom of the tree risk all getting documented using H6 headings, which might decrease the readability of your API docs.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n group_by_category: true\n show_category_heading: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n group_by_category: true\n show_category_heading: false\n</code></pre> <p>Preview</p> With category headingsWithout category headings <p>Docstring of the module.</p> <code>module_attribute</code> (3) <p>Docstring of the module attribute.</p> <code>Class</code> (3) <p>Docstring of the class.</p> Attributes (4) <code>class_attribute</code> (5) <p>Docstring of the class attribute.</p> Methods (4) <code>method</code> (5) <p>Docstring of the method.</p> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the class.</p> <code>class_attribute</code> (3) <p>Docstring of the class attribute.</p> <code>method</code> (3) <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_symbol_type_heading","title":"<code>show_symbol_type_heading</code><code></code> <code>attribute</code><code></code> <code>function</code><code></code> <code>Class</code><code>attribute</code><code>function</code><code>Class</code>","text":"<p> Insiders 1.1.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the symbol type in headings.</p> <p>This option will prefix headings with <code></code>, <code></code>, <code></code>, <code></code> or <code></code> types. See also <code>show_symbol_type_toc</code>.</p> <p>To customize symbols, see Customizing symbol types.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_symbol_type_heading: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_symbol_type_heading: false\n</code></pre> <p>Preview</p> With symbol type in headingsWithout symbol type in headings <code></code> <code>module</code> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the function.</p> <p>Docstring of the class.</p> <code></code> <code>method</code> <p>Docstring of the method.</p> <code>module</code> <p>Docstring of the module.</p> <p>Docstring of the module attribute.</p> <p>Docstring of the function.</p> <p>Docstring of the class.</p> <code>method</code> <p>Docstring of the method.</p>"},{"location":"usage/configuration/headings/#show_symbol_type_toc","title":"<code>show_symbol_type_toc</code>","text":"<p> Insiders 1.1.0</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the symbol type in the Table of Contents.</p> <p>This option will prefix items in the ToC with <code></code>, <code></code>, <code></code>, <code></code> or <code></code> types. See also <code>show_symbol_type_heading</code>.</p> <p>To customize symbols, see Customizing symbol types.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_symbol_type_toc: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_symbol_type_toc: false\n</code></pre> <p>Preview</p> With symbol type in ToCWithout symbol type in ToC <ul> <li><code></code> module</li> <li><code></code> attribute</li> <li><code></code> function</li> <li><code></code> Class <ul> <li><code></code> method</li> </ul> </li> </ul> <ul> <li>module</li> <li>attribute</li> <li>function</li> <li>Class <ul> <li>method</li> </ul> </li> </ul>"},{"location":"usage/configuration/members/","title":"Members options","text":""},{"location":"usage/configuration/members/#members","title":"<code>members</code><code>this_function</code><code>ThisClass</code><code>this_attribute</code><code>ThisClass</code>","text":"<ul> <li> Type <code>list[str] | bool | None</code> <code>None</code></li> </ul> <p>An explicit list of members to render.</p> <p>Only members declared in this list will be rendered. A member without a docstring will still be rendered, even if <code>show_if_no_docstring</code> is set to false.</p> <p>The members will be rendered in the specified order, regardless of the value of <code>members_order</code>. Note that members will still be grouped by category, according to the <code>group_by_category</code> option.</p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every member.</p> <p>Any given value, except for an explicit <code>None</code> (<code>null</code> in YAML) will tell the handler to ignore <code>filters</code> for the object's members. Filters will still be applied to the next layers of members (grand-children).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n members:\n - hello # (1)\n</code></pre> <ol> <li> Most of the time it won't make sense to use this option at the global level.</li> </ol> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n members:\n - ThisClass\n - this_function\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\ndef this_function():\n \"\"\"Function docstring.\"\"\"\n\n\nclass ThisClass:\n \"\"\"Class docstring.\"\"\"\n\n def method(self):\n \"\"\"Method docstring.\"\"\"\n\n\nthis_attribute = 0\n\"\"\"Attribute docstring.\"\"\"\n</code></pre> <p>Preview</p> With <code>members: true</code>With <code>members: false</code> or <code>members: []</code>With <code>members: [ThisClass]</code> <p>Module docstring.</p> <p>Function docstring.</p> <p>Class docstring.</p> <code>method</code> <p>Method docstring.</p> <p>Attribute docstring.</p> <p>Module docstring.</p> <p>Module docstring.</p> <p>Class docstring.</p> <code>method</code> <p>Method docstring.</p> <p>The default behavior (with unspecified <code>members</code> or <code>members: null</code>) is to use <code>filters</code>.</p>"},{"location":"usage/configuration/members/#inherited_members","title":"<code>inherited_members</code><code>Base</code><code>Main</code><code>Base</code><code>Main</code>","text":"<ul> <li> Type <code>list[str] | bool</code> <code>False</code></li> </ul> <p>An explicit list of inherited members (for classes) to render.</p> <p>Inherited members are always fetched from classes that are in the same package as the currently rendered class. To fetch members inherited from base classes, themselves coming from external packages, use the <code>preload_modules</code> option. For example, if your class inherits from Pydantic's <code>BaseModel</code>, and you want to render <code>BaseModel</code>'s methods in your class, use <code>preload_modules: [pydantic]</code>. The <code>pydantic</code> package must be available in the current environment.</p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any inherited member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every inherited member.</p> <p>When all inherited members are selected with <code>inherited_members: true</code>, it is possible to specify both members and inherited members in the <code>members</code> list:</p> <pre><code>inherited_members: true\nmembers:\n- inherited_member_a\n- inherited_member_b\n- member_x\n- member_y\n</code></pre> <p>The alternative is not supported:</p> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers:\n- member_x\n- member_y\n</code></pre> <p>...because it would make members ordering ambiguous/unspecified.</p> <p>You can render inherited members only by setting <code>inherited_members: true</code> (or a list of inherited members) and setting <code>members: false</code>:</p> <pre><code>inherited_members: true\nmembers: false\n</code></pre> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers: false\n</code></pre> <p>You can render all declared members and all or specific inherited members by leaving <code>members</code> as null (default):</p> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\n# members: null # (1)\n</code></pre> <ol> <li>In this case, only declared members will be subject to further filtering with <code>filters</code> and <code>docstrings</code>.</li> </ol> <pre><code>inherited_members: true # (1)\n# members: null\n</code></pre> <ol> <li>In this case, both declared and inherited members will be subject to further filtering with <code>filters</code> and <code>docstrings</code>.</li> </ol> <p>You can render all declared members and all or specific inherited members, avoiding further filtering with <code>filters</code> and <code>docstrings</code> by setting <code>members: true</code>:</p> <pre><code>inherited_members: true\nmembers: true\n</code></pre> <pre><code>inherited_members:\n- inherited_member_a\n- inherited_member_b\nmembers: true\n</code></pre> <p>The general rule is that declared or inherited members specified in lists are never filtered out.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n inherited_members: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n inherited_members: true\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\nclass Base:\n \"\"\"Base class.\"\"\"\n\n def base(self):\n \"\"\"Base method.\"\"\"\n\n\nclass Main(Base):\n \"\"\"Main class.\"\"\"\n\n def main(self):\n \"\"\"Main method.\"\"\"\n</code></pre> <p>Preview</p> With inherited membersWithout inherited members <p>Module docstring.</p> <p>Base class.</p> <code>base</code> <p>Base method.</p> <p>Main class.</p> <code>base</code> <p>Base method.</p> <code>main</code> <p>Main method.</p> <p>Module docstring.</p> <p>Base class.</p> <code>base</code> <p>Base method.</p> <p>Main class.</p> <code>main</code> <p>Main method.</p>"},{"location":"usage/configuration/members/#members_order","title":"<code>members_order</code><code>function_a</code><code>function_b</code><code>function_c</code><code>function_b</code><code>function_a</code><code>function_c</code>","text":"<ul> <li> Type <code>str</code> <code>\"alphabetical\"</code></li> </ul> <p>The members ordering to use. Possible values:</p> <ul> <li><code>alphabetical</code>: order by the members names.</li> <li><code>source</code>: order members as they appear in the source file.</li> </ul> <p>The order applies for all members, recursively. The order will be ignored for members that are explicitely sorted using the <code>members</code> option. Note that members will still be grouped by category, according to the <code>group_by_category</code> option.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n members_order: alphabetical\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n members_order: source\n</code></pre> package/module.py<pre><code>\"\"\"Module docstring.\"\"\"\n\n\ndef function_b():\n \"\"\"Function a.\"\"\"\n\n\ndef function_a():\n \"\"\"Function b.\"\"\"\n\n\ndef function_c():\n \"\"\"Function c.\"\"\"\n</code></pre> <p>Preview</p> With alphabetical orderWith source order <p>Module docstring.</p> <p>Function a.</p> <p>Function b.</p> <p>Function c.</p> <p>Module docstring.</p> <p>Function b.</p> <p>Function a.</p> <p>Function c.</p>"},{"location":"usage/configuration/members/#filters","title":"<code>filters</code><code>hello</code><code>_world</code><code>hello</code><code>_world</code>","text":"<ul> <li> Type <code>list[str] | None</code> <code>[\"!^_[^_]\"]</code></li> </ul> <p>A list of filters applied to filter objects based on their name.</p> <p>Filters are regular expressions. These regular expressions are evaluated by Python and so must match the syntax supported by the <code>re</code> module. A filter starting with <code>!</code> (negative filter) will exclude matching objects instead of including them.</p> <p>The default value (<code>[\"!^_[^_]\"]</code>) means: render every object, except those starting with one underscore, unless they start with two underscores. It means that an object whose name is <code>hello</code>, <code>__hello</code>, or <code>__hello__</code> will be rendered, but not one whose name is <code>_hello</code>.</p> <p>Each filter takes precedence over the previous one. This allows for fine-grain selection of objects by adding more specific filters. For example, you can start by unselecting objects that start with <code>_</code>, and add a second filter that re-select objects that start with <code>__</code>. The default filters can therefore be rewritten like this:</p> <pre><code>filters:\n- \"!^_\"\n- \"^__\"\n</code></pre> <p>If there are no negative filters, the handler considers that everything is unselected first, and then selects things based on your positive filters. If there is at least one negative filter, the handler considers that everything is selected first, and then re-selects/unselects things based on your other filters. In short, <code>filters: [\"a\"]</code> means \"keep nothing except names containing <code>a</code>\", while <code>filters: [\"!a\"]</code> means \"keep everything except names containing <code>a</code>\".</p> <p>An empty list of filters tells the Python handler to render every object. The <code>members</code> option takes precedence over filters (filters will still be applied recursively to lower members in the hierarchy).</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n filters:\n - \"!^_\"\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n filters: []\n</code></pre> package/module.py<pre><code>def hello():\n ...\n\n\ndef _world():\n ...\n</code></pre> <p>Preview</p> With <code>filters: []</code>With <code>filters: [\"hello\"]</code>With <code>filters: [\"!hello\"]</code> <p>Module docstring.</p> <p>Function docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Common filters</p> <p>Here are some common filters that you might to want to use.</p> <ul> <li><code>[\"!^_\"]</code>: exclude all private/protected/special objects</li> <li><code>[\"!^_\", \"^__init__$\"]</code>: same as above, but keep <code>__init__</code> methods</li> <li><code>[\"!^_[^_]\"]</code>: exclude all private/protected objects, keep special ones (default filters)</li> </ul>"},{"location":"usage/configuration/members/#group_by_category","title":"<code>group_by_category</code><code>attribute_c</code><code>ClassB</code><code>function_a</code><code>function_d</code><code>function_a</code><code>ClassB</code><code>attribute_c</code><code>function_d</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Group the object members by categories: attributes, classes, functions, and modules.</p> <p>Members within a same category will be ordered according to the <code>members_order</code> option. You can use the <code>show_category_heading</code> option to also render a heading for each category.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n group_by_category: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n group_by_category: false\n</code></pre> package/module.py<pre><code>def function_a():\n ...\n\n\nclass ClassB:\n ...\n\n\nattribute_C = 0\n\n\ndef function_d():\n ...\n</code></pre> <p>Preview</p> With category groupingWithout category grouping <p>Module docstring.</p> <p>Attribute docstring.</p> <p>Class docstring.</p> <p>Function docstring.</p> <p>Function docstring.</p> <p>Module docstring.</p> <p>Function docstring.</p> <p>Class docstring.</p> <p>Attribute docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/members/#show_submodules","title":"<code>show_submodules</code><code>subpackage_member</code><code>submodule</code><code>subpackage_member</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>When rendering a module, show its submodules recursively.</p> <p>This is false by default, because most of the time we render only one module per page, and when rendering a package (a tree of modules and their members) on a single page, we quickly run out of heading levels.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_submodules: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.subpackage\n options:\n show_submodules: false\n</code></pre> package<pre><code>\ud83d\udcc1 package\n\u251c\u2500\u2500 __init__.py\n\u2514\u2500\u2500 \ud83d\udcc1 subpackage\n \u251c\u2500\u2500 __init__.py\n \u2514\u2500\u2500 submodule.py\n</code></pre> <p>Preview</p> With submodulesWithout submodules <p>Subpackage docstring.</p> <p>Member docstring.</p> <p>Submodule docstring.</p> <code>submodule_member</code> <p>Member docstring.</p> <p>Subpackage docstring.</p> <p>Member docstring.</p>"},{"location":"usage/configuration/members/#summary","title":"<code>summary</code>MyClassMyClass","text":"<p> Sponsors only \u2014 Insiders 1.2.0</p> <ul> <li> Type <code>bool | dict[str, bool]</code> <code>False</code></li> </ul> <p>Whether to render summaries of modules, classes, functions (methods) and attributes.</p> <p>This option accepts a boolean (<code>yes</code>, <code>true</code>, <code>no</code>, <code>false</code> in YAML) or a dictionary with one or more of the following keys: <code>attributes</code>, <code>functions</code>, <code>classes</code>, <code>modules</code>, with booleans as values. Class methods summary is (de)activated with the <code>functions</code> key. By default, <code>summary</code> is false, and by extension all values are false.</p> <p>Examples:</p> <pre><code>summary: true\n</code></pre> <pre><code>summary: false\n</code></pre> <pre><code>summary:\n attributes: false\n functions: true\n modules: false\n</code></pre> <p>Summaries will be rendered as the corresponding docstring sections. For example, the summary for attributes will be rendered as an Attributes docstring section. The section will be rendered in accordance with the <code>docstring_section_style</code> option. If the objects appearing in the summary are also rendered on the page (or somewhere else on the site), their name will automatically link to their rendered documentation.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n summary: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n summary: false\n</code></pre> <p>Preview</p> With all summariesWith methods summary only <pre><code>::: path.to.module.MyClass\n options:\n summary: true\n</code></pre> <p>Class docstring.</p> <p>Methods:</p> <ul> <li>my_method1: Summary of the method (first docstring line).</li> <li>my_method2: Summary of the method (first docstring line).</li> </ul> <p>Attributes:</p> <ul> <li>attr1: Summary of the attribute (first docstring line).</li> <li>attr2: Summary of the attribute (first docstring line).</li> </ul> <pre><code>::: path.to.module.MyClass\n options:\n summary:\n functions: true\n</code></pre> <p>Class docstring.</p> <p>Methods:</p> <ul> <li>my_method1: Summary of the method (first docstring line).</li> <li>my_method2: Summary of the method (first docstring line).</li> </ul>"},{"location":"usage/configuration/members/#show_labels","title":"<code>show_labels</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Whether to show labels of the members.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_labels: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: package.module\n options:\n show_labels: false\n</code></pre> package/module.py<pre><code>class SomeClass:\n some_attr: int\n</code></pre> <p>Preview</p> With labelsWithout labels <p><code> some_attr: int </code> <code>instance-attribute</code></p> <p><code> some_attr: int </code></p>"},{"location":"usage/configuration/signatures/","title":"Signatures options","text":""},{"location":"usage/configuration/signatures/#annotations_path","title":"<code>annotations_path</code><code>convert(text, md)</code><code>convert(text, md)</code><code>convert(text, md)</code>","text":"<ul> <li> Type <code>str</code> <code>\"brief\"</code></li> </ul> <p>The verbosity for annotations path.</p> <p>Possible values:</p> <ul> <li><code>brief</code> (recommended): render only the last component of each type path, not their full paths. For example, it will render <code>Sequence[Path]</code> and not <code>typing.Sequence[pathlib.Path]</code>. Brief annotations will cross-reference the right object anyway, and show the full path in a tooltip when hovering them.</li> <li><code>source</code>: render annotations as written in the source. For example if you imported <code>typing</code> as <code>t</code>, it will render <code>typing.Sequence</code> as <code>t.Sequence</code>. Each part will cross-reference the relevant object: <code>t</code> will link to the <code>typing</code> module and <code>Sequence</code> will link to the <code>Sequence</code> type.</li> <li><code>full</code>: render annotations with their full path (the opposite of brief). For example if you import <code>Sequence</code> and <code>Pattern</code> from <code>typing</code> and annoate something using <code>Sequence[Pattern]</code>, it will render as <code>typing.Sequence[typing.Pattern]</code>, with each part cross-referencing the corresponding object.</li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n annotations_path: brief\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n annotations_path: source\n</code></pre> <p>Preview</p> Brief annotationsSource annotationsFull annotations <pre><code>import markdown\nimport markupsafe\n\n\ndef convert(text: str, md: markdown.Markdown) -> markupsafe.Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return markupsafe.Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>Markup</code> <code>text</code> Converted markup. <pre><code>import markdown\nfrom markupsafe import Markup\n\n\ndef convert(text: str, md: markdown.Markdown) -> Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>markdown.Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>Markup</code> <code>text</code> Converted markup. <pre><code>from markdown import Markdown\nfrom markupsafe import Markup\n\n\ndef convert(text: str, md: Markdown) -> Markup:\n \"\"\"Convert text to Markdown.\n\n Parameters:\n text: The text to convert.\n md: A Markdown instance.\n\n Returns:\n Converted markup.\n \"\"\"\n return Markup(md.convert(text))\n</code></pre> <p>Convert text to Markdown.</p> <p>Parameters:</p> Type Description Default <code>str</code> The text to convert. required <code>markdown.Markdown</code> A Markdown instance. required <p>Returns:</p> Type Name Description <code>markupsafe.Markup</code> <code>text</code> Converted markup."},{"location":"usage/configuration/signatures/#line_length","title":"<code>line_length</code>long_function_namelong_function_name","text":"<ul> <li> Type <code>int</code> <code>60</code></li> </ul> <p>Maximum line length when formatting code/signatures.</p> <p>When separating signatures from headings with the <code>separate_signature</code> option, the Python handler will try to format the signatures using Black and the specified line length.</p> <p>If Black is not installed, the handler issues an INFO log once.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n line_length: 60\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n line_length: 80\n</code></pre> <p>Preview</p> Line length 60Line length 80 <pre><code>long_function_name(\n long_parameter_1=\"hello\",\n long_parameter_2=\"world\",\n)</code></pre> <pre><code>long_function_name(long_parameter_1=\"hello\", long_parameter_2=\"world\")</code></pre>"},{"location":"usage/configuration/signatures/#modernize_annotations","title":"<code>modernize_annotations</code>","text":"<p> Sponsors only \u2014 Insiders 1.8.0 \u2014 This feature also requires Griffe Insiders to be installed.</p> <ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Modernize annotations with latest features and PEPs of the Python language.</p> <p>The Python language keeps evolving, and often library developers must continue to support a few minor versions of Python. Therefore they cannot use some features that were introduced in the latest versions.</p> <p>Yet this doesn't mean they can't enjoy latest features in their docs: Griffe allows to \"modernize\" expressions, for example by replacing <code>typing.Union</code> with PEP 604 type unions <code>|</code>. Thanks to this, mkdocstrings' Python handler can automatically transform type annotations into their modern equivalent. This improves consistency in your docs, and shows users how to use your code with the latest features of the language.</p> <p>Modernizations applied:</p> <ul> <li><code>typing.Dict[A, B]</code> becomes <code>dict[A, B]</code></li> <li><code>typing.List[A]</code> becomes <code>list[A]</code></li> <li><code>typing.Set[A]</code> becomes <code>set[A]</code></li> <li><code>typing.Tuple[A]</code> becomes <code>tuple[A]</code></li> <li><code>typing.Union[A, B]</code> becomes <code>A | B</code></li> <li><code>typing.Optional[A]</code> becomes <code>A | None</code></li> </ul> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n modernize_annotations: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.object\n options:\n modernize_annotations: false\n</code></pre> <p>Preview</p> <pre><code>from typing import Optional, Union, List\n\nexample: Optional[Union[int, List[int]]] = None\n</code></pre> Unchanged annotationsModernized annotations"},{"location":"usage/configuration/signatures/#package.modern.example","title":"example","text":"<pre><code>example: Optional[Union[int, List[int]]] = None\n</code></pre>"},{"location":"usage/configuration/signatures/#package.modern.example","title":"example","text":"<pre><code>example: int | list[int] | None = None\n</code></pre>"},{"location":"usage/configuration/signatures/#show_signature","title":"<code>show_signature</code><code>function(param1, param2=None)</code><code>function</code>","text":"<ul> <li> Type <code>bool</code> <code>True</code></li> </ul> <p>Show methods and functions signatures.</p> <p>Without it, just the function/method name is rendered.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n show_signature: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n show_signature: false\n</code></pre> <p>Preview</p> With signatureWithout signature <p>Function docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#show_signature_annotations","title":"<code>show_signature_annotations</code>functionfunction","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Show the type annotations in methods and functions signatures.</p> <p>Since the heading can become quite long when annotations are rendered, it is usually best to separate the signature from the heading.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n show_signature_annotations: true\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n show_signature_annotations: false\n</code></pre> <p>Preview</p> With signature annotationsWithout signature annotations <pre><code>function(\n param1: list[int | float],\n param2: bool | None = None,\n) -> float\n</code></pre> <p>Function docstring.</p> <pre><code>function(param1, param2=None)\n</code></pre> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#separate_signature","title":"<code>separate_signature</code>function<code>function(param1, param2=None)</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to put the whole signature in a code block below the heading.</p> <p>When separating signatures from headings, the Python handler will try to format the signatures using Black and the specified line length.</p> <p>If Black is not installed, the handler issues an INFO log once.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n</code></pre> <p>Preview</p> With separate signatureWithout separate signature <pre><code>function(param1, param2=None)\n</code></pre> <p>Function docstring.</p> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#signature_crossrefs","title":"<code>signature_crossrefs</code>do_format_codedo_format_code","text":"<p> Insiders 1.0.0</p> <p>Whether to render cross-references for type annotations in signatures.</p> <p>When signatures are separated from headings with the <code>separate_signature</code> option and type annotations are shown with the <code>show_signature_annotations</code> option, this option will render a cross-reference (link) for each type annotation in the signature.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n separate_signature: true\n show_signature_annotations: true\n signature_crossrefs: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n separate_signature: true\n show_signature_annotations: true\n signature_crossrefs: true\n</code></pre> <p>Preview</p> With signature cross-referencesWithout signature cross-references <pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Function docstring.</p> <pre><code>do_format_code(code: str, line_length: int) -> str\n</code></pre> <p>Function docstring.</p>"},{"location":"usage/configuration/signatures/#unwrap_annotated","title":"<code>unwrap_annotated</code>","text":"<ul> <li> Type <code>bool</code> <code>False</code></li> </ul> <p>Whether to unwrap <code>Annotated</code> types to show only the type without the annotations.</p> <p>For example, unwrapping <code>Annotated[int, Gt(10)]</code> will render <code>int</code>.</p> in mkdocs.yml (global configuration)<pre><code>plugins:\n- mkdocstrings:\n handlers:\n python:\n options:\n unwrap_annotated: false\n</code></pre> or in docs/some_page.md (local configuration)<pre><code>::: path.to.module\n options:\n unwrap_annotated: true\n</code></pre>"},{"location":"usage/docstrings/google/","title":"Google style","text":""},{"location":"usage/docstrings/google/#work-in-progress","title":"Work in Progress!","text":""},{"location":"usage/docstrings/google/#google-style-admonitions","title":"Google-style admonitions","text":"<p>With Google-style docstrings, any section that is not recognized will be transformed into its admonition equivalent. For example:</p> DocstringResult <pre><code>\"\"\"\nNote:\n It looks like a section, but it will be rendered as an admonition.\n\nTip: You can even choose a title.\n This admonition has a custom title!\n\"\"\"\n</code></pre> <p>Note</p> <p>It looks like a section, but it will be rendered as an admonition.</p> <p>You can even choose a title.</p> <p>This admonition has a custom title!</p> <p>See Napoleon's documentation. See the supported docstring sections on Griffe's documentation.</p>"},{"location":"usage/docstrings/numpy/","title":"Numpydoc style","text":""},{"location":"usage/docstrings/numpy/#work-in-progress","title":"Work in Progress!","text":"<p>Note</p> <p>As Numpy-style is partially supported by the underlying parser, you may experience problems in the building process if your docstring has a <code>Methods</code> section in the class docstring (see #366).</p> <p>See Numpydoc's documentation. See the supported docstring sections on Griffe's documentation.</p>"},{"location":"usage/docstrings/sphinx/","title":"Sphinx style","text":""},{"location":"usage/docstrings/sphinx/#work-in-progress","title":"Work in Progress!","text":"<p>See Sphinx's documentation. See the supported docstring sections on Griffe's documentation.</p>"}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index 7c5cd74d..b0772e62 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,127 +2,127 @@ <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>https://mkdocstrings.github.io/python/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/changelog/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/code_of_conduct/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/contributing/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/credits/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/license/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/insiders/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/insiders/changelog/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/insiders/installation/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/reference/SUMMARY/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/debug/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/handler/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/reference/mkdocstrings_handlers/python/rendering/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/customization/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/extensions/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/configuration/docstrings/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/configuration/general/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/configuration/headings/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/configuration/members/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/configuration/signatures/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/docstrings/google/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/docstrings/numpy/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> <url> <loc>https://mkdocstrings.github.io/python/usage/docstrings/sphinx/</loc> - <lastmod>2024-07-25</lastmod> + <lastmod>2024-08-14</lastmod> <changefreq>daily</changefreq> </url> </urlset> \ No newline at end of file diff --git a/sitemap.xml.gz b/sitemap.xml.gz index 8da820d9342fded5c214c59b0243d4485b60a2e7..83031bc71369deff17b717b1dadb273586a885e7 100644 GIT binary patch literal 424 zcmV;Z0ayMXiwFo{*Slr{|8r?{Wo=<_E_iKh0Ns|cZo)7ShIgI<WhVy2K&uecr5j6I zhEB-Xhhx>TQ{TBjpT345nxR8gsZxxW*ylgz?@scai{+s<!w>MNon2&;e4Guz3MaKy zi){V!IGSh6a!>?s5NH_178hAX)Z8<+-|utO1T}9kcV00RRa_vu7}+?#%gVtpj+29S zb{>UsqC9!Q=%#*?P9XVsB<4y}6}Gu{tT|HUEGyVa+x?Xz)lQbv@pLvC&qtG4lw52b znW(r`u=DU<O0LbZU>!@##I8_($7`J$r+N?SBy8MnBb=2%Q2%jl+}Z|;+r4M?AT?p% zF^v{r5&Dj)EovDHQZk&$lz=O7oDesLlkR_k^{@jUTN1G6^=kF-^qLNESGS2rNpnhm z8h!1TQApSZbtAD{);AJOl*GH9K=%yD6{G<v0+OrsXA*_8MTP^#rXO)JkrX?-(<=Bj z#oziA=@nS;+@y$J0hg(!y@q<5!29thbkxdn3LX-n@7z!2oHCFcwheW2OpY3xO54N# SW1l|=RDJ=n?zk=}5&!_))6Ag& literal 425 zcmV;a0apGWiwFo{d7)+k|8r?{Wo=<_E_iKh0Ns{7Ps1<}hIf8NmA!GPKzt}o#lqGF z=)hFD_SLa)?BF}omS2z4R3!rgLPCn`CHDEv`MHyP=VHFA&FBL>YG-HJWj@J9V1<*~ zs#&&tc^uzn^YWqy-XPE@iY?Bvim16~Y`fj&s0nJ`VD7wPD5|(Xb~Lg{ewUROqc~az z-Rv+5<3!nd!RV%blTIM{cqHaZQx(>^cC6V`<t!^$tL^{Fk!mN)>128}p4^P5*HLn` z^<<*rR>8)@dnvg#`-1f>9TPi2{T;7!YMdH8sFSdAo0V`@20_EewQ*}5C~gm))q~W8 zL&r2)fJGQOrnabMEJ(?4CQ|}V#BoC07*2Zl1=hm`d~8X;o|lWo!_#Xzz<u2+9wkki z{51O7FQbsK4(d!|Ij+wnnkb2PJ%R2SkSj<7QUoMd>(3+#XNL?sicLS_Vj?MacB57B zU5dZ;Dbg#j;JHZ=y#g*%O?wUXI)V4&Pw1$X<rF+5Lf^Ze$~k2qIcyv1W}h52HkG!! T|HnRj5UBhD21T1`C=vhweFM)3 diff --git a/usage/configuration/docstrings/index.html b/usage/configuration/docstrings/index.html index 6084b09f..41ff9aac 100644 --- a/usage/configuration/docstrings/index.html +++ b/usage/configuration/docstrings/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/docstrings/ rel=canonical><link href=../members/ rel=prev><link href=../signatures/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Docstrings - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#docstrings-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Docstrings </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Docstrings </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Docstrings </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#docstring_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_options</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_section_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_section_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#merge_init_into_class class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>merge_init_into_class</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_if_no_docstring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_if_no_docstring</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_attributes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_attributes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_functions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_functions</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_classes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_description class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_description</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_examples class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_examples</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_other_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_other_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_raises class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_raises</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_receives class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_receives</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_returns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_returns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_warns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_warns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_yields class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_yields</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#docstring_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_options</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_section_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_section_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#merge_init_into_class class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>merge_init_into_class</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_if_no_docstring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_if_no_docstring</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_attributes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_attributes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_functions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_functions</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_classes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_description class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_description</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_examples class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_examples</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_other_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_other_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_raises class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_raises</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_receives class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_receives</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_returns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_returns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_warns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_warns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_yields class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_yields</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/docstrings.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/docstrings.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=docstrings-options>Docstrings options<a class=headerlink href=#docstrings-options title="Permanent link">¤</a></h1> <h2 id=docstring_style><code>docstring_style</code><a class=headerlink href=#docstring_style title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str><code>str</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">"google"</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The docstring style to expect when parsing docstrings.</p> <p>Possible values:</p> <ul> <li><code>"google"</code>: see <a href=../../docstrings/google/ >Google style</a>.</li> <li><code>"numpy"</code>: see <a href=../../docstrings/numpy/ >Numpy style</a>.</li> <li><code>"sphinx"</code>: see <a href=../../docstrings/sphinx/ >Sphinx style</a>.</li> <li><code>None</code> (<code>null</code> or <code>~</code> in YAML): no style at all, parse as regular text.</li> </ul> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/docstrings/ rel=canonical><link href=../members/ rel=prev><link href=../signatures/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Docstrings - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#docstrings-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Docstrings </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Docstrings </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Docstrings </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#docstring_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_options</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_section_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_section_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#merge_init_into_class class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>merge_init_into_class</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_if_no_docstring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_if_no_docstring</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_attributes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_attributes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_functions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_functions</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_classes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_description class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_description</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_examples class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_examples</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_other_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_other_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_raises class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_raises</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_receives class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_receives</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_returns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_returns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_warns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_warns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_yields class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_yields</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#docstring_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_options</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring_section_style class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>docstring_section_style</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#merge_init_into_class class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>merge_init_into_class</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_if_no_docstring class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_if_no_docstring</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_attributes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_attributes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_functions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_functions</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_classes</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_description class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_description</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_examples class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_examples</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_other_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_other_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_parameters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_parameters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_raises class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_raises</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_receives class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_receives</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_returns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_returns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_warns class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_warns</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_docstring_yields class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_docstring_yields</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/docstrings.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/docstrings.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=docstrings-options>Docstrings options<a class=headerlink href=#docstrings-options title="Permanent link">¤</a></h1> <h2 id=docstring_style><code>docstring_style</code><a class=headerlink href=#docstring_style title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str><code>str</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">"google"</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The docstring style to expect when parsing docstrings.</p> <p>Possible values:</p> <ul> <li><code>"google"</code>: see <a href=../../docstrings/google/ >Google style</a>.</li> <li><code>"numpy"</code>: see <a href=../../docstrings/numpy/ >Numpy style</a>.</li> <li><code>"sphinx"</code>: see <a href=../../docstrings/sphinx/ >Sphinx style</a>.</li> <li><code>None</code> (<code>null</code> or <code>~</code> in YAML): no style at all, parse as regular text.</li> </ul> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class=nt>mkdocstrings</span><span class=p>:</span> <span class=w> </span><span class=nt>handlers</span><span class=p>:</span> <span class=w> </span><span class=nt>python</span><span class=p>:</span> @@ -402,4 +402,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../members/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Members"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Members </div> </div> </a> <a href=../signatures/ class="md-footer__link md-footer__link--next" aria-label="Next: Signatures"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Signatures </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../members/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Members"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Members </div> </div> </a> <a href=../signatures/ class="md-footer__link md-footer__link--next" aria-label="Next: Signatures"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Signatures </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/configuration/general/index.html b/usage/configuration/general/index.html index 72d85028..fe945b43 100644 --- a/usage/configuration/general/index.html +++ b/usage/configuration/general/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/general/ rel=canonical><link href=../../ rel=prev><link href=../headings/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>General - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#general-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> General </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> General </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> General </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#allow_inspection class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>allow_inspection</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_bases class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_bases</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_inheritance_diagram class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_inheritance_diagram</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_source class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_source</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#preload_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>preload_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#find_stubs_package class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>find_stubs_package</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#allow_inspection class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>allow_inspection</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_bases class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_bases</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_inheritance_diagram class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_inheritance_diagram</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_source class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_source</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#preload_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>preload_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#find_stubs_package class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>find_stubs_package</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/general.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/general.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=general-options>General options<a class=headerlink href=#general-options title="Permanent link">¤</a></h1> <h2 id=allow_inspection><code>allow_inspection</code><a class=headerlink href=#allow_inspection title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#bool><code>bool</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">True</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (contained in [`class.html`][class template]) --> <p>Whether to allow inspecting modules (importing them) when it is not possible to visit them (parse their source code).</p> <p>When loading data for a given package, <a href=https://github.com/mkdocstrings/griffe>Griffe</a> discovers every Python module, compiled or not, and inspects or visits them accordingly.</p> <p>If you have compiled modules but also provide stubs for them, you might want to disable the inspection of these modules, because inspection picks up many more members, and sometimes the collected data is inaccurate (depending on the tool that was used to compile the module) or too low-level/technical for API documentation.</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/general/ rel=canonical><link href=../../ rel=prev><link href=../headings/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>General - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#general-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> General </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> General </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> General </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#allow_inspection class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>allow_inspection</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_bases class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_bases</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_inheritance_diagram class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_inheritance_diagram</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_source class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_source</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#preload_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>preload_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#find_stubs_package class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>find_stubs_package</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#allow_inspection class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>allow_inspection</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_bases class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_bases</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_inheritance_diagram class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_inheritance_diagram</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_source class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_source</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#preload_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>preload_modules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#find_stubs_package class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>find_stubs_package</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/general.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/general.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=general-options>General options<a class=headerlink href=#general-options title="Permanent link">¤</a></h1> <h2 id=allow_inspection><code>allow_inspection</code><a class=headerlink href=#allow_inspection title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#bool><code>bool</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">True</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (contained in [`class.html`][class template]) --> <p>Whether to allow inspecting modules (importing them) when it is not possible to visit them (parse their source code).</p> <p>When loading data for a given package, <a href=https://github.com/mkdocstrings/griffe>Griffe</a> discovers every Python module, compiled or not, and inspects or visits them accordingly.</p> <p>If you have compiled modules but also provide stubs for them, you might want to disable the inspection of these modules, because inspection picks up many more members, and sometimes the collected data is inaccurate (depending on the tool that was used to compile the module) or too low-level/technical for API documentation.</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class=nt>mkdocstrings</span><span class=p>:</span> <span class=w> </span><span class=nt>handlers</span><span class=p>:</span> <span class=w> </span><span class=nt>python</span><span class=p>:</span> @@ -138,4 +138,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../ class="md-footer__link md-footer__link--prev" aria-label="Previous: Usage"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Usage </div> </div> </a> <a href=../headings/ class="md-footer__link md-footer__link--next" aria-label="Next: Headings"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Headings </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../ class="md-footer__link md-footer__link--prev" aria-label="Previous: Usage"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Usage </div> </div> </a> <a href=../headings/ class="md-footer__link md-footer__link--next" aria-label="Next: Headings"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Headings </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/configuration/headings/index.html b/usage/configuration/headings/index.html index 3b2d8a0c..efe57d04 100644 --- a/usage/configuration/headings/index.html +++ b/usage/configuration/headings/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/headings/ rel=canonical><link href=../general/ rel=prev><link href=../members/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Headings - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#headings-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Headings </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Headings </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Headings </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#heading_level class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>heading_level</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#parameter_headings class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>parameter_headings</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_toc_entry class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_toc_entry</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_members_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_members_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_object_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_object_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_category_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_category_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_toc class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_toc</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#heading_level class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>heading_level</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#parameter_headings class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>parameter_headings</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_toc_entry class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_toc_entry</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_members_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_members_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_object_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_object_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_category_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_category_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_toc class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_toc</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/headings.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/headings.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=headings-options>Headings options<a class=headerlink href=#headings-options title="Permanent link">¤</a></h1> <h2 id=heading_level><code>heading_level</code><a class=headerlink href=#heading_level title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#int><code>int</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">2</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The initial heading level to use.</p> <p>When injecting documentation for an object, the object itself and its members are rendered. For each layer of objects, we increase the heading level by 1.</p> <p>The initial heading level will be used for the first layer. If you set it to 3, then headings will start with <code><h3></code>.</p> <p>If the <a class="autorefs autorefs-internal" href=#show_root_heading>heading for the root object</a> is not shown, then the initial heading level is used for its members.</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/headings/ rel=canonical><link href=../general/ rel=prev><link href=../members/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Headings - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#headings-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Headings </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Headings </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Headings </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#heading_level class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>heading_level</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#parameter_headings class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>parameter_headings</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_toc_entry class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_toc_entry</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_members_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_members_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_object_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_object_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_category_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_category_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_toc class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_toc</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#heading_level class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>heading_level</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#parameter_headings class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>parameter_headings</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_toc_entry class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_toc_entry</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_root_members_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_root_members_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_object_full_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_object_full_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_category_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_category_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_heading class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_heading</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_symbol_type_toc class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_symbol_type_toc</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/headings.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/headings.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=headings-options>Headings options<a class=headerlink href=#headings-options title="Permanent link">¤</a></h1> <h2 id=heading_level><code>heading_level</code><a class=headerlink href=#heading_level title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#int><code>int</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">2</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The initial heading level to use.</p> <p>When injecting documentation for an object, the object itself and its members are rendered. For each layer of objects, we increase the heading level by 1.</p> <p>The initial heading level will be used for the first layer. If you set it to 3, then headings will start with <code><h3></code>.</p> <p>If the <a class="autorefs autorefs-internal" href=#show_root_heading>heading for the root object</a> is not shown, then the initial heading level is used for its members.</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class=nt>mkdocstrings</span><span class=p>:</span> <span class=w> </span><span class=nt>handlers</span><span class=p>:</span> <span class=w> </span><span class=nt>python</span><span class=p>:</span> @@ -143,4 +143,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../general/ class="md-footer__link md-footer__link--prev" aria-label="Previous: General"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> General </div> </div> </a> <a href=../members/ class="md-footer__link md-footer__link--next" aria-label="Next: Members"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Members </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../general/ class="md-footer__link md-footer__link--prev" aria-label="Previous: General"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> General </div> </div> </a> <a href=../members/ class="md-footer__link md-footer__link--next" aria-label="Next: Members"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Members </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/configuration/members/index.html b/usage/configuration/members/index.html index 77dec3ba..fae696d6 100644 --- a/usage/configuration/members/index.html +++ b/usage/configuration/members/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/members/ rel=canonical><link href=../headings/ rel=prev><link href=../docstrings/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Members - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#members-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Members </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Members </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Members </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#inherited_members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>inherited_members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#members_order class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members_order</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#filters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>filters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#group_by_category class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>group_by_category</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_submodules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_submodules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>summary</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_labels class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_labels</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#inherited_members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>inherited_members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#members_order class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members_order</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#filters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>filters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#group_by_category class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>group_by_category</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_submodules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_submodules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>summary</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_labels class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_labels</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/members.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/members.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=members-options>Members options<a class=headerlink href=#members-options title="Permanent link">¤</a></h1> <h2 id=members><code>members</code><a class=headerlink href=#members title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <code><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#list>list</a>[<a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a>] | <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#bool>bool</a> | None</code> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">None</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>An explicit list of members to render.</p> <p>Only members declared in this list will be rendered. A member without a docstring will still be rendered, even if <a class="autorefs autorefs-internal" href=../docstrings/#show_if_no_docstring><code>show_if_no_docstring</code></a> is set to false.</p> <p>The members will be rendered in the specified order, regardless of the value of <a class="autorefs autorefs-internal" href=#members_order><code>members_order</code></a>. <strong>Note that members will still be grouped by category, according to the <a class="autorefs autorefs-internal" href=#group_by_category><code>group_by_category</code></a> option.</strong></p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every member.</p> <p>Any given value, except for an explicit <code>None</code> (<code>null</code> in YAML) will tell the handler to ignore <a class="autorefs autorefs-internal" href=#filters><code>filters</code></a> for the object's members. Filters will still be applied to the next layers of members (grand-children).</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/members/ rel=canonical><link href=../headings/ rel=prev><link href=../docstrings/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Members - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#members-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Members </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Members </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Members </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#inherited_members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>inherited_members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#members_order class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members_order</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#filters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>filters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#group_by_category class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>group_by_category</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_submodules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_submodules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>summary</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_labels class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_labels</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#inherited_members class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>inherited_members</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#members_order class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>members_order</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#filters class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>filters</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#group_by_category class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>group_by_category</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_submodules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_submodules</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>summary</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_labels class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_labels</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/members.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/members.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=members-options>Members options<a class=headerlink href=#members-options title="Permanent link">¤</a></h1> <h2 id=members><code>members</code><a class=headerlink href=#members title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <code><a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#list>list</a>[<a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str>str</a>] | <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/functions.html#bool>bool</a> | None</code> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">None</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>An explicit list of members to render.</p> <p>Only members declared in this list will be rendered. A member without a docstring will still be rendered, even if <a class="autorefs autorefs-internal" href=../docstrings/#show_if_no_docstring><code>show_if_no_docstring</code></a> is set to false.</p> <p>The members will be rendered in the specified order, regardless of the value of <a class="autorefs autorefs-internal" href=#members_order><code>members_order</code></a>. <strong>Note that members will still be grouped by category, according to the <a class="autorefs autorefs-internal" href=#group_by_category><code>group_by_category</code></a> option.</strong></p> <p>Passing a falsy value (<code>no</code>, <code>false</code> in YAML) or an empty list (<code>[]</code>) will tell the Python handler not to render any member. Passing a truthy value (<code>yes</code>, <code>true</code> in YAML) will tell the Python handler to render every member.</p> <p>Any given value, except for an explicit <code>None</code> (<code>null</code> in YAML) will tell the handler to ignore <a class="autorefs autorefs-internal" href=#filters><code>filters</code></a> for the object's members. Filters will still be applied to the next layers of members (grand-children).</p> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class=nt>mkdocstrings</span><span class=p>:</span> <span class=w> </span><span class=nt>handlers</span><span class=p>:</span> <span class=w> </span><span class=nt>python</span><span class=p>:</span> @@ -224,4 +224,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../headings/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Headings"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Headings </div> </div> </a> <a href=../docstrings/ class="md-footer__link md-footer__link--next" aria-label="Next: Docstrings"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Docstrings </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../headings/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Headings"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Headings </div> </div> </a> <a href=../docstrings/ class="md-footer__link md-footer__link--next" aria-label="Next: Docstrings"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Docstrings </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/configuration/signatures/index.html b/usage/configuration/signatures/index.html index 67816863..e70cebe7 100644 --- a/usage/configuration/signatures/index.html +++ b/usage/configuration/signatures/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/signatures/ rel=canonical><link href=../docstrings/ rel=prev><link href=../../docstrings/google/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Signatures - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#signatures-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Signatures </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Signatures </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Signatures </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#annotations_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>annotations_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#line_length class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>line_length</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#modernize_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>modernize_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#separate_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>separate_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#signature_crossrefs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>signature_crossrefs</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#unwrap_annotated class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>unwrap_annotated</code> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#annotations_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>annotations_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#line_length class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>line_length</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#modernize_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>modernize_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#separate_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>separate_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#signature_crossrefs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>signature_crossrefs</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#unwrap_annotated class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>unwrap_annotated</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/signatures.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/signatures.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=signatures-options>Signatures options<a class=headerlink href=#signatures-options title="Permanent link">¤</a></h1> <h2 id=annotations_path><code>annotations_path</code><a class=headerlink href=#annotations_path title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str><code>str</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">"brief"</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The verbosity for annotations path.</p> <p>Possible values:</p> <ul> <li><code>brief</code> (recommended): render only the last component of each type path, not their full paths. For example, it will render <code>Sequence[Path]</code> and not <code>typing.Sequence[pathlib.Path]</code>. Brief annotations will cross-reference the right object anyway, and show the full path in a tooltip when hovering them.</li> <li><code>source</code>: render annotations as written in the source. For example if you imported <code>typing</code> as <code>t</code>, it will render <code>typing.Sequence</code> as <code>t.Sequence</code>. Each part will cross-reference the relevant object: <code>t</code> will link to the <code>typing</code> module and <code>Sequence</code> will link to the <code>Sequence</code> type.</li> <li><code>full</code>: render annotations with their full path (the opposite of brief). For example if you import <code>Sequence</code> and <code>Pattern</code> from <code>typing</code> and annoate something using <code>Sequence[Pattern]</code>, it will render as <code>typing.Sequence[typing.Pattern]</code>, with each part cross-referencing the corresponding object.</li> </ul> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/configuration/signatures/ rel=canonical><link href=../docstrings/ rel=prev><link href=../../docstrings/google/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Signatures - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#signatures-options class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Signatures </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2 checked> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Signatures </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Signatures </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#annotations_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>annotations_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#line_length class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>line_length</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#modernize_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>modernize_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#separate_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>separate_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#signature_crossrefs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>signature_crossrefs</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#unwrap_annotated class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>unwrap_annotated</code> </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#annotations_path class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>annotations_path</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#line_length class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>line_length</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#modernize_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>modernize_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#show_signature_annotations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>show_signature_annotations</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#separate_signature class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>separate_signature</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#signature_crossrefs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>signature_crossrefs</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#unwrap_annotated class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>unwrap_annotated</code> </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/configuration/signatures.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/configuration/signatures.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=signatures-options>Signatures options<a class=headerlink href=#signatures-options title="Permanent link">¤</a></h1> <h2 id=annotations_path><code>annotations_path</code><a class=headerlink href=#annotations_path title="Permanent link">¤</a></h2> <ul> <li><strong><span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12.876.64V.639l8.25 4.763c.541.313.875.89.875 1.515v9.525a1.75 1.75 0 0 1-.875 1.516l-8.25 4.762a1.748 1.748 0 0 1-1.75 0l-8.25-4.763a1.75 1.75 0 0 1-.875-1.515V6.917c0-.625.334-1.202.875-1.515L11.126.64a1.748 1.748 0 0 1 1.75 0Zm-1 1.298L4.251 6.34l7.75 4.474 7.75-4.474-7.625-4.402a.248.248 0 0 0-.25 0Zm.875 19.123 7.625-4.402a.25.25 0 0 0 .125-.216V7.639l-7.75 4.474ZM3.501 7.64v8.803c0 .09.048.172.125.216l7.625 4.402v-8.947Z"/></svg></span> Type <a class="autorefs autorefs-external" href=https://docs.python.org/3/library/stdtypes.html#str><code>str</code></a> <span class=twemoji><svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 10H5V8h14v2m0 6H5v-2h14v2Z"/></svg></span> <code title="default value">"brief"</code></strong></li> </ul> <!-- - **:octicons-project-template-24: Template :material-null:** (N/A) --> <p>The verbosity for annotations path.</p> <p>Possible values:</p> <ul> <li><code>brief</code> (recommended): render only the last component of each type path, not their full paths. For example, it will render <code>Sequence[Path]</code> and not <code>typing.Sequence[pathlib.Path]</code>. Brief annotations will cross-reference the right object anyway, and show the full path in a tooltip when hovering them.</li> <li><code>source</code>: render annotations as written in the source. For example if you imported <code>typing</code> as <code>t</code>, it will render <code>typing.Sequence</code> as <code>t.Sequence</code>. Each part will cross-reference the relevant object: <code>t</code> will link to the <code>typing</code> module and <code>Sequence</code> will link to the <code>Sequence</code> type.</li> <li><code>full</code>: render annotations with their full path (the opposite of brief). For example if you import <code>Sequence</code> and <code>Pattern</code> from <code>typing</code> and annoate something using <code>Sequence[Pattern]</code>, it will render as <code>typing.Sequence[typing.Pattern]</code>, with each part cross-referencing the corresponding object.</li> </ul> <div class="language-yaml highlight"><span class=filename>in mkdocs.yml (global configuration)</span><pre><span></span><code><span class=nt>plugins</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class=nt>mkdocstrings</span><span class=p>:</span> <span class=w> </span><span class=nt>handlers</span><span class=p>:</span> <span class=w> </span><span class=nt>python</span><span class=p>:</span> @@ -173,4 +173,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../docstrings/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Docstrings"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Docstrings </div> </div> </a> <a href=../../docstrings/google/ class="md-footer__link md-footer__link--next" aria-label="Next: Google"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Google </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../docstrings/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Docstrings"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Docstrings </div> </div> </a> <a href=../../docstrings/google/ class="md-footer__link md-footer__link--next" aria-label="Next: Google"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Google </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/customization/index.html b/usage/customization/index.html index 3050e1f0..90c18077 100644 --- a/usage/customization/index.html +++ b/usage/customization/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/customization/ rel=canonical><link href=../docstrings/sphinx/ rel=prev><link href=../extensions/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Customization - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#customization class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Customization </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4 checked> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=true> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Customization </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Customization </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#css-classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> CSS classes </span> </span> </a> </li> <li class=md-nav__item> <a href=#symbol-types class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Symbol types </span> </span> </a> <nav class=md-nav aria-label="Symbol types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#colors class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Colors </span> </span> </a> </li> <li class=md-nav__item> <a href=#names class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Names </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#templates class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Templates </span> </span> </a> <nav class=md-nav aria-label=Templates> <ul class=md-nav__list> <li class=md-nav__item> <a href=#available-blocks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Available blocks </span> </span> </a> <nav class=md-nav aria-label="Available blocks"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modulehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>module.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#classhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>class.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#functionhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>function.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#attributehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>attribute.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring-sections class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Docstring sections </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#syntax-highlight-in-signatures class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Syntax highlight in signatures </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#style-recommendations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Style recommendations </span> </span> </a> <nav class=md-nav aria-label="Style recommendations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#material class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Material </span> </span> </a> </li> <li class=md-nav__item> <a href=#readthedocs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> ReadTheDocs </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#css-classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> CSS classes </span> </span> </a> </li> <li class=md-nav__item> <a href=#symbol-types class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Symbol types </span> </span> </a> <nav class=md-nav aria-label="Symbol types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#colors class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Colors </span> </span> </a> </li> <li class=md-nav__item> <a href=#names class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Names </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#templates class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Templates </span> </span> </a> <nav class=md-nav aria-label=Templates> <ul class=md-nav__list> <li class=md-nav__item> <a href=#available-blocks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Available blocks </span> </span> </a> <nav class=md-nav aria-label="Available blocks"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modulehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>module.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#classhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>class.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#functionhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>function.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#attributehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>attribute.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring-sections class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Docstring sections </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#syntax-highlight-in-signatures class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Syntax highlight in signatures </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#style-recommendations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Style recommendations </span> </span> </a> <nav class=md-nav aria-label="Style recommendations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#material class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Material </span> </span> </a> </li> <li class=md-nav__item> <a href=#readthedocs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> ReadTheDocs </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/customization.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/customization.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=customization>Customization<a class=headerlink href=#customization title="Permanent link">¤</a></h1> <p>It is possible to customize the output of the generated documentation with CSS and/or by overriding templates.</p> <h2 id=css-classes>CSS classes<a class=headerlink href=#css-classes title="Permanent link">¤</a></h2> <p>Our templates add <a href=https://www.w3schools.com/Css/ >CSS</a> classes to many HTML elements to make it possible for users to customize the resulting look and feel.</p> <p>To add CSS rules and style mkdocstrings' output, put them in a CSS file in your docs folder, for example in <code>docs/css/mkdocstrings.css</code>, and reference this file in <a href=https://www.mkdocs.org/user-guide/configuration/#extra_css>MkDocs' <code>extra_css</code> configuration option</a>:</p> <div class="language-yaml highlight"><span class=filename>mkdocs.yml</span><pre><span></span><code><span class=nt>extra_css</span><span class=p>:</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/customization/ rel=canonical><link href=../docstrings/sphinx/ rel=prev><link href=../extensions/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Customization - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#customization class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Customization </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4 checked> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=true> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Customization </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Customization </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#css-classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> CSS classes </span> </span> </a> </li> <li class=md-nav__item> <a href=#symbol-types class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Symbol types </span> </span> </a> <nav class=md-nav aria-label="Symbol types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#colors class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Colors </span> </span> </a> </li> <li class=md-nav__item> <a href=#names class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Names </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#templates class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Templates </span> </span> </a> <nav class=md-nav aria-label=Templates> <ul class=md-nav__list> <li class=md-nav__item> <a href=#available-blocks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Available blocks </span> </span> </a> <nav class=md-nav aria-label="Available blocks"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modulehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>module.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#classhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>class.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#functionhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>function.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#attributehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>attribute.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring-sections class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Docstring sections </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#syntax-highlight-in-signatures class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Syntax highlight in signatures </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#style-recommendations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Style recommendations </span> </span> </a> <nav class=md-nav aria-label="Style recommendations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#material class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Material </span> </span> </a> </li> <li class=md-nav__item> <a href=#readthedocs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> ReadTheDocs </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#css-classes class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> CSS classes </span> </span> </a> </li> <li class=md-nav__item> <a href=#symbol-types class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Symbol types </span> </span> </a> <nav class=md-nav aria-label="Symbol types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#colors class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Colors </span> </span> </a> </li> <li class=md-nav__item> <a href=#names class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Names </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#templates class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Templates </span> </span> </a> <nav class=md-nav aria-label=Templates> <ul class=md-nav__list> <li class=md-nav__item> <a href=#available-blocks class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Available blocks </span> </span> </a> <nav class=md-nav aria-label="Available blocks"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modulehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>module.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#classhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>class.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#functionhtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>function.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#attributehtml class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>attribute.html</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#docstring-sections class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Docstring sections </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#syntax-highlight-in-signatures class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Syntax highlight in signatures </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#style-recommendations class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Style recommendations </span> </span> </a> <nav class=md-nav aria-label="Style recommendations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#material class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Material </span> </span> </a> </li> <li class=md-nav__item> <a href=#readthedocs class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> ReadTheDocs </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/customization.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/customization.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=customization>Customization<a class=headerlink href=#customization title="Permanent link">¤</a></h1> <p>It is possible to customize the output of the generated documentation with CSS and/or by overriding templates.</p> <h2 id=css-classes>CSS classes<a class=headerlink href=#css-classes title="Permanent link">¤</a></h2> <p>Our templates add <a href=https://www.w3schools.com/Css/ >CSS</a> classes to many HTML elements to make it possible for users to customize the resulting look and feel.</p> <p>To add CSS rules and style mkdocstrings' output, put them in a CSS file in your docs folder, for example in <code>docs/css/mkdocstrings.css</code>, and reference this file in <a href=https://www.mkdocs.org/user-guide/configuration/#extra_css>MkDocs' <code>extra_css</code> configuration option</a>:</p> <div class="language-yaml highlight"><span class=filename>mkdocs.yml</span><pre><span></span><code><span class=nt>extra_css</span><span class=p>:</span> <span class="p p-Indicator">-</span><span class=w> </span><span class="l l-Scalar l-Scalar-Plain">css/mkdocstrings.css</span> </code></pre></div> <p>Example:</p> <div class="language-css highlight"><span class=filename>docs/css/mkdocstrings.css</span><pre><span></span><code><span class=p>.</span><span class=nc>doc-section-title</span><span class=w> </span><span class=p>{</span> <span class=w> </span><span class=k>font-weight</span><span class=p>:</span><span class=w> </span><span class=kc>bold</span><span class=p>;</span> @@ -288,4 +288,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../docstrings/sphinx/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Sphinx"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Sphinx </div> </div> </a> <a href=../extensions/ class="md-footer__link md-footer__link--next" aria-label="Next: Extensions"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Extensions </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../docstrings/sphinx/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Sphinx"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Sphinx </div> </div> </a> <a href=../extensions/ class="md-footer__link md-footer__link--next" aria-label="Next: Extensions"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Extensions </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/docstrings/google/index.html b/usage/docstrings/google/index.html index 0e276bcf..220e030c 100644 --- a/usage/docstrings/google/index.html +++ b/usage/docstrings/google/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/google/ rel=canonical><link href=../../configuration/signatures/ rel=prev><link href=../numpy/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Google - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#google-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Google </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Google </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Google </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> <nav class=md-nav aria-label="Work in Progress!"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#google-style-admonitions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Google-style admonitions </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> <nav class=md-nav aria-label="Work in Progress!"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#google-style-admonitions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Google-style admonitions </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/google.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/google.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=google-style>Google style<a class=headerlink href=#google-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <h3 id=google-style-admonitions>Google-style admonitions<a class=headerlink href=#google-style-admonitions title="Permanent link">¤</a></h3> <p>With Google-style docstrings, any section that is not recognized will be transformed into its admonition equivalent. For example:</p> <div class="tabbed-set tabbed-alternate" data-tabs=1:2><input checked=checked id=docstring name=__tabbed_1 type=radio><input id=result name=__tabbed_1 type=radio><div class=tabbed-labels><label for=docstring>Docstring</label><label for=result>Result</label></div> <div class=tabbed-content> <div class=tabbed-block> <div class="language-python highlight"><pre><span></span><code><span class=sd>"""</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/google/ rel=canonical><link href=../../configuration/signatures/ rel=prev><link href=../numpy/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Google - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#google-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Google </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Google </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Google </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> <nav class=md-nav aria-label="Work in Progress!"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#google-style-admonitions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Google-style admonitions </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> <nav class=md-nav aria-label="Work in Progress!"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#google-style-admonitions class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Google-style admonitions </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/google.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/google.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=google-style>Google style<a class=headerlink href=#google-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <h3 id=google-style-admonitions>Google-style admonitions<a class=headerlink href=#google-style-admonitions title="Permanent link">¤</a></h3> <p>With Google-style docstrings, any section that is not recognized will be transformed into its admonition equivalent. For example:</p> <div class="tabbed-set tabbed-alternate" data-tabs=1:2><input checked=checked id=docstring name=__tabbed_1 type=radio><input id=result name=__tabbed_1 type=radio><div class=tabbed-labels><label for=docstring>Docstring</label><label for=result>Result</label></div> <div class=tabbed-content> <div class=tabbed-block> <div class="language-python highlight"><pre><span></span><code><span class=sd>"""</span> <span class=sd>Note:</span> <span class=sd> It looks like a section, but it will be rendered as an admonition.</span> @@ -39,4 +39,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../configuration/signatures/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Signatures"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Signatures </div> </div> </a> <a href=../numpy/ class="md-footer__link md-footer__link--next" aria-label="Next: Numpy"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Numpy </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../../configuration/signatures/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Signatures"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Signatures </div> </div> </a> <a href=../numpy/ class="md-footer__link md-footer__link--next" aria-label="Next: Numpy"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Numpy </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/docstrings/numpy/index.html b/usage/docstrings/numpy/index.html index 1e96c34c..11714471 100644 --- a/usage/docstrings/numpy/index.html +++ b/usage/docstrings/numpy/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/numpy/ rel=canonical><link href=../google/ rel=prev><link href=../sphinx/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Numpy - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#numpydoc-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Numpy </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Numpy </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Numpy </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/numpy.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/numpy.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=numpydoc-style>Numpydoc style<a class=headerlink href=#numpydoc-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <div class="admonition note"> <p class=admonition-title>Note</p> <p>As Numpy-style is partially supported by the underlying parser, you may experience problems in the building process if your docstring has a <code>Methods</code> section in the class docstring (see <a href=https://github.com/mkdocstrings/mkdocstrings/issues/366>#366</a>).</p> </div> <p>See <a href=https://numpydoc.readthedocs.io/en/latest/format.html>Numpydoc's documentation</a>. See the supported docstring sections on <a href=https://mkdocstrings.github.io/griffe/docstrings/ >Griffe's documentation</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/numpy/ rel=canonical><link href=../google/ rel=prev><link href=../sphinx/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Numpy - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#numpydoc-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Numpy </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Numpy </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Numpy </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/numpy.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/numpy.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=numpydoc-style>Numpydoc style<a class=headerlink href=#numpydoc-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <div class="admonition note"> <p class=admonition-title>Note</p> <p>As Numpy-style is partially supported by the underlying parser, you may experience problems in the building process if your docstring has a <code>Methods</code> section in the class docstring (see <a href=https://github.com/mkdocstrings/mkdocstrings/issues/366>#366</a>).</p> </div> <p>See <a href=https://numpydoc.readthedocs.io/en/latest/format.html>Numpydoc's documentation</a>. See the supported docstring sections on <a href=https://mkdocstrings.github.io/griffe/docstrings/ >Griffe's documentation</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../google/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Google"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Google </div> </div> </a> <a href=../sphinx/ class="md-footer__link md-footer__link--next" aria-label="Next: Sphinx"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Sphinx </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../google/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Google"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Google </div> </div> </a> <a href=../sphinx/ class="md-footer__link md-footer__link--next" aria-label="Next: Sphinx"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Sphinx </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/docstrings/sphinx/index.html b/usage/docstrings/sphinx/index.html index 1895d7cc..e63a04f9 100644 --- a/usage/docstrings/sphinx/index.html +++ b/usage/docstrings/sphinx/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/sphinx/ rel=canonical><link href=../numpy/ rel=prev><link href=../../customization/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Sphinx - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#sphinx-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Sphinx </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Sphinx </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Sphinx </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/sphinx.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/sphinx.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=sphinx-style>Sphinx style<a class=headerlink href=#sphinx-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <p>See <a href=https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html>Sphinx's documentation</a>. See the supported docstring sections on <a href=https://mkdocstrings.github.io/griffe/docstrings/ >Griffe's documentation</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/docstrings/sphinx/ rel=canonical><link href=../numpy/ rel=prev><link href=../../customization/ rel=next><link rel=icon href=../../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Sphinx - mkdocstrings-python</title><link rel=stylesheet href=../../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../../assets/_mkdocstrings.css><link rel=stylesheet href=../../../css/material.css><link rel=stylesheet href=../../../css/mkdocstrings.css><link rel=stylesheet href=../../../css/insiders.css><script>__md_scope=new URL("../../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#sphinx-style class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Sphinx </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3 checked> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=true> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Sphinx </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Sphinx </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=../../extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/docstrings/sphinx.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/docstrings/sphinx.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=sphinx-style>Sphinx style<a class=headerlink href=#sphinx-style title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <p>See <a href=https://sphinx-rtd-tutorial.readthedocs.io/en/latest/docstrings.html>Sphinx's documentation</a>. See the supported docstring sections on <a href=https://mkdocstrings.github.io/griffe/docstrings/ >Griffe's documentation</a>.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title=Contributors> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2Z"/></svg> </span> <span>GitHub</span> <nav> <a href=https://github.com/pawamoy class=md-author title=@pawamoy> <img src="https://avatars.githubusercontent.com/u/3999221?size=72" alt=pawamoy> </a> </nav> </span> </aside> <form class=md-feedback name=feedback hidden> <fieldset> <legend class=md-feedback__title> Was this page helpful? </legend> <div class=md-feedback__inner> <div class=md-feedback__list> <button class="md-feedback__icon md-icon" type=submit title="This page was helpful" data-md-value=1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m7 0c0 .8-.7 1.5-1.5 1.5S14 10.3 14 9.5 14.7 8 15.5 8s1.5.7 1.5 1.5m-5 7.73c-1.75 0-3.29-.73-4.19-1.81L9.23 14c.45.72 1.52 1.23 2.77 1.23s2.32-.51 2.77-1.23l1.42 1.42c-.9 1.08-2.44 1.81-4.19 1.81Z"/></svg> </button> <button class="md-feedback__icon md-icon" type=submit title="This page could be improved" data-md-value=0> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 12a8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8 8 8 0 0 0 8-8m2 0a10 10 0 0 1-10 10A10 10 0 0 1 2 12 10 10 0 0 1 12 2a10 10 0 0 1 10 10m-6.5-4c.8 0 1.5.7 1.5 1.5s-.7 1.5-1.5 1.5-1.5-.7-1.5-1.5.7-1.5 1.5-1.5M10 9.5c0 .8-.7 1.5-1.5 1.5S7 10.3 7 9.5 7.7 8 8.5 8s1.5.7 1.5 1.5m2 4.5c1.75 0 3.29.72 4.19 1.81l-1.42 1.42C14.32 16.5 13.25 16 12 16s-2.32.5-2.77 1.23l-1.42-1.42C8.71 14.72 10.25 14 12 14Z"/></svg> </button> </div> <div class=md-feedback__note> <div data-md-value=1 hidden> Thanks for your feedback! </div> <div data-md-value=0 hidden> Let us know how we can improve this page. </div> </div> </div> </fieldset> </form> <!-- Giscus --> <!-- https://squidfunk.github.io/mkdocs-material/setup/adding-a-comment-system/#giscus-integration --> <div id=feedback style="display: none;"> <h2 id=__comments>Feedback</h2> <script src=https://giscus.app/client.js data-repo=mkdocstrings/python data-repo-id=R_kgDOGTScxA data-category=Documentation data-category-id=DIC_kwDOGTScxM4ChLJD data-mapping=pathname data-strict=1 data-reactions-enabled=0 data-emit-metadata=0 data-input-position=top data-theme=preferred_color_scheme data-lang=en data-loading=lazy crossorigin=anonymous async> </script> <!-- Synchronize Giscus theme with palette --> <script> var giscus = document.querySelector("script[src*=giscus]") @@ -32,4 +32,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../numpy/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Numpy"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Numpy </div> </div> </a> <a href=../../customization/ class="md-footer__link md-footer__link--next" aria-label="Next: Customization"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Customization </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../numpy/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Numpy"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Numpy </div> </div> </a> <a href=../../customization/ class="md-footer__link md-footer__link--next" aria-label="Next: Customization"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> Customization </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../../assets/_markdown_exec_pyodide.js></script> <script src=../../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/extensions/index.html b/usage/extensions/index.html index 004ef06e..cb160961 100644 --- a/usage/extensions/index.html +++ b/usage/extensions/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/extensions/ rel=canonical><link href=../customization/ rel=prev><link href=../../reference/mkdocstrings_handlers/python/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Extensions - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#extensions class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Extensions </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4 checked> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=true> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Extensions </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Extensions </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/extensions.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/extensions.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=extensions>Extensions<a class=headerlink href=#extensions title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <p>The Python handler supports extensions through <a href=https://mkdocstrings.github.io/usage/handlers/#handler-extensions><em>mkdocstrings</em>' handler extensions</a>.</p> <p>Specifically, additional templates can be added to the handler, and Griffe extensions can instruct the handler to use a particular template for a particular object by setting a value in the Griffe object's <code>extra</code> dictionary:</p> <div class="language-python highlight"><span class=filename>griffe_extension.py</span><pre><span></span><code><span class=n>obj</span> <span class=o>=</span> <span class=o>...</span> <span class=c1># get a reference to a Griffe object</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/extensions/ rel=canonical><link href=../customization/ rel=prev><link href=../../reference/mkdocstrings_handlers/python/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Extensions - mkdocstrings-python</title><link rel=stylesheet href=../../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../../assets/_mkdocstrings.css><link rel=stylesheet href=../../css/material.css><link rel=stylesheet href=../../css/mkdocstrings.css><link rel=stylesheet href=../../css/insiders.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#extensions class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Extensions </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=../.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link " for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=../configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=../configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=../configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=../docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4 checked> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=true> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Extensions </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Extensions </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#work-in-progress class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress! </span> </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/extensions.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/extensions.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=extensions>Extensions<a class=headerlink href=#extensions title="Permanent link">¤</a></h1> <h2 id=work-in-progress><img alt=⚠ class=twemoji src=https://cdn.jsdelivr.net/gh/jdecked/twemoji@15.0.3/assets/svg/26a0.svg title=:warning:> Work in Progress!<a class=headerlink href=#work-in-progress title="Permanent link">¤</a></h2> <p>The Python handler supports extensions through <a href=https://mkdocstrings.github.io/usage/handlers/#handler-extensions><em>mkdocstrings</em>' handler extensions</a>.</p> <p>Specifically, additional templates can be added to the handler, and Griffe extensions can instruct the handler to use a particular template for a particular object by setting a value in the Griffe object's <code>extra</code> dictionary:</p> <div class="language-python highlight"><span class=filename>griffe_extension.py</span><pre><span></span><code><span class=n>obj</span> <span class=o>=</span> <span class=o>...</span> <span class=c1># get a reference to a Griffe object</span> <span class=k>if</span> <span class=s2>"mkdocstrings"</span> <span class=ow>not</span> <span class=ow>in</span> <span class=n>obj</span><span class=o>.</span><span class=n>extra</span><span class=p>:</span> <span class=n>obj</span><span class=o>.</span><span class=n>extra</span><span class=p>[</span><span class=s2>"mkdocstrings"</span><span class=p>]</span> <span class=o>=</span> <span class=p>{}</span> <span class=n>obj</span><span class=o>.</span><span class=n>extra</span><span class=p>[</span><span class=s2>"mkdocstrings"</span><span class=p>][</span><span class=s2>"template"</span><span class=p>]</span> <span class=o>=</span> <span class=s2>"template_name.html"</span> @@ -36,4 +36,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../customization/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Customization"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Customization </div> </div> </a> <a href=../../reference/mkdocstrings_handlers/python/ class="md-footer__link md-footer__link--next" aria-label="Next: mkdocstrings_handlers.python"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> mkdocstrings_handlers.python </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../customization/ class="md-footer__link md-footer__link--prev" aria-label="Previous: Customization"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> Customization </div> </div> </a> <a href=../../reference/mkdocstrings_handlers/python/ class="md-footer__link md-footer__link--next" aria-label="Next: mkdocstrings_handlers.python"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> mkdocstrings_handlers.python </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "../..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../../assets/_markdown_exec_pyodide.js></script> <script src=../../js/feedback.js></script> </body> </html> \ No newline at end of file diff --git a/usage/index.html b/usage/index.html index 6610a638..3275adc6 100644 --- a/usage/index.html +++ b/usage/index.html @@ -1,4 +1,4 @@ -<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/ rel=canonical><link href=../license/ rel=prev><link href=configuration/general/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.30+insiders-4.53.11"><title>Usage - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.0e8c34cb.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#usage class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Usage </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> </li> <li class=md-nav__item> <a href=#injecting-documentation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Injecting documentation </span> </span> </a> </li> <li class=md-nav__item> <a href=#configuration class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Configuration </span> </span> </a> <nav class=md-nav aria-label=Configuration> <ul class=md-nav__list> <li class=md-nav__item> <a href=#global-only-options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Global-only options </span> </span> </a> <nav class=md-nav aria-label="Global-only options"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#import class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>import</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#paths class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>paths</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#load_external_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>load_external_modules</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#globallocal-options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Global/local options </span> </span> </a> <nav class=md-nav aria-label="Global/local options"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#options-summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Options summary </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#finding-modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Finding modules </span> </span> </a> <nav class=md-nav aria-label="Finding modules"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#using-the-paths-option class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Using the <code>paths</code> option </span> </span> </a> </li> <li class=md-nav__item> <a href=#using-the-pythonpath-environment-variable class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Using the PYTHONPATH environment variable </span> </span> </a> </li> <li class=md-nav__item> <a href=#installing-your-package-in-the-current-python-environment class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installing your package in the current Python environment </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=usage>Usage<a class=headerlink href=#usage title="Permanent link">¤</a></h1> <div class="admonition tip"> <p class=admonition-title>This is the documentation for the NEW Python handler.</p> <p>To read the documentation for the LEGACY handler, go to the <a href=https://mkdocstrings.github.io/python-legacy>legacy handler documentation</a>.</p> </div> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <p>You can install this handler as a <em>mkdocstrings</em> extra:</p> <div class="language-toml highlight"><span class=filename>pyproject.toml</span><pre><span></span><code><span class=c1># PEP 621 dependencies declaration</span> +<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="A Python handler for mkdocstrings."><link href=https://mkdocstrings.github.io/python/usage/ rel=canonical><link href=../license/ rel=prev><link href=configuration/general/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.0, mkdocs-material-9.5.31+insiders-4.53.12"><title>Usage - mkdocstrings-python</title><link rel=stylesheet href=../assets/stylesheets/main.dad623df.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../assets/_markdown_exec_pyodide.css><link rel=stylesheet href=../assets/_mkdocstrings.css><link rel=stylesheet href=../css/material.css><link rel=stylesheet href=../css/mkdocstrings.css><link rel=stylesheet href=../css/insiders.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#usage class=md-skip> Skip to content </a> </div> <div data-md-component=announce> <aside class=md-banner> <div class="md-banner__inner md-grid md-typeset"> <button class="md-banner__button md-icon" aria-label="Don't show this again"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> <strong>Fund this project</strong> through <a href=../insiders/#how-to-become-a-sponsor><strong>sponsorship</strong></a> <span class="twemoji heart pulse"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 16 16"><path d="M7.655 14.916v-.001h-.002l-.006-.003-.018-.01a22.066 22.066 0 0 1-3.744-2.584C2.045 10.731 0 8.35 0 5.5 0 2.836 2.086 1 4.25 1 5.797 1 7.153 1.802 8 3.02 8.847 1.802 10.203 1 11.75 1 13.914 1 16 2.836 16 5.5c0 2.85-2.044 5.231-3.886 6.818a22.094 22.094 0 0 1-3.433 2.414 7.152 7.152 0 0 1-.31.17l-.018.01-.008.004a.75.75 0 0 1-.69 0Z"/></svg> </span> — Follow <strong>@pawamoy</strong> on <a rel=me href=https://fosstodon.org/@pawamoy> <span class="twemoji mastodon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </span> <strong>Fosstodon</strong> </a> for updates </div> <script>var content,el=document.querySelector("[data-md-component=announce]");el&&(content=el.querySelector(".md-typeset"),__md_hash(content.innerHTML)===__md_get("__announce")&&(el.hidden=!0))</script> </aside> </div> <header class="md-header md-header--shadow md-header--lifted" data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title=mkdocstrings-python class="md-header__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> mkdocstrings-python </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Usage </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media=(prefers-color-scheme) data-md-color-scheme=default data-md-color-primary=indigo data-md-color-accent=indigo aria-label="Switch to light mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9h-1.9M20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69m-9.15 3.96h2.3L12 9l-1.15 3.65Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme=default data-md-color-primary=teal data-md-color-accent=purple aria-label="Switch to dark mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_2 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 7a5 5 0 0 1 5 5 5 5 0 0 1-5 5 5 5 0 0 1-5-5 5 5 0 0 1 5-5m0 2a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3m0-7 2.39 3.42C13.65 5.15 12.84 5 12 5c-.84 0-1.65.15-2.39.42L12 2M3.34 7l4.16-.35A7.2 7.2 0 0 0 5.94 8.5c-.44.74-.69 1.5-.83 2.29L3.34 7m.02 10 1.76-3.77a7.131 7.131 0 0 0 2.38 4.14L3.36 17M20.65 7l-1.77 3.79a7.023 7.023 0 0 0-2.38-4.15l4.15.36m-.01 10-4.14.36c.59-.51 1.12-1.14 1.54-1.86.42-.73.69-1.5.83-2.29L20.64 17M12 22l-2.41-3.44c.74.27 1.55.44 2.41.44.82 0 1.63-.17 2.37-.44L12 22Z"/></svg> </label> <input class=md-option data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme=slate data-md-color-primary=black data-md-color-accent=lime aria-label="Switch to system preference" type=radio name=__palette id=__palette_2> <label class="md-header__button md-icon" title="Switch to system preference" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="m17.75 4.09-2.53 1.94.91 3.06-2.63-1.81-2.63 1.81.91-3.06-2.53-1.94L12.44 4l1.06-3 1.06 3 3.19.09m3.5 6.91-1.64 1.25.59 1.98-1.7-1.17-1.7 1.17.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95 2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14.4-.4.82-.76 1.27-1.08.75-.53 1.93.36 1.85 1.19-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82-2.81 3.14-2.7 7.96.31 10.98 3.02 3.01 7.84 3.12 10.98.31Z"/></svg> </label> </form> <script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> </nav> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Usage </a> </li> <li class=md-tabs__item> <a href=../reference/mkdocstrings_handlers/python/ class=md-tabs__link> API reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Development </a> </li> <li class=md-tabs__item> <a href=../insiders/ class=md-tabs__link> Insiders </a> </li> <li class=md-tabs__item> <a href=https://mkdocstrings.github.io/ class=md-tabs__link> mkdocstrings </a> </li> </ul> </div> </nav> </header> <div class=md-container data-md-component=container> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title=mkdocstrings-python class="md-nav__button md-logo" aria-label=mkdocstrings-python data-md-component=logo> <img src=../logo.png alt=logo> </a> mkdocstrings-python </label> <div class=md-nav__source> <a href=https://github.com/mkdocstrings/python title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81z"/></svg> </div> <div class=md-source__repository> mkdocstrings/python </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_1> <div class="md-nav__link md-nav__container"> <a href=.. class="md-nav__link "> <span class=md-ellipsis> Home </span> </a> <label class="md-nav__link " for=__nav_1 id=__nav_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_1_label aria-expanded=false> <label class=md-nav__title for=__nav_1> <span class="md-nav__icon md-icon"></span> Home </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> <li class=md-nav__item> <a href=../credits/ class=md-nav__link> <span class=md-ellipsis> Credits </span> </a> </li> <li class=md-nav__item> <a href=../license/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Usage </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_2 id=__nav_2_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Usage </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_2> <label class=md-nav__link for=__nav_2_2 id=__nav_2_2_label tabindex> <span class=md-ellipsis> Configuration options </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2_2> <span class="md-nav__icon md-icon"></span> Configuration options </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=configuration/general/ class=md-nav__link> <span class=md-ellipsis> General </span> </a> </li> <li class=md-nav__item> <a href=configuration/headings/ class=md-nav__link> <span class=md-ellipsis> Headings </span> </a> </li> <li class=md-nav__item> <a href=configuration/members/ class=md-nav__link> <span class=md-ellipsis> Members </span> </a> </li> <li class=md-nav__item> <a href=configuration/docstrings/ class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=configuration/signatures/ class=md-nav__link> <span class=md-ellipsis> Signatures </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_3> <label class=md-nav__link for=__nav_2_3 id=__nav_2_3_label tabindex> <span class=md-ellipsis> Docstring styles </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_3_label aria-expanded=false> <label class=md-nav__title for=__nav_2_3> <span class="md-nav__icon md-icon"></span> Docstring styles </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=docstrings/google/ class=md-nav__link> <span class=md-ellipsis> Google </span> </a> </li> <li class=md-nav__item> <a href=docstrings/numpy/ class=md-nav__link> <span class=md-ellipsis> Numpy </span> </a> </li> <li class=md-nav__item> <a href=docstrings/sphinx/ class=md-nav__link> <span class=md-ellipsis> Sphinx </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2_4> <label class=md-nav__link for=__nav_2_4 id=__nav_2_4_label tabindex> <span class=md-ellipsis> Advanced </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_2_4_label aria-expanded=false> <label class=md-nav__title for=__nav_2_4> <span class="md-nav__icon md-icon"></span> Advanced </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=customization/ class=md-nav__link> <span class=md-ellipsis> Customization </span> </a> </li> <li class=md-nav__item> <a href=extensions/ class=md-nav__link> <span class=md-ellipsis> Extensions </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> API reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> API reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1> <label class=md-nav__link for=__nav_3_1 id=__nav_3_1_label tabindex=0> <span class=md-ellipsis> mkdocstrings-python </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_3_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1> <span class="md-nav__icon md-icon"></span> mkdocstrings-python </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1> <label class=md-nav__link for=__nav_3_1_1 id=__nav_3_1_1_label tabindex=0> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=3 aria-labelledby=__nav_3_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> mkdocstrings_handlers </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3_1_1_1> <div class="md-nav__link md-nav__container"> <a href=../reference/mkdocstrings_handlers/python/ class="md-nav__link "> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </span> </a> <label class="md-nav__link " for=__nav_3_1_1_1 id=__nav_3_1_1_1_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=4 aria-labelledby=__nav_3_1_1_1_label aria-expanded=false> <label class=md-nav__title for=__nav_3_1_1_1> <span class="md-nav__icon md-icon"></span> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> python </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/debug/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> debug </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/handler/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> handler </span> </a> </li> <li class=md-nav__item> <a href=../reference/mkdocstrings_handlers/python/rendering/ class=md-nav__link> <span class=md-ellipsis> <code class="doc-symbol doc-symbol-nav doc-symbol-module"></code> rendering </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Development </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Development </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=../code_of_conduct/ class=md-nav__link> <span class=md-ellipsis> Code of Conduct </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5> <div class="md-nav__link md-nav__container"> <a href=../insiders/ class="md-nav__link "> <span class=md-ellipsis> Insiders </span> </a> <label class="md-nav__link " for=__nav_5 id=__nav_5_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Insiders </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5_2> <label class=md-nav__link for=__nav_5_2 id=__nav_5_2_label tabindex=0> <span class=md-ellipsis> Getting started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=2 aria-labelledby=__nav_5_2_label aria-expanded=false> <label class=md-nav__title for=__nav_5_2> <span class="md-nav__icon md-icon"></span> Getting started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../insiders/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../insiders/changelog/ class=md-nav__link> <span class=md-ellipsis> Changelog </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=https://mkdocstrings.github.io/ class=md-nav__link> <span class=md-ellipsis> mkdocstrings </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installation </span> </span> </a> </li> <li class=md-nav__item> <a href=#injecting-documentation class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Injecting documentation </span> </span> </a> </li> <li class=md-nav__item> <a href=#configuration class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Configuration </span> </span> </a> <nav class=md-nav aria-label=Configuration> <ul class=md-nav__list> <li class=md-nav__item> <a href=#global-only-options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Global-only options </span> </span> </a> <nav class=md-nav aria-label="Global-only options"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#import class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>import</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#paths class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>paths</code> </span> </span> </a> </li> <li class=md-nav__item> <a href=#load_external_modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> <code>load_external_modules</code> </span> </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#globallocal-options class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Global/local options </span> </span> </a> <nav class=md-nav aria-label="Global/local options"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#options-summary class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Options summary </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#finding-modules class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Finding modules </span> </span> </a> <nav class=md-nav aria-label="Finding modules"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#using-the-paths-option class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Using the <code>paths</code> option </span> </span> </a> </li> <li class=md-nav__item> <a href=#using-the-pythonpath-environment-variable class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Using the PYTHONPATH environment variable </span> </span> </a> </li> <li class=md-nav__item> <a href=#installing-your-package-in-the-current-python-environment class=md-nav__link> <span class=md-ellipsis> <span class=md-typeset> Installing your package in the current Python environment </span> </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <a href=https://github.com/mkdocstrings/python/edit/main/docs/usage/index.md title="Edit this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M10 20H6V4h7v5h5v3.1l2-2V8l-6-6H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h4v-2m10.2-7c.1 0 .3.1.4.2l1.3 1.3c.2.2.2.6 0 .8l-1 1-2.1-2.1 1-1c.1-.1.2-.2.4-.2m0 3.9L14.1 23H12v-2.1l6.1-6.1 2.1 2.1Z"/></svg> </a> <a href=https://github.com/mkdocstrings/python/raw/main/docs/usage/index.md title="View source of this page" class="md-content__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M17 18c.56 0 1 .44 1 1s-.44 1-1 1-1-.44-1-1 .44-1 1-1m0-3c-2.73 0-5.06 1.66-6 4 .94 2.34 3.27 4 6 4s5.06-1.66 6-4c-.94-2.34-3.27-4-6-4m0 6.5a2.5 2.5 0 0 1-2.5-2.5 2.5 2.5 0 0 1 2.5-2.5 2.5 2.5 0 0 1 2.5 2.5 2.5 2.5 0 0 1-2.5 2.5M9.27 20H6V4h7v5h5v4.07c.7.08 1.36.25 2 .49V8l-6-6H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h4.5a8.15 8.15 0 0 1-1.23-2Z"/></svg> </a> <h1 id=usage>Usage<a class=headerlink href=#usage title="Permanent link">¤</a></h1> <div class="admonition tip"> <p class=admonition-title>This is the documentation for the NEW Python handler.</p> <p>To read the documentation for the LEGACY handler, go to the <a href=https://mkdocstrings.github.io/python-legacy>legacy handler documentation</a>.</p> </div> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¤</a></h2> <p>You can install this handler as a <em>mkdocstrings</em> extra:</p> <div class="language-toml highlight"><span class=filename>pyproject.toml</span><pre><span></span><code><span class=c1># PEP 621 dependencies declaration</span> <span class=c1># adapt to your dependencies manager</span> <span class=k>[project]</span> <span class=n>dependencies</span><span class=w> </span><span class=o>=</span><span class=w> </span><span class=p>[</span> @@ -150,4 +150,4 @@ } }) }) - </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../license/ class="md-footer__link md-footer__link--prev" aria-label="Previous: License"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> License </div> </div> </a> <a href=configuration/general/ class="md-footer__link md-footer__link--next" aria-label="Next: General"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> General </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.d249fdc4.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file + </script> </div> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8v12Z"/></svg> Back to top </button> </main> <footer class=md-footer> <nav class="md-footer__inner md-grid" aria-label=Footer> <a href=../license/ class="md-footer__link md-footer__link--prev" aria-label="Previous: License"> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg> </div> <div class=md-footer__title> <span class=md-footer__direction> Previous </span> <div class=md-ellipsis> License </div> </div> </a> <a href=configuration/general/ class="md-footer__link md-footer__link--next" aria-label="Next: General"> <div class=md-footer__title> <span class=md-footer__direction> Next </span> <div class=md-ellipsis> General </div> </div> <div class="md-footer__button md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M4 11v2h12l-5.5 5.5 1.42 1.42L19.84 12l-7.92-7.92L10.5 5.5 16 11H4Z"/></svg> </div> </a> </nav> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2021 Timothée Mazzucotelli </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs Insiders </a> </div> <div class=md-social> <a href=https://github.com/pawamoy target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 496 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"/></svg> </a> <a href=https://fosstodon.org/@pawamoy target=_blank rel="noopener me" title=fosstodon.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg> </a> <a href=https://twitter.com/pawamoy target=_blank rel=noopener title=twitter.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M459.37 151.716c.325 4.548.325 9.097.325 13.645 0 138.72-105.583 298.558-298.558 298.558-59.452 0-114.68-17.219-161.137-47.106 8.447.974 16.568 1.299 25.34 1.299 49.055 0 94.213-16.568 130.274-44.832-46.132-.975-84.792-31.188-98.112-72.772 6.498.974 12.995 1.624 19.818 1.624 9.421 0 18.843-1.3 27.614-3.573-48.081-9.747-84.143-51.98-84.143-102.985v-1.299c13.969 7.797 30.214 12.67 47.431 13.319-28.264-18.843-46.781-51.005-46.781-87.391 0-19.492 5.197-37.36 14.294-52.954 51.655 63.675 129.3 105.258 216.365 109.807-1.624-7.797-2.599-15.918-2.599-24.04 0-57.828 46.782-104.934 104.934-104.934 30.213 0 57.502 12.67 76.67 33.137 23.715-4.548 46.456-13.32 66.599-25.34-7.798 24.366-24.366 44.833-46.132 57.827 21.117-2.273 41.584-8.122 60.426-16.243-14.292 20.791-32.161 39.308-52.628 54.253z"/></svg> </a> <a href=https://gitter.im/mkdocstrings/python target=_blank rel=noopener title=gitter.im class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 384 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M66.4 322.5H16V0h50.4v322.5zM166.9 76.1h-50.4V512h50.4V76.1zm100.6 0h-50.4V512h50.4V76.1zM368 76h-50.4v247H368V76z"/></svg> </a> <a href=https://pypi.org/project/mkdocstrings-python/ target=_blank rel=noopener title=pypi.org class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 448 512"><!-- Font Awesome Free 6.6.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2h-40.1v47.4c0 36.8-31.2 67.8-66.8 67.8H172.7c-29.2 0-53.4 25-53.4 54.3v101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3v-40.7H226.2v-13.6h160.2c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 404c11.1 0 20.1 9.1 20.1 20.3 0 11.3-9 20.4-20.1 20.4-11 0-20.1-9.2-20.1-20.4.1-11.3 9.1-20.3 20.1-20.3zM167.8 248.1h106.8c29.7 0 53.4-24.5 53.4-54.3V91.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8.1-45.2 8-53.4 24.7-53.4 55.6v40.7h106.9v13.6h-147c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2H101v-48.8c0-35.3 30.5-66.4 66.8-66.4zm-6.7-142.6c-11.1 0-20.1-9.1-20.1-20.3.1-11.3 9-20.4 20.1-20.4 11 0 20.1 9.2 20.1 20.4s-9 20.3-20.1 20.3z"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"base": "..", "features": ["announce.dismiss", "content.action.edit", "content.action.view", "content.code.annotate", "content.code.copy", "content.tooltips", "navigation.footer", "navigation.indexes", "navigation.sections", "navigation.tabs", "navigation.tabs.sticky", "navigation.top", "search.highlight", "search.suggest", "toc.follow"], "search": "../assets/javascripts/workers/search.1e90e0fb.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script> <script src=../assets/javascripts/bundle.ef37796b.min.js></script> <script src=../assets/_markdown_exec_pyodide.js></script> <script src=../js/feedback.js></script> </body> </html> \ No newline at end of file