<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Divyanshu Sinha</title>
    <description>The latest articles on DEV Community by Divyanshu Sinha (@divyanshusinha136).</description>
    <link>https://dev.to/divyanshusinha136</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2444956%2F061cd6da-2d10-4599-b948-898f0f254032.jpg</url>
      <title>DEV Community: Divyanshu Sinha</title>
      <link>https://dev.to/divyanshusinha136</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/divyanshusinha136"/>
    <language>en</language>
    <item>
      <title>🐯 I Built a 8ns JIT Compiler in Python and This Is Why It Matters for AI</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Mon, 15 Dec 2025 19:42:25 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/i-built-a-8ns-jit-compiler-in-python-and-this-is-why-it-matters-for-ai-22h6</link>
      <guid>https://dev.to/divyanshusinha136/i-built-a-8ns-jit-compiler-in-python-and-this-is-why-it-matters-for-ai-22h6</guid>
      <description>&lt;p&gt;Python is slow.&lt;br&gt;
We all know that.&lt;/p&gt;

&lt;p&gt;But what if I told you I just ran this &lt;strong&gt;Python JIT function&lt;/strong&gt; in &lt;strong&gt;~8 nanoseconds&lt;/strong&gt;?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;jit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;a * b + c&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;   &lt;span class="c1"&gt;# 17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No NumPy.&lt;br&gt;
No PyTorch.&lt;br&gt;
No LLVM.&lt;br&gt;
No C extensions.&lt;/p&gt;

&lt;p&gt;Just &lt;strong&gt;Python → Assembly → CPU&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Let me explain what’s really happening and why this is &lt;em&gt;very relevant to AI&lt;/em&gt;.&lt;/p&gt;


&lt;h2&gt;
  
  
  🚀 The idea: skip everything and talk directly to the CPU
&lt;/h2&gt;

&lt;p&gt;Most AI frameworks work like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Python → Graph → IR → Optimizer → Kernel → CPU/GPU
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s powerful — but expensive.&lt;/p&gt;

&lt;p&gt;I asked a simpler question:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;What if Python could emit raw machine code and run it immediately?&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;That’s why I built &lt;strong&gt;TigerASM&lt;/strong&gt; a runtime assembler for Python, written in Rust.&lt;/p&gt;

&lt;p&gt;And on top of it, I built a &lt;strong&gt;tiny JIT compiler&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🧠 The JIT (simple, honest, dangerous)
&lt;/h2&gt;

&lt;p&gt;This JIT takes a &lt;strong&gt;math expression&lt;/strong&gt;, compiles it to &lt;strong&gt;assembly&lt;/strong&gt;, and executes it natively.&lt;/p&gt;

&lt;p&gt;Here’s the full working code 👇&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tigerasm&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TigerASM&lt;/span&gt;

&lt;span class="n"&gt;ARG_REGS&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rdi&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rsi&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rdx&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rcx&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r8&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;r9&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;JITFunction&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__init__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;list&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;]):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;expr&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;expr&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;args&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TigerASM&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body_asm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;_compile&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;_compile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;-&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="n"&gt;asm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;

        &lt;span class="n"&gt;tokens&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;+&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; + &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; * &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

        &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;load_to_rax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
                &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mov rax, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;reg&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ARG_REGS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;token&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;
                &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mov rax, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;reg&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="nf"&gt;load_to_rax&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt;

        &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
        &lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="nf"&gt;len&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;op&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
            &lt;span class="n"&gt;val&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;tokens&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isdigit&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
                &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mov rbx, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
                &lt;span class="n"&gt;rhs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rbx&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
            &lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;rhs&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;ARG_REGS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)]&lt;/span&gt;

            &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;op&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;+&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;add rax, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rhs&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
            &lt;span class="k"&gt;elif&lt;/span&gt; &lt;span class="n"&gt;op&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
                &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;imul rax, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;rhs&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

            &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;

        &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;ret&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;__call__&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;clear_memory&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

        &lt;span class="n"&gt;prologue&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;val&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;enumerate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;args&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
            &lt;span class="n"&gt;prologue&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;mov &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;ARG_REGS&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;, &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="nf"&gt;int&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;val&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

        &lt;span class="n"&gt;full_code&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;prologue&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;body_asm&lt;/span&gt;

        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;full_code&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
        &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="n"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rax&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;


&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;jit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
    &lt;span class="n"&gt;vars_&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[]&lt;/span&gt;
    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;+&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt; &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;isidentifier&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="ow"&gt;and&lt;/span&gt; &lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;vars_&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
            &lt;span class="n"&gt;vars_&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;append&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nc"&gt;JITFunction&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;expr&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;vars_&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Usage:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;f&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;jit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;a * b + c&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;    &lt;span class="c1"&gt;# 17
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;20&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;30&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="c1"&gt;# 230
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚡ Benchmark: the shocking part
&lt;/h2&gt;

&lt;p&gt;Measured with &lt;code&gt;perf_counter_ns()&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Avg time per call: ~8.02 ns
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That’s roughly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;~28 CPU cycles&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Just a handful of &lt;code&gt;mov&lt;/code&gt;, &lt;code&gt;imul&lt;/code&gt;, &lt;code&gt;add&lt;/code&gt;, &lt;code&gt;ret&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For comparison:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Operation&lt;/th&gt;
&lt;th&gt;Time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Python arithmetic&lt;/td&gt;
&lt;td&gt;~100 ns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;NumPy scalar&lt;/td&gt;
&lt;td&gt;~60 ns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PyTorch eager&lt;/td&gt;
&lt;td&gt;~80 ns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;TigerASM JIT&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~8 ns&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is &lt;strong&gt;near hand-written C speed&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🤖 Why this matters for AI
&lt;/h2&gt;

