Skip to content

Commit

Permalink
Finish 0.6.1
Browse files Browse the repository at this point in the history
  • Loading branch information
cgarciae committed Dec 28, 2016
2 parents 03e8733 + bd5a79e commit e47bbcd
Show file tree
Hide file tree
Showing 10 changed files with 209 additions and 61 deletions.
2 changes: 1 addition & 1 deletion README.md
Expand Up @@ -632,6 +632,6 @@ assert {'a': 97, 'b': 98, 'c': 99} == Pipe(
pip install git+https://github.com/cgarciae/phi.git@develop

## Status
* Version: **0.6.0**.
* Version: **0.6.1**.
* Documentation coverage: 100%. Please create an issue if documentation is unclear, its of great priority for this library.
* Milestone: reach 1.0.0 after feedback from the community.
22 changes: 14 additions & 8 deletions docs/phi/api.m.html
Expand Up @@ -2349,7 +2349,7 @@ <h3>Examples</h3>

<div class="item">
<div class="name def" id="phi.api.Write">
<p>def <span class="ident">Write</span>(</p><p>self, **state_dict)</p>
<p>def <span class="ident">Write</span>(</p><p>self, *state_args, **state_dict)</p>
</div>


Expand All @@ -2359,15 +2359,21 @@ <h3>Examples</h3>
<div class="source_cont">
<p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-phi.api.Write', this);">Show source &equiv;</a></p>
<div id="source-phi.api.Write" class="source">
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">Write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">state_dict</span><span class="p">):</span>
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">Write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">state_args</span><span class="p">,</span> <span class="o">**</span><span class="n">state_dict</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;See `phi.dsl.Expression.Read`&quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include exactly 1 state variable, got {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_dict</span><span class="p">))</span>
<span class="n">state_key</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">state_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
<span class="n">write_expr</span> <span class="o">=</span> <span class="n">state_dict</span><span class="p">[</span><span class="n">state_key</span><span class="p">]</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span> <span class="o">&gt;&gt;</span> <span class="n">write_expr</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_args</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include at-least 1 state variable, got {0} and {1}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_args</span><span class="p">,</span> <span class="n">state_dict</span><span class="p">))</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include at-most 1 keyword argument expression, got {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_dict</span><span class="p">))</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">state_key</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">state_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
<span class="n">write_expr</span> <span class="o">=</span> <span class="n">state_dict</span><span class="p">[</span><span class="n">state_key</span><span class="p">]</span>
<span class="n">state_args</span> <span class="o">+=</span> <span class="p">(</span><span class="n">state_key</span><span class="p">,)</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span> <span class="o">&gt;&gt;</span> <span class="n">write_expr</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span>
<span class="k">def</span> <span class="nf">g</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span>
<span class="n">update</span> <span class="o">=</span> <span class="p">{</span> <span class="n">state_key</span><span class="p">:</span> <span class="n">x</span> <span class="p">}</span>
<span class="n">update</span> <span class="o">=</span> <span class="p">{</span> <span class="n">key</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">state_args</span> <span class="p">}</span>
<span class="n">state</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">state</span><span class="p">,</span> <span class="n">update</span><span class="p">)</span>
<span class="c1">#side effect for convenience</span>
<span class="n">_StateContextManager</span><span class="o">.</span><span class="n">REFS</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">state</span><span class="p">)</span>
Expand Down
26 changes: 16 additions & 10 deletions docs/phi/builder.m.html
Expand Up @@ -2284,7 +2284,7 @@ <h3>Methods</h3>

<div class="item">
<div class="name def" id="phi.builder.Builder.__init__">
<p>def <span class="ident">__init__</span>(</p><p>self, f=&lt;function &lt;lambda&gt; at 0x7f3d9a925410&gt;)</p>
<p>def <span class="ident">__init__</span>(</p><p>self, f=&lt;function &lt;lambda&gt; at 0x7ffaa86a4410&gt;)</p>
</div>


Expand Down Expand Up @@ -2695,7 +2695,7 @@ <h3>Examples</h3>

<div class="item">
<div class="name def" id="phi.builder.Builder.PatchAt">
<p>def <span class="ident">PatchAt</span>(</p><p>cls, n, module, module_alias=None, method_name_modifier=&lt;function &lt;lambda&gt; at 0x7f3d9a92a6e0&gt;, blacklist_predicate=&lt;function &lt;lambda&gt; at 0x7f3d9a92a668&gt;, whitelist_predicate=&lt;function &lt;lambda&gt; at 0x7f3d9a92a5f0&gt;, return_type_predicate=&lt;function &lt;lambda&gt; at 0x7f3d9a92a6e0&gt;, getmembers_predicate=&lt;function isfunction at 0x7f3d9be49488&gt;)</p>
<p>def <span class="ident">PatchAt</span>(</p><p>cls, n, module, module_alias=None, method_name_modifier=&lt;function &lt;lambda&gt; at 0x7ffaa86a76e0&gt;, blacklist_predicate=&lt;function &lt;lambda&gt; at 0x7ffaa86a7668&gt;, whitelist_predicate=&lt;function &lt;lambda&gt; at 0x7ffaa86a75f0&gt;, return_type_predicate=&lt;function &lt;lambda&gt; at 0x7ffaa86a76e0&gt;, getmembers_predicate=&lt;function isfunction at 0x7ffaa9bc5488&gt;)</p>
</div>


Expand Down Expand Up @@ -4130,7 +4130,7 @@ <h3>Examples</h3>

<div class="item">
<div class="name def" id="phi.builder.Builder.Write">
<p>def <span class="ident">Write</span>(</p><p>self, **state_dict)</p>
<p>def <span class="ident">Write</span>(</p><p>self, *state_args, **state_dict)</p>
</div>


Expand All @@ -4140,15 +4140,21 @@ <h3>Examples</h3>
<div class="source_cont">
<p class="source_link"><a href="javascript:void(0);" onclick="toggle('source-phi.builder.Builder.Write', this);">Show source &equiv;</a></p>
<div id="source-phi.builder.Builder.Write" class="source">
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">Write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">**</span><span class="n">state_dict</span><span class="p">):</span>
<div class="codehilite"><pre><span></span><span class="k">def</span> <span class="nf">Write</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="o">*</span><span class="n">state_args</span><span class="p">,</span> <span class="o">**</span><span class="n">state_dict</span><span class="p">):</span>
<span class="sd">&quot;&quot;&quot;See `phi.dsl.Expression.Read`&quot;&quot;&quot;</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include exactly 1 state variable, got {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_dict</span><span class="p">))</span>
<span class="n">state_key</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">state_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
<span class="n">write_expr</span> <span class="o">=</span> <span class="n">state_dict</span><span class="p">[</span><span class="n">state_key</span><span class="p">]</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span> <span class="o">&gt;&gt;</span> <span class="n">write_expr</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">+</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_args</span><span class="p">)</span> <span class="o">&lt;</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include at-least 1 state variable, got {0} and {1}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_args</span><span class="p">,</span> <span class="n">state_dict</span><span class="p">))</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">:</span>
<span class="k">raise</span> <span class="ne">Exception</span><span class="p">(</span><span class="s2">&quot;Please include at-most 1 keyword argument expression, got {0}&quot;</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">state_dict</span><span class="p">))</span>
<span class="k">if</span> <span class="nb">len</span><span class="p">(</span><span class="n">state_dict</span><span class="p">)</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">:</span>
<span class="n">state_key</span> <span class="o">=</span> <span class="nb">next</span><span class="p">(</span><span class="nb">iter</span><span class="p">(</span><span class="n">state_dict</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
<span class="n">write_expr</span> <span class="o">=</span> <span class="n">state_dict</span><span class="p">[</span><span class="n">state_key</span><span class="p">]</span>
<span class="n">state_args</span> <span class="o">+=</span> <span class="p">(</span><span class="n">state_key</span><span class="p">,)</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span> <span class="o">&gt;&gt;</span> <span class="n">write_expr</span>
<span class="k">else</span><span class="p">:</span>
<span class="n">expr</span> <span class="o">=</span> <span class="bp">self</span>
<span class="k">def</span> <span class="nf">g</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">state</span><span class="p">):</span>
<span class="n">update</span> <span class="o">=</span> <span class="p">{</span> <span class="n">state_key</span><span class="p">:</span> <span class="n">x</span> <span class="p">}</span>
<span class="n">update</span> <span class="o">=</span> <span class="p">{</span> <span class="n">key</span><span class="p">:</span> <span class="n">x</span> <span class="k">for</span> <span class="n">key</span> <span class="ow">in</span> <span class="n">state_args</span> <span class="p">}</span>
<span class="n">state</span> <span class="o">=</span> <span class="n">utils</span><span class="o">.</span><span class="n">merge</span><span class="p">(</span><span class="n">state</span><span class="p">,</span> <span class="n">update</span><span class="p">)</span>
<span class="c1">#side effect for convenience</span>
<span class="n">_StateContextManager</span><span class="o">.</span><span class="n">REFS</span><span class="o">.</span><span class="n">update</span><span class="p">(</span><span class="n">state</span><span class="p">)</span>
Expand Down

0 comments on commit e47bbcd

Please sign in to comment.