<!DOCTYPE html>
<html lang="en" data-accent-color="teal" data-content_root="../">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Configuration - snapper 0.1.0 documentation</title><link rel="shortcut icon" href="../_static/favicon.ico"/><link rel="index" title="Index" href="../genindex.html" /><link rel="search" title="Search" href="../search.html" /><link rel="next" title="Contributing" href="../contributing/index.html" /><link rel="prev" title="Abbreviation Handling" href="abbreviations.html" />
<link rel="canonical" href="https://snapper.turtletech.us/docs/reference/config.html" /><script>
function setColorMode(t){let e=document.documentElement;e.setAttribute("data-color-mode",t);let a=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches,s=t;"auto"===t&&(s=a?"dark":"light"),"light"===s?(e.classList.remove("dark"),e.classList.add("light")):(e.classList.remove("light"),e.classList.add("dark"))}
setColorMode(localStorage._theme||"auto");
</script><link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=e1a1ceaf" />
<link rel="stylesheet" type="text/css" href="../_static/shibuya.css?v=44020203" />
<link media="print" rel="stylesheet" type="text/css" href="../_static/print.css?v=20ff2c19" />
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=ae410d03" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
:root {
--sy-f-text: "Inter", var(--sy-f-sys), var(--sy-f-cjk), sans-serif;
--sy-f-heading: "Inter", var(--sy-f-sys), var(--sy-f-cjk), sans-serif;
}
</style>
<meta property="og:type" content="website"/>
<meta property="og:url" content="https://snapper.turtletech.us/docs/reference/config.html"/>
<meta property="og:title" content="Configuration"/>
<meta name="twitter:card" content="summary"/>
<link rel="alternate" hreflang="is" href="/docs/is/reference/config/" />
<link rel="alternate" hreflang="pl" href="/docs/pl/reference/config/" />
<!-- Umami injection -->
<script
defer
data-website-id="af8c1286-06aa-414b-958c-e015bed1e569"
src="https://analytics.turtletech.us/script.js"
></script>
<script>
window.umami = window.umami || { track: function () {} };
document.addEventListener("click", function (e) {
var link = e.target.closest("a");
if (link && link.hostname !== location.hostname) {
umami.track("Outbound Link", { url: link.href });
}
});
</script></head>
<body><div class="sy-head">
<div class="sy-head-blur"></div>
<div class="sy-head-inner sy-container mx-auto">
<a class="sy-head-brand" href="../index.html">
<img class="light-logo" src="../_static/snapper_logo.png" alt="snapper" height="28" loading="lazy" />
<img class="dark-logo" src="../_static/snapper_logo.png" alt="snapper" height="28" loading="lazy" />
<strong>snapper</strong>
</a>
<div class="sy-head-nav" id="head-nav">
<nav class="sy-head-links"></nav>
<div class="sy-head-extra flex items-center print:hidden"><form class="searchbox flex items-center" action="../search.html" method="get">
<input type="text" name="q" placeholder="Search" />
<kbd>/</kbd>
</form><div class="nav-languages">
<button type="button">
<span class="md:hidden">Translations</span>
<iconify-icon icon="lucide:languages"></iconify-icon>
</button>
<div class="nav-languages-choices">
<ul><li><a href="/docs/reference/config/">English</a></li><li><a href="/docs/is/reference/config/">Islenska</a></li><li><a href="/docs/pl/reference/config/">Polski</a></li></ul>
</div>
</div><div class="sy-head-socials">
<a href="https://github.com/TurtleTech-ehf/snapper" aria-label="GitHub">
<iconify-icon icon="simple-icons:github"></iconify-icon>
</a></div></div>
</div>
<div class="sy-head-actions flex items-center shrink-0 print:hidden"><button class="js-theme theme-switch flex items-center"
data-aria-auto="Switch to light color mode"
data-aria-light="Switch to dark color mode"
data-aria-dark="Switch to auto color mode">
<i class="i-lucide theme-icon"></i>
</button><button class="md:hidden flex items-center js-menu" aria-label="Menu" type="button" aria-controls="head-nav" aria-expanded="false">
<div class="hamburger">
<span class="hamburger_1"></span>
<span class="hamburger_2"></span>
<span class="hamburger_3"></span>
</div>
</button>
</div>
</div>
</div>
<div class="sy-page sy-container flex mx-auto">
<aside id="lside" class="sy-lside md:w-72 md:shrink-0 print:hidden">
<div class="sy-lside-inner md:sticky">
<div class="sy-scrollbar p-6">
<div class="globaltoc" data-expand-depth="2"><p class="caption" role="heading" aria-level="3"><span class="caption-text">Tutorials</span></p>
<ul>
<li class="toctree-l1 _expand"><a class="reference internal" href="../tutorials/quickstart.html">Quickstart</a></li>
</ul>
<p class="caption" role="heading" aria-level="3"><span class="caption-text">How-to guides</span></p>
<ul>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/editor-integration.html">Editor Integration</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/ci-enforcement.html">CI Enforcement</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/git-filter.html">Git Smudge/Clean Filter</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/vale-integration.html">Vale Integration</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/neural-detection.html">Neural Sentence Detection</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/pragmas.html">Skip Regions with Pragmas</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../howto/pandoc-backend.html">Pandoc Backend</a></li>
</ul>
<p class="caption" role="heading" aria-level="3"><span class="caption-text">Reference</span></p>
<ul class="current">
<li class="toctree-l1 _expand"><a class="reference internal" href="cli.html">CLI Reference</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="formats.html">Supported Formats</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="abbreviations.html">Abbreviation Handling</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">Configuration</a></li>
</ul>
<p class="caption" role="heading" aria-level="3"><span class="caption-text">Development</span></p>
<ul>
<li class="toctree-l1 _expand"><a class="reference internal" href="../contributing/index.html">Contributing</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../faq/index.html">FAQ</a></li>
<li class="toctree-l1 _expand"><a class="reference internal" href="../changelog.html">Changelog</a></li>
</ul>
</div>
</div>
</div>
</aside>
<div class="lside-overlay js-menu" role="button" aria-label="Close left sidebar" aria-controls="lside" aria-expanded="false"></div>
<aside id="rside" class="sy-rside pb-3 w-64 shrink-0 order-last">
<button class="rside-close js-menu xl:hidden" aria-label="Close Table of Contents" type="button" aria-controls="rside" aria-expanded="false">
<i class="i-lucide close"></i>
</button>
<div class="sy-scrollbar sy-rside-inner px-6 xl:top-16 xl:sticky xl:pl-0 pt-6 pb-4"><div class="localtoc"><h3>On this page</h3><ul>
<li><a class="reference internal" href="#project-config-file">Project config file</a></li>
<li><a class="reference internal" href="#config-format">Config format</a></li>
<li><a class="reference internal" href="#fields">Fields</a><ul>
<li><a class="reference internal" href="#lang">lang</a></li>
<li><a class="reference internal" href="#extraabbreviations">extra<sub>abbreviations</sub></a></li>
<li><a class="reference internal" href="#ignore">ignore</a></li>
<li><a class="reference internal" href="#format">format</a></li>
<li><a class="reference internal" href="#maxwidth">max<sub>width</sub></a></li>
</ul>
</li>
<li><a class="reference internal" href="#per-format-sections">Per-format sections</a></li>
<li><a class="reference internal" href="#precedence">Precedence</a></li>
</ul>
</div><a class="js-repo-stats repo-stats flex items-center" href="https://github.com/TurtleTech-ehf/snapper"
data-type="github" data-user="TurtleTech-ehf" data-repo="snapper">
<span class="w-8 flex items-center justify-around shrink-0 text-3xl">
<iconify-icon icon="simple-icons:github"></iconify-icon>
</span>
<span class="flex-grow px-2 break-all">
<span>snapper</span>
<span class="flex text-sm repo-stats-count">
<span class="flex items-center pr-3">
<iconify-icon icon="lucide:star"></iconify-icon>
<strong class="js-repo-stars ml-1">0</strong>
</span>
<span class="flex items-center">
<iconify-icon icon="lucide:git-fork"></iconify-icon>
<strong class="js-repo-forks ml-1">0</strong>
</span>
</span>
</span>
</a><div class="edit-this-page">
<a href="https://github.com/TurtleTech-ehf/snapper/blob/main/docs/source/reference/config.rst">Edit this page</a>
</div><div id="ethical-ad-placement" data-ea-publisher="readthedocs"></div></div>
</aside>
<div class="rside-overlay js-menu" role="button" aria-label="Close Table of Contents" aria-controls="rside" aria-expanded="false"></div>
<main class="sy-main w-full max-sm:max-w-full print:pt-6">
<div class="sy-breadcrumbs" role="navigation">
<div class="sy-breadcrumbs-inner flex items-center">
<div class="md:hidden mr-3">
<button class="js-menu" aria-label="Menu" type="button" aria-controls="lside" aria-expanded="false">
<i class="i-lucide menu"></i>
</button>
</div>
<ol class="flex-1" itemscope itemtype="https://schema.org/BreadcrumbList"><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="../index.html"><span itemprop="name">snapper</span></a>
<span>/</span>
<meta itemprop="position" content="1" />
</li><li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<strong itemprop="name">Configuration</strong>
<meta itemprop="position" content="2" />
</li></ol>
<div class="xl:hidden ml-1">
<button class="js-menu" aria-label="Show table of contents" type="button" aria-controls="rside"
aria-expanded="false">
<i class="i-lucide outdent"></i>
</button>
</div>
</div>
</div><div class="flex flex-col break-words justify-between">
<div class="relative min-w-0 max-w-6xl px-6 pb-6 pt-8 xl:px-12">
<div class="copy-page-wrapper relative pb-4 lg:absolute lg:top-8 lg:right-6 xl:right-12">
<div id="copy-page-trigger">
<button
type="button"
class="js-copy px-3 py-1 inline-flex items-center gap-1"
data-url="https://snapper.turtletech.us/docs/_sources/reference/config.rst.txt"
>
<i class="i-lucide" data-icon="copy"></i>
<span>Copy page</span>
</button>
<button class="js-menu px-2 py-1" type="button" aria-label="More actions"
aria-haspopup="menu" aria-expanded="false" aria-controls="copy-page-content">
<i class="i-lucide chevron-down"></i>
</button>
</div>
<div id="copy-page-content" role="menu" aria-orientation="vertical" aria-hidden="true">
<div role="presentation">
<div class="flex flex-col" role="group">
<button class="js-copy" type="button" role="menuitem"
data-url="https://snapper.turtletech.us/docs/_sources/reference/config.rst.txt">
<span class="iconify-icon">
<i class="i-lucide" data-icon="copy"></i>
</span>
<span>Copy page</span>
</button>
<a role="menuitem" href="https://snapper.turtletech.us/docs/_sources/reference/config.rst.txt" target="_blank" rel="nofollow"><iconify-icon icon="bi:code-slash"></iconify-icon>
<span>View Source</span></a><a role="menuitem" href="https://chatgpt.com/?hints=search&q=Read%20https%3A//snapper.turtletech.us/docs/_sources/reference/config.rst.txt%20so%20I%20can%20ask%20questions%20about%20it." target="_blank" rel="nofollow">
<iconify-icon icon="bi:openai"></iconify-icon>
<span>Open in ChatGPT</span>
</a><a role="menuitem" href="https://claude.ai/new?q=Read%20https%3A//snapper.turtletech.us/docs/_sources/reference/config.rst.txt%20so%20I%20can%20ask%20questions%20about%20it." target="_blank" rel="nofollow">
<iconify-icon icon="bi:claude"></iconify-icon>
<span>Open in Claude</span>
</a></div>
</div>
</div>
</div><article class="yue dark-code" role="main">
<section id="configuration">
<h1>Configuration<a class="headerlink" href="#configuration" title="Link to this heading">¶</a></h1>
<section id="project-config-file">
<h2>Project config file<a class="headerlink" href="#project-config-file" title="Link to this heading">¶</a></h2>
<p>Snapper looks for <code class="docutils literal notranslate"><span class="pre">.snapperrc.toml</span></code> starting from the current directory and walking up to the filesystem root.
Override the search with <code class="docutils literal notranslate"><span class="pre">--config</span> <span class="pre">path/to/config.toml</span></code>.</p>
<p>Or generate one with <code class="docutils literal notranslate"><span class="pre">snapper</span> <span class="pre">init</span></code>.</p>
</section>
<section id="config-format">
<h2>Config format<a class="headerlink" href="#config-format" title="Link to this heading">¶</a></h2>
<div class="highlight-toml notranslate"><div class="highlight"><pre><span></span><span data-line="1"><span class="c1"># Language for abbreviation sets (en, de, fr, is, pl)</span>
</span><span data-line="2"><span class="n">lang</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"en"</span>
</span><span data-line="3">
</span><span data-line="4"><span class="c1"># Extra abbreviations (merged with built-in list for the selected language)</span>
</span><span data-line="5"><span class="n">extra_abbreviations</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"GROMACS"</span><span class="p">,</span><span class="w"> </span><span class="s2">"LAMMPS"</span><span class="p">,</span><span class="w"> </span><span class="s2">"DFT"</span><span class="p">]</span>
</span><span data-line="6">
</span><span data-line="7"><span class="c1"># File patterns to ignore (glob syntax)</span>
</span><span data-line="8"><span class="n">ignore</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"*.bib"</span><span class="p">,</span><span class="w"> </span><span class="s2">"*.cls"</span><span class="p">,</span><span class="w"> </span><span class="s2">"*.sty"</span><span class="p">]</span>
</span><span data-line="9">
</span><span data-line="10"><span class="c1"># Default format (overridden by --format flag)</span>
</span><span data-line="11"><span class="n">format</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"org"</span>
</span><span data-line="12">
</span><span data-line="13"><span class="c1"># Maximum line width (0 = unlimited, overridden by --max-width flag)</span>
</span><span data-line="14"><span class="n">max_width</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span>
</span><span data-line="15">
</span><span data-line="16"><span class="c1"># Per-format overrides</span>
</span><span data-line="17"><span class="k">[org]</span>
</span><span data-line="18"><span class="n">extra_abbreviations</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"PROPERTIES"</span><span class="p">,</span><span class="w"> </span><span class="s2">"DEADLINE"</span><span class="p">]</span>
</span><span data-line="19">
</span><span data-line="20"><span class="k">[latex]</span>
</span><span data-line="21"><span class="n">extra_abbreviations</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="s2">"Thm"</span><span class="p">,</span><span class="w"> </span><span class="s2">"Lem"</span><span class="p">]</span>
</span><span data-line="22"><span class="n">max_width</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">100</span>
</span></pre></div>
</div>
</section>
<section id="fields">
<h2>Fields<a class="headerlink" href="#fields" title="Link to this heading">¶</a></h2>
<section id="lang">
<h3>lang<a class="headerlink" href="#lang" title="Link to this heading">¶</a></h3>
<p>String.
Language code for the built-in abbreviation set used by the rule-based splitter.
One of: <code class="docutils literal notranslate"><span class="pre">en</span></code> (default), <code class="docutils literal notranslate"><span class="pre">de</span></code>, <code class="docutils literal notranslate"><span class="pre">fr</span></code>, <code class="docutils literal notranslate"><span class="pre">is</span></code>, <code class="docutils literal notranslate"><span class="pre">pl</span></code>.
Also selectable via <code class="docutils literal notranslate"><span class="pre">--lang</span></code> CLI flag.</p>
</section>
<section id="extraabbreviations">
<h3>extra<sub>abbreviations</sub><a class="headerlink" href="#extraabbreviations" title="Link to this heading">¶</a></h3>
<p>String array.
Each entry names an abbreviation that should not trigger a sentence break when followed by a period.
Merged with the built-in list for the selected language.
Useful for domain-specific terms your papers use frequently.</p>
</section>
<section id="ignore">
<h3>ignore<a class="headerlink" href="#ignore" title="Link to this heading">¶</a></h3>
<p>String array of glob patterns.
Files matching these patterns get skipped during <code class="docutils literal notranslate"><span class="pre">--in-place</span></code> and <code class="docutils literal notranslate"><span class="pre">--check</span></code> operations.
Does not affect stdin/stdout mode.</p>
</section>
<section id="format">
<h3>format<a class="headerlink" href="#format" title="Link to this heading">¶</a></h3>
<p>String.
Default format when auto-detection from file extension does not apply.
One of: <code class="docutils literal notranslate"><span class="pre">org</span></code>, <code class="docutils literal notranslate"><span class="pre">latex</span></code>, <code class="docutils literal notranslate"><span class="pre">markdown</span></code>, <code class="docutils literal notranslate"><span class="pre">rst</span></code>, <code class="docutils literal notranslate"><span class="pre">plaintext</span></code>.</p>
</section>
<section id="maxwidth">
<h3>max<sub>width</sub><a class="headerlink" href="#maxwidth" title="Link to this heading">¶</a></h3>
<p>Integer.
Sentences exceeding this width get wrapped at word boundaries.
Set to <code class="docutils literal notranslate"><span class="pre">0</span></code> for unlimited (the default).
Also respects <code class="docutils literal notranslate"><span class="pre">max_line_length</span></code> from <code class="docutils literal notranslate"><span class="pre">.editorconfig</span></code> if present.</p>
</section>
</section>
<section id="per-format-sections">
<h2>Per-format sections<a class="headerlink" href="#per-format-sections" title="Link to this heading">¶</a></h2>
<p>Add <code class="docutils literal notranslate"><span class="pre">[org]</span></code>, <code class="docutils literal notranslate"><span class="pre">[latex]</span></code>, <code class="docutils literal notranslate"><span class="pre">[markdown]</span></code>, <code class="docutils literal notranslate"><span class="pre">[rst]</span></code>, or <code class="docutils literal notranslate"><span class="pre">[plaintext]</span></code> sections to override settings for specific formats.</p>
<p>Per-format <code class="docutils literal notranslate"><span class="pre">extra_abbreviations</span></code> merge with the top-level list.
Per-format <code class="docutils literal notranslate"><span class="pre">max_width</span></code> overrides the top-level value.</p>
</section>
<section id="precedence">
<h2>Precedence<a class="headerlink" href="#precedence" title="Link to this heading">¶</a></h2>
<p>CLI flags override config file values.
Per-format sections override top-level config values.
Config file values override <code class="docutils literal notranslate"><span class="pre">.editorconfig</span></code> values.
<code class="docutils literal notranslate"><span class="pre">.editorconfig</span></code> overrides built-in defaults.</p>
</section>
</section>
</article><button class="back-to-top" type="button">
<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"></path>
</svg>
<span>Back to top</span>
</button><div class="navigation flex print:hidden"><div class="navigation-prev">
<a href="abbreviations.html">
<i class="i-lucide chevron-left"></i>
<div class="page-info">
<span>Previous</span><div class="title">Abbreviation Handling</div></div>
</a>
</div><div class="navigation-next">
<a href="../contributing/index.html">
<div class="page-info">
<span>Next</span>
<div class="title">Contributing</div>
</div>
<i class="i-lucide chevron-right"></i>
</a>
</div></div></div>
</div>
</main>
</div>
<footer class="sy-foot">
<div class="sy-foot-inner sy-container mx-auto">
<div
style="
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: 0.5rem;
margin-bottom: 1.5rem;
color: var(--sy-c-text-weak);
font-size: 0.9em;
"
>
<div
style="
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 1rem;
align-items: center;
"
>
<span style="display: inline-flex; align-items: center; gap: 0.3em">
<svg
xmlns="http://www.w3.org/2000/svg"
width="1em"
height="1em"
viewBox="0 0 24 24"
fill="currentColor"
aria-hidden="true"
>
<path d="M7,20H4V4h3V20z M14,20h-3V12h3V20z M21,20h-3V8h3V20z" />
</svg>
<span
>Analytics by
<a
href="https://umami.is/"
target="_blank"
rel="noopener noreferrer"
style="color: inherit; text-decoration: underline"
>Umami</a
></span
>
</span>
<span style="display: inline-flex; align-items: center; gap: 0.3em">
<span>provided by</span>
<span style="display: inline-flex; align-items: center; gap: 0.3em">
<svg xmlns="http://www.w3.org/2000/svg" width="1.4em" height="1.4em" viewBox="0 0 64 64" aria-hidden="true"><g fill-rule="evenodd"><ellipse cx="32" cy="11" fill="#80D25B" rx="7" ry="9"/><path fill="#80D25B" d="M20.3,46c0,0-3.2,9.9.3,13.8c3.5,3.9 6.1,3.4 6.1-6C26.8,44.3 20.3,46 20.3,46Z"/><path fill="#80D25B" d="M38.3,46c0,0-3.2,9.9.4,13.8c3.5,3.9 6.1,3.4 6.1-6C44.8,44.3 38.3,46 38.3,46Z" transform="matrix(-1 0 0 1 81.8 0)"/><path fill="#80D25B" d="M20.6,21.2c0,0-6.7-5.8-10.5-5.2C6.2,16.7 6,22.2 6,24c0,1.8 1.8,13.3 3.8,12.5c2-0.8 4-8.5 4-8.5c1.9,2.3 4.8,2.5 4.8,2.5L20.6,21.2Z"/><path fill="#80D25B" d="M57.6,21.2c0,0-6.6-5.8-10.5-5.2C43.2,16.7 43,22.2 43,24c0,1.8 1.8,13.3 3.8,12.5c2-0.8 4-8.5 4-8.5c1.9,2.3 4.8,2.5 4.8,2.5L57.6,21.2Z" transform="matrix(-1 0 0 1 100.623 0)"/><path fill="#BD7575" stroke="#595959" stroke-linecap="round" stroke-width="2" d="M32,53C40.8,53 48,44.5 48,34C48,23.5 46.7,17 32,17C17.3,17 16,23.5 16,34C16,44.5 23.2,53 32,53Z"/><polygon fill="#BD7575" stroke="#595959" stroke-linecap="round" stroke-width="2" points="32 22 38.9 26 38.9 34 32 38 25.1 34 25.1 26"/><path stroke="#595959" stroke-linecap="round" stroke-width="2" d="M30,8C28.9,8 28,8.9 28,10"/><path stroke="#595959" stroke-linecap="round" stroke-width="2" d="M36,8C34.9,8 34,8.9 34,10" transform="matrix(-1 0 0 1 70 0)"/><path stroke="#595959" stroke-linecap="round" stroke-width="2" d="M32.1,38.2L32.1,52.4M32,21.7L32,17M25.2,26L17.7,23.1M25.1,34.2L16.8,38.9"/><path stroke="#595959" stroke-linecap="round" stroke-width="2" d="M46.2,26L38.7,23.1" transform="matrix(-1 0 0 1 84.951 0)"/><path stroke="#595959" stroke-linecap="round" stroke-width="2" d="M47.1,34.2L38.8,38.9" transform="matrix(-1 0 0 1 85.891 0)"/></g></svg>
<a
href="https://turtletech.us/"
target="_blank"
rel="noopener noreferrer"
style="color: inherit; text-decoration: underline"
>TurtleTech ehf</a
>
</span>
</span>
</div>
</div>
<div class="sy-foot-reserved md:flex justify-between items-center">
<div class="sy-foot-copyright"><p>2026--present, <a href="https://rgoswami.me">Rohit Goswami</a></p>
<p>
Made with
<a href="https://www.sphinx-doc.org/">Sphinx</a> and
<a href="https://shibuya.lepture.com">Shibuya theme</a>.
</p>
</div> <div class="sy-foot-socials">
<a href="https://github.com/TurtleTech-ehf/snapper" aria-label="GitHub">
<iconify-icon icon="simple-icons:github"></iconify-icon>
</a></div>
</div>
</div>
</footer>
<script src="../_static/documentation_options.js?v=01f34227"></script>
<script src="../_static/doctools.js?v=fd6eb6e6"></script>
<script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
<script src="../_static/shibuya.js?v=cac61aee"></script></body>
</html>