Differences between revisions 1 and 2
Revision 1 as of 2017-01-09 21:48:16
Size: 2227
Editor: nthiery
Comment:
Revision 2 as of 2017-01-09 21:54:09
Size: 2280
Editor: nthiery
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
# Documentation tools: Sphinx, ... = Documentation tools: Sphinx, ... =
Line 3: Line 3:
## Autodoc == Autodoc ==
Line 7: Line 7:
## Upgrading to Sphinx 1.4 == Upgrading to Sphinx 1.4 ==
Line 12: Line 12:
Line 13: Line 14:
Line 14: Line 16:
Line 18: Line 21:
## Getting rid of autogenerated .rst stub files == Getting rid of autogenerated .rst stub files ==
Line 21: Line 24:
Line 22: Line 26:
Line 23: Line 28:
Line 27: Line 33:
## Multidoc == Multidoc ==
Line 32: Line 38:
Line 33: Line 40:
Line 35: Line 43:
## Analyzis of the memory footprint of Sphinx (Florent, Robert, Julien) == Analyzis of the memory footprint of Sphinx (Florent, Robert, Julien) ==
Line 41: Line 49:
Line 42: Line 51:
Line 44: Line 54:
# Jupyter notebook exporter for Sphinx == Jupyter notebook exporter for Sphinx ==
Line 48: Line 58:
# To be discussed with Robert: == To be discussed with Robert: ==
Line 52: Line 62:
# Random notes == Random notes ==
Line 55: Line 65:
Line 56: Line 67:

Documentation tools: Sphinx, ...

Autodoc

- Jeroen worked on autodoc and partially "unforked" it. The Sage-specific fixes were kept, but sage_autodoc is now much closer to upstream than before. See http://trac.sagemath.org/ticket/20359

Upgrading to Sphinx 1.4

Robert worked on generating Sage docs with native Sphinx.

This should bring:

- native support parallelism

- removal of some hacks for Cython support

- ...

Sphinx 1.4 now mostly works, but the merging of the final index breaks badly: http://trac.sagemath.org/ticket/18497

Getting rid of autogenerated .rst stub files

Goals:

- simpler build system (no need to maintain essentially duplicate information)

- more robust build w.r.t. deleting python files

- cleaner, ...

Robert started implementing the required features in Sphinx master

Multidoc

TODO: Florent: status report

- Since 1.3, Sphinx can also read in parallel.

- [robert] sphinx-build -j ${NUMBER_OF_SAGE_DOC_PACKAGES} should ideally have the same effect.

- Original PR: https://bitbucket.org/birkenfeld/sphinx/pull-requests/108/wip-parallel-build-experimentation/diff

Analyzis of the memory footprint of Sphinx (Florent, Robert, Julien)

Analysis:

- A large cache is kept in memory for autofunction and automethods. Since we only use automodule, it could be dropped once the docstring of the module is analysed (TODO Upstream).

  • The cache is filled with all docstring encoded in UCS32. Some string are 3BM large.

- Unpickling the environment and doctrees files takes anound 1.6GB that's what we might hope as a measure of peak memory consumption.

- The parallel compiling doesn't seem to increase significantly the needed memory.

Jupyter notebook exporter for Sphinx

Robert pointed to preliminary work by Harald Schilly: https://github.com/sphinx-doc/sphinx/pull/2117

To be discussed with Robert:

- Error reporting of Sphinx when documenting API. How to locate the error.?

Random notes

- Discussion on "inspect" I do not get because I do not know what "inspect" is

- This is time consuming: each time one has to rebuild the whole documentation.

- Jeroen is concerned about images in the docs and build times.

days77/documentation (last edited 2017-01-20 07:38:54 by nthiery)