<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>SynapseKit — Python LLM Framework Blog</title>
        <link>https://synapsekit.github.io/synapsekit-docs/blog</link>
        <description>SynapseKit — Python LLM Framework Blog</description>
        <lastBuildDate>Fri, 20 Mar 2026 00:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>en</language>
        <item>
            <title><![CDATA[SynapseKit v1.2.0 — Deploy, Track Costs, Evaluate]]></title>
            <link>https://synapsekit.github.io/synapsekit-docs/blog/v120-release</link>
            <guid>https://synapsekit.github.io/synapsekit-docs/blog/v120-release</guid>
            <pubDate>Fri, 20 Mar 2026 00:00:00 GMT</pubDate>
            <description><![CDATA[SynapseKit v1.2.0 ships three capabilities that every production AI team needs but rarely gets from a framework: one-command deployment, cost intelligence, and built-in evaluation.]]></description>
            <content:encoded><![CDATA[<p>SynapseKit v1.2.0 ships three capabilities that every production AI team needs but rarely gets from a framework: <strong>one-command deployment</strong>, <strong>cost intelligence</strong>, and <strong>built-in evaluation</strong>.</p>
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="synapsekit-serve--deploy-in-one-command">synapsekit serve — Deploy in one command<a href="https://synapsekit.github.io/synapsekit-docs/blog/v120-release#synapsekit-serve--deploy-in-one-command" class="hash-link" aria-label="Direct link to synapsekit serve — Deploy in one command" title="Direct link to synapsekit serve — Deploy in one command" translate="no">​</a></h2>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">pip </span><span class="token function" style="color:hsl(221, 87%, 60%)">install</span><span class="token plain"> synapsekit</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">[</span><span class="token plain">serve</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">]</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">synapsekit serve my_app:rag </span><span class="token parameter variable" style="color:hsl(221, 87%, 60%)">--port</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">8000</span><span class="token plain"> </span><span class="token parameter variable" style="color:hsl(221, 87%, 60%)">--reload</span><br></span></code></pre></div></div>
<p>Point it at any Python object that's a RAG pipeline, graph workflow, or agent — SynapseKit auto-detects the type and builds a FastAPI app with the right endpoints (<code>/query</code>, <code>/run</code>, <code>/stream</code>, <code>/health</code>). OpenAPI docs included. No boilerplate.</p>
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="costtracker--budgetguard">CostTracker &amp; BudgetGuard<a href="https://synapsekit.github.io/synapsekit-docs/blog/v120-release#costtracker--budgetguard" class="hash-link" aria-label="Direct link to CostTracker &amp; BudgetGuard" title="Direct link to CostTracker &amp; BudgetGuard" translate="no">​</a></h2>
<p>Cost control without a SaaS subscription:</p>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token keyword" style="color:hsl(301, 63%, 40%)">from</span><span class="token plain"> synapsekit </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">import</span><span class="token plain"> CostTracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> BudgetGuard</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> BudgetLimit</span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">tracker </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> CostTracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">guard </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> BudgetGuard</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">BudgetLimit</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">daily</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">10.0</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> per_request</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">0.50</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">with</span><span class="token plain"> tracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">scope</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"pipeline"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">    rec </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> tracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">record</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"gpt-4o"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> input_tokens</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">1000</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> output_tokens</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">500</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">    guard</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">check_before</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">rec</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">cost_usd</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain" style="display:inline-block"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">print</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">tracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">summary</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><br></span></code></pre></div></div>
<p><code>BudgetGuard</code> uses a circuit breaker pattern — when a budget is exceeded, it trips OPEN and stops requests until the cooldown passes.</p>
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="eval_case--synapsekit-test">@eval_case + synapsekit test<a href="https://synapsekit.github.io/synapsekit-docs/blog/v120-release#eval_case--synapsekit-test" class="hash-link" aria-label="Direct link to @eval_case + synapsekit test" title="Direct link to @eval_case + synapsekit test" translate="no">​</a></h2>
<div class="language-python codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-python codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token decorator annotation punctuation" style="color:hsl(119, 34%, 47%)">@eval_case</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">min_score</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">0.8</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> max_cost_usd</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token number" style="color:hsl(35, 99%, 36%)">0.05</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain"></span><span class="token keyword" style="color:hsl(301, 63%, 40%)">def</span><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">test_summarization</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">:</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">    result </span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token plain"> run_my_pipeline</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">"Summarize this document..."</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"></span><br></span><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">    </span><span class="token keyword" style="color:hsl(301, 63%, 40%)">return</span><span class="token plain"> </span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">{</span><span class="token string" style="color:hsl(119, 34%, 47%)">"score"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">:</span><span class="token plain"> evaluate</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token plain">result</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">,</span><span class="token plain"> </span><span class="token string" style="color:hsl(119, 34%, 47%)">"cost_usd"</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">:</span><span class="token plain"> tracker</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">.</span><span class="token plain">total_cost_usd</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">}</span><br></span></code></pre></div></div>
<div class="language-bash codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-bash codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token plain">synapsekit </span><span class="token builtin class-name" style="color:hsl(35, 99%, 36%)">test</span><span class="token plain"> tests/ </span><span class="token parameter variable" style="color:hsl(221, 87%, 60%)">--threshold</span><span class="token plain"> </span><span class="token number" style="color:hsl(35, 99%, 36%)">0.7</span><span class="token plain"> </span><span class="token parameter variable" style="color:hsl(221, 87%, 60%)">--format</span><span class="token plain"> json</span><br></span></code></pre></div></div>
<p>Integrates naturally with pytest and CI. Exit code 1 if any case fails its thresholds.</p>
<h2 class="anchor anchorTargetHideOnScrollNavbar_vjPI" id="what-else-is-new">What else is new<a href="https://synapsekit.github.io/synapsekit-docs/blog/v120-release#what-else-is-new" class="hash-link" aria-label="Direct link to What else is new" title="Direct link to What else is new" translate="no">​</a></h2>
<ul>
<li class=""><strong>PromptHub</strong> — local versioned prompt registry</li>
<li class=""><strong>PluginRegistry</strong> — community plugins via Python entry points</li>
<li class=""><strong>RedisCheckpointer</strong> + <strong>PostgresCheckpointer</strong> — production graph persistence</li>
</ul>
<p>Full changelog: <a class="" href="https://synapsekit.github.io/synapsekit-docs/docs/changelog">v1.2.0</a></p>]]></content:encoded>
            <category>Release</category>
            <category>v1.2.0</category>
            <category>CLI</category>
            <category>Observability</category>
            <category>Evaluation</category>
        </item>
        <item>
            <title><![CDATA[Welcome]]></title>
            <link>https://synapsekit.github.io/synapsekit-docs/blog/welcome</link>
            <guid>https://synapsekit.github.io/synapsekit-docs/blog/welcome</guid>
            <pubDate>Thu, 26 Aug 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[Docusaurus blogging features are powered by the blog plugin.]]></description>
            <content:encoded><![CDATA[<p><a href="https://docusaurus.io/docs/blog" target="_blank" rel="noopener noreferrer" class="">Docusaurus blogging features</a> are powered by the <a href="https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog" target="_blank" rel="noopener noreferrer" class="">blog plugin</a>.</p>
<p>Here are a few tips you might find useful.</p>
<p>Simply add Markdown files (or folders) to the <code>blog</code> directory.</p>
<p>Regular blog authors can be added to <code>authors.yml</code>.</p>
<p>The blog post date can be extracted from filenames, such as:</p>
<ul>
<li class=""><code>2019-05-30-welcome.md</code></li>
<li class=""><code>2019-05-30-welcome/index.md</code></li>
</ul>
<p>A blog post folder can be convenient to co-locate blog post images:</p>
<p><img decoding="async" loading="lazy" alt="Docusaurus Plushie" src="https://synapsekit.github.io/synapsekit-docs/assets/images/docusaurus-plushie-banner-a60f7593abca1e3eef26a9afa244e4fb.jpeg" width="1500" height="500" class="img_ev3q"></p>
<p>The blog supports tags as well!</p>
<p><strong>And if you don't want a blog</strong>: just delete this directory, and use <code>blog: false</code> in your Docusaurus config.</p>]]></content:encoded>
            <category>facebook</category>
            <category>hello</category>
            <category>docusaurus</category>
        </item>
        <item>
            <title><![CDATA[MDX Blog Post]]></title>
            <link>https://synapsekit.github.io/synapsekit-docs/blog/mdx-blog-post</link>
            <guid>https://synapsekit.github.io/synapsekit-docs/blog/mdx-blog-post</guid>
            <pubDate>Sun, 01 Aug 2021 00:00:00 GMT</pubDate>
            <description><![CDATA[Blog posts support Docusaurus Markdown features, such as MDX.]]></description>
            <content:encoded><![CDATA[<p>Blog posts support <a href="https://docusaurus.io/docs/markdown-features" target="_blank" rel="noopener noreferrer" class="">Docusaurus Markdown features</a>, such as <a href="https://mdxjs.com/" target="_blank" rel="noopener noreferrer" class="">MDX</a>.</p>
<div class="theme-admonition theme-admonition-tip admonition_xJq3 alert alert--success"><div class="admonitionHeading_Gvgb"><span class="admonitionIcon_Rf37"><svg viewBox="0 0 12 16"><path fill-rule="evenodd" d="M6.5 0C3.48 0 1 2.19 1 5c0 .92.55 2.25 1 3 1.34 2.25 1.78 2.78 2 4v1h5v-1c.22-1.22.66-1.75 2-4 .45-.75 1-2.08 1-3 0-2.81-2.48-5-5.5-5zm3.64 7.48c-.25.44-.47.8-.67 1.11-.86 1.41-1.25 2.06-1.45 3.23-.02.05-.02.11-.02.17H5c0-.06 0-.13-.02-.17-.2-1.17-.59-1.83-1.45-3.23-.2-.31-.42-.67-.67-1.11C2.44 6.78 2 5.65 2 5c0-2.2 2.02-4 4.5-4 1.22 0 2.36.42 3.22 1.19C10.55 2.94 11 3.94 11 5c0 .66-.44 1.78-.86 2.48zM4 14h5c-.23 1.14-1.3 2-2.5 2s-2.27-.86-2.5-2z"></path></svg></span>tip</div><div class="admonitionContent_BuS1"><p>Use the power of React to create interactive blog posts.</p></div></div>
<!-- -->
<p>For example, use JSX to create an interactive button:</p>
<div class="language-js codeBlockContainer_Ckt0 theme-code-block" style="--prism-background-color:hsl(230, 1%, 98%);--prism-color:hsl(230, 8%, 24%)"><div class="codeBlockContent_QJqH"><pre tabindex="0" class="prism-code language-js codeBlock_bY9V thin-scrollbar" style="background-color:hsl(230, 1%, 98%);color:hsl(230, 8%, 24%)"><code class="codeBlockLines_e6Vv"><span class="token-line" style="color:hsl(230, 8%, 24%)"><span class="token operator" style="color:hsl(221, 87%, 60%)">&lt;</span><span class="token plain">button onClick</span><span class="token operator" style="color:hsl(221, 87%, 60%)">=</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">{</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token plain"> </span><span class="token arrow operator" style="color:hsl(221, 87%, 60%)">=&gt;</span><span class="token plain"> </span><span class="token function" style="color:hsl(221, 87%, 60%)">alert</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">(</span><span class="token string" style="color:hsl(119, 34%, 47%)">'button clicked!'</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">)</span><span class="token punctuation" style="color:hsl(119, 34%, 47%)">}</span><span class="token operator" style="color:hsl(221, 87%, 60%)">&gt;</span><span class="token maybe-class-name">Click</span><span class="token plain"> me</span><span class="token operator" style="color:hsl(221, 87%, 60%)">!</span><span class="token operator" style="color:hsl(221, 87%, 60%)">&lt;</span><span class="token operator" style="color:hsl(221, 87%, 60%)">/</span><span class="token plain">button</span><span class="token operator" style="color:hsl(221, 87%, 60%)">&gt;</span><br></span></code></pre></div></div>
<button>Click me!</button>]]></content:encoded>
            <category>docusaurus</category>
        </item>
        <item>
            <title><![CDATA[Long Blog Post]]></title>
            <link>https://synapsekit.github.io/synapsekit-docs/blog/long-blog-post</link>
            <guid>https://synapsekit.github.io/synapsekit-docs/blog/long-blog-post</guid>
            <pubDate>Wed, 29 May 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[This is the summary of a very long blog post,]]></description>
            <content:encoded><![CDATA[<p>This is the summary of a very long blog post,</p>
<p>Use a <code>&lt;!--</code> <code>truncate</code> <code>--&gt;</code> comment to limit blog post size in the list view.</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content:encoded>
            <category>hello</category>
            <category>docusaurus</category>
        </item>
        <item>
            <title><![CDATA[First Blog Post]]></title>
            <link>https://synapsekit.github.io/synapsekit-docs/blog/first-blog-post</link>
            <guid>https://synapsekit.github.io/synapsekit-docs/blog/first-blog-post</guid>
            <pubDate>Tue, 28 May 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Lorem ipsum dolor sit amet...]]></description>
            <content:encoded><![CDATA[<p>Lorem ipsum dolor sit amet...</p>
<p>...consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet</p>]]></content:encoded>
            <category>hola</category>
            <category>docusaurus</category>
        </item>
    </channel>
</rss>