<div dir="ltr">These links don&#39;t work for me.</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Aug 18, 2014 at 3:16 PM, Ian Rees <span dir="ltr">&lt;<a href="mailto:irees@lbl.gov" target="_blank">irees@lbl.gov</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m using a separate build configuration for the docs. You can view<br>
the nightly results here:<br>
<br>
<a href="http://cci-vm-6.lbl.gov:8010/builders/cctbx%2Bdocs-linux-64" target="_blank">http://cci-vm-6.lbl.gov:8010/builders/cctbx%2Bdocs-linux-64</a><br>
<br>
If you click the first build, you can view the log files for each<br>
step, and view the Sphinx log file by clicking &quot;docs:cctbx stdio&quot;,<br>
e.g.<br>
<br>
<a href="http://cci-vm-6.lbl.gov:8010/builders/cctbx%2Bdocs-linux-64/builds/6/steps/docs%3Acctbx/logs/stdio" target="_blank">http://cci-vm-6.lbl.gov:8010/builders/cctbx%2Bdocs-linux-64/builds/6/steps/docs%3Acctbx/logs/stdio</a><br>


<br>
I&#39;m working through the warnings now. Mostly missing references and<br>
import errors.<br>
<span class="HOEnZb"><font color="#888888"><br>
Ian<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
On Fri, Aug 15, 2014 at 8:37 AM, Nathaniel Echols &lt;<a href="mailto:nechols@lbl.gov">nechols@lbl.gov</a>&gt; wrote:<br>
&gt; On Fri, Aug 15, 2014 at 8:06 AM, Richard Gildea &lt;<a href="mailto:rgildea@gmail.com">rgildea@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; I had a go at starting to document cctbx.uctbx.unit_cell, which as you<br>
&gt;&gt; know is mainly a Boost.Python extension<br>
&gt;&gt; (<a href="https://sourceforge.net/p/cctbx/code/20467/" target="_blank">https://sourceforge.net/p/cctbx/code/20467/</a>). Before I travel too much<br>
&gt;&gt; further down this route, is this an appropriate way of documenting<br>
&gt;&gt; Boost.Python extensions or is there a better way we can do this?<br>
&gt;<br>
&gt;<br>
&gt; I haven&#39;t had enough time to experiment to decide on the best approach.  I<br>
&gt; see three choices - the first is what you&#39;ve done:<br>
&gt;<br>
&gt; class my_class (ext.my_class) :<br>
&gt;   &quot;&quot;&quot;doc&quot;&quot;&quot;<br>
&gt;<br>
&gt;   def boosted_function (self, some_argument) :<br>
&gt;     &quot;&quot;&quot;function doc&quot;&quot;&quot;<br>
&gt;     super(ext.my_class, self).boosted_function(some_argument)<br>
&gt;<br>
&gt; OR (2):<br>
&gt;<br>
&gt; ext.my_class.__doc__ = &quot;&quot;&quot;doc&quot;&quot;&quot;<br>
&gt; ext.my_class.boosted_function.__func__.__doc__ = &quot;&quot;&quot;function doc&quot;&quot;&quot;<br>
&gt;<br>
&gt; OR (3):<br>
&gt;<br>
&gt; put the docstrings in C++ code, for instance:<br>
&gt;<br>
&gt; .def(&quot;boosted_function&quot;, &amp;my_class::boosted_function, &quot;function doc&quot;)<br>
&gt;<br>
&gt; (not sure what the equivalent is for classes but it&#39;s probably pretty<br>
&gt; similar)<br>
&gt;<br>
&gt; My opinion is that (1) is much too prone to confusion and API conflicts<br>
&gt; unless we&#39;re already using this code structure (and FYI, you broke the call<br>
&gt; signatures for a couple of methods).  (3) is just gross.  (2) is also gross<br>
&gt; but has the virtue of being the least likely to break, and doesn&#39;t require<br>
&gt; modifying C++ files.  So I&#39;m inclined to take that approach<br>
&gt;<br>
&gt; (For what it&#39;s worth, when modifying a class using the boost.python<br>
&gt; injector, we appear to be able to set __doc__ inside there; see<br>
&gt; iotbx.pdb.hierarchy for an example.)<br>
&gt;<br>
&gt;&gt; It would be good to get the documentation for the core cctbx classes up<br>
&gt;&gt; and running, however several of the core classes (e.g.<br>
&gt;&gt; cctbx.sgtbx.space_group, cctbx.uctbx.unit_cell, flex arrays) are mostly<br>
&gt;&gt; Boost.Python extensions, so it would be good to arrive at a sensible way to<br>
&gt;&gt; document these extensions.<br>
&gt;<br>
&gt;<br>
&gt; Agreed.  I think for flex arrays we will be stuck writing the docstrings in<br>
&gt; C++ - however since these are relatively stable APIs it should be reasonably<br>
&gt; straightforward.<br>
&gt;<br>
&gt; -Nat<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Nigel W. Moriarty<br>Building 64R0246B, Physical Biosciences Division<br>Lawrence Berkeley National Laboratory<br>Berkeley, CA 94720-8235<br>Phone : 510-486-5709     Email : NWMoriarty@LBL.gov<br>

Fax   : 510-486-5909       Web  : <a href="http://CCI.LBL.gov">CCI.LBL.gov</a>
</div>