Skip to content

Commit

Permalink
deploy: e090e7b
Browse files Browse the repository at this point in the history
  • Loading branch information
rsokl committed Apr 28, 2024
1 parent 483da57 commit 3b8334e
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 3 deletions.
28 changes: 26 additions & 2 deletions docs/_modules/hydra_zen/structured_configs/_implementations.html
Original file line number Diff line number Diff line change
Expand Up @@ -404,7 +404,7 @@ <h1>Source code for hydra_zen.structured_configs._implementations</h1><div class
<span class="kn">import</span> <span class="nn">inspect</span>
<span class="kn">import</span> <span class="nn">sys</span>
<span class="kn">import</span> <span class="nn">warnings</span>
<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">Counter</span><span class="p">,</span> <span class="n">deque</span>
<span class="kn">from</span> <span class="nn">collections</span> <span class="kn">import</span> <span class="n">Counter</span><span class="p">,</span> <span class="n">defaultdict</span><span class="p">,</span> <span class="n">deque</span>
<span class="kn">from</span> <span class="nn">collections.abc</span> <span class="kn">import</span> <span class="n">Collection</span>
<span class="kn">from</span> <span class="nn">dataclasses</span> <span class="kn">import</span> <span class="p">(</span> <span class="c1"># use this for runtime checks</span>
<span class="n">MISSING</span><span class="p">,</span>
Expand Down Expand Up @@ -472,7 +472,7 @@ <h1>Source code for hydra_zen.structured_configs._implementations</h1><div class
<span class="n">HydraZenUnsupportedPrimitiveError</span><span class="p">,</span>
<span class="n">HydraZenValidationError</span><span class="p">,</span>
<span class="p">)</span>
<span class="kn">from</span> <span class="nn">hydra_zen.funcs</span> <span class="kn">import</span> <span class="n">get_obj</span>
<span class="kn">from</span> <span class="nn">hydra_zen.funcs</span> <span class="kn">import</span> <span class="n">as_default_dict</span><span class="p">,</span> <span class="n">get_obj</span>
<span class="kn">from</span> <span class="nn">hydra_zen.structured_configs</span> <span class="kn">import</span> <span class="n">_utils</span>
<span class="kn">from</span> <span class="nn">hydra_zen.structured_configs._type_guards</span> <span class="kn">import</span> <span class="n">safe_getattr</span>
<span class="kn">from</span> <span class="nn">hydra_zen.typing</span> <span class="kn">import</span> <span class="p">(</span>
Expand Down Expand Up @@ -4171,6 +4171,30 @@ <h1>Source code for hydra_zen.structured_configs._implementations</h1><div class
<span class="k">del</span> <span class="n">CBuildsFn</span>


<span class="nd">@dataclass</span><span class="p">(</span><span class="n">unsafe_hash</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
<span class="k">class</span> <span class="nc">ConfigFromDefaultDict</span><span class="p">:</span>
<span class="n">dict_</span><span class="p">:</span> <span class="n">Dict</span><span class="p">[</span><span class="n">Any</span><span class="p">,</span> <span class="n">Any</span><span class="p">]</span>
<span class="n">default_factory</span><span class="p">:</span> <span class="n">Any</span> <span class="o">=</span> <span class="n">field</span><span class="p">(</span><span class="n">init</span><span class="o">=</span><span class="kc">False</span><span class="p">)</span>
<span class="n">CBuildsFn</span><span class="p">:</span> <span class="n">InitVar</span><span class="p">[</span><span class="n">Type</span><span class="p">[</span><span class="n">BuildsFn</span><span class="p">[</span><span class="n">Any</span><span class="p">]]]</span>
<span class="n">_target_</span><span class="p">:</span> <span class="nb">str</span> <span class="o">=</span> <span class="n">BuildsFn</span><span class="o">.</span><span class="n">_get_obj_path</span><span class="p">(</span><span class="n">as_default_dict</span><span class="p">)</span>

<span class="k">def</span> <span class="nf">__post_init__</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">CBuildsFn</span><span class="p">:</span> <span class="n">Type</span><span class="p">[</span><span class="n">BuildsFn</span><span class="p">[</span><span class="n">Any</span><span class="p">]])</span> <span class="o">-&gt;</span> <span class="kc">None</span><span class="p">:</span>
<span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dict_</span><span class="p">,</span> <span class="n">defaultdict</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">default_factory</span> <span class="o">=</span> <span class="n">CBuildsFn</span><span class="o">.</span><span class="n">just</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dict_</span><span class="o">.</span><span class="n">default_factory</span><span class="p">)</span>
<span class="n">out</span> <span class="o">=</span> <span class="n">CBuildsFn</span><span class="o">.</span><span class="n">_make_hydra_compatible</span><span class="p">(</span>
<span class="nb">dict</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">dict_</span><span class="p">),</span>
<span class="n">convert_dataclass</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">allow_zen_conversion</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="n">structured_conf_permitted</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span>
<span class="p">)</span>
<span class="k">assert</span> <span class="nb">isinstance</span><span class="p">(</span><span class="n">out</span><span class="p">,</span> <span class="nb">dict</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">dict_</span> <span class="o">=</span> <span class="n">out</span>


<span class="n">ZEN_VALUE_CONVERSION</span><span class="p">[</span><span class="n">defaultdict</span><span class="p">]</span> <span class="o">=</span> <span class="k">lambda</span> <span class="n">dict_</span><span class="p">,</span> <span class="n">CBuildsFn</span><span class="p">:</span> <span class="n">ConfigFromDefaultDict</span><span class="p">(</span>
<span class="n">dict_</span><span class="p">,</span> <span class="n">CBuildsFn</span>
<span class="p">)</span>

<span class="n">ZEN_VALUE_CONVERSION</span><span class="p">[</span><span class="nb">set</span><span class="p">]</span> <span class="o">=</span> <span class="n">partial</span><span class="p">(</span>
<span class="n">ConfigFromTuple</span><span class="p">,</span> <span class="n">_target_</span><span class="o">=</span><span class="n">BuildsFn</span><span class="o">.</span><span class="n">_get_obj_path</span><span class="p">(</span><span class="nb">set</span><span class="p">)</span>
<span class="p">)</span>
Expand Down
1 change: 1 addition & 0 deletions docs/_sources/api_reference.rst.txt
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ hydra-zen provides specialized auto-config support for values of the following t
- :py:class:`bytearray`
- :py:class:`complex`
- :py:class:`collections.Counter`
- :py:class:`collections.defaultdict`
- :py:class:`collections.deque`
- :py:class:`datetime.timedelta`
- :py:func:`functools.partial` (note: not compatible with pickling)
Expand Down
1 change: 1 addition & 0 deletions docs/api_reference.html
Original file line number Diff line number Diff line change
Expand Up @@ -511,6 +511,7 @@ <h3>Types Supported Natively by Hydra<a class="headerlink" href="#types-supporte
<li><p><a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#bytearray" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">bytearray</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/functions.html#complex" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">complex</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/collections.html#collections.Counter" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">collections.Counter</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/collections.html#collections.defaultdict" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">collections.defaultdict</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/collections.html#collections.deque" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">collections.deque</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/datetime.html#datetime.timedelta" title="(in Python v3.12)"><code class="xref py py-class docutils literal notranslate"><span class="pre">datetime.timedelta</span></code></a></p></li>
<li><p><a class="reference external" href="https://docs.python.org/3/library/functools.html#functools.partial" title="(in Python v3.12)"><code class="xref py py-func docutils literal notranslate"><span class="pre">functools.partial()</span></code></a> (note: not compatible with pickling)</p></li>
Expand Down
2 changes: 1 addition & 1 deletion docs/searchindex.js

Large diffs are not rendered by default.

0 comments on commit 3b8334e

Please sign in to comment.