doc-zero
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.
- The module defines a
__all__variable that lists its public API.
doc-zero only includes the public API in the generated documentation.
Adding extra documentation
Metadata
Release files for doc-zero 0.2.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| doc_zero-0.2.2.tar.gz | 19.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| doc_zero-0.2.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.5 kB
Release files / doc_zero-0.2.2.tar.gz
| Download URL | doc_zero-0.2.2.tar.gz |
|---|---|
| Size | 19.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0597412eba34deeb0660c4148d333671e0af812f6b03e829f51e67493ba8fe62
|
|
BLAKE2b-256 checksum How to use checksums |
e01b2fd57f046d6fed0c979b5de7223d000552f3dcf8994ec91e6d5c1c4e79d0
|
| 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.2-py3-none-any.whl
| Download URL | doc_zero-0.2.2-py3-none-any.whl |
|---|---|
| Size | 23.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
579502ef310a8a07b223da91631610b6796bca5489a21bdbb6afa86344d4f7fd
|
|
BLAKE2b-256 checksum How to use checksums |
1ed8c92c53544444fb0cdf14a5708c8caa297c644f3849da853a9c2c42976b3e
|
| 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}
|