Skip to content

Commit 4a5c391

Browse files
Built site for gh-pages
1 parent d125b93 commit 4a5c391

File tree

9 files changed

+201
-173
lines changed

9 files changed

+201
-173
lines changed

.nojekyll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
a7f18f92
1+
a9637dea

docs/architecture.html

Lines changed: 5 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -215,20 +215,16 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
215215
border-collapse: collapse;
216216
}
217217

218-
.styled-table th:nth-child(1) { width: 5%; }
219-
.styled-table th:nth-child(2) { width: 50%; }
220-
.styled-table th:nth-child(3),
221-
.styled-table th:nth-child(4),
222-
.styled-table th:nth-child(5) { width: 15%; }
223-
.styled-table th:nth-child(6) { width: 10%; }
218+
.styled-table th:nth-child(1) { width: 50%; }
219+
.styled-table th:nth-child(2),
220+
.styled-table th:nth-child(3),
221+
.styled-table th:nth-child(4) { width: 15%; }
222+
.styled-table th:nth-child(5) { width: 10%; }
224223
</style>
225224
<table class="styled-table">
226225
<thead>
227226
<tr>
228227
<th>
229-
ID
230-
</th>
231-
<th>
232228
Approach
233229
</th>
234230
<th>
@@ -248,9 +244,6 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
248244
<tbody>
249245
<tr>
250246
<td>
251-
1
252-
</td>
253-
<td>
254247
Validate with Pydantic dependency, catch and redirect from middleware (with exception message as context) to an error page with “go back” button
255248
</td>
256249
<td>
@@ -268,9 +261,6 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
268261
</tr>
269262
<tr>
270263
<td>
271-
2
272-
</td>
273-
<td>
274264
Validate in FastAPI endpoint function body, redirect to origin page with error message query param
275265
</td>
276266
<td>
@@ -288,9 +278,6 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
288278
</tr>
289279
<tr>
290280
<td>
291-
3
292-
</td>
293-
<td>
294281
Validate in FastAPI endpoint function body, redirect to origin page with error message query param and form inputs as context so we can re-render page with original form inputs
295282
</td>
296283
<td>
@@ -308,9 +295,6 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
308295
</tr>
309296
<tr>
310297
<td>
311-
4
312-
</td>
313-
<td>
314298
Validate with Pydantic dependency, use session context to get form inputs from request, redirect to origin page from middleware with exception message and form inputs as context so we can re-render page with original form inputs
315299
</td>
316300
<td>
@@ -328,9 +312,6 @@ <h3 class="anchored" data-anchor-id="approaches">Approaches</h3>
328312
</tr>
329313
<tr>
330314
<td>
331-
5
332-
</td>
333-
<td>
334315
Validate in either Pydantic dependency or function endpoint body and directly return error message or error toast HTML partial in JSON, then mount error toast with HTMX or some simple layout-level Javascript
335316
</td>
336317
<td>

docs/customization.html

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,8 @@ <h2 id="toc-title">On this page</h2>
175175
<ul>
176176
<li><a href="#development-workflow" id="toc-development-workflow" class="nav-link active" data-scroll-target="#development-workflow">Development workflow</a>
177177
<ul class="collapse">
178-
<li><a href="#dependency-management-with-poetry" id="toc-dependency-management-with-poetry" class="nav-link" data-scroll-target="#dependency-management-with-poetry">Dependency management with Poetry</a></li>
178+
<li><a href="#dependency-management-with-uv" id="toc-dependency-management-with-uv" class="nav-link" data-scroll-target="#dependency-management-with-uv">Dependency management with <code>uv</code></a></li>
179+
<li><a href="#ide-configuration" id="toc-ide-configuration" class="nav-link" data-scroll-target="#ide-configuration">IDE configuration</a></li>
179180
<li><a href="#testing" id="toc-testing" class="nav-link" data-scroll-target="#testing">Testing</a></li>
180181
<li><a href="#type-checking-with-mypy" id="toc-type-checking-with-mypy" class="nav-link" data-scroll-target="#type-checking-with-mypy">Type checking with mypy</a></li>
181182
<li><a href="#developing-with-llms" id="toc-developing-with-llms" class="nav-link" data-scroll-target="#developing-with-llms">Developing with LLMs</a></li>
@@ -215,18 +216,23 @@ <h1 class="title">Customization</h1>
215216

216217
<section id="development-workflow" class="level2">
217218
<h2 class="anchored" data-anchor-id="development-workflow">Development workflow</h2>
218-
<section id="dependency-management-with-poetry" class="level3">
219-
<h3 class="anchored" data-anchor-id="dependency-management-with-poetry">Dependency management with Poetry</h3>
220-
<p>The project uses Poetry to manage dependencies:</p>
219+
<section id="dependency-management-with-uv" class="level3">
220+
<h3 class="anchored" data-anchor-id="dependency-management-with-uv">Dependency management with <code>uv</code></h3>
221+
<p>The project uses <code>uv</code> to manage dependencies:</p>
221222
<ul>
222-
<li>Add new dependency: <code>poetry add &lt;dependency&gt;</code></li>
223-
<li>Add development dependency: <code>poetry add --dev &lt;dependency&gt;</code></li>
224-
<li>Remove dependency: <code>poetry remove &lt;dependency&gt;</code></li>
225-
<li>Update lock file: <code>poetry lock</code></li>
226-
<li>Install dependencies: <code>poetry install</code></li>
227-
<li>Update all dependencies: <code>poetry update</code></li>
223+
<li>Add new dependency: <code>uv add &lt;dependency&gt;</code></li>
224+
<li>Add development dependency: <code>uv add --dev &lt;dependency&gt;</code></li>
225+
<li>Remove dependency: <code>uv remove &lt;dependency&gt;</code></li>
226+
<li>Update lock file: <code>uv lock</code></li>
227+
<li>Install all dependencies: <code>uv sync</code></li>
228+
<li>Install only production dependencies: <code>uv sync --no-dev</code></li>
229+
<li>Upgrade dependencies: <code>uv lock --upgrade</code></li>
228230
</ul>
229-
<p>If you are using VSCode or Cursor as your IDE, you will need to select the Poetry-managed Python version as your interpreter for the project. To find the location of the Poetry-managed Python interpreter, run <code>poetry env info</code> and look for the <code>Path</code> field. Then, in VSCode, go to <code>View &gt; Command Palette</code>, search for <code>Python: Select Interpreter</code>, and either select Poetry’s Python version from the list (if it has been auto-detected) or “Enter interpreter path” manually.</p>
231+
</section>
232+
<section id="ide-configuration" class="level3">
233+
<h3 class="anchored" data-anchor-id="ide-configuration">IDE configuration</h3>
234+
<p>If you are using VSCode or Cursor as your IDE, you will need to select the <code>uv</code>-managed Python version as your interpreter for the project. Go to <code>View &gt; Command Palette</code>, search for <code>Python: Select Interpreter</code>, and select the Python version labeled <code>('.venv':venv)</code>.</p>
235+
<p>If your IDE does not automatically detect and display this option, you can manually select the interpreter by selecting “Enter interpreter path” and then navigating to the <code>.venv/bin/python</code> subfolder in your project directory.</p>
230236
</section>
231237
<section id="testing" class="level3">
232238
<h3 class="anchored" data-anchor-id="testing">Testing</h3>

0 commit comments

Comments
 (0)