<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type="text/xsl" href="atom.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://iyulab.github.io/Loopai/blog</id>
    <title>Loopai Blog</title>
    <updated>2025-10-27T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://iyulab.github.io/Loopai/blog"/>
    <subtitle>Loopai Blog</subtitle>
    <icon>https://iyulab.github.io/Loopai/img/favicon.ico</icon>
    <entry>
        <title type="html"><![CDATA[Loopai v0.3 Released: Multi-Language SDK Ecosystem]]></title>
        <id>https://iyulab.github.io/Loopai/blog/v0.3-release</id>
        <link href="https://iyulab.github.io/Loopai/blog/v0.3-release"/>
        <updated>2025-10-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're thrilled to announce Loopai v0.3, featuring a complete multi-language SDK ecosystem with production-ready client libraries for .NET, Python, and TypeScript.]]></summary>
        <content type="html"><![CDATA[<p>We're thrilled to announce <strong>Loopai v0.3</strong>, featuring a complete multi-language SDK ecosystem with production-ready client libraries for .NET, Python, and TypeScript.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-release-highlights">🎉 Release Highlights<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-release-highlights" class="hash-link" aria-label="Direct link to 🎉 Release Highlights" title="Direct link to 🎉 Release Highlights" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="three-production-ready-sdks">Three Production-Ready SDKs<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#three-production-ready-sdks" class="hash-link" aria-label="Direct link to Three Production-Ready SDKs" title="Direct link to Three Production-Ready SDKs" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="net-client-sdk">.NET Client SDK<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#net-client-sdk" class="hash-link" aria-label="Direct link to .NET Client SDK" title="Direct link to .NET Client SDK" translate="no">​</a></h4>
<ul>
<li class=""><strong>Package</strong>: <code>Loopai.Client</code> (NuGet)</li>
<li class=""><strong>Features</strong>: ASP.NET Core DI, Polly v8 retry, comprehensive logging</li>
<li class=""><strong>Test Coverage</strong>: 92% lines, 88% branches</li>
</ul>
<div class="language-csharp codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csharp codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic">// Dependency Injection</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">builder</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Services</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddLoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">options </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    options</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">BaseUrl </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://localhost:8080"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    options</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Timeout </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> TimeSpan</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">FromSeconds</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">60</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// Usage</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name keyword" style="color:#00009f">var</span><span class="token plain"> result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> _loopai</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">ExecuteAsync</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">taskId</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> inputData</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="python-sdk">Python SDK<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#python-sdk" class="hash-link" aria-label="Direct link to Python SDK" title="Direct link to Python SDK" translate="no">​</a></h4>
<ul>
<li class=""><strong>Package</strong>: <code>loopai</code> (PyPI)</li>
<li class=""><strong>Features</strong>: Full async/await, Pydantic v2 models, context manager</li>
<li class=""><strong>Test Coverage</strong>: 94% lines, 90% branches</li>
</ul>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">with</span><span class="token plain"> LoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"http://localhost:8080"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        task_id</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">task_id</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        input_data</span><span class="token operator" style="color:#393A34">=</span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"text"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Sample input"</span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="typescript-sdk">TypeScript SDK<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#typescript-sdk" class="hash-link" aria-label="Direct link to TypeScript SDK" title="Direct link to TypeScript SDK" translate="no">​</a></h4>
<ul>
<li class=""><strong>Package</strong>: <code>@loopai/sdk</code> (npm)</li>
<li class=""><strong>Features</strong>: Full type safety, promise-based async, browser support</li>
<li class=""><strong>Test Coverage</strong>: 93% lines, 89% branches</li>
</ul>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> client </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name maybe-class-name">LoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  baseUrl</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'http://localhost:8080'</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">await</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  taskId</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> taskId</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">  input</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> text</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'Sample input'</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-quality-metrics">📊 Quality Metrics<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-quality-metrics" class="hash-link" aria-label="Direct link to 📊 Quality Metrics" title="Direct link to 📊 Quality Metrics" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="integration-testing">Integration Testing<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#integration-testing" class="hash-link" aria-label="Direct link to Integration Testing" title="Direct link to Integration Testing" translate="no">​</a></h3>
<p>We've implemented comprehensive integration testing:</p>
<ul>
<li class=""><strong>42 Integration Tests</strong>: 14 tests per SDK</li>
<li class=""><strong>100% Pass Rate</strong>: All tests passing</li>
<li class=""><strong>Cross-SDK Compatibility</strong>: Verified interoperability</li>
<li class=""><strong>CI/CD Ready</strong>: GitHub Actions workflows</li>
</ul>
<table><thead><tr><th>SDK</th><th>Tests</th><th>Pass</th><th>Success Rate</th><th>Avg Response Time</th></tr></thead><tbody><tr><td>.NET</td><td>14</td><td>14</td><td>100%</td><td>45.2ms</td></tr><tr><td>Python</td><td>14</td><td>14</td><td>100%</td><td>43.8ms</td></tr><tr><td>TypeScript</td><td>14</td><td>14</td><td>100%</td><td>44.5ms</td></tr><tr><td><strong>Total</strong></td><td><strong>42</strong></td><td><strong>42</strong></td><td><strong>100%</strong></td><td><strong>44.5ms</strong></td></tr></tbody></table>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="performance-benchmarks">Performance Benchmarks<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#performance-benchmarks" class="hash-link" aria-label="Direct link to Performance Benchmarks" title="Direct link to Performance Benchmarks" translate="no">​</a></h3>
<p>All SDKs deliver consistent, high performance:</p>
<ul>
<li class=""><strong>Average Response Time</strong>: &lt;45ms</li>
<li class=""><strong>Throughput</strong>: ~34 requests/second per SDK</li>
<li class=""><strong>Memory Usage</strong>: 52-62 MB average</li>
<li class=""><strong>Execution Latency</strong>: &lt;1ms (p99)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-new-features">🚀 New Features<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-new-features" class="hash-link" aria-label="Direct link to 🚀 New Features" title="Direct link to 🚀 New Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="batch-operations">Batch Operations<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#batch-operations" class="hash-link" aria-label="Direct link to Batch Operations" title="Direct link to Batch Operations" translate="no">​</a></h3>
<p>All SDKs support efficient batch processing:</p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"># Python example</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">results </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">batch_execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    task_id</span><span class="token operator" style="color:#393A34">=</span><span class="token plain">task_id</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    items</span><span class="token operator" style="color:#393A34">=</span><span class="token punctuation" style="color:#393A34">[</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"id"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"1"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"input"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"text"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"First"</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">        </span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"id"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"2"</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"input"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token string" style="color:#e3116c">"text"</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"Second"</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    </span><span class="token punctuation" style="color:#393A34">]</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    max_concurrency</span><span class="token operator" style="color:#393A34">=</span><span class="token number" style="color:#36acaa">10</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="automatic-retry">Automatic Retry<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#automatic-retry" class="hash-link" aria-label="Direct link to Automatic Retry" title="Direct link to Automatic Retry" translate="no">​</a></h3>
<p>Built-in retry logic with exponential backoff:</p>
<ul>
<li class="">Configurable max retries</li>
<li class="">Smart backoff strategy</li>
<li class="">Network failure resilience</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="type-safety">Type Safety<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#type-safety" class="hash-link" aria-label="Direct link to Type Safety" title="Direct link to Type Safety" translate="no">​</a></h3>
<p>Full type coverage across all SDKs:</p>
<ul>
<li class="">.NET: Strong typing with generics</li>
<li class="">Python: Pydantic v2 models with type hints</li>
<li class="">TypeScript: Complete TypeScript definitions</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-documentation">📚 Documentation<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-documentation" class="hash-link" aria-label="Direct link to 📚 Documentation" title="Direct link to 📚 Documentation" translate="no">​</a></h2>
<p>Complete documentation for all SDKs:</p>
<ul>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/overview">SDK Overview</a></strong> - Compare and choose</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/dotnet">.NET SDK Guide</a></strong> - Installation and usage</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/python">Python SDK Guide</a></strong> - Getting started</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/typescript">TypeScript SDK Guide</a></strong> - Quick start</li>
</ul>
<p>Each SDK includes:</p>
<ul>
<li class="">Installation instructions</li>
<li class="">Quick start guide</li>
<li class="">API reference</li>
<li class="">Code examples</li>
<li class="">Best practices</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="️-breaking-changes">🛠️ Breaking Changes<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#%EF%B8%8F-breaking-changes" class="hash-link" aria-label="Direct link to 🛠️ Breaking Changes" title="Direct link to 🛠️ Breaking Changes" translate="no">​</a></h2>
<p>None! This is a new SDK release with no breaking changes to existing APIs.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-installation">📦 Installation<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-installation" class="hash-link" aria-label="Direct link to 📦 Installation" title="Direct link to 📦 Installation" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="net">.NET<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#net" class="hash-link" aria-label="Direct link to .NET" title="Direct link to .NET" translate="no">​</a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">dotnet </span><span class="token function" style="color:#d73a49">add</span><span class="token plain"> package Loopai.Client</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="python">Python<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#python" class="hash-link" aria-label="Direct link to Python" title="Direct link to Python" translate="no">​</a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">pip </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> loopai</span><br></span></code></pre></div></div>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="typescript">TypeScript<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#typescript" class="hash-link" aria-label="Direct link to TypeScript" title="Direct link to TypeScript" translate="no">​</a></h3>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token function" style="color:#d73a49">npm</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">install</span><span class="token plain"> @loopai/sdk</span><br></span></code></pre></div></div>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-whats-next-v04">🔜 What's Next: v0.4<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-whats-next-v04" class="hash-link" aria-label="Direct link to 🔜 What's Next: v0.4" title="Direct link to 🔜 What's Next: v0.4" translate="no">​</a></h2>
<p>We're now focusing on infrastructure enhancements:</p>
<ol>
<li class="">
<p><strong>Streaming API</strong></p>
<ul>
<li class="">Real-time execution results</li>
<li class="">Server-Sent Events (SSE)</li>
<li class="">Available in all SDKs</li>
</ul>
</li>
<li class="">
<p><strong>Go SDK</strong></p>
<ul>
<li class="">Native Go client</li>
<li class="">Context support</li>
<li class="">Goroutine-safe operations</li>
</ul>
</li>
<li class="">
<p><strong>Performance Optimization</strong></p>
<ul>
<li class="">Response caching layer</li>
<li class="">Connection pooling</li>
<li class="">Reduced memory footprint</li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-acknowledgments">🙏 Acknowledgments<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-acknowledgments" class="hash-link" aria-label="Direct link to 🙏 Acknowledgments" title="Direct link to 🙏 Acknowledgments" translate="no">​</a></h2>
<p>Special thanks to:</p>
<ul>
<li class="">All contributors who tested the SDKs</li>
<li class="">The community for valuable feedback</li>
<li class="">Early adopters who reported issues</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-changelog">📝 Changelog<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-changelog" class="hash-link" aria-label="Direct link to 📝 Changelog" title="Direct link to 📝 Changelog" translate="no">​</a></h2>
<p>For a complete list of changes, see:</p>
<ul>
<li class=""><a class="" href="https://iyulab.github.io/Loopai/docs/PHASE10-11_SDK_COMPLETE.md">Phase 10-11 Complete Documentation</a></li>
<li class=""><a href="https://github.com/iyulab/Loopai/releases/tag/v0.3" target="_blank" rel="noopener noreferrer" class="">GitHub Releases</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="-feedback">💬 Feedback<a href="https://iyulab.github.io/Loopai/blog/v0.3-release#-feedback" class="hash-link" aria-label="Direct link to 💬 Feedback" title="Direct link to 💬 Feedback" translate="no">​</a></h2>
<p>We'd love to hear your thoughts!</p>
<ul>
<li class=""><a href="https://github.com/iyulab/Loopai/discussions" target="_blank" rel="noopener noreferrer" class="">GitHub Discussions</a></li>
<li class=""><a href="https://github.com/iyulab/Loopai/issues" target="_blank" rel="noopener noreferrer" class="">Report Issues</a></li>
</ul>
<hr>
<p>Download Loopai v0.3 today and start building with production-ready SDKs!</p>]]></content>
        <author>
            <name>Caveman</name>
            <uri>https://github.com/iyulab-caveman</uri>
        </author>
        <category label="loopai" term="loopai"/>
        <category label="release" term="release"/>
        <category label="sdk" term="sdk"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Welcome to Loopai Documentation]]></title>
        <id>https://iyulab.github.io/Loopai/blog/welcome</id>
        <link href="https://iyulab.github.io/Loopai/blog/welcome"/>
        <updated>2025-10-27T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[We're excited to announce the launch of the official Loopai documentation site!]]></summary>
        <content type="html"><![CDATA[<p>We're excited to announce the launch of the official Loopai documentation site!</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="what-is-loopai">What is Loopai?<a href="https://iyulab.github.io/Loopai/blog/welcome#what-is-loopai" class="hash-link" aria-label="Direct link to What is Loopai?" title="Direct link to What is Loopai?" translate="no">​</a></h2>
<p>Loopai is a <strong>Human-in-the-Loop AI Self-Improvement Framework</strong> - infrastructure middleware for building adaptive AI-powered applications with complete observability and data sovereignty.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="key-highlights">Key Highlights<a href="https://iyulab.github.io/Loopai/blog/welcome#key-highlights" class="hash-link" aria-label="Direct link to Key Highlights" title="Direct link to Key Highlights" translate="no">​</a></h3>
<ul>
<li class="">🚀 <strong>Multi-Language SDKs</strong>: .NET, Python, TypeScript</li>
<li class="">⚡ <strong>High Performance</strong>: &lt;10ms execution latency</li>
<li class="">💰 <strong>Cost Efficient</strong>: 82-97% cost reduction vs direct LLM</li>
<li class="">🔌 <strong>Plugin System</strong>: Extensible architecture</li>
<li class="">📊 <strong>Production Ready</strong>: 170+ tests passing</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="current-status-v03-complete">Current Status: v0.3 Complete<a href="https://iyulab.github.io/Loopai/blog/welcome#current-status-v03-complete" class="hash-link" aria-label="Direct link to Current Status: v0.3 Complete" title="Direct link to Current Status: v0.3 Complete" translate="no">​</a></h2>
<p>We've successfully completed Phase 11, delivering:</p>
<ul>
<li class="">✅ Three production-ready client SDKs</li>
<li class="">✅ 42 integration tests (100% passing)</li>
<li class="">✅ Cross-SDK compatibility verified</li>
<li class="">✅ Complete documentation</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-new-in-v03">What's New in v0.3<a href="https://iyulab.github.io/Loopai/blog/welcome#whats-new-in-v03" class="hash-link" aria-label="Direct link to What's New in v0.3" title="Direct link to What's New in v0.3" translate="no">​</a></h3>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="multi-language-sdk-ecosystem">Multi-Language SDK Ecosystem<a href="https://iyulab.github.io/Loopai/blog/welcome#multi-language-sdk-ecosystem" class="hash-link" aria-label="Direct link to Multi-Language SDK Ecosystem" title="Direct link to Multi-Language SDK Ecosystem" translate="no">​</a></h4>
<p><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/dotnet">.NET SDK</a></strong>: Production-ready with ASP.NET Core DI support</p>
<div class="language-csharp codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-csharp codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token plain">builder</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">Services</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">AddLoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">options </span><span class="token operator" style="color:#393A34">=&gt;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    options</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">BaseUrl </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">"http://localhost:8080"</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<p><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/python">Python SDK</a></strong>: Full async/await with Pydantic v2</p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">async</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">with</span><span class="token plain"> LoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">"http://localhost:8080"</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">as</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain">    result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">await</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">task_id</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> input_data</span><span class="token punctuation" style="color:#393A34">)</span><br></span></code></pre></div></div>
<p><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/typescript">TypeScript SDK</a></strong>: Complete type safety</p>
<div class="language-typescript codeBlockContainer_Ckt0 theme-code-block" style="--prism-color:#393A34;--prism-background-color:#f6f8fa"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-typescript codeBlock_bY9V thin-scrollbar" style="color:#393A34;background-color:#f6f8fa"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> client </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name maybe-class-name">LoopaiClient</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> baseUrl</span><span class="token operator" style="color:#393A34">:</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">'http://localhost:8080'</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span><br></span><span class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">const</span><span class="token plain"> result </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword control-flow" style="color:#00009f">await</span><span class="token plain"> client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token method function property-access" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"> taskId</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> input </span><span class="token punctuation" style="color:#393A34">}</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><br></span></code></pre></div></div>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="integration-testing">Integration Testing<a href="https://iyulab.github.io/Loopai/blog/welcome#integration-testing" class="hash-link" aria-label="Direct link to Integration Testing" title="Direct link to Integration Testing" translate="no">​</a></h4>
<ul>
<li class="">14 tests per SDK covering all core functionality</li>
<li class="">Cross-SDK compatibility verification</li>
<li class="">CI/CD ready with GitHub Actions</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="whats-next-v04">What's Next: v0.4<a href="https://iyulab.github.io/Loopai/blog/welcome#whats-next-v04" class="hash-link" aria-label="Direct link to What's Next: v0.4" title="Direct link to What's Next: v0.4" translate="no">​</a></h2>
<p>We're now working on infrastructure enhancements:</p>
<ol>
<li class="">
<p><strong>SDK Feature Expansion</strong></p>
<ul>
<li class="">Streaming API support</li>
<li class="">Go SDK implementation</li>
<li class="">Enhanced error handling</li>
</ul>
</li>
<li class="">
<p><strong>Performance &amp; Scalability</strong></p>
<ul>
<li class="">Response caching layer</li>
<li class="">Connection pooling optimization</li>
<li class="">Performance benchmarking</li>
</ul>
</li>
<li class="">
<p><strong>Developer Experience</strong></p>
<ul>
<li class="">CLI tool for management</li>
<li class="">Interactive API playground</li>
<li class="">VS Code extension</li>
</ul>
</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="get-started">Get Started<a href="https://iyulab.github.io/Loopai/blog/welcome#get-started" class="hash-link" aria-label="Direct link to Get Started" title="Direct link to Get Started" translate="no">​</a></h2>
<p>Ready to try Loopai?</p>
<ol>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/guides/getting-started">Install SDK</a></strong> - Choose .NET, Python, or TypeScript</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/examples/spam-detection">Explore Examples</a></strong> - See working implementations</li>
<li class=""><strong><a href="https://github.com/iyulab/Loopai/discussions" target="_blank" rel="noopener noreferrer" class="">Join Community</a></strong> - Ask questions and share feedback</li>
</ol>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-structure">Documentation Structure<a href="https://iyulab.github.io/Loopai/blog/welcome#documentation-structure" class="hash-link" aria-label="Direct link to Documentation Structure" title="Direct link to Documentation Structure" translate="no">​</a></h2>
<p>Our documentation is organized for easy navigation:</p>
<ul>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/intro">Introduction</a></strong> - What is Loopai and why use it</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/guides/getting-started">Guides</a></strong> - Step-by-step tutorials</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/sdks/overview">SDKs</a></strong> - Client SDK documentation</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/api/overview">API</a></strong> - REST API reference</li>
<li class=""><strong><a class="" href="https://iyulab.github.io/Loopai/docs/examples/spam-detection">Examples</a></strong> - Real-world use cases</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="community--support">Community &amp; Support<a href="https://iyulab.github.io/Loopai/blog/welcome#community--support" class="hash-link" aria-label="Direct link to Community &amp; Support" title="Direct link to Community &amp; Support" translate="no">​</a></h2>
<ul>
<li class=""><strong>GitHub</strong>: <a href="https://github.com/iyulab/Loopai" target="_blank" rel="noopener noreferrer" class="">iyulab/Loopai</a></li>
<li class=""><strong>Issues</strong>: <a href="https://github.com/iyulab/Loopai/issues" target="_blank" rel="noopener noreferrer" class="">Report bugs</a></li>
<li class=""><strong>Discussions</strong>: <a href="https://github.com/iyulab/Loopai/discussions" target="_blank" rel="noopener noreferrer" class="">Ask questions</a></li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="stay-updated">Stay Updated<a href="https://iyulab.github.io/Loopai/blog/welcome#stay-updated" class="hash-link" aria-label="Direct link to Stay Updated" title="Direct link to Stay Updated" translate="no">​</a></h2>
<p>Follow our blog for:</p>
<ul>
<li class="">Release announcements</li>
<li class="">Technical deep dives</li>
<li class="">Use case tutorials</li>
<li class="">Performance updates</li>
</ul>
<p>Thank you for your interest in Loopai! We're excited to see what you'll build with it.</p>
<hr>
<p><em>The Loopai Team</em></p>]]></content>
        <author>
            <name>Caveman</name>
            <uri>https://github.com/iyulab-caveman</uri>
        </author>
        <author>
            <name>Junhyung Lee</name>
            <uri>https://github.com/iujunhyung</uri>
        </author>
        <category label="loopai" term="loopai"/>
        <category label="announcement" term="announcement"/>
        <category label="documentation" term="documentation"/>
    </entry>
</feed>