documentation generator based on pyparsing
Hi, At http://scipy.org/Generate_Documentation you can find a very small documentation generator for NumPy/SciPy modules based on pyparsing package (by Paul McGuire). I am not sure if this belongs to where I put it, so feel free to (re)move the page as needed. I hope it might be interesting for you. r.
On Wed, 28 Nov 2007 11:29:20 +0100 Robert Cimrman <cimrman3@ntc.zcu.cz> wrote:
Hi,
At http://scipy.org/Generate_Documentation you can find a very small documentation generator for NumPy/SciPy modules based on pyparsing package (by Paul McGuire). I am not sure if this belongs to where I put it, so feel free to (re)move the page as needed. I hope it might be interesting for you.
r.
_______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion
Hi Robert, The output of ./gendocs.py -m 'scipy.linsolve.umfpack' differs from your example output (available at http://scipy.org/Generate_Documentation) ./gendocs.py -m 'scipy.linsolve.umfpack' generating docs for "scipy.linsolve.umfpack"... output LaTeX source file: ./scipy.linsolve.umfpack.tex ['Contains'] ['Description', '-------------'] ['Installation', '--------------'] ['Examples', '----------'] ['Arguments of UmfpackContext solution methods', '----------------------------------------------'] ['Setting control parameters', '----------------------------'] ['Author'] ['Other contributors'] ['UmfpackContext class'] This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) entering extended mode (./scipy.linsolve.umfpack.tex LaTeX2e <2003/12/01> Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur kish, ukrainian, nohyphenation, loaded. (/usr/share/texmf/tex/latex/base/article.cls Document Class: article 2004/02/16 v1.4f Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size10.clo)) (/usr/share/texmf/tex/latex/tools/bm.sty) (/usr/share/texmf/tex/latex/a4wide/a4wide.sty (/usr/share/texmf/tex/latex/ntgclass/a4.sty)) ! Undefined control sequence. l.12 \set (/usr/share/texmf/tex/latex/graphics/graphicx.sty (/usr/share/texmf/tex/latex/graphics/keyval.sty) (/usr/share/texmf/tex/latex/graphics/graphics.sty (/usr/share/texmf/tex/latex/graphics/trig.sty) (/usr/share/texmf/tex/latex/graphics/graphics.cfg) (/usr/share/texmf/tex/latex/graphics/pdftex.def))) (./scipy.linsolve.umfpack.aux) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex .map}] (./scipy.linsolve.umfpack.toc) [1] Overfull \hbox (32.25606pt too wide) in paragraph at lines 66--69 \OT1/cmr/m/n/10 A. Davis. All Rights Re-served. UMF-PACK home-page: http://www. cise.ufl.edu/research/sparse/umfpack Overfull \hbox (68.30923pt too wide) in paragraph at lines 84--88 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UMFPACK/UMFPACK/Lib in-clude []dirs = <dir>/UMFPACK/UMFPACK/Include Overfull \hbox (90.36482pt too wide) in paragraph at lines 91--95 []\OT1/cmr/m/n/10 [amd] li-brary[]dirs = <dir>/UFsparse/AMD/Lib in-clude[]dirs = <dir>/UFsparse/AMD/Include, <dir>/UFsparse/UFconfig Overfull \hbox (49.97585pt too wide) in paragraph at lines 96--100 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UFsparse/UMFPACK/Lib in-clud e[]dirs = <dir>/UFsparse/UMFPACK/Include, ! You can't use `macro parameter character #' in vertical mode. l.109 # Contruct the solver. ! You can't use `macro parameter character #' in horizontal mode. l.110 umfpack = um.UmfpackContext() # Use default 'di' family of UMFPACK rou... ! You can't use `macro parameter character #' in vertical mode. l.112 # One-shot solution. ! You can't use `macro parameter character #' in horizontal mode. l.114 # same as: ! You can't use `macro parameter character #' in vertical mode. l.119 # Make LU decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.122 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in horizontal mode. l.125 # same as: Overfull \hbox (6.97574pt too wide) in paragraph at lines 119--128 \OT1/cmr/m/n/10 umf-pack( um.UMFPACK[]A, mtx, rhs1, au-to-Trans-pose = True ) s ol2 = umf-pack( um.UMFPACK[]A, ! You can't use `macro parameter character #' in vertical mode. l.131 # Make symbolic decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.133 # Print statistics. Overfull \hbox (14.16289pt too wide) in paragraph at lines 131--135 []\OT1/cmr/m/n/10 Make sym-bolic de-com-po-si-tion. umf-pack.symbolic( mtx0 ) Print statis-tics. umf-pack.report[]symbolic() ! You can't use `macro parameter character #' in vertical mode. l.138 # Make LU decomposition of mtx1 which has same structure as mtx0. ! You can't use `macro parameter character #' in horizontal mode. l.140 # Print statistics. ! You can't use `macro parameter character #' in vertical mode. l.143 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in vertical mode. l.148 # Make LU decomposition of mtx2 which has same structure as mtx0. ! You can't use `macro parameter character #' in vertical mode. l.152 # Print all statistics. ! You can't use `macro parameter character #' in vertical mode. l.157 # Get LU factors and permutation matrices of a matrix. [2] ! You can't use `macro parameter character #' in horizontal mode. l.197 umfpack.control[um.UMFPACK\_PRL] = 4 # Let's be more verbose. [3] (./scipy.linsolve.umfpack.aux) ) (see the transcript file for additional information)</usr/share/texmf/fonts/typ e1/bluesky/cm/cmr10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmbx10.pfb></u sr/share/texmf/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf/fonts/type1/ bluesky/cm/cmr12.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr17.pfb> Output written on scipy.linsolve.umfpack.pdf (4 pages, 49489 bytes). Transcript written on scipy.linsolve.umfpack.log. This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) entering extended mode (./scipy.linsolve.umfpack.tex LaTeX2e <2003/12/01> Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur kish, ukrainian, nohyphenation, loaded. (/usr/share/texmf/tex/latex/base/article.cls Document Class: article 2004/02/16 v1.4f Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size10.clo)) (/usr/share/texmf/tex/latex/tools/bm.sty) (/usr/share/texmf/tex/latex/a4wide/a4wide.sty (/usr/share/texmf/tex/latex/ntgclass/a4.sty)) ! Undefined control sequence. l.12 \set (/usr/share/texmf/tex/latex/graphics/graphicx.sty (/usr/share/texmf/tex/latex/graphics/keyval.sty) (/usr/share/texmf/tex/latex/graphics/graphics.sty (/usr/share/texmf/tex/latex/graphics/trig.sty) (/usr/share/texmf/tex/latex/graphics/graphics.cfg) (/usr/share/texmf/tex/latex/graphics/pdftex.def))) (./scipy.linsolve.umfpack.aux) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex .map}] (./scipy.linsolve.umfpack.toc) [1] Overfull \hbox (32.25606pt too wide) in paragraph at lines 66--69 \OT1/cmr/m/n/10 A. Davis. All Rights Re-served. UMF-PACK home-page: http://www. cise.ufl.edu/research/sparse/umfpack Overfull \hbox (68.30923pt too wide) in paragraph at lines 84--88 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UMFPACK/UMFPACK/Lib in-clude []dirs = <dir>/UMFPACK/UMFPACK/Include Overfull \hbox (90.36482pt too wide) in paragraph at lines 91--95 []\OT1/cmr/m/n/10 [amd] li-brary[]dirs = <dir>/UFsparse/AMD/Lib in-clude[]dirs = <dir>/UFsparse/AMD/Include, <dir>/UFsparse/UFconfig Overfull \hbox (49.97585pt too wide) in paragraph at lines 96--100 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UFsparse/UMFPACK/Lib in-clud e[]dirs = <dir>/UFsparse/UMFPACK/Include, ! You can't use `macro parameter character #' in vertical mode. l.109 # Contruct the solver. ! You can't use `macro parameter character #' in horizontal mode. l.110 umfpack = um.UmfpackContext() # Use default 'di' family of UMFPACK rou... ! You can't use `macro parameter character #' in vertical mode. l.112 # One-shot solution. ! You can't use `macro parameter character #' in horizontal mode. l.114 # same as: ! You can't use `macro parameter character #' in vertical mode. l.119 # Make LU decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.122 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in horizontal mode. l.125 # same as: Overfull \hbox (6.97574pt too wide) in paragraph at lines 119--128 \OT1/cmr/m/n/10 umf-pack( um.UMFPACK[]A, mtx, rhs1, au-to-Trans-pose = True ) s ol2 = umf-pack( um.UMFPACK[]A, ! You can't use `macro parameter character #' in vertical mode. l.131 # Make symbolic decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.133 # Print statistics. Overfull \hbox (14.16289pt too wide) in paragraph at lines 131--135 []\OT1/cmr/m/n/10 Make sym-bolic de-com-po-si-tion. umf-pack.symbolic( mtx0 ) Print statis-tics. umf-pack.report[]symbolic() ! You can't use `macro parameter character #' in vertical mode. l.138 # Make LU decomposition of mtx1 which has same structure as mtx0. ! You can't use `macro parameter character #' in horizontal mode. l.140 # Print statistics. ! You can't use `macro parameter character #' in vertical mode. l.143 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in vertical mode. l.148 # Make LU decomposition of mtx2 which has same structure as mtx0. ! You can't use `macro parameter character #' in vertical mode. l.152 # Print all statistics. ! You can't use `macro parameter character #' in vertical mode. l.157 # Get LU factors and permutation matrices of a matrix. [2] ! You can't use `macro parameter character #' in horizontal mode. l.197 umfpack.control[um.UMFPACK\_PRL] = 4 # Let's be more verbose. [3] (./scipy.linsolve.umfpack.aux) ) (see the transcript file for additional information)</usr/share/texmf/fonts/typ e1/bluesky/cm/cmr10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmbx10.pfb></u sr/share/texmf/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf/fonts/type1/ bluesky/cm/cmr12.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr17.pfb> Output written on scipy.linsolve.umfpack.pdf (4 pages, 49489 bytes). Transcript written on scipy.linsolve.umfpack.log. This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) entering extended mode (./scipy.linsolve.umfpack.tex LaTeX2e <2003/12/01> Babel <v3.8d> and hyphenation patterns for american, french, german, ngerman, b ahasa, basque, bulgarian, catalan, croatian, czech, danish, dutch, esperanto, e stonian, finnish, greek, icelandic, irish, italian, latin, magyar, norsk, polis h, portuges, romanian, russian, serbian, slovak, slovene, spanish, swedish, tur kish, ukrainian, nohyphenation, loaded. (/usr/share/texmf/tex/latex/base/article.cls Document Class: article 2004/02/16 v1.4f Standard LaTeX document class (/usr/share/texmf/tex/latex/base/size10.clo)) (/usr/share/texmf/tex/latex/tools/bm.sty) (/usr/share/texmf/tex/latex/a4wide/a4wide.sty (/usr/share/texmf/tex/latex/ntgclass/a4.sty)) ! Undefined control sequence. l.12 \set (/usr/share/texmf/tex/latex/graphics/graphicx.sty (/usr/share/texmf/tex/latex/graphics/keyval.sty) (/usr/share/texmf/tex/latex/graphics/graphics.sty (/usr/share/texmf/tex/latex/graphics/trig.sty) (/usr/share/texmf/tex/latex/graphics/graphics.cfg) (/usr/share/texmf/tex/latex/graphics/pdftex.def))) (./scipy.linsolve.umfpack.aux) [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex .map}] (./scipy.linsolve.umfpack.toc) [1] Overfull \hbox (32.25606pt too wide) in paragraph at lines 66--69 \OT1/cmr/m/n/10 A. Davis. All Rights Re-served. UMF-PACK home-page: http://www. cise.ufl.edu/research/sparse/umfpack Overfull \hbox (68.30923pt too wide) in paragraph at lines 84--88 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UMFPACK/UMFPACK/Lib in-clude []dirs = <dir>/UMFPACK/UMFPACK/Include Overfull \hbox (90.36482pt too wide) in paragraph at lines 91--95 []\OT1/cmr/m/n/10 [amd] li-brary[]dirs = <dir>/UFsparse/AMD/Lib in-clude[]dirs = <dir>/UFsparse/AMD/Include, <dir>/UFsparse/UFconfig Overfull \hbox (49.97585pt too wide) in paragraph at lines 96--100 []\OT1/cmr/m/n/10 [umfpack] li-brary[]dirs = <dir>/UFsparse/UMFPACK/Lib in-clud e[]dirs = <dir>/UFsparse/UMFPACK/Include, ! You can't use `macro parameter character #' in vertical mode. l.109 # Contruct the solver. ! You can't use `macro parameter character #' in horizontal mode. l.110 umfpack = um.UmfpackContext() # Use default 'di' family of UMFPACK rou... ! You can't use `macro parameter character #' in vertical mode. l.112 # One-shot solution. ! You can't use `macro parameter character #' in horizontal mode. l.114 # same as: ! You can't use `macro parameter character #' in vertical mode. l.119 # Make LU decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.122 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in horizontal mode. l.125 # same as: Overfull \hbox (6.97574pt too wide) in paragraph at lines 119--128 \OT1/cmr/m/n/10 umf-pack( um.UMFPACK[]A, mtx, rhs1, au-to-Trans-pose = True ) s ol2 = umf-pack( um.UMFPACK[]A, ! You can't use `macro parameter character #' in vertical mode. l.131 # Make symbolic decomposition. ! You can't use `macro parameter character #' in horizontal mode. l.133 # Print statistics. Overfull \hbox (14.16289pt too wide) in paragraph at lines 131--135 []\OT1/cmr/m/n/10 Make sym-bolic de-com-po-si-tion. umf-pack.symbolic( mtx0 ) Print statis-tics. umf-pack.report[]symbolic() ! You can't use `macro parameter character #' in vertical mode. l.138 # Make LU decomposition of mtx1 which has same structure as mtx0. ! You can't use `macro parameter character #' in horizontal mode. l.140 # Print statistics. ! You can't use `macro parameter character #' in vertical mode. l.143 # Use already LU-decomposed matrix. ! You can't use `macro parameter character #' in vertical mode. l.148 # Make LU decomposition of mtx2 which has same structure as mtx0. ! You can't use `macro parameter character #' in vertical mode. l.152 # Print all statistics. ! You can't use `macro parameter character #' in vertical mode. l.157 # Get LU factors and permutation matrices of a matrix. [2] ! You can't use `macro parameter character #' in horizontal mode. l.197 umfpack.control[um.UMFPACK\_PRL] = 4 # Let's be more verbose. [3] (./scipy.linsolve.umfpack.aux) ) (see the transcript file for additional information)</usr/share/texmf/fonts/typ e1/bluesky/cm/cmr10.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmbx10.pfb></u sr/share/texmf/fonts/type1/bluesky/cm/cmbx12.pfb></usr/share/texmf/fonts/type1/ bluesky/cm/cmr12.pfb></usr/share/texmf/fonts/type1/bluesky/cm/cmr17.pfb> Output written on scipy.linsolve.umfpack.pdf (4 pages, 49489 bytes). Transcript written on scipy.linsolve.umfpack.log. How can I fix the problem ? Nils
Hi Nils, Nils Wagner wrote:
The output of
./gendocs.py -m 'scipy.linsolve.umfpack'
differs from your example output (available at http://scipy.org/Generate_Documentation)
I had to update the umfpack info.py file (where the module docstring is) to conform the documentation standards. The gendocs.py relies on that, so use, please, the newest SVN version of scipy - it should work with rev. 3601 and later. r.
On Thu, 29 Nov 2007 10:01:26 +0100 Robert Cimrman <cimrman3@ntc.zcu.cz> wrote:
Hi Nils,
Nils Wagner wrote:
The output of
./gendocs.py -m 'scipy.linsolve.umfpack'
differs from your example output (available at http://scipy.org/Generate_Documentation)
I had to update the umfpack info.py file (where the module docstring is) to conform the documentation standards. The gendocs.py relies on that, so use, please, the newest SVN version of scipy - it should work with rev. 3601 and later.
Hi Robert, Thank you for your note. It works fine for me with python2.5. However python2.3 results in ./gendocs.py -m 'scipy.linsolve.umfpack' Traceback (most recent call last): File "./gendocs.py", line 261, in ? main() File "./gendocs.py", line 207, in main default = 1, help = help['page'] ) File "/usr/lib64/python2.3/optparse.py", line 820, in add_option option = self.option_class(*args, **kwargs) File "/usr/lib64/python2.3/optparse.py", line 430, in __init__ checker(self) File "/usr/lib64/python2.3/optparse.py", line 499, in _check_type raise OptionError("invalid option type: %r" % self.type, self) optparse.OptionError: option -p/--page: invalid option type: <type 'int'> How can I resolve this problem ? Nils
Nils Wagner wrote:
Thank you for your note. It works fine for me with python2.5. However python2.3 results in
./gendocs.py -m 'scipy.linsolve.umfpack' Traceback (most recent call last): File "./gendocs.py", line 261, in ? main() File "./gendocs.py", line 207, in main default = 1, help = help['page'] ) File "/usr/lib64/python2.3/optparse.py", line 820, in add_option option = self.option_class(*args, **kwargs) File "/usr/lib64/python2.3/optparse.py", line 430, in __init__ checker(self) File "/usr/lib64/python2.3/optparse.py", line 499, in _check_type raise OptionError("invalid option type: %r" % self.type, self) optparse.OptionError: option -p/--page: invalid option type: <type 'int'>
How can I resolve this problem ?
In gendocs.py, line 205, try to replace 'type = int' with 'type = "int"': parser.add_option( "-p", "--page", metavar = 'page', type = "int", action = "store", dest = "page", default = 1, help = help['page'] ) thanks for reporting bugs, r.
On Fri, 30 Nov 2007 09:48:09 +0100 Robert Cimrman <cimrman3@ntc.zcu.cz> wrote:
Nils Wagner wrote:
Thank you for your note. It works fine for me with python2.5. However python2.3 results in
./gendocs.py -m 'scipy.linsolve.umfpack' Traceback (most recent call last): File "./gendocs.py", line 261, in ? main() File "./gendocs.py", line 207, in main default = 1, help = help['page'] ) File "/usr/lib64/python2.3/optparse.py", line 820, in add_option option = self.option_class(*args, **kwargs) File "/usr/lib64/python2.3/optparse.py", line 430, in __init__ checker(self) File "/usr/lib64/python2.3/optparse.py", line 499, in _check_type raise OptionError("invalid option type: %r" % self.type, self) optparse.OptionError: option -p/--page: invalid option type: <type 'int'>
How can I resolve this problem ?
In gendocs.py, line 205, try to replace 'type = int' with 'type = "int"':
parser.add_option( "-p", "--page", metavar = 'page', type = "int", action = "store", dest = "page", default = 1, help = help['page'] )
thanks for reporting bugs, r.
Great ! Thank you very much ! It works for me. Cheers, Nils
participants (2)
-
Nils Wagner
-
Robert Cimrman