&lt;p&gt;Modern AI is dominated by &lt;strong&gt;huge frameworks&lt;/strong&gt;, but under the hood AI is still:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;matrix multiplies&lt;/li&gt;
&lt;li&gt;activation functions&lt;/li&gt;
&lt;li&gt;reductions&lt;/li&gt;
&lt;li&gt;element-wise ops&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are &lt;strong&gt;tiny kernels&lt;/strong&gt;, repeated millions of times.&lt;/p&gt;

&lt;p&gt;With a system like this, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JIT-compile custom activation functions&lt;/li&gt;
&lt;li&gt;Generate model-specific kernels&lt;/li&gt;
&lt;li&gt;Fuse operations at runtime&lt;/li&gt;
&lt;li&gt;Eliminate Python and framework overhead entirely&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially powerful for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;research&lt;/li&gt;
&lt;li&gt;custom models&lt;/li&gt;
&lt;li&gt;edge / CPU-only inference&lt;/li&gt;
&lt;li&gt;experimental architectures&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🐯 What TigerASM gives you
&lt;/h2&gt;

&lt;p&gt;TigerASM is &lt;strong&gt;not safe&lt;/strong&gt; and that’s intentional.&lt;/p&gt;

&lt;p&gt;It gives you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;raw registers&lt;/li&gt;
&lt;li&gt;raw memory&lt;/li&gt;
&lt;li&gt;executable machine code&lt;/li&gt;
&lt;li&gt;zero abstraction&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you emit a wrong instruction, Python can crash.&lt;/p&gt;

&lt;p&gt;That’s the cost of &lt;strong&gt;real performance&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  🔮 What’s next
&lt;/h2&gt;

&lt;p&gt;This is just the beginning.&lt;/p&gt;

