146146 </ a >
147147</ li >
148148< li class ="md-nav__item ">
149+ < a class ="md-nav__link " href ="#command-line ">
150+ Command-line
151+ </ a >
152+ </ li >
153+ < li class ="md-nav__item ">
149154< a class ="md-nav__link " href ="#configuration ">
150155 Configuration
151156 </ a >
322327 </ a >
323328</ li >
324329< li class ="md-nav__item ">
330+ < a class ="md-nav__link " href ="#command-line ">
331+ Command-line
332+ </ a >
333+ </ li >
334+ < li class ="md-nav__item ">
325335< a class ="md-nav__link " href ="#configuration ">
326336 Configuration
327337 </ a >
@@ -375,15 +385,105 @@ <h2 id="usage">Usage<a class="headerlink" href="#usage" title="Permanent link">
375385< div class ="highlight "> < pre > < span > </ span > < code > < span class ="p "> {</ span >
376386 < span class ="nt "> "objects"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
377387 < span class ="p "> {</ span >
378- < span class ="nt "> "path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "my_module.my_class "</ span > < span class ="p "> ,</ span >
388+ < span class ="nt "> "path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs "</ span > < span class ="p "> ,</ span >
379389 < span class ="nt "> "members"</ span > < span class ="p "> :</ span > < span class ="kc "> true</ span > < span class ="p "> ,</ span >
390+ < span class ="nt "> "inherited_members"</ span > < span class ="p "> :</ span > < span class ="kc "> false</ span > < span class ="p "> ,</ span >
380391 < span class ="nt "> "filters"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
381392 < span class ="s2 "> "!^_[^_]"</ span >
382- < span class ="p "> ]</ span >
393+ < span class ="p "> ],</ span >
394+ < span class ="nt "> "docstring_style"</ span > < span class ="p "> :</ span > < span class ="s2 "> "google"</ span > < span class ="p "> ,</ span >
395+ < span class ="nt "> "docstring_options"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span >
396+ < span class ="nt "> "replace_admonitions"</ span > < span class ="p "> :</ span > < span class ="kc "> true</ span >
397+ < span class ="p "> }</ span >
383398 < span class ="p "> }</ span >
384399 < span class ="p "> ]</ span >
385400< span class ="p "> }</ span >
386401</ code > </ pre > </ div >
402+ < p > Output format:</ p >
403+ < div class ="highlight "> < pre > < span > </ span > < code > < span class ="p "> {</ span >
404+ < span class ="nt "> "loading_errors"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
405+ < span class ="s2 "> "string (message)"</ span >
406+ < span class ="p "> ],</ span >
407+ < span class ="nt "> "parsing_errors"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span >
408+ < span class ="nt "> "string (object)"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
409+ < span class ="s2 "> "string (message)"</ span >
410+ < span class ="p "> ]</ span >
411+ < span class ="p "> },</ span >
412+ < span class ="nt "> "objects"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
413+ < span class ="p "> {</ span >
414+ < span class ="nt "> "name"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs"</ span > < span class ="p "> ,</ span >
415+ < span class ="nt "> "path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs"</ span > < span class ="p "> ,</ span >
416+ < span class ="nt "> "category"</ span > < span class ="p "> :</ span > < span class ="s2 "> "module"</ span > < span class ="p "> ,</ span >
417+ < span class ="nt "> "file_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "/media/data/dev/pawamoy/pytkdocs/src/pytkdocs/__init__.py"</ span > < span class ="p "> ,</ span >
418+ < span class ="nt "> "relative_file_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs/__init__.py"</ span > < span class ="p "> ,</ span >
419+ < span class ="nt "> "properties"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
420+ < span class ="s2 "> "special"</ span >
421+ < span class ="p "> ],</ span >
422+ < span class ="nt "> "parent_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs"</ span > < span class ="p "> ,</ span >
423+ < span class ="nt "> "has_contents"</ span > < span class ="p "> :</ span > < span class ="kc "> true</ span > < span class ="p "> ,</ span >
424+ < span class ="nt "> "docstring"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs package.\n\nLoad Python objects documentation."</ span > < span class ="p "> ,</ span >
425+ < span class ="nt "> "docstring_sections"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
426+ < span class ="p "> {</ span >
427+ < span class ="nt "> "type"</ span > < span class ="p "> :</ span > < span class ="s2 "> "markdown"</ span > < span class ="p "> ,</ span >
428+ < span class ="nt "> "value"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs package.\n\nLoad Python objects documentation."</ span >
429+ < span class ="p "> }</ span >
430+ < span class ="p "> ],</ span >
431+ < span class ="nt "> "source"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span >
432+ < span class ="nt "> "code"</ span > < span class ="p "> :</ span > < span class ="s2 "> "\"\"\"\npytkdocs package.\n\nLoad Python objects documentation.\n\"\"\"\n\nfrom typing import List\n\n__all__: List[str] = []\n"</ span > < span class ="p "> ,</ span >
433+ < span class ="nt "> "line_start"</ span > < span class ="p "> :</ span > < span class ="mi "> 1</ span >
434+ < span class ="p "> },</ span >
435+ < span class ="nt "> "children"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span >
436+ < span class ="nt "> "pytkdocs.__all__"</ span > < span class ="p "> :</ span > < span class ="p "> {</ span >
437+ < span class ="nt "> "name"</ span > < span class ="p "> :</ span > < span class ="s2 "> "__all__"</ span > < span class ="p "> ,</ span >
438+ < span class ="nt "> "path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs.__all__"</ span > < span class ="p "> ,</ span >
439+ < span class ="nt "> "category"</ span > < span class ="p "> :</ span > < span class ="s2 "> "attribute"</ span > < span class ="p "> ,</ span >
440+ < span class ="nt "> "file_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "/media/data/dev/pawamoy/pytkdocs/src/pytkdocs/__init__.py"</ span > < span class ="p "> ,</ span >
441+ < span class ="nt "> "relative_file_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs/__init__.py"</ span > < span class ="p "> ,</ span >
442+ < span class ="nt "> "properties"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
443+ < span class ="s2 "> "special"</ span >
444+ < span class ="p "> ],</ span >
445+ < span class ="nt "> "parent_path"</ span > < span class ="p "> :</ span > < span class ="s2 "> "pytkdocs"</ span > < span class ="p "> ,</ span >
446+ < span class ="nt "> "has_contents"</ span > < span class ="p "> :</ span > < span class ="kc "> false</ span > < span class ="p "> ,</ span >
447+ < span class ="nt "> "docstring"</ span > < span class ="p "> :</ span > < span class ="kc "> null</ span > < span class ="p "> ,</ span >
448+ < span class ="nt "> "docstring_sections"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
449+ < span class ="nt "> "source"</ span > < span class ="p "> :</ span > < span class ="p "> {},</ span >
450+ < span class ="nt "> "children"</ span > < span class ="p "> :</ span > < span class ="p "> {},</ span >
451+ < span class ="nt "> "attributes"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
452+ < span class ="nt "> "methods"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
453+ < span class ="nt "> "functions"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
454+ < span class ="nt "> "modules"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
455+ < span class ="nt "> "classes"</ span > < span class ="p "> :</ span > < span class ="p "> []</ span >
456+ < span class ="p "> }</ span >
457+ < span class ="p "> },</ span >
458+ < span class ="nt "> "attributes"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
459+ < span class ="s2 "> "pytkdocs.__all__"</ span >
460+ < span class ="p "> ],</ span >
461+ < span class ="nt "> "methods"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
462+ < span class ="nt "> "functions"</ span > < span class ="p "> :</ span > < span class ="p "> [],</ span >
463+ < span class ="nt "> "modules"</ span > < span class ="p "> :</ span > < span class ="p "> [</ span >
464+ < span class ="s2 "> "pytkdocs.__main__"</ span > < span class ="p "> ,</ span >
465+ < span class ="s2 "> "pytkdocs.cli"</ span > < span class ="p "> ,</ span >
466+ < span class ="s2 "> "pytkdocs.loader"</ span > < span class ="p "> ,</ span >
467+ < span class ="s2 "> "pytkdocs.objects"</ span > < span class ="p "> ,</ span >
468+ < span class ="s2 "> "pytkdocs.parsers"</ span > < span class ="p "> ,</ span >
469+ < span class ="s2 "> "pytkdocs.properties"</ span > < span class ="p "> ,</ span >
470+ < span class ="s2 "> "pytkdocs.serializer"</ span >
471+ < span class ="p "> ],</ span >
472+ < span class ="nt "> "classes"</ span > < span class ="p "> :</ span > < span class ="p "> []</ span >
473+ < span class ="p "> }</ span >
474+ < span class ="p "> ]</ span >
475+ < span class ="p "> }</ span >
476+ </ code > </ pre > </ div >
477+ < h2 id ="command-line "> Command-line< a class ="headerlink " href ="#command-line " title ="Permanent link "> ¤</ a > </ h2 >
478+ < p > Running < code > pytkdocs</ code > without argument will read the whole standard input,
479+ and output the result once.</ p >
480+ < p > Running < code > pytkdocs --line-by-line</ code > will enter an infinite loop,
481+ where at each iteration one line is read on the standard input,
482+ and the result is written back on one line.
483+ This allows other programs to use < code > pytkdocs</ code > in a subprocess,
484+ feeding it single lines of JSON, and reading back single lines of JSON as well.
485+ This mode was actually implemented specifically for
486+ < a href ="https://github.com/pawamoy/mkdocstrings "> mkdocstrings</ a > .</ p >
387487< h2 id ="configuration "> Configuration< a class ="headerlink " href ="#configuration " title ="Permanent link "> ¤</ a > </ h2 >
388488< p > The configuration options available are:</ p >
389489< ul >
@@ -406,6 +506,20 @@ <h2 id="configuration">Configuration<a class="headerlink" href="#configuration"
406506 If < code > True</ code > , select every members that passes filters. If < code > False</ code > , select nothing.
407507 If it's a list of names, select only those members, and apply filters on their children only.</ p >
408508</ li >
509+ < li >
510+ < p > < code > docstring_style</ code > : the docstring style to use when parsing the docstring. Only one parser available: < code > google</ code > .</ p >
511+ </ li >
512+ < li >
513+ < p > < code > docstring_options</ code > : options to pass to the docstring parser.</ p >
514+ < ul >
515+ < li > < code > google</ code > accepts a < code > replace_admonitions</ code > boolean option (default: true). When enabled, this option will
516+ replace titles of an indented block by their Markdown admonition equivalent:
517+ < code > AdmonitionType: Title</ code > will become < code > !!! admonitiontype "Title"</ code > .</ li >
518+ </ ul >
519+ </ li >
520+ < li >
521+ < p > < code > inherited_members</ code > : true or false (default). When enabled, inherited members will be selected as well.</ p >
522+ </ li >
409523</ ul >
410524</ article >
411525</ div >
0 commit comments