Skip to content

Commit

Permalink
documentation update on working with uv
Browse files Browse the repository at this point in the history
  • Loading branch information
rhuygen committed Feb 13, 2025
1 parent cf8bf1a commit e2781cc
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 37 deletions.
44 changes: 31 additions & 13 deletions dev_guide/uv/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -1478,8 +1478,9 @@ <h2 id="installing-a-python-version">Installing a Python version<a class="header
</code></pre></div>
<div class="admonition note">
<p class="admonition-title"><code>pyenv</code></p>
<p>When using <code>pyenv</code> to manage your Python versions, make sure you also have the same Python version installed
with <code>pyenv</code> and <code>uv</code>. Otherwise you will run into the following error. This is a known issue with <code>uv</code>.</p>
<p>When you are using <code>pyenv</code> to manage your Python versions, make sure you also have the same
Python version installed with <code>pyenv</code> and <code>uv</code>. Otherwise you will run into the following
error. This is a known issue with <code>uv</code>.</p>
<div class="highlight"><pre><span></span><code>pyenv: version `3.9.20&#39; is not installed (set by /Users/rik/github/cgse/libs/cgse-common/.python-version)
</code></pre></div>
</div>
Expand Down Expand Up @@ -1509,24 +1510,41 @@ <h2 id="create-a-virtual-environment">Create a virtual environment<a class="head
</code></pre></div>
<p><code>uv</code> will search for a pinned version in the parent folders up to the root folder or your home directory.</p>
</div>
<p>You can create a virtual environment with <code>uv</code> for the specific Python version as follows. The '<code>--python</code>' is optional
and <code>uv</code> will use the default (pinned) Python version when creating a <code>venv</code> without this option. When creating a
virtual environment make sure you are in the package root, e.g. <code>~/github/cgse/libs/cgse-common</code>.</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/github/cgse/libs/cgse-common
<p>You can create a virtual environment with <code>uv</code> for the specific Python version as follows. The
'<code>--python</code>' is optional and <code>uv</code> will use the default (pinned) Python version when creating a
<code>venv</code> without this option. We are working in a monorepo or what <code>uv</code> calls a workspace. There
will be only one virtual environment at the root of the monorepo, despite the fact that we have
several individual packages in our workspace. Don't worry, <code>uv</code> will always use the virtual
environment at the root and keep it up-to-date with the project your are currently working in.</p>
<p>When creating a virtual environment make sure you are in the root folder, e.g. <code>~/github/cgse</code>.</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/github/cgse
$<span class="w"> </span>uv<span class="w"> </span>venv<span class="w"> </span>--python<span class="w"> </span><span class="m">3</span>.9.20
</code></pre></div>
<p>Assuming you are in the package root where you created the virtual environment, you can now install its dependencies
with <code>pip install</code> as follows:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>uv<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-r<span class="w"> </span>pyproject.toml
<p>Now, navigate to the package you will be working in and update the projects' environment,
assuming you are going to work in <code>cgse-core</code>, this will be:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/github/cgse/libs/cgse-core
$<span class="w"> </span>uv<span class="w"> </span>sync
</code></pre></div>
<p>To install the current project as an editable package:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>uv<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </span>.
<p>Your package(s) from the workspace should be installed as an editable install. You can check
this with the command:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>uv<span class="w"> </span>pip<span class="w"> </span>list<span class="w"> </span>-v
Using<span class="w"> </span>Python<span class="w"> </span><span class="m">3</span>.9.20<span class="w"> </span>environment<span class="w"> </span>at:<span class="w"> </span>/Users/rik/github/cgse/.venv
Package<span class="w"> </span>Version<span class="w"> </span>Editable<span class="w"> </span>project<span class="w"> </span>location
-----------------<span class="w"> </span>-----------<span class="w"> </span>---------------------------------------
apscheduler<span class="w"> </span><span class="m">3</span>.11.0
cgse-common<span class="w"> </span><span class="m">0</span>.4.0<span class="w"> </span>/Users/rik/github/cgse/libs/cgse-common
cgse-core<span class="w"> </span><span class="m">0</span>.4.0<span class="w"> </span>/Users/rik/github/cgse/libs/cgse-core
...
</code></pre></div>
<p>To install any other project as an editable package:</p>
<div class="highlight"><pre><span></span><code>$<span class="w"> </span>uv<span class="w"> </span>pip<span class="w"> </span>install<span class="w"> </span>-e<span class="w"> </span>&lt;project<span class="w"> </span>location&gt;
</code></pre></div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>If you don't want to use the <code>uv</code> commands, you can activate the virtual environment and use the original <code>pip</code>
and <code>python</code> commands as you are used to.</p>
<div class="highlight"><pre><span></span><code>$ source .venv/bin/activate
and <code>python</code> commands as you are used to, but I would recommend you try to get used to <code>uv</code>
for a while to experience its benefits.</p>
<div class="highlight"><pre><span></span><code>$ source ~/github/cgse/.venv/bin/activate
</code></pre></div>
</div>
<div class="admonition info">
Expand Down
2 changes: 1 addition & 1 deletion search/search_index.json

Large diffs are not rendered by default.

46 changes: 23 additions & 23 deletions sitemap.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,94 +2,94 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://ivs-kuleuven.github.io/cgse/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/getting_started/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/help/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/initialize/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/package_list/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/tutorial/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/coding_style/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/docs/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/installation/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/plugins/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/dev_guide/uv/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-common/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-common/settings/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-common/setup/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-coordinates/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-core/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/libs/cgse-gui/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/projects/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/projects/cgse-tools/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/projects/symetrie-hexapod/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
<url>
<loc>https://ivs-kuleuven.github.io/cgse/user_guide/</loc>
<lastmod>2025-02-07</lastmod>
<lastmod>2025-02-13</lastmod>
</url>
</urlset>
Binary file modified sitemap.xml.gz
Binary file not shown.

0 comments on commit e2781cc

Please sign in to comment.