&lt;p&gt;Next steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;loop lowering (&lt;code&gt;while&lt;/code&gt;, &lt;code&gt;for&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;vectorized ops&lt;/li&gt;
&lt;li&gt;memory-backed tensors&lt;/li&gt;
&lt;li&gt;ML kernels without PyTorch&lt;/li&gt;
&lt;li&gt;a dedicated &lt;code&gt;tigerasm-jit&lt;/code&gt; package&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🧠 Final thought
&lt;/h2&gt;

&lt;p&gt;Most AI speedups come from &lt;strong&gt;more abstraction&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This one comes from &lt;strong&gt;removing everything&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;When Python can talk directly to the CPU,&lt;br&gt;
you stop optimizing code&lt;br&gt;
you start designing &lt;strong&gt;instructions&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;🐯⚡&lt;/p&gt;

</description>
      <category>tigerasm</category>
      <category>python</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>🚀 Introducing TigerASM: Your Rust-to-Python Runtime Assembler Library 🐯⚡</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Mon, 15 Dec 2025 10:26:01 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/introducing-tigerasm-your-rust-to-python-runtime-assembler-library-2apa</link>
      <guid>https://dev.to/divyanshusinha136/introducing-tigerasm-your-rust-to-python-runtime-assembler-library-2apa</guid>
      <description>&lt;p&gt;I’m thrilled to announce the first release of TigerASM, a high-performance runtime assembler library built in Rust with Python bindings via PyO3. If you’ve ever wanted the power of assembly directly accessible in Python without sacrificing speed, this is for you.&lt;/p&gt;

&lt;p&gt;Absolutely! Here’s a polished &lt;strong&gt;developer-friendly post draft for dev.to&lt;/strong&gt; about TigerASM. I’ve framed it to highlight your Rust-to-Python bridge, speed, and unique features:&lt;/p&gt;




&lt;h1&gt;
  
  
  🚀 Introducing TigerASM: Your Rust-to-Python Runtime Assembler Library 🐯⚡
&lt;/h1&gt;

&lt;p&gt;I’m thrilled to announce the &lt;strong&gt;first release of TigerASM&lt;/strong&gt;, a high-performance runtime assembler library built in &lt;strong&gt;Rust&lt;/strong&gt; with Python bindings via &lt;strong&gt;PyO3&lt;/strong&gt;. If you’ve ever wanted the &lt;strong&gt;power of assembly&lt;/strong&gt; directly accessible in Python without sacrificing speed, this is for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  🐅 What is TigerASM?
&lt;/h2&gt;

&lt;p&gt;TigerASM is a &lt;strong&gt;runtime assembler&lt;/strong&gt; that allows you to write, execute, and manipulate assembly instructions dynamically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Supports &lt;strong&gt;x86-64&lt;/strong&gt; and &lt;strong&gt;ARM64&lt;/strong&gt; architectures&lt;/li&gt;
&lt;li&gt;Write assembly instructions in &lt;strong&gt;Python&lt;/strong&gt; and execute them at &lt;strong&gt;native speed&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Full control over registers and memory from Python&lt;/li&gt;
&lt;li&gt;Comes with a &lt;strong&gt;Python wheel (&lt;code&gt;.whl&lt;/code&gt;)&lt;/strong&gt; for easy installation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Think of it as giving Python the &lt;strong&gt;muscle of Rust + assembly&lt;/strong&gt;, all in a single package.&lt;/p&gt;




&lt;h2&gt;
  
  
  ⚡ Why TigerASM?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Blazing Speed&lt;/strong&gt;: Python + Rust + DynASM runtime means your assembly code runs in &lt;strong&gt;nanoseconds&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beginner-Friendly&lt;/strong&gt;: No complex setup needed — just install the wheel and import &lt;code&gt;tigerasm&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safe and Licensed&lt;/strong&gt;: Released under &lt;strong&gt;LGPL v3&lt;/strong&gt;, so you can use it in both open-source and proprietary projects.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Expandable&lt;/strong&gt;: Add new instructions or extend it for &lt;strong&gt;AI, game engines, or low-level Python optimizations&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🏁 Quick Start
&lt;/h2&gt;

&lt;p&gt;Install TigerASM via pip:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install tigerasm
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Use it in Python:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;tigerasm&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;TigerASM&lt;/span&gt;

&lt;span class="c1"&gt;# Create assembler instance
&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;TigerASM&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;setup&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;x86_64&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# or "aarch64" for ARM64
&lt;/span&gt;
&lt;span class="c1"&gt;# Write assembly code
&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="s"&gt;
    mov rax, 42
    add rax, 8
    ret
&lt;/span&gt;&lt;span class="sh"&gt;"""&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# Execute and get result
&lt;/span&gt;&lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;execute&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;asm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;rax&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;  &lt;span class="c1"&gt;# Returns 50
&lt;/span&gt;&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Result: &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;result&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Check the version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;tigerasm&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;tigerasm&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;version&lt;/span&gt;&lt;span class="p"&gt;())&lt;/span&gt;  &lt;span class="c1"&gt;# 0.1.0
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🤝 Contributing
&lt;/h2&gt;

&lt;p&gt;Contributions are welcome! Please ensure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code follows Rust best practices&lt;/li&gt;
&lt;li&gt;New instructions are documented&lt;/li&gt;
&lt;li&gt;Tests are included for new features&lt;/li&gt;
&lt;li&gt;README and examples are updated&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📄 License
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FLicense-LGPL%2520v3-blue.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimg.shields.io%2Fbadge%2FLicense-LGPL%2520v3-blue.svg" alt="License" width="106" height="20"&gt;&lt;/a&gt;&lt;br&gt;
TigerASM is licensed under the &lt;strong&gt;GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later)&lt;/strong&gt;.&lt;br&gt;
See the &lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FDivyanshuSinha136%2FTigerASM%2Fblob%2Fmain%2FLICENSE" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FDivyanshuSinha136%2FTigerASM%2Fblob%2Fmain%2FLICENSE" alt="LICENSE" width="" height=""&gt;&lt;/a&gt; file for details.&lt;/p&gt;




&lt;h2&gt;
  
  
  🙏 Acknowledgments
&lt;/h2&gt;

&lt;p&gt;Built with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fpyo3.rs%2F" alt="PyO3" width="" height=""&gt; – Rust bindings for Python&lt;/li&gt;
&lt;li&gt;
&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FCensoredUsername%2Fdynasm-rs" alt="dynasm-rs" width="" height=""&gt; – Dynamic assembly runtime&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/DivyanshuSinha136/TigerASM" rel="noopener noreferrer"&gt;Happy Assembling!&lt;/a&gt; 🐯⚡&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>assembly</category>
      <category>python</category>
      <category>jit</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Want Your Python AI to Speak? Using Pythonaibrain’s `speak()` Function</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Sun, 28 Sep 2025 17:48:22 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/want-your-python-ai-to-speak-using-pythonaibrains-speak-function-4d8d</link>
      <guid>https://dev.to/divyanshusinha136/want-your-python-ai-to-speak-using-pythonaibrains-speak-function-4d8d</guid>
      <description>&lt;h2&gt;
  
  
  Want Your Python AI to Speak? Using Pythonaibrain’s &lt;code&gt;speak()&lt;/code&gt; Function
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Divyanshu Sinha&lt;br&gt;
&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;#python #ai #tts #pythonaibrain #tutorial&lt;/code&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Want Your AI to Talk?
&lt;/h2&gt;

&lt;p&gt;Ever wanted your AI to &lt;strong&gt;speak out messages instead of just printing text&lt;/strong&gt;? 🤖&lt;br&gt;
With &lt;strong&gt;Pythonaibrain v1.1.8&lt;/strong&gt;, it’s super easy. The &lt;code&gt;speak()&lt;/code&gt; function allows your Python program to convert text to speech using voices available on your device.&lt;/p&gt;

&lt;p&gt;In this tutorial, we’ll cover:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Installing Pythonaibrain&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;speak()&lt;/code&gt; with different voices&lt;/li&gt;
&lt;li&gt;Cross-platform tips&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  Step 1: Install Pythonaibrain
&lt;/h2&gt;

&lt;p&gt;If you haven’t installed it yet, run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;&lt;span class="nv"&gt;pythonaibrain&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;1.1.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Make sure your Python version is 3.8 or higher.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 2: Basic Usage of &lt;code&gt;speak()&lt;/code&gt;
&lt;/h2&gt;

&lt;p&gt;Here’s the simplest way to make your AI speak:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaitk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;speak&lt;/span&gt;

&lt;span class="c1"&gt;# Speak a message using the default voice
&lt;/span&gt;&lt;span class="nf"&gt;speak&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello! I am your AI speaking!&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;✅ That’s it! Your computer will read the message aloud.&lt;/p&gt;




&lt;h2&gt;
  
  
  Step 3: Using Different Voices
&lt;/h2&gt;

&lt;p&gt;You can select a voice installed on your system. Example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaitk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;speak&lt;/span&gt;

&lt;span class="c1"&gt;# Speak with a specific voice
&lt;/span&gt;&lt;span class="nf"&gt;speak&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Hello! I am David speaking.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;voice&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;david&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;On Windows, common voices include &lt;code&gt;"david"&lt;/code&gt;, &lt;code&gt;"zira"&lt;/code&gt;, &lt;code&gt;"mark"&lt;/code&gt;.&lt;br&gt;
On macOS, system voices like &lt;code&gt;"alex"&lt;/code&gt; or &lt;code&gt;"victoria"&lt;/code&gt; are available.&lt;br&gt;
On Linux, &lt;code&gt;espeak&lt;/code&gt; voices are used (&lt;code&gt;"en-us+f3"&lt;/code&gt;, &lt;code&gt;"en-us+m3"&lt;/code&gt;, etc.).&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 4: How to Check Available Voices
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Windows Example (via pyttsx3)&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;pyttsx3&lt;/span&gt;

&lt;span class="n"&gt;engine&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;pyttsx3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;init&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;voices&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;engine&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;getProperty&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;voices&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;voice&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="n"&gt;voices&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;voice&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Make sure the voice name matches exactly when using &lt;code&gt;speak(voice="...")&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 5: Combine with Chatbot
&lt;/h2&gt;

&lt;p&gt;You can make your AI chatbot &lt;strong&gt;talk&lt;/strong&gt; instead of just printing responses:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaitk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Brain&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;speak&lt;/span&gt;

&lt;span class="n"&gt;brain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Brain&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Your name: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt;: &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;answer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;process_messages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Speak the AI response
&lt;/span&gt;    &lt;span class="nf"&gt;speak&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;voice&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;david&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bye&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 6: Optional Enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add &lt;strong&gt;dynamic voices&lt;/strong&gt; depending on the user or mood.&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;cross-platform voice checks&lt;/strong&gt; to select an available voice automatically.&lt;/li&gt;
&lt;li&gt;Combine with GUI libraries (Tkinter, CustomTkinter) for a &lt;strong&gt;talking chatbot&lt;/strong&gt; interface.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;With &lt;strong&gt;Pythonaibrain’s &lt;code&gt;speak()&lt;/code&gt;&lt;/strong&gt;, you can make your AI &lt;strong&gt;interactive and engaging&lt;/strong&gt; by adding speech. 🗣️&lt;/p&gt;

&lt;p&gt;You now know how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Convert text to speech in Python&lt;/li&gt;
&lt;li&gt;Use different voices&lt;/li&gt;
&lt;li&gt;Integrate speaking into a chatbot&lt;/li&gt;
&lt;/ul&gt;

&lt;blockquote&gt;
&lt;p&gt;Go ahead, make your Python AI talk like a real assistant! 🚀&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;For more check it out &lt;a href="https://github.com/DivyanshuSinha136/Pythonaibrain-v1.1.8/blob/main/README.md" rel="noopener noreferrer"&gt;Pythonaibrain v1.1.8&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tts</category>
      <category>tutorial</category>
      <category>python</category>
      <category>pythonaibrain</category>
    </item>
    <item>
      <title>Want to Build Your Own AI Chatbot? Try Pythonaibrain v1.1.8 in Python</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Sun, 28 Sep 2025 17:33:22 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/want-to-build-your-own-ai-chatbot-try-pythonaibrain-v118-in-python-d79</link>
      <guid>https://dev.to/divyanshusinha136/want-to-build-your-own-ai-chatbot-try-pythonaibrain-v118-in-python-d79</guid>
      <description>&lt;h2&gt;
  
  
  Want to Build Your Own AI Chatbot? Try Pythonaibrain v1.1.8 in Python
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Divyanshu Sinha&lt;br&gt;
&lt;strong&gt;Tags:&lt;/strong&gt; &lt;code&gt;#python #ai #chatbot #pythonaibrain #tutorial&lt;/code&gt;&lt;/p&gt;


&lt;h2&gt;
  
  
  Want to Build Your Own AI?
&lt;/h2&gt;

&lt;p&gt;If you’ve ever wanted to create a chatbot, &lt;strong&gt;Pythonaibrain v1.1.8&lt;/strong&gt; makes it super easy. Even if you’re new to AI, this Python toolkit lets you train, save, and run your own chatbot using simple &lt;strong&gt;intents&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;In this tutorial, we’ll go step by step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Install Pythonaibrain&lt;/li&gt;
&lt;li&gt;Create intents for your chatbot&lt;/li&gt;
&lt;li&gt;Train and save your AI&lt;/li&gt;
&lt;li&gt;Run a fully interactive chatbot&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By the end, you’ll have a chatbot ready to talk to anyone!&lt;/p&gt;


&lt;h2&gt;
  
  
  Step 1: Install Pythonaibrain
&lt;/h2&gt;

&lt;p&gt;Open your terminal and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;&lt;span class="nv"&gt;pythonaibrain&lt;/span&gt;&lt;span class="o"&gt;==&lt;/span&gt;1.1.8
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Make sure you have Python 3.8 or higher installed.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 2: Create Your Chatbot Intents
&lt;/h2&gt;

&lt;p&gt;Create a file named &lt;code&gt;intents.json&lt;/code&gt; in your project folder. This is where you define what your chatbot can understand and respond to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"intents"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"tag"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"greeting"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"patterns"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Hi"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hello"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hey"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"responses"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Hello!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hi there!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Hey! How can I help you?"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"tag"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"goodbye"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"patterns"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Bye"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"See you"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Goodbye"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"responses"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Goodbye!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"See you later!"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"Take care!"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; Each intent has a &lt;code&gt;tag&lt;/code&gt;, &lt;code&gt;patterns&lt;/code&gt; (user inputs), and &lt;code&gt;responses&lt;/code&gt; (bot replies).&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Step 3: Write the Chatbot Code
&lt;/h2&gt;

&lt;p&gt;Create a Python file, e.g., &lt;code&gt;chatbot.py&lt;/code&gt;, and add:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaitk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Brain&lt;/span&gt;

&lt;span class="c1"&gt;# Initialize Brain object. Leave blank if your intents file is named 'intents.json', it will auto-detect and load.
&lt;/span&gt;&lt;span class="n"&gt;brain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Brain&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Train the model using the loaded intents
&lt;/span&gt;&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# Save the trained model for future use
&lt;/span&gt;&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# If the model is already trained, simply load it using:
# brain.load()
# This avoids retraining the model
&lt;/span&gt;
&lt;span class="c1"&gt;# Prompt the user to enter their name
&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Your name : &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="k"&gt;while&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Take user input (query) in a chat-like format
&lt;/span&gt;    &lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;username&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s"&gt; : &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# Process the user query and generate a response (returns a string)
&lt;/span&gt;    &lt;span class="n"&gt;answer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;process_messages&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="bp"&gt;False&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="c1"&gt;# If the user types 'bye', exit the chat loop
&lt;/span&gt;    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;lower&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;bye&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
        &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Pythonaibrain : &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="k"&gt;break&lt;/span&gt;

    &lt;span class="c1"&gt;# Display the chatbot's response
&lt;/span&gt;    &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sa"&gt;f&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Pythonaibrain : &lt;/span&gt;&lt;span class="si"&gt;{&lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Step 4: How It Works
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Brain Initialization&lt;/strong&gt;: &lt;code&gt;Brain()&lt;/code&gt; automatically loads &lt;code&gt;intents.json&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Training&lt;/strong&gt;: &lt;code&gt;brain.train()&lt;/code&gt; teaches the AI to recognize patterns and respond.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Saving&lt;/strong&gt;: &lt;code&gt;brain.save()&lt;/code&gt; stores the trained model for future use.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chat Loop&lt;/strong&gt;: Keeps asking the user for input until &lt;code&gt;"bye"&lt;/code&gt; is typed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Processing Messages&lt;/strong&gt;: &lt;code&gt;brain.process_messages(query, False)&lt;/code&gt; generates AI responses.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Step 5: Try It Out
&lt;/h2&gt;

&lt;p&gt;Run your Python file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python chatbot.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then start chatting with your AI! Try saying &lt;strong&gt;Hi&lt;/strong&gt;, &lt;strong&gt;Hello&lt;/strong&gt;, or &lt;strong&gt;Bye&lt;/strong&gt;, and watch how it responds intelligently.&lt;/p&gt;




&lt;h2&gt;
  
  
  Optional Enhancements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Add more intents to handle more conversations.&lt;/li&gt;
&lt;li&gt;Integrate with a GUI (Tkinter or CustomTkinter) for a visual chatbot.&lt;/li&gt;
&lt;li&gt;Save conversations to a log file.&lt;/li&gt;
&lt;li&gt;Connect it with Telegram, Discord, or a web app.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Building your own AI chatbot is easier than ever with &lt;strong&gt;Pythonaibrain v1.1.8&lt;/strong&gt;. You’ve learned how to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Define intents in JSON&lt;/li&gt;
&lt;li&gt;Train and save your chatbot&lt;/li&gt;
&lt;li&gt;Run an interactive chat loop&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now it’s your turn experiment, add more features, and make your AI smarter! 🚀&lt;/p&gt;




&lt;p&gt;For more check it out &lt;a href="https://github.com/DivyanshuSinha136/Pythonaibrain-v1.1.8/blob/main/README.md" rel="noopener noreferrer"&gt;Pythonaibrain v1.1.8&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>tutorial</category>
      <category>pythonaibrain</category>
    </item>
    <item>
      <title>What exactly is AI in the form of Large Language Models (LLMs), and how do they process language?</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Fri, 26 Sep 2025 13:57:46 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/what-exactly-is-ai-in-the-form-of-large-language-models-llms-and-how-do-they-process-language-26f0</link>
      <guid>https://dev.to/divyanshusinha136/what-exactly-is-ai-in-the-form-of-large-language-models-llms-and-how-do-they-process-language-26f0</guid>
      <description>&lt;p&gt;So, Large Language Models (LLMs) are a form of artificial intelligence that predict the next word in a sequence by performing billions of matrix multiplications on token embeddings. These models learn statistical patterns in language from massive datasets, using deep neural networks (transformers) to encode context, attention mechanisms to weigh relationships, and gradient-based optimization to update millions or billions of parameters.&lt;/p&gt;

&lt;p&gt;Each word or subword in the input is first converted into a token embedding, which is a high-dimensional vector representing its semantic meaning. These embeddings are then processed through multiple layers of the transformer network. Within each layer, self-attention mechanisms allow the model to determine which tokens in the sequence are most relevant to predicting the next word, effectively capturing context across long sentences or paragraphs.&lt;/p&gt;

&lt;p&gt;The model outputs a probability distribution over the entire vocabulary for the next token. The token with the highest probability is selected as the predicted word. During training, the model compares its predictions with the actual words from the dataset, calculates the loss, and uses gradient descent to adjust millions or billions of parameters to improve accuracy.&lt;/p&gt;

&lt;p&gt;LLMs are highly versatile and can perform a variety of language tasks such as text generation, summarization, translation, question-answering, and even code generation. Their power comes from learning statistical relationships in massive datasets, not from true human understanding. By stacking more layers and increasing the number of parameters, these models can capture increasingly complex patterns in language, making them one of the most advanced tools in modern AI.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>llm</category>
      <category>deeplearning</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Build Your Own Powerful AI Assistant Offline With Pythonaibrain</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Fri, 05 Sep 2025 03:04:31 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/build-your-own-powerful-ai-assistant-offline-with-pythonaibrain-4n16</link>
      <guid>https://dev.to/divyanshusinha136/build-your-own-powerful-ai-assistant-offline-with-pythonaibrain-4n16</guid>
      <description>&lt;p&gt;Ever dreamed of creating your own smart AI assistant that runs completely offline? Meet &lt;em&gt;Pythonaibrain&lt;/em&gt; a Python package that makes building advanced AI super easy and powerful.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Install Pythonaibrain&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Just run:&lt;br&gt;&lt;br&gt;
&lt;code&gt;pip install pythonaibrain==1.1.8&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Your First AI Brain&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaitk&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Brain&lt;/span&gt;

&lt;span class="n"&gt;brain&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Brain&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;intents.json&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# give your dataset
&lt;/span&gt;&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;train&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;# train it
&lt;/span&gt;&lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;save&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="c1"&gt;# save it
# if already trained then simply load your model no need to train and save it again
# brain.load()
&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;brain&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;process&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nf"&gt;input&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Enter your message : &lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;# If want to add you python function, use function mapping 
# brain = Brain("intents.json", name_of_your_function = &amp;lt;function name&amp;gt;)
# like
# def p():
#     return "Hello"
# brain= Brain("intents.json", hello= p)
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This simple code loads the AI brain and gets a response to your input.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>python</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Pythonaibrain 1.1.8</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Thu, 28 Aug 2025 18:36:41 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/pythonaibrain-118-dpp</link>
      <guid>https://dev.to/divyanshusinha136/pythonaibrain-118-dpp</guid>
      <description>&lt;h1&gt;
  
  
  PythonAIBrain v1.1.8 – Build Smarter AI in Python
&lt;/h1&gt;

&lt;p&gt;Hey Developers! 👋&lt;/p&gt;

&lt;p&gt;I’m excited to share the &lt;strong&gt;latest preview of Pythonaibrain v1.1.8&lt;/strong&gt; your plug-and-play Python package to build &lt;strong&gt;offline intelligent AI assistants&lt;/strong&gt; and apps effortlessly.&lt;/p&gt;

&lt;p&gt;Check it out here: &lt;a href="https://pythonaibrain-1-1-8.hashnode.space/default-guide/pythonaibrain-118" rel="noopener noreferrer"&gt;Pythonaibrain v1.1.8 Docs&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What’s New in v1.1.8
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Text-to-Speech (TTS):&lt;/strong&gt; Make your AI talk with natural voice.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Image-to-Text (ITT/OCR):&lt;/strong&gt; Extract text from images with improved accuracy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PDF &amp;amp; PPT Extraction:&lt;/strong&gt; Pull text easily from PDFs and PowerPoint slides.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Camera &amp;amp; Eye Modules:&lt;/strong&gt; AI vision is now smarter and clearer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context &amp;amp; Memory:&lt;/strong&gt; Long-term and short-term memory management for smarter conversations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Brain &amp;amp; Advanced Brain:&lt;/strong&gt; Faster and better reasoning for your AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GUI, Web &amp;amp; Socket Support:&lt;/strong&gt; Build apps with graphical interfaces, web compatibility, and real-time communication.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Why Pythonaibrain?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Perfect for beginners and experienced developers.&lt;/li&gt;
&lt;li&gt;Build chatbots, virtual assistants, or AI-powered applications in minutes.&lt;/li&gt;
&lt;li&gt;Offline AI capability means you don’t need a cloud connection to get started.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  🔗 Links
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation:&lt;/strong&gt; &lt;a href="https://pythonaibrain-1-1-8.hashnode.space/default-guide/pythonaibrain-118" rel="noopener noreferrer"&gt;Pythonaibrain v1.1.8 Preview&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PyPI:&lt;/strong&gt; &lt;a href="https://pypi.org/project/pythonaibrain/" rel="noopener noreferrer"&gt;Pythonaibrain on PyPI&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I’d love to hear your thoughts!&lt;br&gt;
Have you tried Pythonaibrain yet? What kind of AI project are you planning to build?&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>programming</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Build a Secure XOR-Encrypted Chat Client in Python with Pythonaibrain-Client (1.0.4)</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Fri, 15 Aug 2025 19:44:42 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/build-a-secure-xor-encrypted-chat-client-in-python-with-pythonaibrain-client-104-m4b</link>
      <guid>https://dev.to/divyanshusinha136/build-a-secure-xor-encrypted-chat-client-in-python-with-pythonaibrain-client-104-m4b</guid>
      <description>&lt;h1&gt;
  
  
  Pythonaibrain-Client
&lt;/h1&gt;

&lt;p&gt;&lt;strong&gt;Secure Encrypted Socket Client powered by Pythonaibrain v1.1.9&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;pythonaibrain-client&lt;/code&gt; is a Python terminal chat client that enables &lt;strong&gt;secure, encrypted, multi-client communication&lt;/strong&gt; using XOR encryption. It works seamlessly with &lt;strong&gt;Pythonaibrain v1.1.9 server&lt;/strong&gt;, supporting AI-enabled or regular chat.&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 Features
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Secure messaging with XOR cipher encryption&lt;/li&gt;
&lt;li&gt;Supports multiple clients (2, 3, or more) on the same server&lt;/li&gt;
&lt;li&gt;Multi-threaded send/receive for real-time chatting&lt;/li&gt;
&lt;li&gt;Cross-platform terminal commands (&lt;code&gt;clear&lt;/code&gt; / &lt;code&gt;cls&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Easy CLI usage via &lt;code&gt;client-server&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Optional GUI integration using Tkinter, PySide6, or CustomTkinter&lt;/li&gt;
&lt;li&gt;Emoji reactions, private messages, typing indicators&lt;/li&gt;
&lt;li&gt;Daily chat logs for persistent storage&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📁 Project Structure
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
pythonaibrain-client/
├── pyaibrain/
│   └── client/
│       ├── **init**.py       # Main client code
│       └── .env              # Encryption key, host, and port
├── pyproject.toml            # Project metadata &amp;amp; dependencies
├── README.md                 # This file
└── LICENSE                   # MIT License

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  ⚡ Getting Started
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Prerequisites
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Python 3.8 or higher&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pip&lt;/code&gt; installed&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Installation
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pip &lt;span class="nb"&gt;install &lt;/span&gt;pythonaibrain-client
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Connecting to the Server
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Install &lt;strong&gt;pythonaibrain v1.1.9&lt;/strong&gt; which contains the AI server.&lt;/li&gt;
&lt;li&gt;Start the server:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pyaibrain-server   &lt;span class="c"&gt;# For normal chat&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Run the client:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;client-server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Enter your alias and start chatting securely.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  📝 Usage Example
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;pyaibrain.client&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;ClientServer&lt;/span&gt;

&lt;span class="n"&gt;cServer&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;ClientServer&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;cServer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;serve&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  🛠️ Commands
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;clear&lt;/code&gt; / &lt;code&gt;cls&lt;/code&gt;
&lt;/td&gt;
&lt;td&gt;Clear terminal screen&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/pm &amp;lt;alias&amp;gt; &amp;lt;msg&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Send private message&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/list&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show connected clients&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/about&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Show client info&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/quit&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Disconnect from server&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;/react &amp;lt;alias&amp;gt; &amp;lt;emoji&amp;gt;&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;React to last message&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  🔐 Encryption Details
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Messages are XOR-encrypted using the key from &lt;code&gt;.env&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Note:&lt;/strong&gt; XOR is for demonstration; use stronger encryption for production.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  👀 Preview
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDivyanshuSinha136%2Fpythonaibrain-client%2Fmain%2FScreenshot%2520%28153%29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDivyanshuSinha136%2Fpythonaibrain-client%2Fmain%2FScreenshot%2520%28153%29.png" alt="Chat Preview 1" width="800" height="451"&gt;&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDivyanshuSinha136%2Fpythonaibrain-client%2Fmain%2FScreenshot%2520%28152%29.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FDivyanshuSinha136%2Fpythonaibrain-client%2Fmain%2FScreenshot%2520%28152%29.png" alt="Chat Preview 2" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  ✍️ Author
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Divyanshu Sinha&lt;/strong&gt;&lt;br&gt;
Email: &lt;a href="mailto:divyanshu.sinha136@gmail.com"&gt;divyanshu.sinha136@gmail.com&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  📄 License
&lt;/h2&gt;

&lt;p&gt;GNU LESSER GENERAL PUBLIC LICENSE — see &lt;a href="https://github.com/DivyanshuSinha136/TIGER-All-Photos/blob/main/LIC/License.txt" rel="noopener noreferrer"&gt;License&lt;/a&gt;&lt;br&gt;
 for details.&lt;/p&gt;

&lt;p&gt;This version emphasizes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Compatibility with &lt;strong&gt;pythonaibrain v1.1.9&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Multi-client encrypted chat.&lt;/li&gt;
&lt;li&gt;AI server optional usage.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>python</category>
      <category>cli</category>
      <category>programming</category>
      <category>ai</category>
    </item>
    <item>
      <title>🔔 Pythonaibrain v1.1.9 — Upcoming Release</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Sun, 13 Jul 2025 19:33:35 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/pythonaibrain-v119-upcoming-release-48m0</link>
      <guid>https://dev.to/divyanshusinha136/pythonaibrain-v119-upcoming-release-48m0</guid>
      <description>&lt;p&gt;The next version of &lt;strong&gt;Pythonaibrain&lt;/strong&gt; is coming soon with exciting new features and improvements!&lt;/p&gt;




&lt;h2&gt;
  
  
  🚀 What’s New in Version 1.1.9?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TTS (Text-To-Speech):&lt;/strong&gt; Enhanced natural voice output for more lifelike conversations.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ITT (Image-To-Text):&lt;/strong&gt; Improved accuracy in extracting text from images (OCR).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PTT (PDF-To-Text) &amp;amp; PPTExtractor:&lt;/strong&gt; Better support for extracting text from PDFs and PowerPoint slides.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Camera &amp;amp; Eye Modules:&lt;/strong&gt; Upgraded AI vision capabilities — now your bot can &lt;em&gt;see&lt;/em&gt; more clearly.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context &amp;amp; Custom Memory:&lt;/strong&gt; Smarter context handling with advanced Long Term Memory (LTM) and Short Term Memory (STM) management.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Brain &amp;amp; Advanced Brain:&lt;/strong&gt; Performance improvements in AI reasoning and response generation.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;GUI, Web, and Socket Support:&lt;/strong&gt; Expanded support for building apps with graphical interfaces, web compatibility, and real-time communication.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  🎯 Why Upgrade?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Build more &lt;strong&gt;intelligent and interactive chatbots&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Handle &lt;strong&gt;multimodal inputs&lt;/strong&gt; (text, images) seamlessly
&lt;/li&gt;
&lt;li&gt;Create &lt;strong&gt;custom AI assistants&lt;/strong&gt; with persistent memory and context awareness
&lt;/li&gt;
&lt;li&gt;Develop &lt;strong&gt;real-time applications&lt;/strong&gt; with socket and web integration&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  📅 Release Date
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Expected launch:&lt;/strong&gt; August 1, 2025&lt;br&gt;&lt;br&gt;
Mark your calendar and get ready to upgrade your AI projects!&lt;/p&gt;




&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4w7o815qr5qoiggc87h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4w7o815qr5qoiggc87h.png" alt="Pythonaibrain Preview — Overview of upcoming modules and features" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx646sr4t2y9ls8yl1eec.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx646sr4t2y9ls8yl1eec.png" alt="Diagram showing integration of Text-To-Speech, Image-To-Text, and PDF processing in Pythonaibrain" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7pmsdjb2c95fbtvadn2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fw7pmsdjb2c95fbtvadn2.png" alt="Screenshot of Pythonaibrain's MathAI" width="800" height="451"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fxdqzofnwekzo6erfeijp.png" alt="Architecture diagram of Pythonaibrain showing GUI, Web, and Socket support integration" width="800" height="451"&gt;
&lt;/h2&gt;

&lt;h2&gt;
  
  
  🔖 Tags
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
markdown
#python  #ai  #code  #programming
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>programming</category>
      <category>code</category>
    </item>
    <item>
      <title>PythonAI Brain v1.0.8</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Mon, 09 Jun 2025 10:43:45 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/pythonai-brain-v102-1l78</link>
      <guid>https://dev.to/divyanshusinha136/pythonai-brain-v102-1l78</guid>
      <description>&lt;p&gt;🚀 Just released: &lt;code&gt;pythonaibrain&lt;/code&gt; – A Plug-and-Play Python AI Assistant Framework&lt;/p&gt;

&lt;p&gt;Hi everyone! I'm excited to share &lt;strong&gt;&lt;code&gt;pythonaibrain&lt;/code&gt;&lt;/strong&gt;, an open-source Python package designed to help you build offline AI assistants and intelligent applications — without needing deep ML or AI expertise.&lt;/p&gt;

&lt;p&gt;🧠 What it offers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ Text-To-Speech&lt;/li&gt;
&lt;li&gt;✅ Natural Language Understanding (NLU)&lt;/li&gt;
&lt;li&gt;✅ Chatbot intent handling (&lt;code&gt;intents.json&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;✅ Flask API support for web-based deployment&lt;/li&gt;
&lt;li&gt;✅ Camera&lt;/li&gt;
&lt;li&gt;✅ Context&lt;/li&gt;
&lt;li&gt;✅ PDF-To-Text&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;📦 PyPI: &lt;a href="https://pypi.org/project/pythonaibrain/1.0.8/" rel="noopener noreferrer"&gt;https://pypi.org/project/pythonaibrain/1.0.8/&lt;/a&gt;  &lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://github.com/World-Of-Programming-And-Technology/PythonAIBrain-v1.0.8" rel="noopener noreferrer"&gt;View PythonAIBrain on GitHub&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You can download &lt;strong&gt;&lt;code&gt;intents.json&lt;/code&gt;&lt;/strong&gt; from given GitHub link.&lt;/p&gt;

&lt;p&gt;🧰 Ideal for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Python developers&lt;/li&gt;
&lt;li&gt;AI assistant creators&lt;/li&gt;
&lt;li&gt;Automation enthusiasts&lt;/li&gt;
&lt;li&gt;Students &amp;amp; researchers looking for an AI starter toolkit&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;💡 I'd love your feedback, contributions, or suggestions!&lt;/p&gt;

</description>
      <category>python</category>
      <category>ai</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>🧠 Pythonaibrain</title>
      <dc:creator>Divyanshu Sinha</dc:creator>
      <pubDate>Sat, 24 May 2025 08:37:21 +0000</pubDate>
      <link>https://dev.to/divyanshusinha136/pythonai-brain-2h5m</link>
      <guid>https://dev.to/divyanshusinha136/pythonai-brain-2h5m</guid>
      <description>&lt;p&gt;Make your first AI Assistant in Python with just an intents.json file. No complex setup. No advanced coding. Just install, configure, and run!&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Features
&lt;/h2&gt;

&lt;p&gt;✅ Simple setup using JSON-based intents&lt;/p&gt;

&lt;p&gt;🧠 Built-in NER (Named Entity Recognition) training&lt;/p&gt;

&lt;p&gt;🔁 AI prediction and response handling&lt;/p&gt;

&lt;p&gt;📚 Easy to integrate into chatbots&lt;/p&gt;

&lt;h2&gt;
  
  
  🔧 Installation
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;pip install pythonaibrain&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🧪 Quick Start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create an intents.json file like this:&lt;br&gt;
&lt;code&gt;{&lt;br&gt;
"intents": [&lt;br&gt;
{&lt;br&gt;
  "tag": "greeting",&lt;br&gt;
  "patterns": ["Hi", "Hello", "How are you?"],&lt;br&gt;
  "responses": ["Hello!", "Hi there!", "Greetings!"]&lt;br&gt;
},&lt;br&gt;
{&lt;br&gt;
  "tag": "goodbye",&lt;br&gt;
  "patterns": ["Bye", "See you", "Goodbye"],&lt;br&gt;
  "responses": ["Goodbye!", "Take care!", "See you soon!"]&lt;br&gt;
}&lt;br&gt;
]&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create your Python file:&lt;br&gt;
`&lt;br&gt;
from os import system&lt;br&gt;
from pyai import Brain&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;brain = Brain("your/dataset/path/intents.json") # Enter Path of your dataset.&lt;/p&gt;

&lt;p&gt;while True:&lt;br&gt;
    message = input('Message : ')&lt;br&gt;
    message_type = brain.predict_message_type(message)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if message_type == 'Question' or message_type == "Answer":
    brain.pyai_say(brain.process_messages(message))

if message_type == "Shutdown":
    system(message)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;`&lt;/p&gt;

&lt;h2&gt;
  
  
  📦 Project Links
&lt;/h2&gt;

&lt;p&gt;📌 PyPI: &lt;a href="https://pypi.org/project/pythonaibrain/1.0.1/" rel="noopener noreferrer"&gt;https://pypi.org/project/pythonaibrain/1.0.1/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🌐 GitHub: &lt;a href="https://github.com/World-Of-Programming-And-Technology/PythonAI" rel="noopener noreferrer"&gt;https://github.com/World-Of-Programming-And-Technology/PythonAI&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ How It Works
&lt;/h2&gt;

&lt;p&gt;NER Training: Tags patterns with named entities&lt;/p&gt;

&lt;p&gt;Model Building: Learns from examples using deep learning&lt;/p&gt;

&lt;p&gt;Prediction Engine: Returns the best matching response for input&lt;/p&gt;

&lt;h2&gt;
  
  
  ❗ Trouble?
&lt;/h2&gt;

&lt;p&gt;If you see an error like:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;ValueError: num_samples should be a positive integer value, but got num_samples=0&lt;/code&gt;&lt;br&gt;
Make sure your intents.json has at least one tag with non-empty patterns.&lt;/p&gt;

&lt;h2&gt;
  
  
  📜 License
&lt;/h2&gt;

&lt;p&gt;LGPL-2.1 license – feel free to use, modify, and share!&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
    </item>
  </channel>
</rss>
