<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python Web Development With Fastapi Chapters on AI VOID</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/</link><description>Recent content in Python Web Development With Fastapi Chapters on AI VOID</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sat, 25 Oct 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/index.xml" rel="self" type="application/rss+xml"/><item><title>Launch Your First FastAPI App: Hello World &amp;amp; Beyond</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/launch-your-first-fastapi-app-hello-world--beyond/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/launch-your-first-fastapi-app-hello-world--beyond/</guid><description>&lt;h1 id="launch-your-first-fastapi-app-hello-world--beyond"&gt;Launch Your First FastAPI App: Hello World &amp;amp; Beyond&lt;/h1&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;p&gt;In this foundational chapter, you&amp;rsquo;ll take your very first steps into the world of FastAPI. By the end, you will be able to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up a clean Python development environment using virtual environments.&lt;/li&gt;
&lt;li&gt;Install FastAPI and Uvicorn, the server that runs your FastAPI applications.&lt;/li&gt;
&lt;li&gt;Create your first &amp;ldquo;Hello World&amp;rdquo; FastAPI application.&lt;/li&gt;
&lt;li&gt;Run your FastAPI application locally and access it from your web browser.&lt;/li&gt;
&lt;li&gt;Understand the basics of FastAPI path operations and how to define simple GET request endpoints.&lt;/li&gt;
&lt;li&gt;Return various basic responses, including strings and JSON objects.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;p&gt;Welcome to building web applications with FastAPI! We&amp;rsquo;re going to start from scratch, ensuring you have a solid foundation.&lt;/p&gt;</description></item><item><title>Dynamic Routes &amp;amp; Data: Master Path and Query Parameters</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/dynamic-routes--data-master-path-and-query-parameters/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/dynamic-routes--data-master-path-and-query-parameters/</guid><description>&lt;h2 id="chapter-title-dynamic-routes--data-master-path-and-query-parameters-covering-extracting-data-with-path-parameters-dynamic-urls-type-hinting-and-automatic-validation-for-path-parameters-query-parameters-filtering-and-optional-data"&gt;Chapter Title: Dynamic Routes &amp;amp; Data: Master Path and Query Parameters (covering: Extracting Data with Path Parameters: Dynamic URLs, Type Hinting and Automatic Validation for Path Parameters, Query Parameters: Filtering and Optional Data)&lt;/h2&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;p&gt;In this chapter, you&amp;rsquo;ll gain the skills to build more flexible and powerful APIs by learning how to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create dynamic URLs that can accept variable data, known as &lt;strong&gt;path parameters&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Extract and use data from these path parameters within your FastAPI application.&lt;/li&gt;
&lt;li&gt;Leverage Python&amp;rsquo;s &lt;strong&gt;type hinting&lt;/strong&gt; for automatic data validation and conversion of path parameters, making your API more robust.&lt;/li&gt;
&lt;li&gt;Define and utilize &lt;strong&gt;query parameters&lt;/strong&gt; to enable filtering, pagination, and provide optional data to your API endpoints.&lt;/li&gt;
&lt;li&gt;Understand how to make query parameters optional and assign default values, enhancing API usability.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;p&gt;FastAPI allows you to define routes that are not fixed but can adapt based on parts of the URL. This dynamic behavior is crucial for building real-world APIs, enabling you to retrieve specific resources or filter collections of data.&lt;/p&gt;</description></item><item><title>Handle Data Input: Pydantic Models &amp;amp; Request Bodies</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/handle-data-input-pydantic-models--request-bodies/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/handle-data-input-pydantic-models--request-bodies/</guid><description>&lt;h2 id="chapter-title-handle-data-input-pydantic-models--request-bodies"&gt;Chapter Title: Handle Data Input: Pydantic Models &amp;amp; Request Bodies&lt;/h2&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;How to receive data sent by clients using HTTP POST requests.&lt;/li&gt;
&lt;li&gt;Understanding the concept of a &amp;ldquo;request body&amp;rdquo; in API communication.&lt;/li&gt;
&lt;li&gt;How to define structured data schemas for incoming data using Pydantic&amp;rsquo;s &lt;code&gt;BaseModel&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Leveraging FastAPI&amp;rsquo;s integration with Pydantic for automatic data validation.&lt;/li&gt;
&lt;li&gt;How Pydantic automatically serializes incoming JSON data into Python objects for easy use.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;h4 id="receiving-data-with-post-requests-and-request-bodies"&gt;Receiving Data with POST Requests and Request Bodies&lt;/h4&gt;
&lt;p&gt;When clients (like a web browser, mobile app, or another server) want to send data to your API to create a new resource (e.g., a new user, a new product) or submit information, they typically use an HTTP POST request. Unlike GET requests, where data is appended to the URL as query parameters, POST requests send data in the &lt;strong&gt;request body&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Build Robust APIs: Dependencies, Errors &amp;amp; Background Tasks</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/build-robust-apis-dependencies-errors--background-tasks/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/build-robust-apis-dependencies-errors--background-tasks/</guid><description>&lt;h1 id="build-robust-apis-dependencies-errors--background-tasks"&gt;Build Robust APIs: Dependencies, Errors &amp;amp; Background Tasks&lt;/h1&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;p&gt;In this chapter, you&amp;rsquo;ll gain essential skills to build more robust and maintainable FastAPI applications. You will learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How to leverage FastAPI&amp;rsquo;s &lt;strong&gt;Dependency Injection&lt;/strong&gt; system to write reusable logic and manage shared resources.&lt;/li&gt;
&lt;li&gt;Practical applications of dependencies, such as handling &lt;strong&gt;database sessions&lt;/strong&gt; and conceptually implementing &lt;strong&gt;authentication&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;How to effectively use &lt;strong&gt;Custom HTTP Exceptions&lt;/strong&gt; to provide clear and graceful error messages in your API.&lt;/li&gt;
&lt;li&gt;How to implement &lt;strong&gt;Background Tasks&lt;/strong&gt; for performing non-blocking operations after a response has been sent.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;h4 id="dependency-injection-reusable-logic-and-shared-resources"&gt;Dependency Injection: Reusable Logic and Shared Resources&lt;/h4&gt;
&lt;p&gt;Imagine you have several API endpoints that all need to perform the same initial check, like validating an API key, getting a database connection, or fetching a specific user from a database. Copying and pasting this code into every endpoint would be tedious and error-prone. This is where &lt;strong&gt;Dependency Injection (DI)&lt;/strong&gt; comes in.&lt;/p&gt;</description></item><item><title>Your First Full CRUD API: Items Manager Project</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/your-first-full-crud-api-items-manager-project/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/your-first-full-crud-api-items-manager-project/</guid><description>&lt;h2 id="your-first-full-crud-api-items-manager-project-covering-project-setup-structuring-your-fastapi-application-implement-create-post-operations-for-items-implement-read-get-operations-all-and-by-id"&gt;Your First Full CRUD API: Items Manager Project (covering: Project Setup: Structuring Your FastAPI Application, Implement CREATE (POST) Operations for Items, Implement READ (GET) Operations: All and By ID)&lt;/h2&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;p&gt;In this chapter, you&amp;rsquo;ll embark on building your very first complete set of API operations for managing &amp;ldquo;items.&amp;rdquo; By the end, you will be able to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Structure a basic FastAPI project&lt;/strong&gt;: Organize your code into logical files for better maintainability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Define data models with Pydantic&lt;/strong&gt;: Learn how to use Pydantic &lt;code&gt;BaseModel&lt;/code&gt; to validate incoming request data and define outgoing response data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement &lt;code&gt;CREATE&lt;/code&gt; (POST) operations&lt;/strong&gt;: Create an endpoint that allows clients to add new items to your application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement &lt;code&gt;READ&lt;/code&gt; (GET) operations&lt;/strong&gt;: Build endpoints to retrieve all items and to fetch a specific item by its unique identifier.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handle in-memory data storage&lt;/strong&gt;: Understand how to simulate a database using simple Python data structures for learning purposes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;h4 id="project-setup-structuring-your-fastapi-application"&gt;Project Setup: Structuring Your FastAPI Application&lt;/h4&gt;
&lt;p&gt;As your FastAPI application grows, putting everything into a single &lt;code&gt;main.py&lt;/code&gt; file can become unwieldy. A good practice is to separate concerns. For our &lt;code&gt;Items Manager&lt;/code&gt; project, we&amp;rsquo;ll start with a simple structure:&lt;/p&gt;</description></item><item><title>Beyond The Basics: Testing, Deployment &amp;amp; Next Steps</title><link>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/beyond-the-basics-testing-deployment--next-steps/</link><pubDate>Sat, 25 Oct 2025 00:00:00 +0000</pubDate><guid>https://ai-blog.noorshomelab.dev/fastapi_beginner_course_20251025_173235/beyond-the-basics-testing-deployment--next-steps/</guid><description>&lt;h2 id="beyond-the-basics-testing-deployment--next-steps"&gt;Beyond The Basics: Testing, Deployment &amp;amp; Next Steps&lt;/h2&gt;
&lt;h3 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h3&gt;
&lt;p&gt;In this chapter, you&amp;rsquo;ll move beyond simply building API endpoints and learn how to make your applications robust and ready for the real world. You will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Understand &lt;em&gt;why&lt;/em&gt; API testing is a crucial part of the development process.&lt;/li&gt;
&lt;li&gt;Learn to write basic unit and integration tests for your FastAPI applications using FastAPI&amp;rsquo;s built-in &lt;code&gt;TestClient&lt;/code&gt; and the &lt;code&gt;pytest&lt;/code&gt; framework.&lt;/li&gt;
&lt;li&gt;Grasp the fundamental concepts of containerization and how Docker helps package and deploy FastAPI applications consistently.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="core-concepts"&gt;Core Concepts&lt;/h3&gt;
&lt;p&gt;As your FastAPI applications grow, ensuring they work as expected becomes vital. This chapter introduces you to testing and a conceptual overview of deployment, two cornerstones of professional software development.&lt;/p&gt;</description></item></channel></rss>