diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml
index a97363c7..4a017a2a 100644
--- a/.github/workflows/lint.yaml
+++ b/.github/workflows/lint.yaml
@@ -12,7 +12,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ['3.10']
+ python-version: ['3.12']
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index c64c08d0..ba5bc7a8 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -8,7 +8,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- python-version: ['3.8', '3.9', '3.10', '3.11']
+ python-version: ['3.11', '3.12']
steps:
- uses: actions/checkout@v3
diff --git a/docs/_static/css/main.css b/docs/_static/css/main.css
index 219f5375..a4432253 100644
--- a/docs/_static/css/main.css
+++ b/docs/_static/css/main.css
@@ -1 +1 @@
-:root{--blue: #005dab;--primary-blue: #063b67;--secondary-blue: #074e8a;--text-blue: #063b67;--light-blue: #EEF8FF;--light-blue-clear: #F8FCFF;--aqua: #51B3DB;--primary-orange: #FF7101;--hover-orange: #FF8201;--light-orange: #f2a557;--grey: #F5F6F8;--grey-border: #D9E7F3;--light-grey-sidebar: #E5EAF0;--message-success: #4bb52d;--message-success-bg: #E3F6CF;--message-success-text: #0D3D00;--message-danger: #D10000;--message-danger-bg: #FAE5E8;--message-danger-text: #6A0000;--message-warning: #DC7500;--message-warning-bg: #FFF1ED;--message-warning-text: #9C3900;--message-info: #074E8A;--message-info-bg: #E7F2F8;--message-info-text: #063b67;--cc-btn-primary-bg: var(--primary-blue);--cc-btn-secondary-text: var(--primary-blue)}h1,h2,h3,h4,span{font-family:"Montserrat",sans-serif}@media(max-width: 768px){p{font-size:17px;line-height:26px}}span,p,div{color:#404040}a{text-decoration:none}a:hover:not(.logo-title){opacity:.7}a:visited{color:var(--primary-blue)}a.ahref-blue{text-decoration:underline;color:var(--primary-blue)}a.ahref-orange{text-decoration:underline;color:var(--primary-orange)}.main-content a{color:var(--secondary-blue);text-decoration:underline}.main-content a:visited{opacity:.8;color:var(--secondary-blue) !important}.wy-side-nav-search a:visited{color:#fff !important}h1{font-size:40px;line-height:inherit;margin:40px 0}h2{font-size:32px;line-height:1.2em;margin-top:40px}@media(max-width: 768px){h2{font-size:22px}}section{scroll-margin-top:120px}#rtd-search-form input.main-search-bar__input{position:relative;top:10px;padding:0 15px 0 30px}@media(max-width: 420px){#rtd-search-form input.main-search-bar__input{top:0}}#rtd-search-form .search-icon{position:relative;width:13px;top:-18px;left:-132px}@media(max-width: 768px){#rtd-search-form .search-icon{left:-83px}}@media(max-width: 420px){#rtd-search-form .search-icon{top:-27px;left:-149px}}.wy-grid-for-nav{display:grid;grid-template-columns:300px 900px 300px;justify-content:center;position:relative;margin-top:80px}@media(max-width: 1442px){.wy-grid-for-nav{display:grid;grid-template-columns:300px 700px 200px;justify-content:center}}@media(max-width: 1200px){.wy-grid-for-nav{grid-template-columns:300px auto}}@media(max-width: 1024px){.wy-grid-for-nav{display:block}}.wy-nav-content-wrap{background:#fcfcfc}@media(max-width: 1024px){.wy-nav-content-wrap{margin-left:0}}@media(max-width: 1024px){.wy-nav-content-wrap.shift{left:0}}@media(max-width: 768px){.wy-nav-content-wrap.shift{position:inherit;top:inherit}}.wy-nav-top{background:rgba(0,0,0,0);color:var(--primary-blue)}.wy-nav-top i{font-size:20px}.wy-nav-top .menu-hamburger{position:relative;width:20px;height:20px;top:0;left:0;transition-duration:.5s}.wy-nav-top .menu-hamburger .icon{transition-duration:.5s;position:absolute;height:100%;width:100%;top:0;left:0}.wy-nav-top .menu-hamburger .icon:before{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:0px;left:0}.wy-nav-top .menu-hamburger .icon:after{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:10px;left:0}@media(max-width: 1024px){.wy-nav-top{display:block;position:fixed;top:72px;left:10px;z-index:100}}@media(max-width: 1024px)and (max-width: 420px){.wy-nav-top{top:102px}}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon{transition-duration:.5s}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:before{transform:rotateZ(135deg) scaleX(1.05) translate(4px, -4.5px)}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:after{transform:rotateZ(-135deg) scaleX(1.05) translate(2px, 2.9px)}.wy-nav-content{max-width:1200px;padding:20px;height:auto}.wy-nav-content-wrap{margin-left:0}.wy-side-scroll{height:auto}@media(max-width: 1024px){.wy-side-scroll{width:auto}}.wy-side-nav-search{width:100%;background-color:var(--primary-blue);padding:0;position:fixed;top:0;height:60px;display:grid;grid-template-columns:300px 1fr 300px;justify-content:center;align-items:center}.wy-side-nav-search .search-bar-container{width:300px}@media(max-width: 768px){.wy-side-nav-search .search-bar-container{width:200px}}@media(max-width: 420px){.wy-side-nav-search .search-bar-container{width:90%;grid-area:2/span 2;justify-self:center}}@media(max-width: 1442px){.wy-side-nav-search{display:grid;grid-template-columns:300px 1fr 300px;justify-content:center}}@media(max-width: 1024px){.wy-side-nav-search{width:100%}}@media(max-width: 1200px){.wy-side-nav-search{grid-template-columns:300px 1fr 300px;justify-content:flex-start}}@media(max-width: 768px){.wy-side-nav-search{grid-template-columns:200px 1fr 100px}}@media(max-width: 420px){.wy-side-nav-search{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:90px}}.wy-menu-vertical{height:calc(100vh - 60px);overflow-y:scroll;position:fixed;top:110px;padding-bottom:60px;padding-top:5px;background-color:#fff}@media(max-width: 420px){.wy-menu-vertical{top:140px}}.wy-nav-side{position:sticky;top:0;background:inherit;z-index:10}@media(max-width: 1024px){.wy-nav-side{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side .wy-menu-vertical{left:-300px;width:300px;transition:.2s ease-in-out}}@media(max-width: 768px){.wy-nav-side.shift{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side.shift .wy-menu-vertical{transition:.2s ease-in-out;left:0}}.wy-menu-vertical p.caption{color:var(--primary-blue);padding:0 20px}.wy-menu-vertical a{color:var(--text-blue)}.wy-menu-vertical li.current>a{color:var(--primary-orange);scroll-margin-top:10px}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l2.current>a{background:#f5f5f5}.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l3.current>a{background:#ebebeb}.wy-menu-vertical li.toctree-l2.current li.toctree-l3,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#e6e6e6}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#dcdcdc}.rst-content{max-width:900px;padding:0 50px}@media(max-width: 768px){.rst-content{padding:0}}.rst-content section ul{line-height:auto}code,pre,pre span,span.pre,.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:"Ubuntu Mono",monospace}ul.simple li code,code.docutils.literal.notranslate{border:none;width:max-content;font-size:13px;padding:10px;margin:10px 0;border-radius:8px;background:#292d3e}ul.simple li code.literal,code.docutils.literal.notranslate.literal{color:var(--aqua)}code.docutils.literal.notranslate{background:#efefef;padding:2px 6px}code.docutils.literal.notranslate.literal{color:var(--blue)}.rst-content div.notranslate{border:none}.rst-content div.notranslate .highlight{font-family:"Ubuntu Mono",monospace;font-size:16px;padding:10px;line-height:24px;margin:10px 0;border-radius:8px;background-color:#292d3e;color:#d9e7f3}.rst-content div.notranslate .highlight .c1{color:var(--message-warning)}.rst-content div.notranslate .highlight .mi,.rst-content div.notranslate .highlight .o,.rst-content div.notranslate .highlight .mf{color:#e4e4e4}.rst-content div.notranslate .highlight .s,.rst-content div.notranslate .highlight .n,.rst-content div.notranslate .highlight .nb,.rst-content div.notranslate .highlight .na,.rst-content div.notranslate .highlight .s1{color:var(--aqua)}.rst-content div.notranslate .highlight .s1{color:var(--light-orange)}.rst-content div.notranslate .highlight .k,.rst-content div.notranslate .highlight .nv,.rst-content div.notranslate .highlight .m,.rst-content div.notranslate .highlight .vg,.rst-content div.notranslate .highlight .p{color:#d9e7f3}.rst-content div.highlight pre{font-size:14px}.btn,.btn-neutral{background:#fff;background-color:#fff !important;border:1px solid var(--primary-orange);font-weight:600;font-size:12px;max-width:110px;padding:0 15px;color:var(--primary-orange) !important}.btn .fa,.btn-neutral .fa{display:none}.btn:visited,.btn-neutral:visited{color:var(--primary-orange) !important}.btn:hover,.btn-neutral:hover{opacity:1}.btn:active{padding:0 15px}.rst-content .btn:focus{outline:0px solid}.btn-orange{background-color:var(--primary-orange) !important;color:#fff !important}.rst-content p+ul{margin-top:-14px}.wy-menu::-webkit-scrollbar{width:10px;background-color:var(--grey-border)}.wy-menu::-webkit-scrollbar-thumb{background-color:var(--primary-blue);border-radius:5px;background-clip:content-box}.wy-menu li.toctree-l1.current>a{border-bottom:0;border-top:0}.wy-menu li.current,.wy-menu li.toctree-l2,.wy-menu li.toctree-l2 a,.wy-menu li.toctree-l2.current,.wy-menu li.toctree-l2.current li.toctree-l3,.wy-menu li.toctree-l3.current li.toctree-l4,.wy-menu li.toctree-l3.current li.toctree-l4>a,.wy-menu li.toctree-l2.current li.toctree-l3>a{background:inherit}.wy-menu li.current>a,.wy-menu li.toctree-l2.current a,.wy-menu li.toctree-l3.current li.toctree-l4.current>a,.wy-menu li.toctree-l2.current li.toctree-l3.current>a{background:#fff}.wy-menu li.current>a,.wy-menu li.on a{background:#fff}.wy-menu li.current>a button.toctree-expand,.wy-menu li.on a button.toctree-expand,.wy-menu li>a button.toctree-expand,.wy-menu li.on a button.toctree-expand{display:none}.wy-menu a{font-size:13px}@media(max-width: 768px){.wy-menu a{font-size:15px}}.wy-menu li.toctree-l2 li.toctree-l3 a:hover,.wy-menu .toctree-l3 a:hover,.wy-menu li.current a:hover,.wy-menu a:hover{color:var(--blue);background-color:#fff}.wy-menu li.current>a{color:var(--blue)}.wy-menu li.toctree-l2,.wy-menu li.toctree-l3,.wy-menu li.toctree-l4,.wy-menu li.toctree-l5{margin-left:22px;border-left:1px solid #c1d2e1}.wy-menu li.current>a,.wy-menu li.on a,.wy-menu li.toctree-l2.current li.toctree-l3>a,.wy-menu li.toctree-l2.current>a,.wy-menu li.toctree-l2>a,.wy-menu li.toctree-l3.current li.toctree-l4>a{border-right:none;padding:10px}.wy-menu li.current>a,.wy-menu li.on a{padding-left:20px}.aside-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%;height:max-content;padding:10px}.aside-tile__container{border-radius:5px;border:1px solid var(--grey-border);position:fixed;top:150px;background-color:#fff;width:250px;height:max-content;padding:20px 20px 10px 20px}@media(max-width: 1442px){.aside-tile__container{width:179px}}.aside-tile__feedback{top:350px}.aside-tile__content{display:flex;flex-direction:column;align-items:center;text-align:center}.aside-tile__content img{max-width:47px}.aside-tile h4{line-height:30px;margin-bottom:10px}@media(max-width: 1200px){.aside-tile{display:none}}.aside-tile .aside-tile__feedback-list{font-size:12px;color:var(--blue);text-align:left;margin-bottom:5px}.aside-tile .aside-tile__feedback-list li{line-height:25px}.aside-tile .aside-tile__feedback-list li i{margin-right:5px;color:var(--message-success)}.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning{padding:25px 20px 20px 40px;margin:20px 0;border-radius:4px}.rst-content .note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .warning .admonition-title{background:rgba(0,0,0,0);font-size:16px}.rst-content .note p,.rst-content .note a,.rst-content .attention p,.rst-content .attention a,.rst-content .caution p,.rst-content .caution a,.rst-content .danger p,.rst-content .danger a,.rst-content .error p,.rst-content .error a,.rst-content .hint p,.rst-content .hint a,.rst-content .important p,.rst-content .important a,.rst-content .tip p,.rst-content .tip a,.rst-content .warning p,.rst-content .warning a{font-size:13px}.rst-content .note{background:var(--message-info-bg)}.rst-content .note p{color:var(--message-info-text)}.rst-content .note .admonition-title{color:var(--message-info-text)}.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .important{background:var(--message-warning-bg)}.rst-content .attention p,.rst-content .caution p,.rst-content .warning p,.rst-content .important p{color:var(--message-warning-text)}.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .warning .admonition-title,.rst-content .important .admonition-title{color:var(--message-warning-text)}.rst-content .danger,.rst-content .error{background:var(--message-danger-bg)}.rst-content .danger p,.rst-content .error p{color:var(--message-danger-text)}.rst-content .danger .admonition-title,.rst-content .error .admonition-title{color:var(--message-danger-text)}.rst-content .hint,.rst-content .tip{background:var(--message-success-bg)}.rst-content .hint p,.rst-content .tip p{color:var(--message-success-text)}.rst-content .hint .admonition-title,.rst-content .tip .admonition-title{color:var(--message-success-text)}.wy-side-nav-search img{background-color:rgba(0,0,0,0);position:relative;top:0;margin:0;height:auto;width:150px;border-radius:0;padding:0}@media(max-width: 768px){.wy-side-nav-search img{width:130px}}.wy-side-nav-search input[type=text],.wy-body-for-nav input:not([type=checkbox]):not([type=radio]):not([type=submit]){border:none;box-shadow:none}.logo-title{display:flex;justify-content:center;align-items:center}.logo-title:hover{color:#fff}@media(max-width: 420px){.logo-title{grid-area:1/span 1}}.wy-side-nav-search>a{display:flex;margin-bottom:0;font-size:15px;justify-self:flex-start}.wy-side-nav-search>a:hover{background:rgba(0,0,0,0)}.wy-side-nav-search>a.wy-side-nav__login{justify-self:flex-end;position:relative;right:23px;padding:0 15px;max-width:100px;font-size:12px}@media(max-width: 420px){.wy-side-nav-search>a.wy-side-nav__login{grid-area:1/span 1}}.wy-side-nav-search__menu-items{display:flex;column-gap:10px;justify-content:flex-end;align-items:center;height:100%;padding-right:20px}.wy-side-nav-search__menu-items a{font-size:13px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{color:#fff;height:97%;display:flex;align-items:center;padding:0 10px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item:hover{border-bottom:2px solid var(--primary-orange)}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item.current{border-bottom:2px solid var(--primary-orange)}@media(max-width: 768px){.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{display:none}}.wy-breadcrumbs{max-width:1461px;margin:auto}.wy-breadcrumbs li{padding-top:initial}@media(max-width: 1442px){.wy-breadcrumbs{max-width:1160px}}@media(max-width: 1200px){.wy-breadcrumbs{max-width:none;margin:0 20px}}@media(max-width: 1024px){.wy-breadcrumbs{max-width:none;margin:0 20px 0 60px;width:100%;max-width:calc(100% - 90px);overflow:auto;white-space:nowrap}}@media(max-width: 420px){.wy-breadcrumbs{margin:0 20px 0 65px}}.wy-breadcrumbs,.wy-breadcrumbs li a,.wy-breadcrumbs-aside a{font-size:11px}@media(max-width: 768px){.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-breadcrumbs li a:visited{color:var(--light-orange)}li.wy-breadcrumbs-aside a{padding:10px}.header{height:50px;line-height:50px;width:100%;position:fixed;top:60px;border-bottom:1px solid var(--grey-border);z-index:20;background-color:#fff}@media(max-width: 420px){.header{top:90px}}.article-meta{display:inline-block;position:relative;top:30px;font-size:11px;font-weight:600;opacity:.35}.article-meta--updated{opacity:.5}.article-meta--updated::after{content:"•";padding-left:5px}@media(max-width: 420px){.article-meta{font-size:12px}}.edit{text-align:center}.copyright p{font-size:11px}
+:root{--blue: #005dab;--primary-blue: #063b67;--secondary-blue: #074e8a;--text-blue: #063b67;--light-blue: #EEF8FF;--light-blue-clear: #F8FCFF;--aqua: #51B3DB;--primary-orange: #FF7101;--hover-orange: #FF8201;--light-orange: #f2a557;--grey: #F5F6F8;--grey-border: #D9E7F3;--light-grey-sidebar: #E5EAF0;--message-success: #4bb52d;--message-success-bg: #E3F6CF;--message-success-text: #0D3D00;--message-danger: #D10000;--message-danger-bg: #FAE5E8;--message-danger-text: #6A0000;--message-warning: #DC7500;--message-warning-bg: #FFF1ED;--message-warning-text: #9C3900;--message-info: #074E8A;--message-info-bg: #E7F2F8;--message-info-text: #063b67;--cc-btn-primary-bg: var(--primary-blue);--cc-btn-secondary-text: var(--primary-blue)}.rst-content section ul{line-height:auto}code,pre,pre span,span.pre,.rst-content .linenodiv pre,.rst-content div[class^=highlight] pre,.rst-content pre.literal-block{font-family:"Ubuntu Mono",monospace}ul.simple li code,code.docutils.literal.notranslate{border:none;width:max-content;font-size:13px;padding:10px;margin:10px 0;border-radius:8px;background:#292d3e}ul.simple li code.literal,code.docutils.literal.notranslate.literal{color:var(--aqua)}code.docutils.literal.notranslate{background:#efefef;padding:2px 6px}code.docutils.literal.notranslate.literal{color:var(--blue)}.rst-content div.notranslate{border:none}.rst-content div.notranslate .highlight{font-family:"Ubuntu Mono",monospace;font-size:16px;padding:10px;line-height:24px;margin:10px 0;border-radius:8px;background-color:#292d3e;color:#d9e7f3}.rst-content div.notranslate .highlight .c1{color:var(--message-warning)}.rst-content div.notranslate .highlight .mi,.rst-content div.notranslate .highlight .o,.rst-content div.notranslate .highlight .mf{color:#e4e4e4}.rst-content div.notranslate .highlight .s,.rst-content div.notranslate .highlight .n,.rst-content div.notranslate .highlight .nb,.rst-content div.notranslate .highlight .na,.rst-content div.notranslate .highlight .s1{color:var(--aqua)}.rst-content div.notranslate .highlight .s1{color:var(--light-orange)}.rst-content div.notranslate .highlight .k,.rst-content div.notranslate .highlight .nv,.rst-content div.notranslate .highlight .m,.rst-content div.notranslate .highlight .vg,.rst-content div.notranslate .highlight .p{color:#d9e7f3}.rst-content div.highlight pre{font-size:14px}.btn,.btn-neutral{background:#fff;background-color:#fff !important;border:1px solid var(--primary-orange);font-weight:600;font-size:12px;max-width:110px;padding:0 15px;color:var(--primary-orange) !important}.btn .fa,.btn-neutral .fa{display:none}.btn:visited,.btn-neutral:visited{color:var(--primary-orange) !important}.btn:hover,.btn-neutral:hover{opacity:1}.btn:active{padding:0 15px}.rst-content .btn:focus{outline:0px solid}.btn-orange{background-color:var(--primary-orange) !important;color:#fff !important}.rst-content .note,.rst-content .attention,.rst-content .caution,.rst-content .danger,.rst-content .error,.rst-content .hint,.rst-content .important,.rst-content .tip,.rst-content .warning{padding:25px 20px 20px 40px;margin:20px 0;border-radius:4px}.rst-content .note .admonition-title,.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .danger .admonition-title,.rst-content .error .admonition-title,.rst-content .hint .admonition-title,.rst-content .important .admonition-title,.rst-content .tip .admonition-title,.rst-content .warning .admonition-title{background:rgba(0,0,0,0);font-size:16px}.rst-content .note p,.rst-content .note a,.rst-content .attention p,.rst-content .attention a,.rst-content .caution p,.rst-content .caution a,.rst-content .danger p,.rst-content .danger a,.rst-content .error p,.rst-content .error a,.rst-content .hint p,.rst-content .hint a,.rst-content .important p,.rst-content .important a,.rst-content .tip p,.rst-content .tip a,.rst-content .warning p,.rst-content .warning a{font-size:13px}.rst-content .note{background:var(--message-info-bg)}.rst-content .note p{color:var(--message-info-text)}.rst-content .note .admonition-title{color:var(--message-info-text)}.rst-content .attention,.rst-content .caution,.rst-content .warning,.rst-content .important{background:var(--message-warning-bg)}.rst-content .attention p,.rst-content .caution p,.rst-content .warning p,.rst-content .important p{color:var(--message-warning-text)}.rst-content .attention .admonition-title,.rst-content .caution .admonition-title,.rst-content .warning .admonition-title,.rst-content .important .admonition-title{color:var(--message-warning-text)}.rst-content .danger,.rst-content .error{background:var(--message-danger-bg)}.rst-content .danger p,.rst-content .error p{color:var(--message-danger-text)}.rst-content .danger .admonition-title,.rst-content .error .admonition-title{color:var(--message-danger-text)}.rst-content .hint,.rst-content .tip{background:var(--message-success-bg)}.rst-content .hint p,.rst-content .tip p{color:var(--message-success-text)}.rst-content .hint .admonition-title,.rst-content .tip .admonition-title{color:var(--message-success-text)}h1,h2,h3,h4,span{font-family:"Montserrat",sans-serif}span,p,div{color:#404040}@media(max-width: 768px){p{font-size:17px;line-height:26px}}a{text-decoration:none}a:hover:not(.logo-title){opacity:.7}a:visited{color:var(--primary-blue)}a.ahref-blue{text-decoration:underline;color:var(--primary-blue)}a.ahref-orange{text-decoration:underline;color:var(--primary-orange)}h1{font-size:40px;line-height:inherit;margin:40px 0}h2{font-size:32px;line-height:1.2em;margin-top:40px}@media(max-width: 768px){h2{font-size:22px}}section{scroll-margin-top:120px}.wy-side-nav-search a:visited{color:#fff !important}.wy-grid-for-nav{display:grid;grid-template-columns:300px 900px 300px;justify-content:center;position:relative;margin-top:80px}@media(max-width: 1442px){.wy-grid-for-nav{display:grid;grid-template-columns:300px 700px 200px;justify-content:center}}@media(max-width: 1200px){.wy-grid-for-nav{grid-template-columns:300px auto}}@media(max-width: 1024px){.wy-grid-for-nav{display:block}}.wy-nav-content-wrap{background:#fcfcfc}@media(max-width: 1024px){.wy-nav-content-wrap{margin-left:0}}@media(max-width: 1024px){.wy-nav-content-wrap.shift{left:0}}@media(max-width: 768px){.wy-nav-content-wrap.shift{position:inherit;top:inherit}}.wy-nav-top{background:rgba(0,0,0,0);color:var(--primary-blue)}.wy-nav-top i{font-size:20px}.wy-nav-top .menu-hamburger{position:relative;width:20px;height:20px;top:0;left:0;transition-duration:.5s}.wy-nav-top .menu-hamburger .icon{transition-duration:.5s;position:absolute;height:100%;width:100%;top:0;left:0}.wy-nav-top .menu-hamburger .icon:before{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:0px;left:0}.wy-nav-top .menu-hamburger .icon:after{transition-duration:.5s;position:absolute;width:20px;height:2px;background-color:var(--primary-blue);content:"";top:10px;left:0}@media(max-width: 1024px){.wy-nav-top{display:block;position:fixed;top:72px;left:10px;z-index:100}}@media(max-width: 1024px)and (max-width: 420px){.wy-nav-top{top:102px}}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon{transition-duration:.5s}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:before{transform:rotateZ(135deg) scaleX(1.05) translate(4px, -4.5px)}.wy-nav-content-wrap.shift .wy-nav-top .menu-hamburger .icon:after{transform:rotateZ(-135deg) scaleX(1.05) translate(2px, 2.9px)}.wy-nav-content{max-width:1200px;padding:20px;height:auto}.wy-nav-content-wrap{margin-left:0}.wy-side-scroll{height:auto}@media(max-width: 1024px){.wy-side-scroll{width:auto}}.wy-side-nav-search{top:0;width:1500px;height:72px;margin-left:auto;margin-right:auto;margin-bottom:0;background-color:rgba(0,0,0,0);padding:0;display:grid;grid-template-columns:300px 1fr 300px;justify-content:center;align-items:center}.wy-side-nav-search .search-bar-container{width:300px}@media(max-width: 768px){.wy-side-nav-search .search-bar-container{width:200px}}@media(max-width: 420px){.wy-side-nav-search .search-bar-container{width:90%;grid-area:2/span 2;justify-self:center}}.wy-side-nav-search a.icon{display:flex}@media(max-width: 1442px){.wy-side-nav-search{display:grid;grid-template-columns:300px 1fr 300px;justify-content:center}}@media(max-width: 1024px){.wy-side-nav-search{width:100%}}@media(max-width: 1200px){.wy-side-nav-search{grid-template-columns:300px 1fr 300px;justify-content:flex-start}}@media(max-width: 768px){.wy-side-nav-search{grid-template-columns:200px 1fr 100px}}@media(max-width: 420px){.wy-side-nav-search{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;height:90px}}.wy-menu-vertical{height:calc(100vh - 60px);overflow-y:scroll;position:fixed;top:122px;padding-bottom:60px;padding-top:5px;background-color:#fff}@media(max-width: 420px){.wy-menu-vertical{top:140px}}.wy-nav-side{position:sticky;top:0;background:inherit;z-index:10}@media(max-width: 1024px){.wy-nav-side{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side .wy-menu-vertical{left:-300px;width:300px;transition:.2s ease-in-out}}@media(max-width: 768px){.wy-nav-side.shift{width:300px;left:-300px}}@media(max-width: 1024px){.wy-nav-side.shift .wy-menu-vertical{transition:.2s ease-in-out;left:0}}.wy-menu-vertical p.caption{color:var(--primary-blue);padding:0 20px}.wy-menu-vertical a{color:var(--text-blue)}.wy-menu-vertical li.current>a{color:var(--primary-orange);scroll-margin-top:10px}.wy-menu-vertical li.toctree-l2 a,.wy-menu-vertical li.toctree-l2.current>a{background:#f5f5f5}.wy-menu-vertical li.toctree-l3 a,.wy-menu-vertical li.toctree-l3.current>a{background:#ebebeb}.wy-menu-vertical li.toctree-l2.current li.toctree-l3,.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a{background:#e6e6e6}.wy-menu-vertical li.toctree-l3.current li.toctree-l4>a{background:#dcdcdc}.wy-menu::-webkit-scrollbar{width:10px;background-color:var(--grey-border)}.wy-menu::-webkit-scrollbar-thumb{background-color:var(--primary-blue);border-radius:5px;background-clip:content-box}.wy-menu li.toctree-l1.current>a{border-bottom:0;border-top:0}.wy-menu li.current,.wy-menu li.toctree-l2,.wy-menu li.toctree-l2 a,.wy-menu li.toctree-l2.current,.wy-menu li.toctree-l2.current li.toctree-l3,.wy-menu li.toctree-l3.current li.toctree-l4,.wy-menu li.toctree-l3.current li.toctree-l4>a,.wy-menu li.toctree-l2.current li.toctree-l3>a{background:inherit}.wy-menu li.current>a,.wy-menu li.toctree-l2.current a,.wy-menu li.toctree-l3.current li.toctree-l4.current>a,.wy-menu li.toctree-l2.current li.toctree-l3.current>a{background:#fff}.wy-menu li.current>a,.wy-menu li.on a{background:#fff}.wy-menu li.current>a button.toctree-expand,.wy-menu li.on a button.toctree-expand,.wy-menu li>a button.toctree-expand,.wy-menu li.on a button.toctree-expand{display:none}.wy-menu a{font-size:13px}@media(max-width: 768px){.wy-menu a{font-size:15px}}.wy-menu li.toctree-l2 li.toctree-l3 a:hover,.wy-menu .toctree-l3 a:hover,.wy-menu li.current a:hover,.wy-menu a:hover{color:var(--blue);background-color:#fff}.wy-menu li.current>a{color:var(--blue)}.wy-menu li.toctree-l2,.wy-menu li.toctree-l3,.wy-menu li.toctree-l4,.wy-menu li.toctree-l5{margin-left:22px;border-left:1px solid #c1d2e1}.wy-menu li.current>a,.wy-menu li.on a,.wy-menu li.toctree-l2.current li.toctree-l3>a,.wy-menu li.toctree-l2.current>a,.wy-menu li.toctree-l2>a,.wy-menu li.toctree-l3.current li.toctree-l4>a{border-right:none;padding:10px}.wy-menu li.current>a,.wy-menu li.on a{padding-left:20px}.aside-tile{display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;width:100%;height:max-content;padding:10px}.aside-tile__container{border-radius:5px;border:1px solid var(--grey-border);position:fixed;top:150px;background-color:#fff;width:250px;height:max-content;padding:20px 20px 10px 20px}@media(max-width: 1442px){.aside-tile__container{width:179px}}.aside-tile__feedback{top:350px}.aside-tile__content{display:flex;flex-direction:column;align-items:center;text-align:center}.aside-tile__content img{max-width:47px}.aside-tile h4{line-height:30px;margin-bottom:10px}@media(max-width: 1200px){.aside-tile{display:none}}.aside-tile .aside-tile__feedback-list{font-size:12px;color:var(--blue);text-align:left;margin-bottom:5px}.aside-tile .aside-tile__feedback-list li{line-height:25px}.aside-tile .aside-tile__feedback-list li i{margin-right:5px;color:var(--message-success)}body>header{background-color:var(--primary-blue);position:fixed;left:0;right:0;z-index:10}.wy-side-nav-search img{background-color:rgba(0,0,0,0);position:relative;top:0;margin:0;height:auto;width:150px;border-radius:0;padding:0}@media(max-width: 768px){.wy-side-nav-search img{width:130px}}.wy-side-nav-search input[type=text],.wy-body-for-nav input:not([type=checkbox]):not([type=radio]):not([type=submit]){border:none;box-shadow:none}.logo-title{display:flex;justify-content:center;align-items:center}.logo-title:hover{color:#fff}@media(max-width: 420px){.logo-title{grid-area:1/span 1}}.wy-side-nav-search>a{display:flex;margin-bottom:0;font-size:15px;justify-self:flex-start}.wy-side-nav-search>a:hover{background:rgba(0,0,0,0)}.wy-side-nav-search>a.wy-side-nav__login{justify-self:flex-end;position:relative;right:23px;padding:0 15px;max-width:100px;font-size:12px}@media(max-width: 420px){.wy-side-nav-search>a.wy-side-nav__login{grid-area:1/span 1}}.wy-side-nav-search__menu-items{display:flex;column-gap:10px;justify-content:flex-end;align-items:center;height:100%;padding-right:20px}.wy-side-nav-search__menu-items a{font-size:13px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{color:#fff;height:97%;display:flex;align-items:center;padding:0 10px}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item:hover{border-bottom:2px solid var(--primary-orange)}.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item.current{border-bottom:2px solid var(--primary-orange)}@media(max-width: 768px){.wy-side-nav-search__menu-items a.wy-side-nav-search__menu-item{display:none}}.edit{text-align:center}.copyright p{font-size:11px}.article-meta{display:inline-block;position:relative;top:30px;font-size:11px;font-weight:600;opacity:.35}.article-meta--updated{opacity:.5}.article-meta--updated::after{content:"•";padding-left:5px}@media(max-width: 420px){.article-meta{font-size:12px}}.wy-breadcrumbs{max-width:1500px;padding:0 21px;margin:auto}.wy-breadcrumbs li{padding-top:initial}@media(max-width: 1024px){.wy-breadcrumbs{padding:0 20px 0 60px;overflow:auto;white-space:nowrap}}@media(max-width: 420px){.wy-breadcrumbs{padding:0 20px 0 65px}}.wy-breadcrumbs,.wy-breadcrumbs li a,.wy-breadcrumbs-aside a{font-size:11px}@media(max-width: 768px){.wy-breadcrumbs li.wy-breadcrumbs-aside{display:none}}.wy-breadcrumbs li a:visited{color:var(--light-orange)}li.wy-breadcrumbs-aside a{padding:10px}.header{height:50px;line-height:50px;width:100%;position:fixed;top:72px;border-bottom:1px solid var(--grey-border);z-index:20;background-color:#fff}@media(max-width: 420px){.header{top:90px}}.DocSearch-Button{background:#fff}.main-content a{color:var(--secondary-blue);text-decoration:underline}.main-content a:visited{opacity:.8;color:var(--secondary-blue) !important}#rtd-search-form input.main-search-bar__input{position:relative;top:10px;padding:0 15px 0 30px}@media(max-width: 420px){#rtd-search-form input.main-search-bar__input{top:0}}#rtd-search-form .search-icon{position:relative;width:13px;top:-18px;left:-132px}@media(max-width: 768px){#rtd-search-form .search-icon{left:-83px}}@media(max-width: 420px){#rtd-search-form .search-icon{top:-27px;left:-149px}}.rst-content{max-width:900px;padding:0 50px}@media(max-width: 768px){.rst-content{padding:0}}.rst-content p+ul{margin-top:-14px}
diff --git a/docs/_static/scss/components/_breadcrumbs.scss b/docs/_static/scss/components/_breadcrumbs.scss
index 9c5e7ea2..bf38c8ce 100644
--- a/docs/_static/scss/components/_breadcrumbs.scss
+++ b/docs/_static/scss/components/_breadcrumbs.scss
@@ -45,7 +45,7 @@ li.wy-breadcrumbs-aside a {
line-height: 50px;
width: 100%;
position: fixed;
- top: 60px;
+ top: 72px;
border-bottom: 1px solid var(--grey-border);
z-index:20;
background-color: white;
diff --git a/docs/_static/scss/components/_layout.scss b/docs/_static/scss/components/_layout.scss
index c89f57b0..54bb5702 100644
--- a/docs/_static/scss/components/_layout.scss
+++ b/docs/_static/scss/components/_layout.scss
@@ -143,12 +143,14 @@
}
.wy-side-nav-search {
- width: 100%;
- background-color: var(--primary-blue);
- padding: 0;
- position: fixed;
top: 0;
- height: 60px;
+ width: 1500px;
+ height: 72px;
+ margin-left: auto;
+ margin-right: auto;
+ margin-bottom: 0;
+ background-color: transparent;
+ padding: 0;
display: grid;
grid-template-columns: 300px 1fr 300px;
justify-content: center;
@@ -168,6 +170,10 @@
}
}
+ a.icon {
+ display: flex;
+ }
+
@media (max-width: $breakpoint-laptop) {
display: grid;
grid-template-columns: 300px 1fr 300px;
@@ -198,7 +204,7 @@
height: calc(100vh - 60px);
overflow-y: scroll;
position: fixed;
- top: 110px;
+ top: 122px;
padding-bottom: 60px;
padding-top: 5px;
background-color: #fff;
@@ -436,6 +442,14 @@
/* header*/
+body > header {
+ background-color: var(--primary-blue);
+ position: fixed;
+ left: 0;
+ right: 0;
+ z-index: 10;
+}
+
.wy-side-nav-search img {
background-color: transparent;
position: relative;
diff --git a/docs/_static/scss/components/_module.scss b/docs/_static/scss/components/_module.scss
index 377221be..39f7b9e7 100644
--- a/docs/_static/scss/components/_module.scss
+++ b/docs/_static/scss/components/_module.scss
@@ -2,6 +2,7 @@
@use "layout";
@use "article-meta";
@use "breadcrumbs";
+@use "search";
@use "../breakpoints" as *;
diff --git a/docs/_static/scss/components/_search.scss b/docs/_static/scss/components/_search.scss
new file mode 100644
index 00000000..987fa593
--- /dev/null
+++ b/docs/_static/scss/components/_search.scss
@@ -0,0 +1,3 @@
+.DocSearch-Button {
+ background: white;
+}
diff --git a/docs/_templates/layout.html b/docs/_templates/layout.html
index d9349314..67553226 100644
--- a/docs/_templates/layout.html
+++ b/docs/_templates/layout.html
@@ -39,10 +39,13 @@
{%- if css|attr("rel") %}
{%- else %}
-
+ {%- if css.filename.startswith('https://') %}
+
+ {%- else %}
+
+ {%- endif %}
{%- endif %}
{%- endfor %}
-
{%- for cssfile in extra_css_files %}
{%- endfor -%}
@@ -163,7 +166,7 @@
{%- else %}
- {{ project }}
+ {{ project }}
{%- endif %}
{%- if logo %}
diff --git a/docs/_templates/searchbox.html b/docs/_templates/searchbox.html
index c63ad849..d3229746 100644
--- a/docs/_templates/searchbox.html
+++ b/docs/_templates/searchbox.html
@@ -1,10 +1,7 @@
{%- if 'singlehtml' not in builder %}
{%- endif %}
diff --git a/docs/conf.py b/docs/conf.py
index f0a19823..228b914d 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -48,6 +48,7 @@
"hypernode.sphinx.extensions.updated_at",
"hypernode.sphinx.extensions.meta_robots",
"hypernode.sphinx.extensions.github_actions_logging",
+ "sphinx_docsearch",
]
# Add any paths that contain templates here, relative to this directory.
@@ -116,3 +117,7 @@
notfound_no_urls_prefix = True
myst_heading_anchors = 5
+
+docsearch_app_id = "ML4HHD5658"
+docsearch_api_key = "03f6d3f4f55562ca202f03baeb04b350" # Public Search API Key
+docsearch_index_name = "hypernode"
diff --git a/requirements/base.txt b/requirements/base.txt
index 6e5b5a97..89943d27 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -1,15 +1,16 @@
# docs/ requirements
-sphinx==5.3.0
-sphinx_rtd_theme==1.1.1
-myst-parser==0.18.1
+sphinx==8.3.0
+sphinx_rtd_theme==3.0.2
+myst-parser==4.0.1
mdit-py-plugins
-sphinx-copybutton==0.5.1
-mdformat==0.7.16
-mdformat-myst==0.1.5
+sphinx-copybutton==0.5.2
+mdformat==0.7.18
+mdformat-myst==0.2.1
mdformat-frontmatter==0.4.1
-sphinx-notfound-page==0.8.3
-sphinx-sitemap==2.4.0
-GitPython==3.1.30
+sphinx-notfound-page==1.1.0
+sphinx-sitemap==2.6.0
+sphinx-docsearch
+GitPython==3.1.44
# hypernode/ requirements
beautifulsoup4==4.11.1
diff --git a/requirements/development.txt b/requirements/development.txt
index d47687d4..97af2de3 100644
--- a/requirements/development.txt
+++ b/requirements/development.txt
@@ -1,11 +1,11 @@
-r base.txt
ipython==7.32.0
-pre-commit==2.18.1
-black==22.10.0
-pytest==7.1.2
-pytest-xdist==2.5.0
-mypy==1.0.0
-flake8==3.9.2
-tox==3.25.0
+pre-commit==4.1.0
+black==25.1.0
+pytest==8.3.5
+pytest-xdist==3.6.1
+mypy==1.15.0
+flake8==7.1.2
+tox==4.24.2
watchdog
diff --git a/tox.ini b/tox.ini
index 8e0b58dd..fa7a5d48 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,5 @@
[tox]
-envlist = py37,py38,py39,py310,py311
+envlist = py37,py38,py39,py310,py311,py312
skipsdist = True
[gh-actions]
@@ -9,6 +9,7 @@ python =
3.9: py39
3.10: py310
3.11: py311
+ 3.12: py312
[testenv]
setenv =