Skip to content

Commit df71008

Browse files
Update documentation
1 parent 10c242e commit df71008

File tree

4 files changed

+66
-4
lines changed

4 files changed

+66
-4
lines changed
0 Bytes
Binary file not shown.

main/.doctrees/environment.pickle

1.75 KB
Binary file not shown.

main/_modules/mache/deploy/bootstrap.html

Lines changed: 64 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,12 +97,29 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
9797

9898
<span class="kn">import</span><span class="w"> </span><span class="nn">argparse</span>
9999
<span class="kn">import</span><span class="w"> </span><span class="nn">os</span>
100+
<span class="kn">import</span><span class="w"> </span><span class="nn">platform</span>
100101
<span class="kn">import</span><span class="w"> </span><span class="nn">shlex</span>
101102
<span class="kn">import</span><span class="w"> </span><span class="nn">shutil</span>
102103
<span class="kn">import</span><span class="w"> </span><span class="nn">subprocess</span>
103104
<span class="kn">import</span><span class="w"> </span><span class="nn">sys</span>
104105
<span class="kn">from</span><span class="w"> </span><span class="nn">pathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">Path</span>
105106

107+
<span class="n">CONDA_PLATFORM_MAP</span> <span class="o">=</span> <span class="p">{</span>
108+
<span class="p">(</span><span class="s1">&#39;linux&#39;</span><span class="p">,</span> <span class="s1">&#39;x86_64&#39;</span><span class="p">):</span> <span class="s1">&#39;linux-64&#39;</span><span class="p">,</span>
109+
<span class="p">(</span><span class="s1">&#39;linux&#39;</span><span class="p">,</span> <span class="s1">&#39;aarch64&#39;</span><span class="p">):</span> <span class="s1">&#39;linux-aarch64&#39;</span><span class="p">,</span>
110+
<span class="p">(</span><span class="s1">&#39;linux&#39;</span><span class="p">,</span> <span class="s1">&#39;ppc64le&#39;</span><span class="p">):</span> <span class="s1">&#39;linux-ppc64le&#39;</span><span class="p">,</span>
111+
<span class="p">(</span><span class="s1">&#39;osx&#39;</span><span class="p">,</span> <span class="s1">&#39;x86_64&#39;</span><span class="p">):</span> <span class="s1">&#39;osx-64&#39;</span><span class="p">,</span>
112+
<span class="p">(</span><span class="s1">&#39;osx&#39;</span><span class="p">,</span> <span class="s1">&#39;arm64&#39;</span><span class="p">):</span> <span class="s1">&#39;osx-arm64&#39;</span><span class="p">,</span>
113+
<span class="p">}</span>
114+
115+
<span class="n">LOCAL_MACHE_SOURCE_ENV</span> <span class="o">=</span> <span class="s1">&#39;MACHE_LOCAL_SOURCE_PATH&#39;</span>
116+
<span class="n">PIXI_ENV_VARS_TO_UNSET</span> <span class="o">=</span> <span class="p">(</span>
117+
<span class="s1">&#39;PIXI_PROJECT_MANIFEST&#39;</span><span class="p">,</span>
118+
<span class="s1">&#39;PIXI_PROJECT_ROOT&#39;</span><span class="p">,</span>
119+
<span class="s1">&#39;PIXI_ENVIRONMENT_NAME&#39;</span><span class="p">,</span>
120+
<span class="s1">&#39;PIXI_IN_SHELL&#39;</span><span class="p">,</span>
121+
<span class="p">)</span>
122+
106123

107124
<div class="viewcode-block" id="check_call">
108125
<a class="viewcode-back" href="../../../developers_guide/generated/mache.deploy.bootstrap.check_call.html#mache.deploy.bootstrap.check_call">[docs]</a>
@@ -297,7 +314,7 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
297314
<span class="sd"> running a nested shell process.</span>
298315
<span class="sd"> &quot;&quot;&quot;</span>
299316
<span class="n">hook_cmd</span> <span class="o">=</span> <span class="p">(</span>
300-
<span class="s1">&#39;env -u PIXI_PROJECT_MANIFEST -u PIXI_PROJECT_ROOT &#39;</span>
317+
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">build_pixi_env_unset_prefix</span><span class="p">()</span><span class="si">}</span><span class="s1"> &#39;</span>
301318
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">shlex</span><span class="o">.</span><span class="n">quote</span><span class="p">(</span><span class="n">pixi_exe</span><span class="p">)</span><span class="si">}</span><span class="s1"> shell-hook -s bash -m &#39;</span>
302319
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">shlex</span><span class="o">.</span><span class="n">quote</span><span class="p">(</span><span class="n">pixi_toml</span><span class="p">)</span><span class="si">}</span><span class="s1">&#39;</span>
303320
<span class="p">)</span>
@@ -463,7 +480,7 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
463480

464481
<span class="n">cmd_install</span> <span class="o">=</span> <span class="p">(</span>
465482
<span class="sa">f</span><span class="s1">&#39;cd &quot;</span><span class="si">{</span><span class="n">bootstrap_dir</span><span class="si">}</span><span class="s1">&quot; &amp;&amp; &#39;</span>
466-
<span class="s1">&#39;env -u PIXI_PROJECT_MANIFEST -u PIXI_PROJECT_ROOT &#39;</span>
483+
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">build_pixi_env_unset_prefix</span><span class="p">()</span><span class="si">}</span><span class="s1"> &#39;</span>
467484
<span class="sa">f</span><span class="s1">&#39;&quot;</span><span class="si">{</span><span class="n">pixi_exe</span><span class="si">}</span><span class="s1">&quot; install&#39;</span>
468485
<span class="p">)</span>
469486
<span class="n">check_call</span><span class="p">(</span><span class="n">cmd_install</span><span class="p">,</span> <span class="n">log_filename</span><span class="p">,</span> <span class="n">quiet</span><span class="p">)</span>
@@ -490,7 +507,7 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
490507

491508
<span class="n">cmd_install</span> <span class="o">=</span> <span class="p">(</span>
492509
<span class="sa">f</span><span class="s1">&#39;cd &quot;</span><span class="si">{</span><span class="n">bootstrap_dir</span><span class="si">}</span><span class="s1">&quot; &amp;&amp; &#39;</span>
493-
<span class="s1">&#39;env -u PIXI_PROJECT_MANIFEST -u PIXI_PROJECT_ROOT &#39;</span>
510+
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">build_pixi_env_unset_prefix</span><span class="p">()</span><span class="si">}</span><span class="s1"> &#39;</span>
494511
<span class="sa">f</span><span class="s1">&#39;&quot;</span><span class="si">{</span><span class="n">pixi_exe</span><span class="si">}</span><span class="s1">&quot; install&#39;</span>
495512
<span class="p">)</span>
496513
<span class="n">check_call</span><span class="p">(</span><span class="n">cmd_install</span><span class="p">,</span> <span class="n">log_filename</span><span class="p">,</span> <span class="n">quiet</span><span class="p">)</span>
@@ -679,6 +696,23 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
679696
<span class="k">return</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="n">home</span><span class="p">,</span> <span class="s1">&#39;.pixi&#39;</span><span class="p">,</span> <span class="s1">&#39;bin&#39;</span><span class="p">,</span> <span class="s1">&#39;pixi&#39;</span><span class="p">)</span>
680697

681698

699+
<span class="k">def</span><span class="w"> </span><span class="nf">build_pixi_env_unset_prefix</span><span class="p">():</span>
700+
<span class="k">return</span> <span class="s1">&#39;env &#39;</span> <span class="o">+</span> <span class="s1">&#39; &#39;</span><span class="o">.</span><span class="n">join</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;-u </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s1">&#39;</span> <span class="k">for</span> <span class="n">name</span> <span class="ow">in</span> <span class="n">PIXI_ENV_VARS_TO_UNSET</span><span class="p">)</span>
701+
702+
703+
<span class="k">def</span><span class="w"> </span><span class="nf">_get_pixi_platform</span><span class="p">():</span>
704+
<span class="n">system</span> <span class="o">=</span> <span class="n">platform</span><span class="o">.</span><span class="n">system</span><span class="p">()</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
705+
<span class="k">if</span> <span class="n">system</span> <span class="o">==</span> <span class="s1">&#39;darwin&#39;</span><span class="p">:</span>
706+
<span class="n">system</span> <span class="o">=</span> <span class="s1">&#39;osx&#39;</span>
707+
<span class="n">machine</span> <span class="o">=</span> <span class="n">platform</span><span class="o">.</span><span class="n">machine</span><span class="p">()</span><span class="o">.</span><span class="n">lower</span><span class="p">()</span>
708+
<span class="k">try</span><span class="p">:</span>
709+
<span class="k">return</span> <span class="n">CONDA_PLATFORM_MAP</span><span class="p">[(</span><span class="n">system</span><span class="p">,</span> <span class="n">machine</span><span class="p">)]</span>
710+
<span class="k">except</span> <span class="ne">KeyError</span> <span class="k">as</span> <span class="n">exc</span><span class="p">:</span>
711+
<span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span>
712+
<span class="sa">f</span><span class="s1">&#39;Unsupported platform for pixi bootstrap: </span><span class="si">{</span><span class="n">system</span><span class="si">}</span><span class="s1"> </span><span class="si">{</span><span class="n">machine</span><span class="si">}</span><span class="s1">&#39;</span>
713+
<span class="p">)</span> <span class="kn">from</span><span class="w"> </span><span class="nn">exc</span>
714+
715+
682716
<span class="k">def</span><span class="w"> </span><span class="nf">_install_pixi</span><span class="p">(</span><span class="o">*</span><span class="p">,</span> <span class="n">log_filename</span><span class="p">,</span> <span class="n">quiet</span><span class="p">,</span> <span class="n">pixi_bin_dir</span><span class="o">=</span><span class="kc">None</span><span class="p">):</span>
683717
<span class="n">env_prefix_parts</span> <span class="o">=</span> <span class="p">[</span>
684718
<span class="c1"># Avoid modifying shell rc files during bootstrap.</span>
@@ -782,6 +816,7 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
782816
<span class="s1">&#39;[workspace]&#39;</span><span class="p">,</span>
783817
<span class="sa">f</span><span class="s1">&#39;name = &quot;</span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s1">&quot;&#39;</span><span class="p">,</span>
784818
<span class="s1">&#39;channels = [&quot;conda-forge&quot;]&#39;</span><span class="p">,</span>
819+
<span class="sa">f</span><span class="s1">&#39;platforms = [&quot;</span><span class="si">{</span><span class="n">_get_pixi_platform</span><span class="p">()</span><span class="si">}</span><span class="s1">&quot;]&#39;</span><span class="p">,</span>
785820
<span class="s1">&#39;channel-priority = &quot;strict&quot;&#39;</span><span class="p">,</span>
786821
<span class="s1">&#39;&#39;</span><span class="p">,</span>
787822
<span class="s1">&#39;[dependencies]&#39;</span><span class="p">,</span>
@@ -822,6 +857,32 @@ <h1>Source code for mache.deploy.bootstrap</h1><div class="highlight"><pre>
822857

823858
<span class="n">build_root</span><span class="o">.</span><span class="n">mkdir</span><span class="p">(</span><span class="n">parents</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">exist_ok</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
824859

860+
<span class="n">local_source</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">environ</span><span class="o">.</span><span class="n">get</span><span class="p">(</span><span class="n">LOCAL_MACHE_SOURCE_ENV</span><span class="p">)</span>
861+
<span class="k">if</span> <span class="n">local_source</span><span class="p">:</span>
862+
<span class="n">source_repo</span> <span class="o">=</span> <span class="n">Path</span><span class="p">(</span>
863+
<span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">abspath</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">expanduser</span><span class="p">(</span><span class="n">local_source</span><span class="p">))</span>
864+
<span class="p">)</span><span class="o">.</span><span class="n">resolve</span><span class="p">()</span>
865+
<span class="k">if</span> <span class="ow">not</span> <span class="n">source_repo</span><span class="o">.</span><span class="n">is_dir</span><span class="p">():</span>
866+
<span class="k">raise</span> <span class="ne">RuntimeError</span><span class="p">(</span>
867+
<span class="sa">f</span><span class="s1">&#39;Local mache source override does not exist: </span><span class="si">{</span><span class="n">source_repo</span><span class="si">}</span><span class="s1">&#39;</span>
868+
<span class="p">)</span>
869+
870+
<span class="k">try</span><span class="p">:</span>
871+
<span class="n">os</span><span class="o">.</span><span class="n">symlink</span><span class="p">(</span><span class="n">source_repo</span><span class="p">,</span> <span class="n">repo_dir</span><span class="p">,</span> <span class="n">target_is_directory</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
872+
<span class="k">except</span> <span class="ne">OSError</span><span class="p">:</span>
873+
<span class="n">shutil</span><span class="o">.</span><span class="n">copytree</span><span class="p">(</span>
874+
<span class="n">source_repo</span><span class="p">,</span>
875+
<span class="n">repo_dir</span><span class="p">,</span>
876+
<span class="n">ignore</span><span class="o">=</span><span class="n">shutil</span><span class="o">.</span><span class="n">ignore_patterns</span><span class="p">(</span>
877+
<span class="s1">&#39;.git&#39;</span><span class="p">,</span>
878+
<span class="s1">&#39;.pixi&#39;</span><span class="p">,</span>
879+
<span class="s1">&#39;deploy_tmp&#39;</span><span class="p">,</span>
880+
<span class="s1">&#39;__pycache__&#39;</span><span class="p">,</span>
881+
<span class="s1">&#39;*.pyc&#39;</span><span class="p">,</span>
882+
<span class="p">),</span>
883+
<span class="p">)</span>
884+
<span class="k">return</span>
885+
825886
<span class="n">commands</span> <span class="o">=</span> <span class="p">(</span>
826887
<span class="sa">f</span><span class="s1">&#39;cd &quot;</span><span class="si">{</span><span class="n">build_root</span><span class="si">!s}</span><span class="s1">&quot; &amp;&amp; &#39;</span>
827888
<span class="o">+</span> <span class="s2">&quot;GIT_SSH_COMMAND=&#39;ssh -oBatchMode=yes&#39; git clone &quot;</span>

main/_modules/mache/deploy/run.html

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
110110
<span class="kn">from</span><span class="w"> </span><span class="nn">mache.jigsaw</span><span class="w"> </span><span class="kn">import</span> <span class="n">deploy_jigsawpy</span>
111111

112112
<span class="kn">from</span><span class="w"> </span><span class="nn">.bootstrap</span><span class="w"> </span><span class="kn">import</span> <span class="p">(</span>
113+
<span class="n">build_pixi_env_unset_prefix</span><span class="p">,</span>
113114
<span class="n">build_pixi_shell_hook_prefix</span><span class="p">,</span>
114115
<span class="n">check_call</span><span class="p">,</span>
115116
<span class="n">check_location</span><span class="p">,</span>
@@ -1084,7 +1085,7 @@ <h1>Source code for mache.deploy.run</h1><div class="highlight"><pre>
10841085
<span class="c1"># - Otherwise pixi uses its own defaults (typically under $HOME).</span>
10851086
<span class="n">cmd</span> <span class="o">=</span> <span class="p">(</span>
10861087
<span class="sa">f</span><span class="s1">&#39;cd </span><span class="si">{</span><span class="n">shlex</span><span class="o">.</span><span class="n">quote</span><span class="p">(</span><span class="n">project_dir</span><span class="p">)</span><span class="si">}</span><span class="s1"> &amp;&amp; &#39;</span>
1087-
<span class="s1">&#39;env -u PIXI_PROJECT_MANIFEST -u PIXI_PROJECT_ROOT &#39;</span>
1088+
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">build_pixi_env_unset_prefix</span><span class="p">()</span><span class="si">}</span><span class="s1"> &#39;</span>
10881089
<span class="sa">f</span><span class="s1">&#39;</span><span class="si">{</span><span class="n">shlex</span><span class="o">.</span><span class="n">quote</span><span class="p">(</span><span class="n">pixi_exe</span><span class="p">)</span><span class="si">}</span><span class="s1"> install&#39;</span>
10891090
<span class="p">)</span>
10901091
<span class="n">check_call</span><span class="p">(</span><span class="n">cmd</span><span class="p">,</span> <span class="n">log_filename</span><span class="o">=</span><span class="n">log_filename</span><span class="p">,</span> <span class="n">quiet</span><span class="o">=</span><span class="n">quiet</span><span class="p">)</span>

0 commit comments

Comments
 (0)