Source: python-annotated-doc
Section: python
Priority: optional
Maintainer: Sandro Tosi <morph@debian.org>
Build-Depends: debhelper-compat (= 13),
               pybuild-plugin-pyproject, python3-pdm-backend,
               python3-all, python3-pytest
Standards-Version: 4.7.2.0
Testsuite: autopkgtest-pkg-pybuild
Vcs-Git: https://salsa.debian.org/morph/python-annotated-doc.git
Vcs-Browser: https://salsa.debian.org/morph/python-annotated-doc
Homepage: https://github.com/fastapi/annotated-doc
Rules-Requires-Root: no

Package: python3-annotated-doc
Architecture: all
Depends: ${misc:Depends}, ${python3:Depends},
Description: document parameters, class attributes, return types, and variables inline, with `Annotated`
 Import `Doc` and pass a single literal string with the documentation for the
 specific parameter, class attribute, return type, or variable.
 .
 Reasons to use annotated-doc:
 .
  * No micro-syntax to learn for newcomers, it’s just Python syntax.
  * Editing would be already fully supported by default by any editor (current
    or future) supporting Python syntax, including syntax errors, syntax
    highlighting, etc.
  * Rendering would be relatively straightforward to implement by static tools
    (tools that don't need runtime execution), as the information can be
    extracted from the AST they normally already create.
  * Deduplication of information: the name of a parameter would be defined in a
    single place, not duplicated inside of a docstring.
  * Elimination of the possibility of having inconsistencies when removing a
    parameter or class variable and forgetting to remove its documentation.
  * Minimization of the probability of adding a new parameter or class variable
    and forgetting to add its documentation.
  * Elimination of the possibility of having inconsistencies between the name of
    a parameter in the signature and the name in the docstring when it is
    renamed.
  * Access to the documentation string for each symbol at runtime, including
    existing (older) Python versions.
  * A more formalized way to document other symbols, like type aliases, that
    could use Annotated.
  * Support for apps using FastAPI, Typer and others.
  * AI Accessibility: AI tools will have an easier way understanding each
    parameter as the distance from documentation to parameter is much closer.
