<?xml version="1.0" encoding="utf-8" standalone="yes"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python Developer Tooling Handbook – Documentation</title>
    <link>https://pydevtools.com/handbook/topics/documentation/</link>
    <description>The Python Developer Tooling Handbook is a comprehensive guide to Python development tools including uv, ruff, pytest, mypy, ty, and more.</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Fri, 15 May 2026 21:28:17 -0400</lastBuildDate>
    
	  <atom:link href="https://pydevtools.com/handbook/topics/documentation/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>Furo: Sphinx Documentation Theme</title>
      <link>https://pydevtools.com/handbook/reference/furo/</link>
      <pubDate>Wed, 29 Apr 2026 14:33:02 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/furo/</guid>
      <description>&lt;p&gt;Furo is a &lt;a href=&#34;https://pydevtools.com/handbook/reference/sphinx/&#34;&gt;Sphinx&lt;/a&gt; theme written by &lt;a href=&#34;https://pradyunsg.me/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Pradyun Gedam&lt;/a&gt;. It is a clean, customisable replacement for Sphinx&amp;rsquo;s default &lt;code&gt;alabaster&lt;/code&gt; theme, with built-in light and dark modes, a responsive layout, and a focused sidebar.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Build Read the Docs with uv</title>
      <link>https://pydevtools.com/handbook/how-to/how-to-build-read-the-docs-with-uv/</link>
      <pubDate>Wed, 13 May 2026 06:43:22 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/how-to/how-to-build-read-the-docs-with-uv/</guid>
      <description>&lt;p&gt;If your docs already build on Read the Docs, you can now switch &lt;code&gt;.readthedocs.yaml&lt;/code&gt; to native &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt; support instead of maintaining a hand-rolled &lt;code&gt;build.jobs&lt;/code&gt; override. Read the Docs added this support on April 21, 2026. The two supported paths are &lt;code&gt;uv sync&lt;/code&gt; with a &lt;code&gt;docs&lt;/code&gt; dependency group, and &lt;code&gt;uv pip install&lt;/code&gt; with a requirements file.&lt;/p&gt;
&lt;h2&gt;Define a docs dependency group&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;define-a-docs-dependency-group&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#define-a-docs-dependency-group&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;If your project already has a &lt;a href=&#34;https://pydevtools.com/handbook/reference/pyproject.toml/&#34;&gt;&lt;code&gt;pyproject.toml&lt;/code&gt;&lt;/a&gt;, declare a dependency group for the documentation toolchain. Groups are the &lt;a href=&#34;https://pydevtools.com/handbook/explanation/what-is-pep-735/&#34;&gt;PEP 735&lt;/a&gt; standard place to keep development-only dependencies out of what your users install:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Set Up Documentation for a Python Package with Sphinx or MkDocs</title>
      <link>https://pydevtools.com/handbook/how-to/how-to-set-up-documentation-for-a-python-package/</link>
      <pubDate>Fri, 15 May 2026 21:28:17 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/how-to/how-to-set-up-documentation-for-a-python-package/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://pydevtools.com/handbook/reference/sphinx/&#34;&gt;Sphinx&lt;/a&gt; and &lt;a href=&#34;https://pydevtools.com/handbook/reference/mkdocs/&#34;&gt;MkDocs&lt;/a&gt; are the two documentation generators most Python packages reach for. They cover the same job (turn Markdown or reStructuredText plus your docstrings into a static HTML site) but optimize for different writers. This guide picks one, scaffolds a docs site inside an existing &lt;a href=&#34;https://pydevtools.com/handbook/reference/uv/&#34;&gt;uv&lt;/a&gt; project, and gets a build running locally.&lt;/p&gt;
&lt;h2&gt;Pick Sphinx or MkDocs&lt;span class=&#34;hx:absolute hx:-mt-20&#34; id=&#34;pick-sphinx-or-mkdocs&#34;&gt;&lt;/span&gt;
    &lt;a href=&#34;#pick-sphinx-or-mkdocs&#34; class=&#34;subheading-anchor&#34; aria-label=&#34;Permalink for this section&#34;&gt;&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Two questions decide it for most projects.&lt;/p&gt;
