<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://synapsekit.github.io/synapsekit-docs/blog</id>
    <title>SynapseKit — Python LLM Framework Blog</title>
    <updated>2026-03-20T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://synapsekit.github.io/synapsekit-docs/blog"/>
    <subtitle>SynapseKit — Python LLM Framework Blog</subtitle>
    <icon>https://synapsekit.github.io/synapsekit-docs/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[SynapseKit v1.2.0 — Deploy, Track Costs, Evaluate]]></title>
        <id>https://synapsekit.github.io/synapsekit-docs/blog/v120-release</id>
        <link href="https://synapsekit.github.io/synapsekit-docs/blog/v120-release"/>
        <updated>2026-03-20T00:00:00.000Z</updated>
        <summary type="html"><![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.]]></summary>
        <content type="html"><![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>
        <author>
            <name>SynapseKit Team</name>
            <uri>https://github.com/SynapseKit</uri>
        </author>
        <category label="Release" term="Release"/>
        <category label="v1.2.0" term="v1.2.0"/>
        <category label="CLI" term="CLI"/>
        <category label="Observability" term="Observability"/>
        <category label="Evaluation" term="Evaluation"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Welcome]]></title>
        <id>https://synapsekit.github.io/synapsekit-docs/blog/welcome</id>
        <link href="https://synapsekit.github.io/synapsekit-docs/blog/welcome"/>
        <updated>2021-08-26T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Docusaurus blogging features are powered by the blog plugin.]]></summary>
        <content type="html"><![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>
        <author>
            <name>Sébastien Lorber</name>
            <uri>https://sebastienlorber.com</uri>
        </author>
        <author>
            <name>Yangshun Tay</name>
            <uri>https://linkedin.com/in/yangshun</uri>
        </author>
        <category label="facebook" term="facebook"/>
        <category label="hello" term="hello"/>
        <category label="docusaurus" term="docusaurus"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[MDX Blog Post]]></title>
        <id>https://synapsekit.github.io/synapsekit-docs/blog/mdx-blog-post</id>
        <link href="https://synapsekit.github.io/synapsekit-docs/blog/mdx-blog-post"/>
        <updated>2021-08-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Blog posts support Docusaurus Markdown features, such as MDX.]]></summary>
        <content type="html"><![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>
        <author>
            <name>Sébastien Lorber</name>
            <uri>https://sebastienlorber.com</uri>
        </author>
        <category label="docusaurus" term="docusaurus"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[Long Blog Post]]></title>
        <id>https://synapsekit.github.io/synapsekit-docs/blog/long-blog-post</id>
        <link href="https://synapsekit.github.io/synapsekit-docs/blog/long-blog-post"/>
        <updated>2019-05-29T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This is the summary of a very long blog post,]]></summary>
        <content type="html"><![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>
        <author>
            <name>Yangshun Tay</name>
            <uri>https://linkedin.com/in/yangshun</uri>
        </author>
        <category label="hello" term="hello"/>
        <category label="docusaurus" term="docusaurus"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[First Blog Post]]></title>
        <id>https://synapsekit.github.io/synapsekit-docs/blog/first-blog-post</id>
        <link href="https://synapsekit.github.io/synapsekit-docs/blog/first-blog-post"/>
        <updated>2019-05-28T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Lorem ipsum dolor sit amet...]]></summary>
        <content type="html"><![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>
        <author>
            <name>Sébastien Lorber</name>
            <uri>https://sebastienlorber.com</uri>
        </author>
        <author>
            <name>Yangshun Tay</name>
            <uri>https://linkedin.com/in/yangshun</uri>
        </author>
        <category label="hola" term="hola"/>
        <category label="docusaurus" term="docusaurus"/>
    </entry>
</feed>