Articles of documentación de

¿Hay una manera de generar pydoc para funciones anidadas?

Estoy buscando una manera de generar documentación, pydoc en este caso, para funciones anidadas. ¿Es esto posible con pydoc? ¿Es posible con otras herramientas? Por ejemplo: “”” Module docstring. “”” def foo(x): “”” Foo does something. “”” … def bar(y): “”” Bar does something “”” … La generación de pydoc con: pydoc -w -filename- generará […]

Cómo documentar paquetes de Python usando Sphinx

Estoy tratando de documentar un paquete en Python. En este momento tengo la siguiente estructura de directorios: . └── project ├── _build │ ├── doctrees │ └── html │ ├── _sources │ └── _static ├── conf.py ├── index.rst ├── __init__.py ├── make.bat ├── Makefile ├── mod1 │ ├── foo.py │ └── __init__.py ├── mod2 │ […]

Omita (o formatee) el valor de una variable al documentar con Sphinx

Actualmente estoy documentando un módulo completo con autodoc . Sin embargo, defino varias variables en el nivel del módulo que contienen listas largas o dictados. Se incluyen en la documentación junto con los valores, y los valores están sin formato, por lo que parece un desastre de 10 líneas. Lo que quiero es que se […]

Extensión Python C: ¿firmas de métodos para la documentación?

Estoy escribiendo extensiones C, y me gustaría hacer que la firma de mis métodos sea visible para la introspección. static PyObject* foo(PyObject *self, PyObject *args) { /* blabla […] */ } PyDoc_STRVAR( foo_doc, “Great example function\n” “Arguments: (timeout, flags=None)\n” “Doc blahblah doc doc doc.”); static PyMethodDef methods[] = { {“foo”, foo, METH_VARARGS, foo_doc}, {NULL}, }; […]

Conservar los argumentos predeterminados de la función Python envuelta / decorada en la documentación de Sphinx

¿Cómo puedo reemplazar *args y **kwargs con la firma real en la documentación de las funciones decoradas? Digamos que tengo el siguiente decorador y función decorada: import functools def mywrapper(func): @functools.wraps(func) def new_func(*args, **kwargs): print(‘Wrapping Ho!’) return func(*args, **kwargs) return new_func @mywrapper def myfunc(foo=42, bar=43): “””Obscure Addition :param foo: bar! :param bar: bla bla :return: […]

Sphinx y argparse – autodocumentar los scripts de línea de comandos?

Estoy creando un paquete de Python y usando Sphinx para crear los documentos. Aparte de mi código de paquete, también incluyo muchos scripts de Python de línea de comandos, que usan argparse. Me preguntaba si hay una forma de que Sphinx autodocumentara estos scripts. El objective final sería una lista bastante impresa de scripts, con […]

¿Cómo mostrar los atributos de instancia en el documento de la esfinge?

¿Hay alguna manera de mostrar automáticamente las variables var1 y var2 y sus valores de inicio en la documentación de la esfinge? class MyClass: “”” Description for class “”” def __init__(self, par1, par2): self.var1 = par1 * 2 self.var2 = par2 * 2 def method(self): pass

¿Cómo documentar campos y propiedades en Python?

Es fácil documentar una clase o método en Python: class Something: “”” Description of the class. “”” def do_it(self): “”” Description of the method. “”” pass class_variable = 1 # How to comment? @property def give_me_some_special_dict(self): “”” doesn’t work! Doc of general dict will be shown. “”” return {} Pero, ¿cómo documentar un campo o […]

Documentación de la API pública de Sphinx

Tengo un gran número de archivos de Python y me gustaría generar documentación de API pública para mi proyecto. Todas las funciones que forman parte del api las he decorado con un decorador. por ejemplo: @api def post_comment(comment)” “”” Posts a coment “”” pass Hay otros métodos públicos en las mismas clases. La API se […]

¿Cómo documentar un método con parámetros?

¿Cómo documentar métodos con parámetros usando las cadenas de documentación de Python? EDIT: PEP 257 da este ejemplo: def complex(real=0.0, imag=0.0): “””Form a complex number. Keyword arguments: real — the real part (default 0.0) imag — the imaginary part (default 0.0) “”” if imag == 0.0 and real == 0.0: return complex_zero … ¿Es esta […]