blob: d610286d15a7bc80fdefecd3fba4605ce37b1e4e [file]
<!DOCTYPE html>
<html lang="en" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Release &#8212; Apache Arrow Flight SQL adapter for PostgreSQL current documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=e353d410970836974a52" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.1.2/css/all.min.css?digest=e353d410970836974a52" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.1.2/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/tabs.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=e353d410970836974a52" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52" />
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/tabs.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'development/release';</script>
<script>
DOCUMENTATION_OPTIONS.theme_switcher_json_url = 'https://arrow.apache.org/flight-sql-postgresql/devel/_static/switcher.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = 'current';
</script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="prev" title="Client" href="../client.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<a class="skip-link" href="#main-content">Skip to main content</a>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>
<nav class="bd-header navbar navbar-expand-lg bd-navbar">
<div class="bd-header__inner bd-page-width">
<label class="sidebar-toggle primary-toggle" for="__primary">
<span class="fa-solid fa-bars"></span>
</label>
<div class="navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../index.html">
<img src="../_static/logo-light.png" class="logo__image only-light" alt="Apache Arrow Flight SQL adapter for PostgreSQL"/>
<script>document.write(`<img src="../_static/logo-dark.png" class="logo__image only-dark" alt="Apache Arrow Flight SQL adapter for PostgreSQL"/>`);</script>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<script>
document.write(`
<button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
</button>
`);
</script>
</div>
<div class="navbar-item">
<script>
document.write(`
<button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
<span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
<span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow-flight-sql-postgresql" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github"></i></span>
<label class="sr-only">GitHub</label></a>
</li>
</ul></div>
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button type="button" class="version-switcher__button btn btn-sm navbar-btn dropdown-toggle" data-bs-toggle="dropdown">
current <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div class="version-switcher__menu dropdown-menu list-group-flush py-0">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div>
`);
</script></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<script>
document.write(`
<button class="btn btn-sm navbar-btn search-button search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
</button>
`);
</script>
</div>
<label class="sidebar-toggle secondary-toggle" for="__secondary">
<span class="fa-solid fa-outdent"></span>
</label>
</div>
</nav>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div class="bd-sidebar-primary bd-sidebar hide-on-wide">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__end">
<div class="navbar-item">
<script>
document.write(`
<button class="theme-switch-button btn btn-sm btn-outline-primary navbar-btn rounded-circle" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch" data-mode="light"><i class="fa-solid fa-sun"></i></span>
<span class="theme-switch" data-mode="dark"><i class="fa-solid fa-moon"></i></span>
<span class="theme-switch" data-mode="auto"><i class="fa-solid fa-circle-half-stroke"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow-flight-sql-postgresql" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github"></i></span>
<label class="sr-only">GitHub</label></a>
</li>
</ul></div>
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button type="button" class="version-switcher__button btn btn-sm navbar-btn dropdown-toggle" data-bs-toggle="dropdown">
current <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div class="version-switcher__menu dropdown-menu list-group-flush py-0">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div>
`);
</script></div>
</div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumbs">
<ul class="bd-breadcrumbs" role="navigation" aria-label="Breadcrumb">
<li class="breadcrumb-item breadcrumb-home">
<a href="../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item active" aria-current="page">Release</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article" role="main">
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section class="tex2jax_ignore mathjax_ignore" id="release">
<h1>Release<a class="headerlink" href="#release" title="Permalink to this heading">#</a></h1>
<section id="principles">
<h2>Principles<a class="headerlink" href="#principles" title="Permalink to this heading">#</a></h2>
<p>The Apache Arrow Release follows the guidelines defined at the <a class="reference external" href="https://www.apache.org/legal/release-policy.html">Apache
Software Foundation Release
Policy</a>.</p>
</section>
<section id="prepare">
<h2>Prepare<a class="headerlink" href="#prepare" title="Permalink to this heading">#</a></h2>
<p>Some steps of the release require being a committer or a PMC member.</p>
<ul class="simple">
<li><p>A GPG key in the Apache Web of Trust to sign artifacts. This will
have to be cross signed by other Apache committers/PMC members. You
must set your GPG key ID in <code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code> (see
<code class="docutils literal notranslate"><span class="pre">dev/release/.env.example</span></code> for a template).</p></li>
<li><p>The GPG key needs to be added to this <a class="reference external" href="https://dist.apache.org/repos/dist/dev/arrow/">Subversion repository for
dev</a> and <a class="reference external" href="https://dist.apache.org/repos/dist/release/arrow/">Subversion
repository for
release</a>.</p></li>
<li><p>An <a class="reference external" href="https://apache.jfrog.io">Artifactory</a> API key (log in with your
ASF credentials, then generate it from your profile in the
upper-right). You must set the Artifactory API key in
<code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code> (see <code class="docutils literal notranslate"><span class="pre">dev/release/.env.example</span></code> for a
template).</p></li>
<li><p>A GitHub personal access token that has at lease <code class="docutils literal notranslate"><span class="pre">workflow</span></code>
scope. You must set the GitHub personal access token in
<code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code> (see <code class="docutils literal notranslate"><span class="pre">dev/release/.env.example</span></code> for a template).</p></li>
<li><p>Clone <a class="reference external" href="https://github.com/apache/arrow">apache/arrow</a> and prepare
<code class="docutils literal notranslate"><span class="pre">apache/arrow</span></code>’s <code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code> (see <code class="docutils literal notranslate"><span class="pre">dev/release/.env.example</span></code>
for a template) like <code class="docutils literal notranslate"><span class="pre">apache/arrow-flight-sql-postgresql</span></code>’s
<code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code>.</p></li>
</ul>
</section>
<section id="create-a-rc">
<h2>Create a RC<a class="headerlink" href="#create-a-rc" title="Permalink to this heading">#</a></h2>
<p>Prepare a new RC when you create a first RC:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:prepare<span class="w"> </span><span class="nv">ARROW_SOURCE</span><span class="o">=</span>/path/to/apache/arrow/repository/
</pre></div>
</div>
<p>You need to specify your cloned <code class="docutils literal notranslate"><span class="pre">apache/arrow</span></code> repository.</p>
<p>This creates a <code class="docutils literal notranslate"><span class="pre">prepare-${VERSION}</span></code> branch on local repository. You
need to push it and open a new pull request for it.</p>
<p>Tag for a new RC after the pull request is merged:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:tag
</pre></div>
</div>
<p>This creates a new tag for the new RC. You check it and push to
<code class="docutils literal notranslate"><span class="pre">apache/arrow-flight-sql-postgresql</span></code>.</p>
<p>Artifacts for the new RC are built automatically on GitHub Actions.</p>
<p>Sign these artifacts:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:sign
</pre></div>
</div>
<p>Note that you don’t need to wait for finishing GitHub Actions jobs
before you run the above command line. Because the above command line
waits for finishing GitHub Actions jobs automatically.</p>
<p>Upload Linux packages:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:linux<span class="w"> </span><span class="nv">ARROW_SOURCE</span><span class="o">=</span>/path/to/apache/arrow/repository/
</pre></div>
</div>
<p>You need to specify your cloned <code class="docutils literal notranslate"><span class="pre">apache/arrow</span></code> repository. You must
prepare its <code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code> (not only
<code class="docutils literal notranslate"><span class="pre">apache/arrow-flight-sql-postgresql</span></code>’s <code class="docutils literal notranslate"><span class="pre">dev/release/.env</span></code>.)</p>
<p>Re-run RC verify CI jobs on GitHub Actions:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:verify
</pre></div>
</div>
<p>Start a vote thread for the new RC on <code class="docutils literal notranslate"><span class="pre">dev&#64;arrow.apache.org</span></code>. You can
generate a vote e-mail template:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:vote
</pre></div>
</div>
<p>Approval requires a net of 3 +1 votes from PMC members. A release
cannot be vetoed.</p>
</section>
<section id="how-to-verify">
<h2>How to verify<a class="headerlink" href="#how-to-verify" title="Permalink to this heading">#</a></h2>
<section id="install-dependencies">
<h3>Install dependencies<a class="headerlink" href="#install-dependencies" title="Permalink to this heading">#</a></h3>
<p>At minimum, you will need:</p>
<ul class="simple">
<li><p>Apache Arrow C++ (Apache Arrow Flight SQL must be enabled)</p></li>
<li><p>C++ compiler</p></li>
<li><p>Git</p></li>
<li><p>GnuPG</p></li>
<li><p>Meson</p></li>
<li><p>Ninja</p></li>
<li><p>PostgreSQL 15 or later</p></li>
<li><p>cURL</p></li>
<li><p>jq</p></li>
<li><p>shasum (built into macOS) or sha256sum/sha512sum (on Linux)</p></li>
</ul>
</section>
<section id="verify">
<h3>Verify<a class="headerlink" href="#verify" title="Permalink to this heading">#</a></h3>
<p>Clone the project:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/apache/arrow-flight-sql-postgresql.git
</pre></div>
</div>
<p>Run the verification script:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>arrow-flight-sql-postgresql
<span class="c1"># Pass the version and the RC number.</span>
<span class="c1"># This stops after build is succeeded. You need to verify manually after it.</span>
<span class="c1"># See &quot;Hints&quot; the script shows what you do.</span>
dev/release/verify-rc.sh<span class="w"> </span><span class="m">0</span>.1.0<span class="w"> </span><span class="m">1</span>
</pre></div>
</div>
<p>These environment variables may be helpful:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ARROW_TMPDIR=/path/to/directory</span></code> to specify the temporary directory
used. Using a fixed directory can help avoid repeating the same
setup and build steps if the script has to be run multiple times.</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TEST_SOURCE_MANUAL=0</span></code> to disable manual verification.</p></li>
</ul>
<p>Once finished and once the script passes, reply to the mailing list
vote thread with a <code class="docutils literal notranslate"><span class="pre">+1</span></code> or a <code class="docutils literal notranslate"><span class="pre">-1</span></code>.</p>
</section>
</section>
<section id="post-release-tasks">
<h2>Post-release tasks<a class="headerlink" href="#post-release-tasks" title="Permalink to this heading">#</a></h2>
<p>After the release vote, we must undertake the following tasks:</p>
<p>Publish artifacts:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:rc:publish<span class="w"> </span><span class="nv">ARROW_SOURCE</span><span class="o">=</span>/path/to/apache/arrow/repository/
</pre></div>
</div>
<p>This command line opens <a class="reference external" href="https://reporter.apache.org/addrelease.html?arrow">Apache
reporter</a> by your
Web browser. Don’t forget to register the new release by the form in
the page.</p>
<p>This command line creates the tag for the new release but doesn’t push
it automatically by default. Don’t forget to push it.</p>
<p>Publish release blog post. The following command line generates the
blog post outline, then fill out outline and create a PR on
<a class="reference external" href="https://github.com/apache/arrow-site"><code class="docutils literal notranslate"><span class="pre">apache/arrow-site</span></code></a>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:announce:blog<span class="w"> </span><span class="nv">PREVIOUS_VERSION</span><span class="o">=</span>X.Y.Z
</pre></div>
</div>
<p>Announce the new release on mailing lists. The following command line
generates the announce e-mail outline, then fill out outline and send
the announce e-mail to <code class="docutils literal notranslate"><span class="pre">announce&#64;apache.org</span></code>, <code class="docutils literal notranslate"><span class="pre">user&#64;arrow.apache.org</span></code>
and <code class="docutils literal notranslate"><span class="pre">dev&#64;arrow.apache.org</span></code>. You must use your <code class="docutils literal notranslate"><span class="pre">&#64;apache.org</span></code> e-mail
address to send an e-mail to <code class="docutils literal notranslate"><span class="pre">announce&#64;apache.org</span></code>:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:announce:mail
</pre></div>
</div>
<p>Announce the new release on <code class="docutils literal notranslate"><span class="pre">pgsql-announce&#64;postgresql.org</span></code>.</p>
<p>You need to create your PostgreSQL community account:
<a class="reference external" href="https://www.postgresql.org/account/">https://www.postgresql.org/account/</a></p>
<p>You need to join the Apache Arrow organization on PostgreSQL community.
TODO: Create it.</p>
<p>The following command line generates the announce e-mail outline, then
fill out outline and submit it to
<a class="reference external" href="https://www.postgresql.org/account/edit/news/">https://www.postgresql.org/account/edit/news/</a> :</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>release:announce:postgresql
</pre></div>
</div>
<p>Bump version:</p>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>rake<span class="w"> </span>version:bump<span class="w"> </span><span class="nv">NEW_VERSION</span><span class="o">=</span>X.Y.Z
</pre></div>
</div>
</section>
</section>
</article>
<footer class="bd-footer-article">
<div class="footer-article-items footer-article__inner">
<div class="footer-article-item"><!-- Previous / next buttons -->
<div class="prev-next-area">
<a class="left-prev"
href="../client.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Client</p>
</div>
</a>
</div></div>
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</div>
<nav class="bd-toc-nav page-toc">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#principles">Principles</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#prepare">Prepare</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#create-a-rc">Create a RC</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#how-to-verify">How to verify</a><ul class="nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#install-dependencies">Install dependencies</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#verify">Verify</a></li>
</ul>
</li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#post-release-tasks">Post-release tasks</a></li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow-flight-sql-postgresql/edit/main/docs/source/development/release.md">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
<div class="sidebar-secondary-item">
<div class="tocsection sourcelink">
<a href="../_sources/development/release.md.txt">
<i class="fa-solid fa-file-lines"></i> Show Source
</a>
</div>
</div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="../_static/scripts/bootstrap.js?digest=e353d410970836974a52"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=e353d410970836974a52"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2022-2023, Apache Arrow Developers.
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 7.0.1.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item"><p class="theme-version">
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.13.3.
</p></div>
</div>
</div>
</footer>
</body>
</html>