Skip to main content

doc-zero

PyPI CI Documentation Status Coverage Status

Doc-zero streamlines the process of writing documentation for your project. It is an opinionated and explicitly non-configurable tool that extracts information from your Python codebase and generates nice documentation with minimal effort.

The main influence is the elm language tooling: no config, nice defaults and it creates a very decent documentation out of the box. Rust has a similar experience with RustDoc. In comparison, both Sphinx and MkDocs are very powerful but somewhat clunky to use and configure.

How does it work?

doc-zero introspect your codebase and creates a Sphinx project under the hood. In practice, if you have a relatively modern Python project (i.e., it assumes the existence of pyproject.toml) just type

$ doc-zero build # or the doc0 alias

in the project root and it will create and build the documentation under <project-root>/docs. In doc-zero, all your documentation resides either in the README.md file in your repository or inside the source code.

You can also type

$ doc-zero serve

and

doc-zero test

to run either the live server or to test the doctests inside the documentation.

Adding the documentation to your project

Doc-zero assumes your project is already documented using docstrings and that you have a README.md file in the project root. It will use those assets to generate the documentation and the necessary configurations to make it buildable with Sphinx and ready to be hosted to readthedocs.io.

The first step is to install doc-zero as a development dependency in your project. You can do this by running

$ pip install doc-zero

or the equivalent command for the package manager of choice.

Then, the following command generates the documentation:

$ doc-zero build

doc-zero always creates a module documentation for your toplevel module. It will also scan all sub-modules and generate a documentation page if they satisfy the following conditions:

  • The module is not private (i.e., it does not start with an underscore).
  • The module has a docstring.

Each page lists the module's public API: the names in __all__ or, for modules without __all__, explicit re-exports (from ._core import App as App) plus the public classes and functions defined in the module.

doc-zero only includes the public API in the generated documentation.

Adding extra documentation

Metadata

Release files for doc-zero 0.2.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for doc-zero 0.2.3
File Size Uploaded
doc_zero-0.2.3.tar.gz 19.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for doc-zero 0.2.3
File Interpreter ABI Platform
doc_zero-0.2.3-py3-none-any.whl Python 3 none any Details

Total release size: 43.6 kB

Release files / doc_zero-0.2.3.tar.gz

Download URL doc_zero-0.2.3.tar.gz
Size 19.8 kB
Tags Source
SHA-256 checksum
How to use checksums
c569ebac9d38e03554099bb1a741ffc550ab54239448fa65806476ce761394db
BLAKE2b-256 checksum
How to use checksums
aa8734e6e6a1c38d5b6464a2c98ff8fdec7b19f4dca50372dcdb474ef101ada1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / doc_zero-0.2.3-py3-none-any.whl

Download URL doc_zero-0.2.3-py3-none-any.whl
Size 23.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a8cb6fb39216a87744d74ac8d47e0f2c15948956f9d40f1152cb3941ed9f101
BLAKE2b-256 checksum
How to use checksums
efd44a36ebcbb6628e6575104fb35afa669768be3a3e4cafdb49424b98778a07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.2.3 This release

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page