<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>PrimerPy</title>
  
  <subtitle>PrimerPy</subtitle>
  <link href="https://blog.primerpy.com/atom.xml" rel="self"/>
  
  <link href="https://blog.primerpy.com/"/>
  <updated>2026-01-10T03:14:47.623Z</updated>
  <id>https://blog.primerpy.com/</id>
  
  <author>
    <name>Isaac Zhou</name>
    
  </author>
  
  <generator uri="https://hexo.io/">Hexo</generator>
  
  <entry>
    <title>Jinja Templates with FastAPI and Tailwind CSS</title>
    <link href="https://blog.primerpy.com/2026/01/09/fastapi/jinja-templates-with-fastapi-and-tailwind-css/"/>
    <id>https://blog.primerpy.com/2026/01/09/fastapi/jinja-templates-with-fastapi-and-tailwind-css/</id>
    <published>2026-01-09T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;While FastAPI excels at building APIs, it also supports server-side rendering with Jinja2 templates. Combined with Tailwind CSS via CDN,</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="Jinja2" scheme="https://blog.primerpy.com/tags/Jinja2/"/>
    
    <category term="Tailwind CSS" scheme="https://blog.primerpy.com/tags/Tailwind-CSS/"/>
    
    <category term="Templates" scheme="https://blog.primerpy.com/tags/Templates/"/>
    
  </entry>
  
  <entry>
    <title>Deploy FastAPI to AWS - EC2, ECS, and Lambda</title>
    <link href="https://blog.primerpy.com/2026/01/08/fastapi/deploy-fastapi-to-aws/"/>
    <id>https://blog.primerpy.com/2026/01/08/fastapi/deploy-fastapi-to-aws/</id>
    <published>2026-01-08T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;FastAPI is excellent for building APIs, but getting it into production on AWS requires understanding your deployment options. This guide</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="AWS" scheme="https://blog.primerpy.com/tags/AWS/"/>
    
    <category term="Docker" scheme="https://blog.primerpy.com/tags/Docker/"/>
    
    <category term="Deployment" scheme="https://blog.primerpy.com/tags/Deployment/"/>
    
  </entry>
  
  <entry>
    <title>Richardson Maturity Model and HATEOAS - Building Truly RESTful APIs with FastAPI</title>
    <link href="https://blog.primerpy.com/2026/01/07/fastapi/richardson-maturity-model-and-hateoas-with-fastapi/"/>
    <id>https://blog.primerpy.com/2026/01/07/fastapi/richardson-maturity-model-and-hateoas-with-fastapi/</id>
    <published>2026-01-07T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Most developers claim their APIs are “RESTful,” but are they really? Leonard Richardson introduced a maturity model that classifies APIs</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="REST" scheme="https://blog.primerpy.com/tags/REST/"/>
    
    <category term="HATEOAS" scheme="https://blog.primerpy.com/tags/HATEOAS/"/>
    
    <category term="API Design" scheme="https://blog.primerpy.com/tags/API-Design/"/>
    
  </entry>
  
  <entry>
    <title>Organizing Routers in Python Web Frameworks: APIRouter vs Flask Blueprint vs Django URLconf</title>
    <link href="https://blog.primerpy.com/2026/01/06/fastapi/apirouter-vs-flask-blueprint-vs-django-urlconf/"/>
    <id>https://blog.primerpy.com/2026/01/06/fastapi/apirouter-vs-flask-blueprint-vs-django-urlconf/</id>
    <published>2026-01-06T22:30:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;APIRouter-vs-Flask-Blueprint-vs-Django-URLconf&quot;&gt;&lt;a href=&quot;#APIRouter-vs-Flask-Blueprint-vs-Django-URLconf&quot; class=&quot;headerlink&quot;</summary>
        
      
    
    
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/categories/FastAPI/"/>
    
    
    <category term="Django" scheme="https://blog.primerpy.com/tags/Django/"/>
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="Flask" scheme="https://blog.primerpy.com/tags/Flask/"/>
    
    <category term="Web Development" scheme="https://blog.primerpy.com/tags/Web-Development/"/>
    
    <category term="REST API" scheme="https://blog.primerpy.com/tags/REST-API/"/>
    
  </entry>
  
  <entry>
    <title>Testing in Python - Django vs Flask vs FastAPI</title>
    <link href="https://blog.primerpy.com/2026/01/05/pythonic/testing-python-web-frameworks-django-flask-fastapi/"/>
    <id>https://blog.primerpy.com/2026/01/05/pythonic/testing-python-web-frameworks-django-flask-fastapi/</id>
    <published>2026-01-05T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.655Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Testing is crucial for building reliable web applications. Each Python web framework has its own testing ecosystem and patterns. This</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Testing" scheme="https://blog.primerpy.com/tags/Testing/"/>
    
    <category term="pytest" scheme="https://blog.primerpy.com/tags/pytest/"/>
    
  </entry>
  
  <entry>
    <title>Integrating PostgreSQL with FastAPI - With and Without Docker</title>
    <link href="https://blog.primerpy.com/2026/01/04/fastapi/integrating-postgresql-with-fastapi/"/>
    <id>https://blog.primerpy.com/2026/01/04/fastapi/integrating-postgresql-with-fastapi/</id>
    <published>2026-01-04T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;FastAPI is a modern, high-performance Python web framework that makes building APIs a breeze. In this tutorial, we’ll explore how to</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="PostgreSQL" scheme="https://blog.primerpy.com/tags/PostgreSQL/"/>
    
    <category term="SQLAlchemy" scheme="https://blog.primerpy.com/tags/SQLAlchemy/"/>
    
  </entry>
  
  <entry>
    <title>Dockerizing Your FastAPI Application</title>
    <link href="https://blog.primerpy.com/2026/01/03/pythonic/dockerizing-your-fastapi-application/"/>
    <id>https://blog.primerpy.com/2026/01/03/pythonic/dockerizing-your-fastapi-application/</id>
    <published>2026-01-03T10:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.647Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Docker has become the standard for deploying modern applications. Combined with FastAPI’s speed and simplicity, you get a powerful</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="FastAPI" scheme="https://blog.primerpy.com/tags/FastAPI/"/>
    
    <category term="Docker" scheme="https://blog.primerpy.com/tags/Docker/"/>
    
  </entry>
  
  <entry>
    <title>Modern Flask Project Setup in 2026</title>
    <link href="https://blog.primerpy.com/2026/01/02/flask/modern-flask-project-setup-2026/"/>
    <id>https://blog.primerpy.com/2026/01/02/flask/modern-flask-project-setup-2026/</id>
    <published>2026-01-02T12:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.627Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Flask remains one of the most popular Python web frameworks in 2026, known for its simplicity and flexibility. This guide walks you</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Flask" scheme="https://blog.primerpy.com/tags/Flask/"/>
    
    <category term="uv" scheme="https://blog.primerpy.com/tags/uv/"/>
    
  </entry>
  
  <entry>
    <title>Getting Started with uv - The Modern Python Package Manager</title>
    <link href="https://blog.primerpy.com/2026/01/01/pythonic/getting-started-with-uv-the-modern-python-package-manager/"/>
    <id>https://blog.primerpy.com/2026/01/01/pythonic/getting-started-with-uv-the-modern-python-package-manager/</id>
    <published>2026-01-01T12:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.647Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Python dependency management has historically been fragmented across multiple tools: &lt;code&gt;pip&lt;/code&gt;, &lt;code&gt;pip-tools&lt;/code&gt;,</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="uv" scheme="https://blog.primerpy.com/tags/uv/"/>
    
  </entry>
  
  <entry>
    <title>What&#39;s New in Django 6.0 - A Complete Guide</title>
    <link href="https://blog.primerpy.com/2025/12/31/django/whats-new-in-django-6/"/>
    <id>https://blog.primerpy.com/2025/12/31/django/whats-new-in-django-6/</id>
    <published>2025-12-31T14:00:00.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Django 6.0 was released on December 3, 2025, marking &lt;strong&gt;20 years since Django was first created&lt;/strong&gt;. This milestone release</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Django" scheme="https://blog.primerpy.com/tags/Django/"/>
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Web Framework" scheme="https://blog.primerpy.com/tags/Web-Framework/"/>
    
  </entry>
  
  <entry>
    <title>Visualizing Data in Python: An In-Depth Comparison of Python&#39;s Top Libraries</title>
    <link href="https://blog.primerpy.com/2023/02/06/pythonic/visualizing-data-in-python-an-in-depth-comparison-of-python-s-top-libraries/"/>
    <id>https://blog.primerpy.com/2023/02/06/pythonic/visualizing-data-in-python-an-in-depth-comparison-of-python-s-top-libraries/</id>
    <published>2023-02-06T14:44:53.000Z</published>
    <updated>2026-01-10T03:14:47.655Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Check out my article on &lt;a</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Visualization" scheme="https://blog.primerpy.com/tags/Visualization/"/>
    
  </entry>
  
  <entry>
    <title>An In-Depth Look at Static Methods and Class Methods in Python</title>
    <link href="https://blog.primerpy.com/2023/02/06/pythonic/an-in-depth-look-at-static-methods-and-class-methods-in-python/"/>
    <id>https://blog.primerpy.com/2023/02/06/pythonic/an-in-depth-look-at-static-methods-and-class-methods-in-python/</id>
    <published>2023-02-06T10:59:36.000Z</published>
    <updated>2026-01-10T03:14:47.643Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Check out my article on &lt;a</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Object Oriented" scheme="https://blog.primerpy.com/tags/Object-Oriented/"/>
    
  </entry>
  
  <entry>
    <title>Linux Semaphores</title>
    <link href="https://blog.primerpy.com/2022/10/18/linux/linux-semaphore/"/>
    <id>https://blog.primerpy.com/2022/10/18/linux/linux-semaphore/</id>
    <published>2022-10-18T11:05:27.000Z</published>
    <updated>2026-01-10T03:14:47.639Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Semaphores are a critical aspect of inter-process communication &lt;span&gt;&amp;#40;&lt;/span&gt;IPC&lt;span&gt;&amp;#41;&lt;/span&gt; in Linux. They are a way for</summary>
        
      
    
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/categories/Linux/"/>
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/tags/Linux/"/>
    
    <category term="Semaphore" scheme="https://blog.primerpy.com/tags/Semaphore/"/>
    
  </entry>
  
  <entry>
    <title>Linux Shared Memory</title>
    <link href="https://blog.primerpy.com/2022/10/16/linux/linux-shared-memory/"/>
    <id>https://blog.primerpy.com/2022/10/16/linux/linux-shared-memory/</id>
    <published>2022-10-16T16:21:17.000Z</published>
    <updated>2026-01-10T03:14:47.639Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;In Linux, each process has their own independent memory spaces. For any specific process, its memory cannot be accessed by the other</summary>
        
      
    
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/categories/Linux/"/>
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/tags/Linux/"/>
    
    <category term="Shared Memory" scheme="https://blog.primerpy.com/tags/Shared-Memory/"/>
    
  </entry>
  
  <entry>
    <title>Linux Multiprocessing</title>
    <link href="https://blog.primerpy.com/2022/10/14/linux/linux-multiprocessing/"/>
    <id>https://blog.primerpy.com/2022/10/14/linux/linux-multiprocessing/</id>
    <published>2022-10-14T20:24:38.000Z</published>
    <updated>2026-01-10T03:14:47.627Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;Process-0-1-and-2&quot;&gt;&lt;a href=&quot;#Process-0-1-and-2&quot; class=&quot;headerlink&quot; title=&quot;Process 0, 1 and 2&quot;&gt;&lt;/a&gt;Process 0, 1 and 2&lt;/h1&gt;&lt;p&gt;There</summary>
        
      
    
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/categories/Linux/"/>
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/tags/Linux/"/>
    
    <category term="Multiprocessing" scheme="https://blog.primerpy.com/tags/Multiprocessing/"/>
    
  </entry>
  
  <entry>
    <title>Linux Signals</title>
    <link href="https://blog.primerpy.com/2022/10/14/linux/linux-signals/"/>
    <id>https://blog.primerpy.com/2022/10/14/linux/linux-signals/</id>
    <published>2022-10-14T12:21:14.000Z</published>
    <updated>2026-01-10T03:14:47.639Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;Overview&quot;&gt;&lt;a href=&quot;#Overview&quot; class=&quot;headerlink&quot; title=&quot;Overview&quot;&gt;&lt;/a&gt;Overview&lt;/h1&gt;&lt;p&gt;Sending and receiving signals are key</summary>
        
      
    
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/categories/Linux/"/>
    
    
    <category term="Linux" scheme="https://blog.primerpy.com/tags/Linux/"/>
    
    <category term="Signals" scheme="https://blog.primerpy.com/tags/Signals/"/>
    
  </entry>
  
  <entry>
    <title>Pondering on Python OOP...again...</title>
    <link href="https://blog.primerpy.com/2022/10/13/pythonic/pondering-on-python-oop-again/"/>
    <id>https://blog.primerpy.com/2022/10/13/pythonic/pondering-on-python-oop-again/</id>
    <published>2022-10-13T19:14:27.000Z</published>
    <updated>2026-01-10T03:14:47.647Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Python has offered a number of built-in data structures e.g. &lt;code&gt;list&lt;/code&gt;, &lt;code&gt;dict&lt;/code&gt;, &lt;code&gt;set&lt;/code&gt; etc. Each&lt;br&gt;of them</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="OOP" scheme="https://blog.primerpy.com/tags/OOP/"/>
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="Class" scheme="https://blog.primerpy.com/tags/Class/"/>
    
  </entry>
  
  <entry>
    <title>Use Customized User Profile to Replace Django Default User Tables</title>
    <link href="https://blog.primerpy.com/2021/04/20/django/use-customized-user-profile-to-replace-django-default-user-tables/"/>
    <id>https://blog.primerpy.com/2021/04/20/django/use-customized-user-profile-to-replace-django-default-user-tables/</id>
    <published>2021-04-20T22:47:19.000Z</published>
    <updated>2026-01-10T03:14:47.623Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;In Django, the default user profile table is created as &lt;code&gt;auth_user&lt;/code&gt;. Alternatively, we can create our own customized</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Django" scheme="https://blog.primerpy.com/tags/Django/"/>
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="MRO" scheme="https://blog.primerpy.com/tags/MRO/"/>
    
  </entry>
  
  <entry>
    <title>Configure Django ORM with MySQL</title>
    <link href="https://blog.primerpy.com/2021/04/20/django/configure-django-orm-with-mysql/"/>
    <id>https://blog.primerpy.com/2021/04/20/django/configure-django-orm-with-mysql/</id>
    <published>2021-04-20T15:20:00.000Z</published>
    <updated>2026-01-10T03:14:47.615Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;p&gt;Django uses sqlite as the default database. In this post, I’ll explain how to configure Django settings to connect with MySQL</summary>
        
      
    
    
    
    <category term="Python" scheme="https://blog.primerpy.com/categories/Python/"/>
    
    
    <category term="Django" scheme="https://blog.primerpy.com/tags/Django/"/>
    
    <category term="Python" scheme="https://blog.primerpy.com/tags/Python/"/>
    
    <category term="ORM" scheme="https://blog.primerpy.com/tags/ORM/"/>
    
    <category term="MySQL" scheme="https://blog.primerpy.com/tags/MySQL/"/>
    
  </entry>
  
  <entry>
    <title>Convert Decimal to Binary in C</title>
    <link href="https://blog.primerpy.com/2021/04/20/c-cpp/convert-decimal-to-binary-in-c/"/>
    <id>https://blog.primerpy.com/2021/04/20/c-cpp/convert-decimal-to-binary-in-c/</id>
    <published>2021-04-20T10:43:51.000Z</published>
    <updated>2026-01-10T03:14:47.615Z</updated>
    
    
      
      
        
        
    <summary type="html">&lt;h1 id=&quot;Convert-Decimal-to-Binary&quot;&gt;&lt;a href=&quot;#Convert-Decimal-to-Binary&quot; class=&quot;headerlink&quot; title=&quot;Convert Decimal to Binary&quot;&gt;&lt;/a&gt;Convert</summary>
        
      
    
    
    
    
    <category term="C" scheme="https://blog.primerpy.com/tags/C/"/>
    
    <category term="Learn C" scheme="https://blog.primerpy.com/tags/Learn-C/"/>
    
  </entry>
  
</feed>
