<div dir="ltr">Thanks to some superb work by Nader Morshed, Oliver Zeldin, and Ian Rees, we now have automatically updated Sphinx docs for CCTBX:<div><br></div><div><a href="http://cci.lbl.gov/cctbx_docs/" target="_blank" style="font-family:arial,sans-serif;font-size:13px">http://cci.lbl.gov/cctbx_docs/</a><br>

</div><div><br></div><div>Obviously these are still pretty sparse - right now most of the formal documentation is clustered here:</div><div><br></div><div>libtbx</div><div>libtbx.utils</div><div>libtbx.phil (mostly re-using Ralf&#39;s old documentation)</div>

<div>cctbx.miller</div><div>iotbx.pdb (built on Ralf&#39;s newsletter article)</div><div>mmtbx.command_line</div><div><br></div><div>These are a combination of inline docstrings and separate restructured text files in cctbx_project/sphinx.  We have automatically generated rst files for some modules, but others will need to be added manually.  In the end I think we&#39;ll want to curate every file, but the current layout will get us started.  To facilitate additional contributions, I&#39;ve modifed the installation script for base packages to include a --sphinx option.  After setting up CCTBX you can then do this:</div>

<div><br></div><div>cd $BUILD</div><div>libtbx.configure sphinx</div><div>cd $SRC/cctbx_project/sphinx</div><div>make html</div><div><br></div><div>and you will get the full documentation built locally.  I am still figuring out how to use Sphinx effectively; it is definitely possible to document Boost.Python extensions but it&#39;s not quite as obvious.</div>

<div><br></div><div>I don&#39;t expect us to retroactively document several hundred thousand lines of code written over a decade, but if we can get the core parts thoroughly covered that will greatly reduce the barrier for new developers.  Suggestions for particular modules to focus on are appreciated; I am going to try to cover the basic PDB+reflection file functionality.  I encourage anyone doing CCTBX-related development to contribute as you go.  (They don&#39;t need to be your own APIs, just modules you&#39;re reasonably familiar with.)  Those of you who already have a ton of undocumented code can expect me to harass you periodically about fixing this.</div>

<div><br></div><div>(Note that I&#39;ve cannibalized at least one newsletter article for this, and continue to do so; we should re-use existing prose descriptions as much as possible without violating copyrights.)</div><div>

<br></div><div>-Nat</div></div>