# FastAPI

FastAPI is a Python web framework for building APIs.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Write End-to-End Tests in Your Backend's Language

DevFeed: [Write End-to-End Tests in Your Backend's Language](<https://devfeed.tech/articles/write-end-to-end-tests-in-your-backend-s-language-41361.md>)

Original publisher: [Read original article](<https://spin.atomicobject.com/write-end-to-end-tests-in-your-backends-language/>)

Author: James McConkey

Published: 2026-09-17T12:00:42Z

Content type: tutorial

Language: en

Sources: [Atomic Object](<https://devfeed.tech/sources/atomic-object.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Playwright](<https://devfeed.tech/topics/playwright.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [test data](<https://devfeed.tech/topics/test-data.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Docker Compose](<https://devfeed.tech/topics/docker-compose.md>)

Tags: [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [code](<https://devfeed.tech/tags/code.md>), [data](<https://devfeed.tech/tags/data.md>), [docker-compose](<https://devfeed.tech/tags/docker-compose.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [playwright](<https://devfeed.tech/tags/playwright.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [project-team-management](<https://devfeed.tech/tags/project-team-management.md>), [python](<https://devfeed.tech/tags/python.md>), [sqlalchemy](<https://devfeed.tech/tags/sqlalchemy.md>), [tests](<https://devfeed.tech/tags/tests.md>), [the-software-life](<https://devfeed.tech/tags/the-software-life.md>)

### AI overview

This article argues that end-to-end test-data setup is often the main design challenge, because tests must create consistent domain records while running alongside other tests. It recommends using browser-testing tools in the backend's language when possible, keeping meaningful relationships inline, and extracting small creation helpers without hiding scenario intent.

### Source excerpt

The browser is often the easiest part of an end-to-end test. Consider a test that verifies a user can complete an overdue task. The visible interaction is small: sign in, find the task, click Complete, and observe the new status. Before any of that can happen, the test needs a workspace, a user, a project, and [...] The post Write End-to-End Tests in Your Backend's Language appeared first on Atomic Spin.

## Learn How to Deploy, Secure, and Automate Full-Stack Web Apps

DevFeed: [Learn How to Deploy, Secure, and Automate Full-Stack Web Apps](<https://devfeed.tech/articles/learn-how-to-deploy-secure-and-automate-full-stack-web-apps-31472.md>)

Original publisher: [Read original article](<https://www.freecodecamp.org/news/learn-how-to-deploy-secure-and-automate-full-stack-web-apps/>)

Author: Beau Carnes

Published: 2026-09-16T15:28:18Z

Content type: tutorial

Language: en

Sources: [freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More](<https://devfeed.tech/sources/freecodecamp-programming-tutorials-python-javascript-git-more.md>)

Topics: [web applications](<https://devfeed.tech/topics/web-applications.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [GitHub Actions](<https://devfeed.tech/topics/github-actions.md>), [Vue.js](<https://devfeed.tech/topics/vue.md>), [nginx](<https://devfeed.tech/topics/nginx.md>), [firewalls](<https://devfeed.tech/topics/firewalls.md>), [Python](<https://devfeed.tech/topics/python.md>), [Cloudflare](<https://devfeed.tech/topics/cloudflare.md>), [SSL](<https://devfeed.tech/topics/ssl.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [analysis](<https://devfeed.tech/tags/analysis.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [deploy](<https://devfeed.tech/tags/deploy.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [full-stack](<https://devfeed.tech/tags/full-stack.md>), [github-actions](<https://devfeed.tech/tags/github-actions.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [web](<https://devfeed.tech/tags/web.md>), [web-apps](<https://devfeed.tech/tags/web-apps.md>), [youtube](<https://devfeed.tech/tags/youtube.md>)

### AI overview

This article introduces an 11-hour freeCodeCamp course on deploying, securing, and automating a Vue.js and FastAPI web application. It covers Ubuntu server setup, SSH hardening, firewalls, application runtimes, Meilisearch, DNS, SSL, Nginx, Cloudflare, GitHub Actions, security testing, and observability.

### Source excerpt

Taking a web application from local development to a live, secure production environment can be daunting if you've never looked under the hood. We just published a comprehensive course on the freeCode

## Grab's LLM-Kit Framework Standardizes More Than 500 Internal Agent Services

DevFeed: [Grab's LLM-Kit Framework Standardizes More Than 500 Internal Agent Services](<https://devfeed.tech/articles/grab-s-agent-framework-llm-kit-accelerates-ai-agent-production-deployment-26601.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/grab-agent-platform/>)

Author: Hien Luu

Published: 2026-09-15T09:00:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [Framework](<https://devfeed.tech/topics/framework.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Model Context Protocol](<https://devfeed.tech/topics/model-context-protocol.md>), [agent observability](<https://devfeed.tech/topics/agent-observability.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [GitLab](<https://devfeed.tech/topics/gitlab.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agents](<https://devfeed.tech/tags/agents.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [ai-ml-data-engineering](<https://devfeed.tech/tags/ai-ml-data-engineering.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [framework](<https://devfeed.tech/tags/framework.md>), [gitlab](<https://devfeed.tech/tags/gitlab.md>), [grab-agent-platform](<https://devfeed.tech/tags/grab-agent-platform.md>), [ml-data-engineering](<https://devfeed.tech/tags/ml-data-engineering.md>), [model-context-protocol](<https://devfeed.tech/tags/model-context-protocol.md>), [news](<https://devfeed.tech/tags/news.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [vault](<https://devfeed.tech/tags/vault.md>)

### AI overview

Grab's internal LLM-Kit framework standardizes more than 500 agent services by providing shared scaffolding for evaluation, tracing, secret handling, service discovery, and tool-server connections. The article reports that deploying a new agent service now takes about one hour instead of two weeks or more.

### Source excerpt

Grab has implemented LLM-Kit, a framework that standardizes over 500 internal agent services. This system enhances service integration, evaluation, and secret handling, reducing the time to deploy new AI agents from two weeks to one hour. It centralizes infrastructure management, allowing runtime tool discovery and flexible model integration, while maintaining operational control. By Hien Luu

## How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory in Python

DevFeed: [How to Orchestrate Multi-Call Conversations with an LLM and Twilio Conversation Memory in Python](<https://devfeed.tech/articles/how-to-orchestrate-multi-call-conversations-with-an-llm-and-twilio-conversation-memory-in-python-26247.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/orchestrate-multi-call-conversations-with-llm-twilio-conversation-memory-python>)

Author: Amanda Lange, Dylan Frankcom

Published: 2026-09-14T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [API](<https://devfeed.tech/topics/api.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [llm](<https://devfeed.tech/tags/llm.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [pycharm](<https://devfeed.tech/tags/pycharm.md>), [python](<https://devfeed.tech/tags/python.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [voice](<https://devfeed.tech/tags/voice.md>)

### AI overview

This tutorial shows how to build a Python FastAPI voice agent that uses Twilio Conversation Memory to preserve caller context, preferences, and action history across separate phone calls. It also covers connecting to OpenAI, exposing local webhooks with ngrok, and calling the Conversation Memory REST API asynchronously.

### Source excerpt

Learn how to build a Python FastAPI voice agent that uses Twilio Conversation Memory to remember callers across separate phone calls, so if someone hangs up and calls back, the agent picks up right where the conversation left off.

## Encore for Python

DevFeed: [Encore for Python](<https://devfeed.tech/articles/encore-for-python-17794.md>)

Original publisher: [Read original article](<https://encore.dev/blog/encore-py>)

Author: Ivan Cernja

Published: 2026-09-14T00:00:00Z

Content type: article

Language: en

Sources: [Encore Updates](<https://devfeed.tech/sources/encore-updates.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [AWS IAM](<https://devfeed.tech/topics/aws-iam.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Cloud](<https://devfeed.tech/topics/cloud.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [postgresql clusters](<https://devfeed.tech/topics/postgresql-clusters.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [coding-agents](<https://devfeed.tech/tags/coding-agents.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [git](<https://devfeed.tech/tags/git.md>), [iam](<https://devfeed.tech/tags/iam.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [python](<https://devfeed.tech/tags/python.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

Encore is introducing Encore.py, an upcoming beta that brings Encore's type-safe infrastructure primitives to Python and works alongside frameworks such as FastAPI. The article describes how application-level resource declarations can drive infrastructure provisioning while platform teams retain control over environment-specific settings in AWS, GCP, Terraform, or existing infrastructure. It also highlights preview environments where coding agents can implement and verify features against infrastructure configured to resemble production.

### Source excerpt

An early look at Encore for Python, entering beta soon.

## How to Connect Your Twilio Agent to External APIs in Python

DevFeed: [How to Connect Your Twilio Agent to External APIs in Python](<https://devfeed.tech/articles/how-to-connect-your-twilio-agent-to-external-apis-in-python-16103.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/how-to-connect-twilio-agent-to-external-apis-python>)

Author: Amanda Lange, Dylan Frankcom

Published: 2026-09-12T00:00:00Z

Content type: tutorial

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [voice ai](<https://devfeed.tech/topics/voice-ai.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [OpenAI](<https://devfeed.tech/topics/openai.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [apis](<https://devfeed.tech/tags/apis.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [ngrok](<https://devfeed.tech/tags/ngrok.md>), [openai](<https://devfeed.tech/tags/openai.md>), [python](<https://devfeed.tech/tags/python.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [visual-studio-code](<https://devfeed.tech/tags/visual-studio-code.md>), [voice-ai](<https://devfeed.tech/tags/voice-ai.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This tutorial explains how to connect a Twilio voice agent to an external REST API using Python and FastAPI. It demonstrates using LLM tool calling to fetch live data and take actions on a caller's behalf.

### Source excerpt

Learn how to connect a Twilio voice agent to an external API using Python, so it can fetch real-time data and take action on a caller's behalf.

## FastAPI frontends and static files served from the CDN

DevFeed: [FastAPI frontends and static files served from the CDN](<https://devfeed.tech/articles/fastapi-frontends-and-static-files-served-from-the-cdn-930.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/fastapi-frontends-and-static-files-served-from-the-cdn>)

Author: Daniel Park

Published: 2026-09-10T17:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [mount](<https://devfeed.tech/topics/mount.md>)

Tags: [cdn](<https://devfeed.tech/tags/cdn.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [mount](<https://devfeed.tech/tags/mount.md>), [tool](<https://devfeed.tech/tags/tool.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel now promotes FastAPI frontends and static files served through app.frontend() or StaticFiles to the Vercel CDN at build time, allowing matching requests to bypass Vercel Functions. Route precedence is preserved, while dependency-protected frontends and middleware-protected static files remain on the function unless configured otherwise.

### Source excerpt

FastAPI frontends and static files, served with app.frontend() or StaticFiles, are now promoted to the Vercel CDN at build time. Requests for those paths are served directly from the CDN, without invoking your Vercel Function. FastAPI evaluates routes in declaration order. A route declared before a StaticFiles mount takes priority over any CDN file at that path. This precedence is preserved. Promoted source directories remain in the function bundle so the app can read from them at runtime. To exclude them and serve only from the CDN, set tool.vercel.fastapi.static.exclude = true in pyproject.toml. Frontends guarded by dependencies are kept on the function as the CDN cannot run dependency checks. Similarly, static files which sit behind middleware are also kept on the function. To override this and always promote to CDN, set tool.vercel.fastapi.static.cdn = true. To opt out of the CDN entirely, set it to false instead. For more information see the Vercel FastAPI documentation. Read more

## Deploying a RAG Chatbot with Shared State and Storage Across Replicas

DevFeed: [Deploying a RAG Chatbot with Shared State and Storage Across Replicas](<https://devfeed.tech/articles/static-vs-dynamic-vs-continuous-batching-in-llms-clearly-explained-18242.md>)

Original publisher: [Read original article](<https://blog.dailydoseofds.com/p/static-vs-dynamic-vs-continuous-batching>)

Author: Avi Chawla

Published: 2026-09-01T21:11:23Z

Content type: tutorial

Language: en

Sources: [Daily Dose of Data Science](<https://devfeed.tech/sources/daily-dose-of-data-science.md>)

Topics: [Retrieval-Augmented Generation](<https://devfeed.tech/topics/retrieval-augmented-generation.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Terraform](<https://devfeed.tech/topics/terraform.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [LangChain](<https://devfeed.tech/topics/langchain.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [fastapi](<https://devfeed.tech/tags/fastapi.md>), [github](<https://devfeed.tech/tags/github.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [pgvector](<https://devfeed.tech/tags/pgvector.md>), [python](<https://devfeed.tech/tags/python.md>), [rag](<https://devfeed.tech/tags/rag.md>), [retrieval](<https://devfeed.tech/tags/retrieval.md>), [terraform](<https://devfeed.tech/tags/terraform.md>)

### AI overview

The article explains why a RAG chatbot that works locally can lose vector indexes, conversation history, and documents when deployed across multiple replicas. It recommends shared persistence for embeddings, checkpointed conversation state, and shared object storage, with examples using Postgres, pgvector, LangGraph, and object storage.

### Source excerpt

+ a popular LLM interview question.

## A Starlette middleware guide for FastAPI and Python developers

DevFeed: [A Starlette middleware guide for FastAPI and Python developers](<https://devfeed.tech/articles/a-starlette-middleware-guide-for-fastapi-and-python-developers-20057.md>)

Original publisher: [Read original article](<https://www.honeybadger.io/blog/starlette-middleware/>)

Author: Aditya Raj

Published: 2026-08-28T07:00:00Z

Content type: tutorial

Language: en

Sources: [Honeybadger](<https://devfeed.tech/sources/honeybadger.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [auth](<https://devfeed.tech/tags/auth.md>), [cors](<https://devfeed.tech/tags/cors.md>), [developers](<https://devfeed.tech/tags/developers.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [guide](<https://devfeed.tech/tags/guide.md>), [logging](<https://devfeed.tech/tags/logging.md>), [middleware](<https://devfeed.tech/tags/middleware.md>), [python](<https://devfeed.tech/tags/python.md>), [python-articles](<https://devfeed.tech/tags/python-articles.md>), [starlette](<https://devfeed.tech/tags/starlette.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This guide explains how middleware works in Starlette and FastAPI applications. It covers built-in middleware, custom middleware using pure ASGI and BaseHTTPMiddleware, and execution order when multiple middleware layers process requests and responses.

### Source excerpt

Starlette middlewares let you apply logging, auth, and CORS across every route in a web app without duplicating code. This article covers Starlette's built-in middlewares, building custom ones with pure ASGI and BaseHTTPMiddleware, and the execution-order rules that keep your FastAPI applications secure and fast. Read on to learn how to build and order Starlette middlewares the right way.

## Python projects now support routing rules

DevFeed: [Python projects now support routing rules](<https://devfeed.tech/articles/python-projects-now-support-routing-rules-1055.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/python-projects-now-support-routing-rules>)

Author: Ricardo Gonzalez

Published: 2026-08-26T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Python](<https://devfeed.tech/topics/python.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Django](<https://devfeed.tech/topics/django.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [automation](<https://devfeed.tech/tags/automation.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [cli](<https://devfeed.tech/tags/cli.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [routing](<https://devfeed.tech/tags/routing.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel now supports routing rules for Python projects, allowing response headers and request rewrites to internal paths for FastAPI, Django, and Flask applications. Rules are evaluated by the Vercel CDN before requests reach the application and can take effect immediately without a new deployment.

### Source excerpt

Python projects can now use routing rules to set response headers or rewrite requests to internal paths, including apps built with FastAPI, Django, and Flask. The Vercel CDN evaluates rules before requests reach your application, so changes apply without a new deployment. For example, this FastAPI app serves a /new route: To send requests for /old to that route, create a rewrite from the CDN tab in your project dashboard or with the Vercel CLI: Published rules take effect immediately across all regions, and you can roll back to a previous version from the History tab. You can also manage rules from Python with the vercel SDK, which wraps the Vercel REST API. add_route stages the rule, and update_route_version publishes it: Rewrites can also be defined in vercel.json: Project-level rules live outside your deployment and are evaluated before its routes, so a published rule takes precedence over a vercel.json rewrite for the same path. Each surface fits a different workflow: How you define it Takes effect Best for CDN tab in the dashboard On publish Editing and testing rules visually Vercel CLI On publish One-off changes from the terminal vercel Python SDK or REST API On publish Automation and CI/CD vercel.json On each deployment Rewrites that ship with the application code Update Vercel CLI to the latest version and read the routing documentation to get started. Read more

## Keeping Documentation Honest with an OpenAPI Snapshot Diff

DevFeed: [Keeping Documentation Honest with an OpenAPI Snapshot Diff](<https://devfeed.tech/articles/keeping-documentation-honest-with-an-openapi-snapshot-diff-34111.md>)

Original publisher: [Read original article](<https://philipptheserver.com/posts/openapi-docs-contract-test/>)

Author: Philipp Lehmann (philipp.lehmann@gruppe.ai)

Published: 2026-08-25T07:00:00Z

Content type: tutorial

Language: en

Sources: [Philipp Lehmann](<https://devfeed.tech/sources/philipp-lehmann.md>)

Topics: [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Pytest](<https://devfeed.tech/topics/pytest.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [JSON](<https://devfeed.tech/topics/json.md>), [test](<https://devfeed.tech/topics/test.md>)

Tags: [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [ci](<https://devfeed.tech/tags/ci.md>), [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [json](<https://devfeed.tech/tags/json.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [pytest](<https://devfeed.tech/tags/pytest.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

The article explains how to keep API documentation aligned with a FastAPI application by generating its OpenAPI schema from the running code, comparing it with a committed snapshot in CI, normalizing the JSON diff, and requiring deliberate snapshot regeneration.

### Source excerpt

FastAPI app.openapi() snapshot test in pytest: fail CI when the live OpenAPI schema drifts from the committed openapi.snapshot.json.

## How Fly.io logging works and how to collect application logs

DevFeed: [How Fly.io logging works and how to collect application logs](<https://devfeed.tech/articles/a-comprehensive-guide-to-fly-io-logging-20051.md>)

Original publisher: [Read original article](<https://www.honeybadger.io/blog/fly-io-logging/>)

Author: Muhammed Ali

Published: 2026-08-13T07:00:00Z

Content type: tutorial

Language: en

Sources: [Honeybadger](<https://devfeed.tech/sources/honeybadger.md>)

Topics: [fly.io](<https://devfeed.tech/topics/fly-io.md>), [Logging](<https://devfeed.tech/topics/logging.md>), [App](<https://devfeed.tech/topics/app.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [devops-articles](<https://devfeed.tech/tags/devops-articles.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [fly-io](<https://devfeed.tech/tags/fly-io.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [logging](<https://devfeed.tech/tags/logging.md>), [streams](<https://devfeed.tech/tags/streams.md>), [vector](<https://devfeed.tech/tags/vector.md>)

### AI overview

This tutorial explains how Fly.io collects and routes application logs, including output from standard output and standard error. It also demonstrates a FastAPI application that generates different log messages and describes handling logs with Honeybadger.

### Source excerpt

Logging is an import part of debugging an app. Without a good method of catching errors or logs in general, you would end up with uncaught issues and could also lose valuable customers in the process. Read this article to learn how to effectively handle logs on Fly.io.

## Building an AI Agent for LinkedIn Scraping & Candidate Sourcing

DevFeed: [Building an AI Agent for LinkedIn Scraping & Candidate Sourcing](<https://devfeed.tech/articles/building-an-ai-agent-for-linkedin-scraping-candidate-sourcing-39409.md>)

Original publisher: [Read original article](<https://blog.pranshu-raj.in/posts/linkedin-scraping-full/>)

Author: Pranshu Raj

Published: 2026-07-23T00:00:00Z

Content type: tutorial

Language: en

Sources: [Pranshu Raj - blog on backend systems, performance and sidequests](<https://devfeed.tech/sources/pranshu-raj-blog-on-backend-systems-performance-and-sidequests.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [GitHub](<https://devfeed.tech/topics/github.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [async](<https://devfeed.tech/tags/async.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [github](<https://devfeed.tech/tags/github.md>), [llms](<https://devfeed.tech/tags/llms.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [python](<https://devfeed.tech/tags/python.md>), [recruiting](<https://devfeed.tech/tags/recruiting.md>), [scraping](<https://devfeed.tech/tags/scraping.md>)

### AI overview

A developer describes building an AI-powered LinkedIn candidate-sourcing agent for a hackathon. The Python and FastAPI application combines LinkedIn and GitHub profile discovery, six-factor candidate scoring, and Llama-powered personalized outreach, using external services for search and LinkedIn data retrieval.

### Source excerpt

How I built an AI agent that scrapes LinkedIn, scores candidates, and generates personalized outreach, a full recruiting sourcing pipeline in Python and FastAPI.

## WebSocket support is now available for Python Functions

DevFeed: [WebSocket support is now available for Python Functions](<https://devfeed.tech/articles/websocket-support-is-now-available-for-python-functions-1198.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/websocket-support-is-now-available-for-python-functions>)

Author: Ricardo Gonzalez

Published: 2026-07-23T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Python](<https://devfeed.tech/topics/python.md>), [Vercel](<https://devfeed.tech/topics/vercel.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Django](<https://devfeed.tech/topics/django.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [AI Chat](<https://devfeed.tech/topics/ai-chat.md>), [client](<https://devfeed.tech/topics/client.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [applications](<https://devfeed.tech/tags/applications.md>), [code](<https://devfeed.tech/tags/code.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [communication](<https://devfeed.tech/tags/communication.md>), [django](<https://devfeed.tech/tags/django.md>), [examples](<https://devfeed.tech/tags/examples.md>), [features](<https://devfeed.tech/tags/features.md>), [flask](<https://devfeed.tech/tags/flask.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [python](<https://devfeed.tech/tags/python.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [server](<https://devfeed.tech/tags/server.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel has added WebSocket support for Python applications and Functions. The feature supports bidirectional client-server communication for real-time use cases such as interactive AI streaming, chat, and multiplayer collaboration, with compatibility for ASGI and WSGI applications including FastAPI, Django, and Flask.

### Source excerpt

Vercel now supports WebSocket connections for Python applications. WebSockets enable bidirectional communication between client- and server-side code, powering real-time features like interactive AI streaming, real-time chat, and multiplayer live collaboration. Both ASGI and WSGI applications are supported, including frameworks like FastAPI, Django, and Flask. Explore the FastAPI AI Chat and Flask AI Chat examples, or read the WebSockets documentation to get started. Read more

## Learning Path: FastAPI: Python API Development With Light Speed

DevFeed: [Learning Path: FastAPI: Python API Development With Light Speed](<https://devfeed.tech/articles/learning-path-fastapi-python-api-development-with-light-speed-4379.md>)

Original publisher: [Read original article](<https://realpython.com/learning-paths/fastapi/>)

Author: Real Python

Published: 2026-07-22T12:00:00Z

Content type: tutorial

Language: en

Sources: [Real Python](<https://devfeed.tech/sources/real-python.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [API](<https://devfeed.tech/topics/api.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [CRUD](<https://devfeed.tech/topics/crud.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-documentation](<https://devfeed.tech/tags/api-documentation.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [python](<https://devfeed.tech/tags/python.md>), [rest](<https://devfeed.tech/tags/rest.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [validation](<https://devfeed.tech/tags/validation.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

This learning path teaches Python developers how to build REST APIs and complete web applications with FastAPI. It covers automatic validation, serialization, interactive documentation, Pydantic data models, CRUD operations, Jinja2-rendered web pages, and a URL shortener project.

### Source excerpt

Learn FastAPI from the ground up. Build REST APIs, serve web pages with Jinja2 templates, and create a complete URL shortener project in Python.

## Starlette vs FastAPI: what FastAPI actually adds

DevFeed: [Starlette vs FastAPI: what FastAPI actually adds](<https://devfeed.tech/articles/starlette-vs-fastapi-what-fastapi-actually-adds-20058.md>)

Original publisher: [Read original article](<https://www.honeybadger.io/blog/starlette-vs-fastapi/>)

Author: Farhan Hasin Chowdhury

Published: 2026-07-20T07:00:00Z

Content type: comparison

Language: en

Sources: [Honeybadger](<https://devfeed.tech/sources/honeybadger.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [OpenAPI Specification](<https://devfeed.tech/topics/openapi.md>), [Dependency injection](<https://devfeed.tech/topics/dependency-injection.md>), [Python](<https://devfeed.tech/topics/python.md>), [WebSocket](<https://devfeed.tech/topics/websocket.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [cors](<https://devfeed.tech/tags/cors.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [dependency-injection](<https://devfeed.tech/tags/dependency-injection.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [openapi](<https://devfeed.tech/tags/openapi.md>), [python](<https://devfeed.tech/tags/python.md>), [python-articles](<https://devfeed.tech/tags/python-articles.md>), [starlette](<https://devfeed.tech/tags/starlette.md>), [websocket](<https://devfeed.tech/tags/websocket.md>)

### AI overview

This comparison explains how FastAPI builds on Starlette and Pydantic. Starlette provides the ASGI-based HTTP layer, while Pydantic handles typed data validation; FastAPI adds type-driven parameter parsing, dependency injection, and automatic OpenAPI documentation. It also discusses when using raw Starlette may be preferable.

### Source excerpt

FastAPI is built on Starlette, but most developers never look at what's underneath. Learn what FastAPI actually adds on top of Starlette and Pydantic, what comes straight from Starlette, and when dropping down to raw Starlette makes more sense than pulling in the full stack.

## Vercel Services: Run full stack on Vercel

DevFeed: [Vercel Services: Run full stack on Vercel](<https://devfeed.tech/articles/vercel-services-run-full-stack-on-vercel-787.md>)

Original publisher: [Read original article](<https://vercel.com/blog/vercel-services-run-full-stack-on-vercel>)

Author: Joe Haddad

Published: 2026-06-30T04:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Next.js](<https://devfeed.tech/topics/next-js.md>), [Developer experience](<https://devfeed.tech/topics/developer-experience.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Network Configuration](<https://devfeed.tech/topics/network-configuration.md>), [Python](<https://devfeed.tech/topics/python.md>)

Tags: [cli](<https://devfeed.tech/tags/cli.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [next-js](<https://devfeed.tech/tags/next-js.md>), [rest](<https://devfeed.tech/tags/rest.md>), [routing](<https://devfeed.tech/tags/routing.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Services is introduced in public beta as a way to run multiple frameworks in one Vercel Project. It supports coordinated deployments and previews, internal service communication, shared routing, service bindings, centralized logs, and local multi-service development for full-stack applications.

### Source excerpt

To a user, an app with a Next.js frontend and a FastAPI backend feels like one product, and the same should be true for the engineers who build it. Instead, the two pieces are often deployed across different clouds with different development and deployment workflows. Today we're introducing Vercel Services in public beta, which lets you run multiple frameworks in one Vercel Project. This unlocks: Atomic deployments: Your frontend, backend, and other services stay in sync and deploy or roll back together Shared preview deployments: See how any change affects all your services Internal service communication: Services can talk to each other without routing through the public Internet Vercel handles the rest: routing, builds, deployments, and auto-scaling in production. The developer experience you already know from Vercel now covers your entire application. Compose applications with Vercel Services Declare your services under the services key in vercel.json keeping the routing configuration explicit: Services can be mounted to a shared routing table without the need for a reverse proxy or CORS. The services configuration is recognized at multiple levels of the Vercel platform: The Deployments panel shows a visualization of services graph The Logs UI allows filtering by individual service The vercel dev CLI automatically runs all services giving you a production-like environment locally Service bindings Services can talk to other services internally, without routing through the public Internet. Here's an example how the new bindings configuration key enables that: Now the JavaScript frontend code can talk to the Python service internally via the URL stored in the BACKEND_INTERNAL_URL environment variable: Service-to-service traffic stays on the Vercel network rather than egressing to the public internet. Many independent services can become one application connected by the same wiring, rather than separate deployments that you stitch together across hosts. Framework-def

## Run multiple frameworks in one project with Vercel Services

DevFeed: [Run multiple frameworks in one project with Vercel Services](<https://devfeed.tech/articles/run-multiple-frameworks-in-one-project-with-vercel-services-1077.md>)

Original publisher: [Read original article](<https://vercel.com/changelog/run-multiple-frameworks-in-one-project-with-vercel-services>)

Author: Yury Selivanov

Published: 2026-06-30T00:00:00Z

Content type: release

Language: en

Sources: [Vercel News](<https://devfeed.tech/sources/vercel-news.md>)

Topics: [Vercel](<https://devfeed.tech/topics/vercel.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Express](<https://devfeed.tech/topics/express.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Hono](<https://devfeed.tech/topics/honojs.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Go](<https://devfeed.tech/topics/go.md>), [Routing (disambiguation)](<https://devfeed.tech/topics/routing.md>), [Rust](<https://devfeed.tech/topics/rust.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [backends](<https://devfeed.tech/tags/backends.md>), [cli](<https://devfeed.tech/tags/cli.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [go](<https://devfeed.tech/tags/go.md>), [routing](<https://devfeed.tech/tags/routing.md>), [rust](<https://devfeed.tech/tags/rust.md>), [ui](<https://devfeed.tech/tags/ui.md>), [vercel](<https://devfeed.tech/tags/vercel.md>)

### AI overview

Vercel Services lets developers deploy multiple frontend and backend services using different frameworks within one Vercel project. Services share a domain, communicate privately through service bindings, and build, preview, and roll back together.

### Source excerpt

You can now deploy multiple frontends and backends together within a single Vercel project. Vercel Services is now available, allowing you to deploy full stack apps with multiple frameworks on a shared domain, where services talk to each other privately and deployments build, preview, and roll back together. Services are defined in vercel.json: From there, your services show up across the dashboard and CLI: The Deployments panel visualizes the services graph The Logs UI filters by individual service vercel dev runs every service locally for a production-like environment Service bindings Services talk to each other internally with the new bindings key, without routing through the public internet: The frontend reaches the backend privately through the URL in BACKEND_INTERNAL_URL: Framework-defined infrastructure Most frameworks run with zero configuration. Framework-defined infrastructure means each service's framework is auto-detected and auto-provisioned, from FastAPI and Flask to Express and Hono, with first-class support for Go and Rust. Services run on Fluid compute with Active CPU pricing, so you only pay for the time your code is actually running. Read the documentation to get started. Read more

## Building a Stateful IT Service Desk Agent with LangGraph on Amazon EKS

DevFeed: [Building a Stateful IT Service Desk Agent with LangGraph on Amazon EKS](<https://devfeed.tech/articles/building-a-stateful-it-service-desk-agent-with-langgraph-on-amazon-eks-4747.md>)

Original publisher: [Read original article](<https://aws.amazon.com/blogs/opensource/building-a-stateful-it-service-desk-agent-with-langgraph-on-amazon-eks/>)

Author: Sunil Ramachandra

Published: 2026-06-26T14:16:08Z

Content type: tutorial

Language: en

Sources: [AWS Open Source Blog](<https://devfeed.tech/sources/aws-open-source-blog.md>)

Topics: [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Amazon EKS](<https://devfeed.tech/topics/amazon-eks.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Amazon DynamoDB](<https://devfeed.tech/topics/amazon-dynamodb.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [OpenTelemetry](<https://devfeed.tech/topics/opentelemetry.md>), [Orchestration](<https://devfeed.tech/topics/orchestration.md>), [autoscaling](<https://devfeed.tech/topics/autoscaling.md>), [Graphs](<https://devfeed.tech/topics/graphs.md>), [tracing](<https://devfeed.tech/topics/tracing.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [amazon-dynamodb](<https://devfeed.tech/tags/amazon-dynamodb.md>), [amazon-eks](<https://devfeed.tech/tags/amazon-eks.md>), [amazon-elastic-kubernetes-service](<https://devfeed.tech/tags/amazon-elastic-kubernetes-service.md>), [autoscaling](<https://devfeed.tech/tags/autoscaling.md>), [backend](<https://devfeed.tech/tags/backend.md>), [graphs](<https://devfeed.tech/tags/graphs.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [opentelemetry](<https://devfeed.tech/tags/opentelemetry.md>), [orchestration](<https://devfeed.tech/tags/orchestration.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [tracing](<https://devfeed.tech/tags/tracing.md>)

### AI overview

This article presents a stateful IT service desk AI agent built with LangGraph. It autonomously handles routine Level 1 support requests, escalates complex issues with context, persists state in Amazon DynamoDB, and uses Amazon EKS, FastAPI, OpenTelemetry, and Kubernetes autoscaling.

### Source excerpt

IT support teams face a persistent challenge: employees expect instant answers to common questions (VPN setup, single sign-on troubleshooting, new-hire onboarding), but novel or complex issues still require human expertise. An AI agent that confidently answers, "How do I reset my VPN?" but hallucinates a response to "My IAM Identity Center session keeps expiring after [...]

## From Contributor to Outreachy Intern: My Fedora Journey Begins

DevFeed: [From Contributor to Outreachy Intern: My Fedora Journey Begins](<https://devfeed.tech/articles/from-contributor-to-outreachy-intern-my-fedora-journey-begins-31155.md>)

Original publisher: [Read original article](<https://communityblog.fedoraproject.org/from-contributor-to-outreachy-intern-my-fedora-journey-begins/>)

Author: Aman .

Published: 2026-06-16T12:00:00Z

Content type: article

Language: en

Sources: [Fedora Community Blog](<https://devfeed.tech/sources/fedora-community-blog.md>)

Topics: [Fedora](<https://devfeed.tech/topics/fedora.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [API](<https://devfeed.tech/topics/api.md>), [release engineering](<https://devfeed.tech/topics/release-engineering.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [forgejo](<https://devfeed.tech/topics/forgejo.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Swagger](<https://devfeed.tech/topics/swagger.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [openid](<https://devfeed.tech/topics/openid.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [backend](<https://devfeed.tech/tags/backend.md>), [blog](<https://devfeed.tech/tags/blog.md>), [fedora-project-community](<https://devfeed.tech/tags/fedora-project-community.md>), [intern](<https://devfeed.tech/tags/intern.md>), [journey](<https://devfeed.tech/tags/journey.md>), [mentored-projects](<https://devfeed.tech/tags/mentored-projects.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [outreachy](<https://devfeed.tech/tags/outreachy.md>)

### AI overview

Aman describes his first two weeks as an Outreachy intern with the Fedora community. He introduces the Fedora Release Schedule Planner API project and outlines planned work on testing, CI reliability, OpenID Connect authentication, Fedora infrastructure integration, and deployment preparation.

### Source excerpt

Introduction Hi, I'm Aman, a software developer and open-source enthusiast who enjoys backend development, APIs, and building tools that are useful to others. I recently started my Outreachy internship with the Fedora community, and this is my first blog as an intern. In this post, I want to share what my first two weeks have [...] The post From Contributor to Outreachy Intern: My Fedora Journey Begins appeared first on Fedora Community Blog.

## How groundcover built a durable alert dispatch system with Temporal

DevFeed: [How groundcover built a durable alert dispatch system with Temporal](<https://devfeed.tech/articles/how-groundcover-built-a-durable-alert-dispatch-system-with-temporal-35856.md>)

Original publisher: [Read original article](<https://temporal.io/blog/how-groundcover-built-a-durable-alert-dispatch-system-with-temporal>)

Author: Yosi Zelensky

Published: 2026-05-29T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [observability](<https://devfeed.tech/topics/observability.md>), [incident](<https://devfeed.tech/topics/incident.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Go](<https://devfeed.tech/topics/go.md>), [Python](<https://devfeed.tech/topics/python.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [clickhouse](<https://devfeed.tech/topics/clickhouse.md>)

Tags: [clickhouse](<https://devfeed.tech/tags/clickhouse.md>), [community](<https://devfeed.tech/tags/community.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [go](<https://devfeed.tech/tags/go.md>), [incident](<https://devfeed.tech/tags/incident.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [observability](<https://devfeed.tech/tags/observability.md>), [python](<https://devfeed.tech/tags/python.md>)

### AI overview

groundcover describes rebuilding its alert Dispatch Center on Temporal for a managed BYOC observability platform. The article covers alert routing, lifecycle notifications, durable recovery, high-throughput fan-out, and ordering across monitored Kubernetes clusters.

### Source excerpt

How groundcover rebuilt their alert Dispatch Center on self-hosted Temporal -- two-level Workflows, deterministic IDs as routing, and at-least-once delivery.

## Issued - Small, Fast, Self-Hosted Comic Library Server

DevFeed: [Issued - Small, Fast, Self-Hosted Comic Library Server](<https://devfeed.tech/articles/issued-small-fast-self-hosted-comic-library-server-10733.md>)

Original publisher: [Read original article](<https://noted.lol/issued/>)

Author: Metalogico

Published: 2026-05-10T16:52:11Z

Content type: article

Language: en

Sources: [Noted](<https://devfeed.tech/sources/noted.md>)

Topics: [servers](<https://devfeed.tech/topics/servers.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Python](<https://devfeed.tech/topics/python.md>), [htmx](<https://devfeed.tech/topics/htmx.md>), [Tailwind CSS](<https://devfeed.tech/topics/tailwind.md>), [App](<https://devfeed.tech/topics/app.md>), [browser](<https://devfeed.tech/topics/browser.md>), [.NET](<https://devfeed.tech/topics/net.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [browser](<https://devfeed.tech/tags/browser.md>), [htmx](<https://devfeed.tech/tags/htmx.md>), [performance](<https://devfeed.tech/tags/performance.md>), [python](<https://devfeed.tech/tags/python.md>), [self-hosted](<https://devfeed.tech/tags/self-hosted.md>), [self-hosted-media-streaming-audio-streaming](<https://devfeed.tech/tags/self-hosted-media-streaming-audio-streaming.md>), [server](<https://devfeed.tech/tags/server.md>), [tailwind](<https://devfeed.tech/tags/tailwind.md>), [technology-stack](<https://devfeed.tech/tags/technology-stack.md>)

### AI overview

Issued is a small, self-hosted comic library server built with Python, FastAPI, Tailwind and HTMX. It scans CBZ and CBR files while preserving existing folder structures, provides browser and OPDS-compatible reading, and emphasizes lightweight performance for large collections.

### Source excerpt

Issued is a personal comic library server built for a simple, focused reading experience.

## Any Custom Frontend with Gradio's Backend

DevFeed: [Any Custom Frontend with Gradio's Backend](<https://devfeed.tech/articles/any-custom-frontend-with-gradio-s-backend-7293.md>)

Original publisher: [Read original article](<https://huggingface.co/blog/introducing-gradio-server>)

Author: yuvraj sharma; Abubakar Abid

Published: 2026-04-01T00:00:00Z

Content type: article

Language: en

Sources: [Hugging Face - Blog](<https://devfeed.tech/sources/hugging-face-blog.md>)

Topics: [gradio](<https://devfeed.tech/topics/gradio.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [app](<https://devfeed.tech/tags/app.md>), [backend](<https://devfeed.tech/tags/backend.md>), [claude](<https://devfeed.tech/tags/claude.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [gradio](<https://devfeed.tech/tags/gradio.md>), [html](<https://devfeed.tech/tags/html.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [server](<https://devfeed.tech/tags/server.md>), [spaces](<https://devfeed.tech/tags/spaces.md>), [vibe-coding](<https://devfeed.tech/tags/vibe-coding.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

An article introducing Gradio Server, which lets developers use custom frontends such as React, Svelte, or vanilla HTML/JavaScript while retaining Gradio's backend capabilities. It demonstrates a Text Behind Image application using a background-removal ML model, FastAPI routes, queuing, concurrency control, API access, SSE streaming, ZeroGPU, and hosting on Hugging Face Spaces.

### Source excerpt

We're on a journey to advance and democratize artificial intelligence through open source and open science.

## How to Accept Payments in a FastAPI Backend

DevFeed: [How to Accept Payments in a FastAPI Backend](<https://devfeed.tech/articles/how-to-accept-payments-in-a-fastapi-backend-9532.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/accept-payments-fastapi/>)

Author: Ayush Agarwal

Published: 2026-03-29T00:00:00Z

Content type: tutorial

Language: en

Sources: [Dodo Payments Blog](<https://devfeed.tech/sources/dodo-payments-blog.md>)

Topics: [FastAPI](<https://devfeed.tech/topics/fastapi.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Pydantic](<https://devfeed.tech/topics/pydantic.md>), [Python](<https://devfeed.tech/topics/python.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [API](<https://devfeed.tech/topics/api.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [async](<https://devfeed.tech/tags/async.md>), [backend](<https://devfeed.tech/tags/backend.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [fastapi](<https://devfeed.tech/tags/fastapi.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [merchant-of-record](<https://devfeed.tech/tags/merchant-of-record.md>), [payment-gateway](<https://devfeed.tech/tags/payment-gateway.md>), [payments](<https://devfeed.tech/tags/payments.md>), [python](<https://devfeed.tech/tags/python.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [swagger](<https://devfeed.tech/tags/swagger.md>), [tax](<https://devfeed.tech/tags/tax.md>), [validation](<https://devfeed.tech/tags/validation.md>), [verification](<https://devfeed.tech/tags/verification.md>), [webhooks](<https://devfeed.tech/tags/webhooks.md>)

### AI overview

A tutorial on integrating Dodo Payments into a FastAPI backend. It covers asynchronous checkout sessions and webhooks, Pydantic request validation, signature verification, and using verified webhook events as the source of truth for payment state.

### Source excerpt

Learn how to integrate Dodo Payments into your FastAPI backend with async webhook handlers, Pydantic validation, and secure signature verification.

[Next page](<https://devfeed.tech/topics/fastapi.md?cursor=WyIyMDI2LTAzLTI5VDAwOjAwOjAwKzAwOjAwIiwgImNlZDM5N2YzLTMwOTAtNGRkNS05YTVmLWU2ZmYxNmM3Y2NjMiJd>)