Articles of documentación de

Sphinx – tema personalizado no funciona

Tengo configurada la documentación de mi esfinge y quiero usar un tema personalizado. He leído las instrucciones del tema en el sitio web de la esfinge: http://www.sphinx-doc.org/en/stable/theming.html , pero no funciona. Tengo el nombre de mi tema igual que en el archivo conf.py y está en una carpeta zip en el mismo directorio, pero sigo […]

Python Sphinx hace referencia a nombres largos

Estoy trabajando en la documentación para mi módulo de Python (usando Sphinx y reST), y estoy descubriendo que al hacer referencias cruzadas con otros objetos de Python (módulos, clases, funciones, etc.) el nombre completo del objeto termina siendo increíblemente largo. A menudo es más de 80 caracteres, lo que me gustaría evitar a toda costa. […]

¿Por qué CPython no utiliza `sphinx.autodoc` para la biblioteca estándar?

Estoy desarrollando una biblioteca de python y estoy usando sphinx.autodoc para generar la documentación, ya que creo que esta es una buena forma de no repetirte y de tener documentación y código de acuerdo. ¿En un comentario a Emit reStructuredText de sphinx autodoc? Aprendí que “el proceso de comstackción de CPython docs no tiene habilitado […]

¿Hay una buena manera de producir documentación para interfaces swig?

Me gustaría saber si existen buenas técnicas para construir / mantener documentación en la interfaz. Estoy creando una interfaz de código c ++ a python usando swig; en su mayoría solo estoy% incluyendo los archivos de cabecera c ++. Estoy tratando con al menos docenas de clases y cientos de funciones, por lo que se […]

¿Cómo puedo hacer que los atributos del objeto de documento Python / Sphinx se declaren solo en __init__?

Tengo clases de Python con atributos de objeto que solo se declaran como parte de la ejecución del constructor, así: class Foo(object): def __init__(self, base): self.basepath = base temp = [] for run in os.listdir(self.basepath): if self.foo(run): temp.append(run) self.availableruns = tuple(sorted(temp)) Si ahora uso la help(Foo) o bash documentar Foo en Sphinx, los self.basepath y […]

¿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: […]