&lt;p&gt;What&amp;rsquo;s the dominant content type? API reference dominates in libraries like NumPy and Django, where most pages are autogenerated from docstrings. Sphinx was built for that workload and has the older and broader extension ecosystem around API reference work (&lt;code&gt;intersphinx&lt;/code&gt; for cross-project links, &lt;code&gt;sphinx-autodoc-typehints&lt;/code&gt; for signature rendering). MkDocs with &lt;a href=&#34;https://pydevtools.com/handbook/reference/mkdocstrings/&#34;&gt;mkdocstrings&lt;/a&gt; covers the API case competently, especially for Python-only projects. MkDocs is friendlier when the docs are prose-first and the API reference is one section among many tutorials and how-tos.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Material for MkDocs: Documentation Theme and Framework</title>
      <link>https://pydevtools.com/handbook/reference/mkdocs-material/</link>
      <pubDate>Wed, 29 Apr 2026 14:33:02 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/mkdocs-material/</guid>
      <description>&lt;p&gt;Material for MkDocs is a theme and feature framework for &lt;a href=&#34;https://pydevtools.com/handbook/reference/mkdocs/&#34;&gt;MkDocs&lt;/a&gt;. Built by &lt;a href=&#34;https://github.com/squidfunk&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Martin Donath (squidfunk)&lt;/a&gt;, it layers Material Design styling, client-side search, dark mode, code annotations, and a wide configuration surface on top of the base MkDocs build pipeline.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    <item>
      <title>MkDocs: Markdown Documentation for Python Projects</title>
      <link>https://pydevtools.com/handbook/reference/mkdocs/</link>
      <pubDate>Fri, 01 May 2026 06:58:04 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/mkdocs/</guid>
      <description>&lt;p&gt;MkDocs is a static site generator that builds documentation websites from Markdown source files. A project&amp;rsquo;s structure, navigation, theme, and plugins are declared in a single &lt;code&gt;mkdocs.yml&lt;/code&gt; file at the repo root.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    <item>
      <title>mkdocstrings: Autogenerate API Documentation in MkDocs</title>
      <link>https://pydevtools.com/handbook/reference/mkdocstrings/</link>
      <pubDate>Wed, 29 Apr 2026 14:33:02 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/mkdocstrings/</guid>
      <description>&lt;p&gt;mkdocstrings is a &lt;a href=&#34;https://pydevtools.com/handbook/reference/mkdocs/&#34;&gt;MkDocs&lt;/a&gt; plugin that generates API documentation from source code and injects it directly into Markdown pages. The base plugin is language-agnostic; concrete language support ships as separate handler packages.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sphinx: Python Documentation Generator</title>
      <link>https://pydevtools.com/handbook/reference/sphinx/</link>
      <pubDate>Fri, 01 May 2026 06:58:04 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/sphinx/</guid>
      <description>&lt;p&gt;Sphinx is a documentation generator that produces HTML, PDF, ePub, and other formats from source files written in &lt;a href=&#34;https://docutils.sourceforge.io/rst.html&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;reStructuredText&lt;/a&gt; or &lt;a href=&#34;https://myst-parser.readthedocs.io/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Markdown&lt;/a&gt;. It powers the official &lt;a href=&#34;https://docs.python.org/&#34;target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;Python documentation&lt;/a&gt; and is the default documentation tool across most of the scientific Python ecosystem.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    <item>
      <title>sphinx-autobuild: Live Reload for Sphinx Documentation</title>
      <link>https://pydevtools.com/handbook/reference/sphinx-autobuild/</link>
      <pubDate>Wed, 29 Apr 2026 14:33:02 -0400</pubDate>
      <author>Tim Hopper</author>
      <guid>https://pydevtools.com/handbook/reference/sphinx-autobuild/</guid>
      <description>&lt;p&gt;sphinx-autobuild watches a &lt;a href=&#34;https://pydevtools.com/handbook/reference/sphinx/&#34;&gt;Sphinx&lt;/a&gt; documentation source tree and rebuilds the HTML output every time a file changes. It also runs a small development web server and refreshes the browser automatically, replacing the edit-build-reload cycle with edit-and-look.&lt;/p&gt;
&lt;div class=&#34;hx:overflow-x-auto hx:mt-6 hx:flex hx:flex-col hx:rounded-lg hx:border hx:py-4 hx:px-4 hx:border-gray-200 hx:contrast-more:border-current hx:contrast-more:dark:border-current hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200&#34;&gt;
  &lt;p class=&#34;hx:flex hx:items-center hx:font-medium&#34;&gt;&lt;svg height=16px class=&#34;hx:inline-block hx:align-middle hx:mr-2&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; fill=&#34;none&#34; viewBox=&#34;0 0 24 24&#34; stroke-width=&#34;2&#34; stroke=&#34;currentColor&#34; aria-hidden=&#34;true&#34;&gt;&lt;path stroke-linecap=&#34;round&#34; stroke-linejoin=&#34;round&#34; d=&#34;M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z&#34;/&gt;&lt;/svg&gt;Note&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
