# Flask

Flask is a lightweight WSGI web application framework.

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

## Primer on Jinja Templating

DevFeed: [Primer on Jinja Templating](<https://devfeed.tech/articles/primer-on-jinja-templating-10823.md>)

Original publisher: [Read original article](<https://realpython.com/primer-on-jinja-templating/>)

Author: Philipp Acsany

Published: 2026-09-13T14:00:00Z

Content type: tutorial

Language: en

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

Topics: [Template](<https://devfeed.tech/topics/template.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [modern web development](<https://devfeed.tech/topics/modern-web-development.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Django](<https://devfeed.tech/topics/django.md>)

Tags: [building](<https://devfeed.tech/tags/building.md>), [code](<https://devfeed.tech/tags/code.md>), [content](<https://devfeed.tech/tags/content.md>), [django](<https://devfeed.tech/tags/django.md>), [features](<https://devfeed.tech/tags/features.md>), [framework](<https://devfeed.tech/tags/framework.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [html](<https://devfeed.tech/tags/html.md>), [learn](<https://devfeed.tech/tags/learn.md>), [learning](<https://devfeed.tech/tags/learning.md>), [python](<https://devfeed.tech/tags/python.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

A practical introduction to Jinja templating in Python. The tutorial covers installation, template creation and rendering, dynamic content, conditionals, loops, filters, macros, nesting, standalone text generation, and integration with Flask.

### Source excerpt

With Jinja, you can build rich templates that power the front end of your web applications. But you can use Jinja without a web framework running in the background. Anytime you want to create text files with programmatic content, Jinja can help you out.

## How to Confirm Phone Number Ownership with Lookup Identity Match in Python

DevFeed: [How to Confirm Phone Number Ownership with Lookup Identity Match in Python](<https://devfeed.tech/articles/how-to-confirm-phone-number-ownership-with-lookup-identity-match-in-python-16102.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/developers/tutorials/product/confirm-phone-number-ownership-lookup-identity-match-python>)

Author: Kelley Robinson, Dylan Frankcom

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

Content type: tutorial

Language: en

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

Topics: [API](<https://devfeed.tech/topics/api.md>), [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [account](<https://devfeed.tech/tags/account.md>), [api](<https://devfeed.tech/tags/api.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [developer-insights](<https://devfeed.tech/tags/developer-insights.md>), [fake-accounts](<https://devfeed.tech/tags/fake-accounts.md>), [flask](<https://devfeed.tech/tags/flask.md>), [fraud](<https://devfeed.tech/tags/fraud.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [python](<https://devfeed.tech/tags/python.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [validation](<https://devfeed.tech/tags/validation.md>), [verification](<https://devfeed.tech/tags/verification.md>), [verify](<https://devfeed.tech/tags/verify.md>), [zero-knowledge](<https://devfeed.tech/tags/zero-knowledge.md>)

### AI overview

This tutorial explains how to use Twilio Lookup Identity Match with Python to confirm that a person is associated with a provided phone number. It builds a simple Flask application that collects a phone number and name, then uses the API to support fraud reduction and identity verification.

### Source excerpt

Send details like name, address, or date of birth and the Identity Match API will tell you if they match a provided phone number. Reduce fraud and verify identities quickly.

## 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

## Build a Flask App with Okta for Secure OIDC Login and Authorized API Calls

DevFeed: [Build a Flask App with Okta for Secure OIDC Login and Authorized API Calls](<https://devfeed.tech/articles/build-a-flask-app-with-okta-for-secure-oidc-login-and-authorized-api-calls-15973.md>)

Original publisher: [Read original article](<https://developer.okta.com/blog/2026/07/28/flask-oauth-web-app>)

Author: Akanksha Bhasin

Published: 2026-07-28T05:00:00Z

Content type: tutorial

Language: en

Sources: [Okta Developer](<https://devfeed.tech/sources/okta-developer.md>)

Topics: [Flask](<https://devfeed.tech/topics/flask.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [API](<https://devfeed.tech/topics/api.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [flask](<https://devfeed.tech/tags/flask.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth-2-0](<https://devfeed.tech/tags/oauth-2-0.md>), [oidc](<https://devfeed.tech/tags/oidc.md>), [pkce](<https://devfeed.tech/tags/pkce.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

This tutorial explains how to build a Flask dashboard that uses Okta OpenID Connect for user sign-in and OAuth 2.0 access tokens to call a protected backend API. It also covers PKCE, custom scopes, self-service registration, and validating scopes to control API responses.

### Source excerpt

Python syntax and the flexibility of the Flask microframework make it a popular choice for quickly building web applications. While Flask provides the essentials to get you started, you'll need to tackle two critical pieces yourself: secure user authentication and authorization for your backend services. After all, how do you securely sign users into your application? And once they're signed in, how does your app fetch data from a backend service that only serves authorized requests? This tutorial shows you how to solve both. You'll build a Flask dashboard app that signs users in with Okta using OpenID Connect (OIDC). Once signed in, the app uses the resulting OAuth 2.0 access token to call a separate backend API that responds only to authorized requests. In this common pattern, a web app needs to fetch data from a protected backend service. You'll use Authlib, an OIDC client library, to configure the Authorization Code flow with Proof Key for Code Exchange (PKCE) automatically. You'll also learn how to add a custom scope to the access token and validate it on the backend to control what data the API returns. Check out the complete source code on GitHub and get started without setting it up from scratch. Table of Contents Build a Flask app with OIDC authentication Create an app integration in the Okta Admin Console Enable self-service user registration Add secure user login to a Flask application with Okta Create a basic Flask web application Configure Flask environment variables Implement the OIDC authentication logic Run the Flask OAuth web app Call a protected API with OAuth scoped tokens Build a protected users API Extend the Flask app to interact with the resource server Update the Flask UI to display protected data Test the protected API integration Learn more about OAuth and OIDC Build a Flask app with OIDC authentication In this tutorial, you'll build a simple dashboard application and learn how to: Securely sign users in to view their profile information us

## 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

## 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

## How to Add Checkout to a Flask API

DevFeed: [How to Add Checkout to a Flask API](<https://devfeed.tech/articles/how-to-add-checkout-to-a-flask-api-9562.md>)

Original publisher: [Read original article](<https://dodopayments.com/blogs/add-checkout-flask-api/>)

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: [Flask](<https://devfeed.tech/topics/flask.md>), [API](<https://devfeed.tech/topics/api.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [backend](<https://devfeed.tech/tags/backend.md>), [checkout](<https://devfeed.tech/tags/checkout.md>), [developer-tools](<https://devfeed.tech/tags/developer-tools.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [integration](<https://devfeed.tech/tags/integration.md>), [payment](<https://devfeed.tech/tags/payment.md>), [payment-processing](<https://devfeed.tech/tags/payment-processing.md>), [payments](<https://devfeed.tech/tags/payments.md>), [webhooks](<https://devfeed.tech/tags/webhooks.md>)

### AI overview

A guide to adding checkout to a Flask API using separate endpoints for checkout-session creation and payment webhooks. It explains webhook signature verification, access granting after successful payment, hosted payment links, and using Dodo Payments as a Merchant of Record layer.

### Source excerpt

Guide to integrating payment processing in Flask applications. Covers checkout endpoints, webhook routes, subscription management, and Merchant of Record compliance.

## Case Study: Modernizing a High-Traffic Streaming Platform with the AHA Stack (HTMX & Alpine.js)

DevFeed: [Case Study: Modernizing a High-Traffic Streaming Platform with the AHA Stack (HTMX & Alpine.js)](<https://devfeed.tech/articles/case-study-modernizing-a-high-traffic-streaming-platform-with-the-aha-stack-htmx-alpine-js-28522.md>)

Original publisher: [Read original article](<https://blog.risingstack.com/modernizing-a-high-traffic-streaming-platform-with-the-aha-stack/>)

Author: Daniel Bencz

Published: 2025-08-29T17:02:07Z

Content type: article

Language: en

Sources: [RisingStack](<https://devfeed.tech/sources/risingstack.md>)

Topics: [htmx](<https://devfeed.tech/topics/htmx.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [Flask](<https://devfeed.tech/topics/flask.md>)

Tags: [case-study](<https://devfeed.tech/tags/case-study.md>), [flask](<https://devfeed.tech/tags/flask.md>), [htmx](<https://devfeed.tech/tags/htmx.md>), [js](<https://devfeed.tech/tags/js.md>), [maintainability](<https://devfeed.tech/tags/maintainability.md>), [state-management](<https://devfeed.tech/tags/state-management.md>), [streaming](<https://devfeed.tech/tags/streaming.md>), [ux](<https://devfeed.tech/tags/ux.md>), [web](<https://devfeed.tech/tags/web.md>)

### AI overview

This case study describes modernizing a high-traffic streaming website for responsiveness, maintainability, business continuity, and easier developer onboarding. The existing Python Flask and Jinja site used jQuery; the team retained server-rendered architecture and adopted HTMX with Alpine.js instead of introducing a single-page application.

### Source excerpt

Our client, a leading company in the streaming industry, acquired a highly successful indie website with over 50 million unique visitors per month. The site had been built by a single developer who prioritized functionality over maintainability. While the features were mostly bug-free, the design was outdated, and the code relied on aging technologies. The [...] The post Case Study: Modernizing a High-Traffic Streaming Platform with the AHA Stack (HTMX & Alpine.js) appeared first on RisingStack Engineering.

## How to Input Unicode Characters in Maestro Android Tests: A Complete Workaround Guide

DevFeed: [How to Input Unicode Characters in Maestro Android Tests: A Complete Workaround Guide](<https://devfeed.tech/articles/how-to-input-unicode-characters-in-maestro-android-tests-a-complete-workaround-guide-25153.md>)

Original publisher: [Read original article](<https://blog.droidchef.dev/how-to-input-unicode-characters-in-maestro-android-tests-a-complete-workaround-guide/>)

Author: Ishan Khanna

Published: 2025-07-11T00:17:46Z

Content type: tutorial

Language: en

Sources: [Ishan Khanna](<https://devfeed.tech/sources/ishan-khanna.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [adb](<https://devfeed.tech/topics/adb.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Flask](<https://devfeed.tech/topics/flask.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [automation](<https://devfeed.tech/tags/automation.md>), [guide](<https://devfeed.tech/tags/guide.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [mobile-test-automation](<https://devfeed.tech/tags/mobile-test-automation.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>)

### AI overview

A tutorial describing a workaround for Unicode text input in Maestro Android tests. It uses Maestro JavaScript, a local HTTP server, and ADB Keyboard to send Unicode text through Android broadcast intents.

### Source excerpt

Learn how to overcome Maestro's Unicode input limitations on Android by building a custom HTTP server solution with ADB Keyboard. Complete implementation guide with code examples.

## Build a Basic CRUD Application With Flask-PyMongo

DevFeed: [Build a Basic CRUD Application With Flask-PyMongo](<https://devfeed.tech/articles/build-a-basic-crud-application-with-flask-pymongo-21829.md>)

Original publisher: [Read original article](<https://www.thepolyglotdeveloper.com/blog/2025/04/build-a-basic-crud-application-with-flask-pymongo/>)

Author: Anaiya Raisinghani

Published: 2025-04-26T00:37:28Z

Content type: tutorial

Language: en

Sources: [Nic Raboy](<https://devfeed.tech/sources/nic-raboy.md>)

Topics: [Flask](<https://devfeed.tech/topics/flask.md>), [Tutorial](<https://devfeed.tech/topics/tutorial.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [CRUD](<https://devfeed.tech/topics/crud.md>), [Database](<https://devfeed.tech/topics/database.md>), [Library](<https://devfeed.tech/topics/library.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [build](<https://devfeed.tech/tags/build.md>), [code](<https://devfeed.tech/tags/code.md>), [database](<https://devfeed.tech/tags/database.md>), [flask](<https://devfeed.tech/tags/flask.md>), [framework](<https://devfeed.tech/tags/framework.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [pymongo](<https://devfeed.tech/tags/pymongo.md>), [python](<https://devfeed.tech/tags/python.md>), [tutorial](<https://devfeed.tech/tags/tutorial.md>), [vscode](<https://devfeed.tech/tags/vscode.md>)

### AI overview

This tutorial explains how to build a basic CRUD application with Flask-PyMongo and MongoDB. It introduces Flask, describes Flask-PyMongo's integration and configuration features, and outlines prerequisites including MongoDB Atlas, VSCode, and Python 3.10+.

### Source excerpt

In this tutorial, we will dive head first into utilizing MongoDB's Flask-PyMongo library! We will build a basic CRUD (create, read, update, delete) Flask-PyMongo application and learn about how intuit... The post Build a Basic CRUD Application With Flask-PyMongo appeared first on DEV.

## Bypassing WAFs with the phantom $Version cookie

DevFeed: [Bypassing WAFs with the phantom $Version cookie](<https://devfeed.tech/articles/bypassing-wafs-with-the-phantom-version-cookie-7669.md>)

Original publisher: [Read original article](<https://portswigger.net/research/bypassing-wafs-with-the-phantom-version-cookie>)

Author: Zakhar Fedotkin

Published: 2024-12-04T15:03:35Z

Content type: article

Language: en

Sources: [PortSwigger Research](<https://devfeed.tech/sources/portswigger-research.md>)

Topics: [Parsing](<https://devfeed.tech/topics/parsing.md>), [HTTP](<https://devfeed.tech/topics/http.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>), [Spring Boot](<https://devfeed.tech/topics/spring-boot.md>), [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Django](<https://devfeed.tech/topics/django.md>)

Tags: [cookies](<https://devfeed.tech/tags/cookies.md>), [django](<https://devfeed.tech/tags/django.md>), [flask](<https://devfeed.tech/tags/flask.md>), [http](<https://devfeed.tech/tags/http.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [spring-boot](<https://devfeed.tech/tags/spring-boot.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

This article explains how differences between HTTP cookie parsers can be exploited to bypass web application firewalls. It examines legacy cookie features such as the phantom $Version attribute, quoted values, and octal escape sequences, with examples from Spring Boot, Apache Tomcat, and Python frameworks including Flask and Django.

### Source excerpt

HTTP cookies often control critical website features, but their long and convoluted history exposes them to parser discrepancy vulnerabilities. In this post, I'll explore some dangerous, lesser-known

## Looking at How Replit Agent Handles Databases

DevFeed: [Looking at How Replit Agent Handles Databases](<https://devfeed.tech/articles/looking-at-how-replit-agent-handles-databases-5516.md>)

Original publisher: [Read original article](<https://neon.com/blog/looking-at-how-replit-agent-handles-databases>)

Author: Sam Harrison

Published: 2024-11-08T17:59:23Z

Content type: article

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [Repl.it](<https://devfeed.tech/topics/replit.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Database Migration](<https://devfeed.tech/topics/database-migration.md>), [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Object-relational mapping](<https://devfeed.tech/topics/orm.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [API](<https://devfeed.tech/topics/api.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [api](<https://devfeed.tech/tags/api.md>), [applications](<https://devfeed.tech/tags/applications.md>), [code](<https://devfeed.tech/tags/code.md>), [database-migration](<https://devfeed.tech/tags/database-migration.md>), [databases](<https://devfeed.tech/tags/databases.md>), [development](<https://devfeed.tech/tags/development.md>), [flask](<https://devfeed.tech/tags/flask.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [html](<https://devfeed.tech/tags/html.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [orm](<https://devfeed.tech/tags/orm.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [product](<https://devfeed.tech/tags/product.md>), [python](<https://devfeed.tech/tags/python.md>), [sqlalchemy](<https://devfeed.tech/tags/sqlalchemy.md>), [web](<https://devfeed.tech/tags/web.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This article examines how Replit Agent uses natural-language prompts and AI to build and evolve a full-stack TODO application. It focuses on coordinating Flask, SQLAlchemy, Alembic migrations, and a managed Neon PostgreSQL database while updating the API, schema, and frontend together.

### Source excerpt

Replit Agent is a powerful tool within the Replit development environment that allows you to offload coding tasks using natural language and AI. By interacting with the Replit Agent, you can generate code, create applications, and modify existing features simply by asking for wha...

## How to secure Python Flask applications

DevFeed: [How to secure Python Flask applications](<https://devfeed.tech/articles/how-to-secure-python-flask-applications-8079.md>)

Original publisher: [Read original article](<https://snyk.io/blog/secure-python-flask-applications/>)

Author: Gourav Singh Bais

Published: 2024-05-21T05:00:00Z

Content type: article

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [Flask](<https://devfeed.tech/topics/flask.md>), [Python](<https://devfeed.tech/topics/python.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [ASGI](<https://devfeed.tech/topics/asgi.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [acquisition](<https://devfeed.tech/tags/acquisition.md>), [application-security](<https://devfeed.tech/tags/application-security.md>), [article](<https://devfeed.tech/tags/article.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [blog](<https://devfeed.tech/tags/blog.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [developer](<https://devfeed.tech/tags/developer.md>), [draftdotdev](<https://devfeed.tech/tags/draftdotdev.md>), [flask](<https://devfeed.tech/tags/flask.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [open-source-security](<https://devfeed.tech/tags/open-source-security.md>), [python](<https://devfeed.tech/tags/python.md>), [security-vulnerabilities](<https://devfeed.tech/tags/security-vulnerabilities.md>), [snyk-code](<https://devfeed.tech/tags/snyk-code.md>), [snyk-open-source](<https://devfeed.tech/tags/snyk-open-source.md>), [web](<https://devfeed.tech/tags/web.md>), [web-applications](<https://devfeed.tech/tags/web-applications.md>)

### AI overview

This article explains how to secure Python Flask applications. It introduces Flask and the WSGI standard, identifies common risks such as XSS, CSRF, and SQL injection, and presents insecure configuration examples alongside practices for mitigating security issues.

### Source excerpt

In this article, you'll learn about some best practices related to securing Python applications built with the Flask web application framework. You'll start by looking at some insecure configuration examples and then learn how to mitigate and fix any issues.

## Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder

DevFeed: [Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder](<https://devfeed.tech/articles/vulnerability-in-long-deprecated-openid-authentication-method-in-flask-appbuilder-32562.md>)

Original publisher: [Read original article](<https://airflow.apache.org/blog/fab-oid-vulnerability/>)

Author: Apache Airflow

Published: 2024-02-26T00:00:00Z

Content type: article

Language: en

Sources: [Apache Airflow Blog](<https://devfeed.tech/sources/apache-airflow-blog.md>)

Topics: [vulnerability](<https://devfeed.tech/topics/vulnerability.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [airflow](<https://devfeed.tech/topics/airflow.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [openid](<https://devfeed.tech/topics/openid.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [OpenID connect (OIDC)](<https://devfeed.tech/topics/oidc.md>)

Tags: [airflow](<https://devfeed.tech/tags/airflow.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [flask](<https://devfeed.tech/tags/flask.md>), [openid](<https://devfeed.tech/tags/openid.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [version](<https://devfeed.tech/tags/version.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>)

### AI overview

This article describes a vulnerability in Flask AppBuilder's long-deprecated OpenID authentication method. Users with AUTH_OID configured could be exposed to identity takeover through a forged request and an attacker-controlled OpenID service. The article recommends switching authentication methods or upgrading to Apache Airflow 2.8.2, which uses Flask AppBuilder 4.3.11.

### Source excerpt

Vulnerability in long deprecated OpenID authentication method in Flask AppBuilder Recently Islam Rzayev made us aware of a vulnerability in the long deprecated OpenID authentication method in Flask AppBuilder. This vulnerability allowed a malicious user to take over the identity of any Airflow UI user by forging a specially crafted request and implementing their own OpenID service. While this is an old, deprecated and almost not used authentication method, we still took the issue seriously. This issue ONLY affects users who have AUTH_OID set in their webserver_config.py file as AUTH_TYPE. This is a very old and deprecated authentication method that is unlikely to be used by anyone. We would like to advise even the small number of our users that still use this authentication method to take an immediate action and either upgrade to Apache Airflow 2.8.2 or switch to another authentication method (or apply a workaround we provide if they cannot do either of the above immediately). Important to stress, because many of the users might get confused by the name, OpenID is NOT the same as OpenID Connect. Those are completely different protocols and while OpenID Connect (also known as OIDC) is a modern, widely used protocol, OpenID is a legacy protocol that has been deprecated more than 10 years ago and since then has been abandoned by almost everyone in the community, including all services in Flask AppBuilder example services that supported it, so it is highly unlikely someone is still using it. Due to this highly unlikely configuration the Flask AppBuilder CVE is just "Moderate" not "Critical". It affects a very small (if any) number of users and it's not likely to be a target for an attack. However, we still advise our users who still use AUTH_OID to apply remediation. This vulnerability is fixed in Flask Appbuilder 4.3.11 and Apache Airflow 2.8.2 uses that version of Flask Application Builder. We advise users who still use this authentication method to either switch to a

## Snyk Fetch the Flag CTF 2023 writeup: Protect The Environment

DevFeed: [Snyk Fetch the Flag CTF 2023 writeup: Protect The Environment](<https://devfeed.tech/articles/snyk-fetch-the-flag-ctf-2023-writeup-protect-the-environment-8131.md>)

Original publisher: [Read original article](<https://snyk.io/blog/snyk-fetch-the-flag-ctf-2023-writeup-protect-the-environment/>)

Author: John Hammond

Published: 2023-11-30T08:00:00Z

Content type: tutorial

Language: en

Sources: [Blog RSS Feed | Snyk](<https://devfeed.tech/sources/blog-rss-feed-snyk.md>)

Topics: [ctf](<https://devfeed.tech/topics/ctf.md>), [Flask](<https://devfeed.tech/topics/flask.md>)

Tags: [awareness](<https://devfeed.tech/tags/awareness.md>), [blog](<https://devfeed.tech/tags/blog.md>), [ctf](<https://devfeed.tech/tags/ctf.md>), [developer](<https://devfeed.tech/tags/developer.md>), [external](<https://devfeed.tech/tags/external.md>), [flask](<https://devfeed.tech/tags/flask.md>), [security](<https://devfeed.tech/tags/security.md>), [snyk](<https://devfeed.tech/tags/snyk.md>)

### AI overview

This Snyk writeup explains the solution to the Protect The Environment challenge from the 2023 Fetch the Flag CTF. The challenge involves a hand-rolled Base64 encoding layer for paths that interferes with Flask's static-file handling and enables a file inclusion attack. The supplied article text is incomplete and omits parts of the exploitation details.

### Source excerpt

If you were at Snyk's 2023 Fetch the Flag and are looking for the answer to the Protect The Environment challenge, you've come to the right place. Let's walk through the solution together!

## GitHub OAuth in your Python Flask app

DevFeed: [GitHub OAuth in your Python Flask app](<https://devfeed.tech/articles/github-oauth-in-your-python-flask-app-468.md>)

Original publisher: [Read original article](<https://supabase.com/blog/oauth2-login-python-flask-apps>)

Author: Andrew Smith

Published: 2023-11-21T07:00:00Z

Content type: tutorial

Language: en

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

Topics: [Flask](<https://devfeed.tech/topics/flask.md>), [OAuth](<https://devfeed.tech/topics/oauth.md>), [OAuth 2.0](<https://devfeed.tech/topics/oauth2.md>), [Supabase](<https://devfeed.tech/topics/supabase.md>), [Authentication](<https://devfeed.tech/topics/authentication.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>), [airflow](<https://devfeed.tech/topics/airflow.md>), [CadQuery](<https://devfeed.tech/topics/cadquery.md>)

Tags: [authentication](<https://devfeed.tech/tags/authentication.md>), [callback](<https://devfeed.tech/tags/callback.md>), [flask](<https://devfeed.tech/tags/flask.md>), [github](<https://devfeed.tech/tags/github.md>), [guide](<https://devfeed.tech/tags/guide.md>), [integration](<https://devfeed.tech/tags/integration.md>), [jwt](<https://devfeed.tech/tags/jwt.md>), [oauth](<https://devfeed.tech/tags/oauth.md>), [oauth2](<https://devfeed.tech/tags/oauth2.md>), [python](<https://devfeed.tech/tags/python.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

A step-by-step guide to adding GitHub OAuth2 login to a Python Flask web app using Supabase. It covers installing the library, configuring session storage for JWTs, initializing the Supabase client, creating sign-in and callback routes, and exchanging the authorization code for a session.

### Source excerpt

A step-by-step guide on building Login with GitHub into your Python apps.

## Using GraphQL with Python - A Complete Guide

DevFeed: [Using GraphQL with Python - A Complete Guide](<https://devfeed.tech/articles/using-graphql-with-python-a-complete-guide-23257.md>)

Original publisher: [Read original article](<https://www.apollographql.com/blog/complete-api-guide>)

Author: Shadid Haque

Published: 2021-05-11T14:10:54Z

Content type: tutorial

Language: en

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

Topics: [GraphQL](<https://devfeed.tech/topics/graphql.md>), [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [API](<https://devfeed.tech/topics/api.md>), [SQLAlchemy](<https://devfeed.tech/topics/sqlalchemy.md>), [Cross-origin resource sharing (CORS)](<https://devfeed.tech/topics/cors.md>)

Tags: [apis](<https://devfeed.tech/tags/apis.md>), [extension](<https://devfeed.tech/tags/extension.md>), [flask](<https://devfeed.tech/tags/flask.md>), [graphos](<https://devfeed.tech/tags/graphos.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [python](<https://devfeed.tech/tags/python.md>), [sql](<https://devfeed.tech/tags/sql.md>), [sqlalchemy](<https://devfeed.tech/tags/sqlalchemy.md>)

### AI overview

This tutorial explains how to build a GraphQL API with Python, Flask, and Ariadne. It covers setting up a Flask web server, implementing GraphQL, composing a schema, and performing queries and mutations, with dependencies including Flask-SQLAlchemy and Flask-Cors.

### Source excerpt

We recently released an updated Python tutorial post using Strawberry and GraphOS. You can check it out here! Known for its ease of use and simplicity, Python is one of the most beloved general-purpose programming languages. And GraphQL, a declarative query language for APIs and server runtimes, pairs quite nicely with Python. Unfortunately, there are very few comprehensive learning materials out there that give you a step-by-step breakdown of how to use GraphQL with Python.

## Using Spacy for Part of Speech Tagging

DevFeed: [Using Spacy for Part of Speech Tagging](<https://devfeed.tech/articles/using-spacy-for-part-of-speech-tagging-28236.md>)

Original publisher: [Read original article](<http://fuzzyblog.io/blog/python/2020/06/24/using-spacy-for-part-of-speech-tagging.html>)

Author: Fuzzygroup

Published: 2020-06-24T00:00:00Z

Content type: tutorial

Language: en

Sources: [Scott Johnson](<https://devfeed.tech/sources/scott-johnson.md>)

Topics: [spaCy](<https://devfeed.tech/topics/spacy.md>), [Natural language processing](<https://devfeed.tech/topics/nlp.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Python](<https://devfeed.tech/topics/python.md>), [Code](<https://devfeed.tech/topics/code.md>), [API](<https://devfeed.tech/topics/api.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [JSON](<https://devfeed.tech/topics/json.md>), [Rails](<https://devfeed.tech/topics/rails.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [code](<https://devfeed.tech/tags/code.md>), [flask](<https://devfeed.tech/tags/flask.md>), [json](<https://devfeed.tech/tags/json.md>), [nlp](<https://devfeed.tech/tags/nlp.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [python](<https://devfeed.tech/tags/python.md>), [rails](<https://devfeed.tech/tags/rails.md>), [spacy](<https://devfeed.tech/tags/spacy.md>), [speech](<https://devfeed.tech/tags/speech.md>)

### AI overview

This tutorial demonstrates using spaCy, a Python natural language processing tool, for part-of-speech tagging. It covers installation, loading the English model, processing a sentence, and printing each word's part-of-speech tag and explanation. The article also considers exposing the functionality through a Flask API that returns JSON.

### Source excerpt

Part of speech tagging is a classic NLP (natural language parsing) where you give a sentence of sentence fragment to a bit of software and ask it to tell you the parts of speech. If this sounds like a 7th Grade English exercise, well, you aren't wrong ... I'm experimenting with this for an upcoming user interface where I'm hoping to use NLP techniques to lessen the amount of manual data entry. I chose to use Spacy, a Python NLP tool, for this. Here's an example of the output from Spacy: Input: ADL - Make the ansible create all the queues Output: ... ADL PROPN NNP noun, proper singular - PUNCT : punctuation mark, colon or ellipsis Make VERB VB verb, base form the DET DT determiner ansible ADJ JJ adjective create NOUN NN noun, singular or mass all DET PDT predeterminer the DET DT determiner queues NOUN NNS noun, plural I've done this type of stuff in the past using tools like Princeton's WordNET but Spacy makes this even easier that ever before. Here's all it took: pip3 install spacy python3 -m spacy download en_core_web_sm Here's the accompanying Python code. This code does two things. It starts by defining a Spacy document based on the sentence and then it iterates over the words in the sentence and gives the word tags and explanation. >>> import spacy >>> sp = spacy.load('en_core_web_sm') >>> sen = sp("ADL - Make the ansible create all the queues") >>> for word in sen: ... print(f'{word.text:{12}} {word.pos_:{10}} {word.tag_:{8}} {spacy.explain(word.tag_)}') ... ADL PROPN NNP noun, proper singular - PUNCT : punctuation mark, colon or ellipsis Make VERB VB verb, base form the DET DT determiner ansible ADJ JJ adjective create NOUN NN noun, singular or mass all DET PDT predeterminer the DET DT determiner queues NOUN NNS noun, plural I'm contemplating this for a system built in Rails and it isn't hard to envision setting up a simple Flask API that front ends a Spacy installation that does just this much and returns the result as a JSON structure. Spacy - very, very much

## Announcing Troubleshooting Monolambdas with Express.js and Flask

DevFeed: [Announcing Troubleshooting Monolambdas with Express.js and Flask](<https://devfeed.tech/articles/announcing-troubleshooting-monolambdas-with-express-js-and-flask-14069.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/announcing-troubleshooting-monolambdas>)

Author: Fernando Medina Corey

Published: 2020-03-31T00:00:00Z

Content type: release

Language: en

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

Topics: [Express](<https://devfeed.tech/topics/express.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [monitor](<https://devfeed.tech/topics/monitor.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [express](<https://devfeed.tech/tags/express.md>), [faas](<https://devfeed.tech/tags/faas.md>), [flask](<https://devfeed.tech/tags/flask.md>), [framework](<https://devfeed.tech/tags/framework.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [monitor](<https://devfeed.tech/tags/monitor.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>), [troubleshooting](<https://devfeed.tech/tags/troubleshooting.md>)

### AI overview

Serverless Framework Pro now supports automatic monitoring and troubleshooting for monolambdas built with Express.js and Flask.

### Source excerpt

You can now automatically monitor and troubleshoot monolambdas like Express.js and Flask with the Serverless Framework Pro!

## Apache Airflow 1.10.8 & 1.10.9

DevFeed: [Apache Airflow 1.10.8 & 1.10.9](<https://devfeed.tech/articles/apache-airflow-1-10-8-1-10-9-32530.md>)

Original publisher: [Read original article](<https://airflow.apache.org/blog/airflow-1.10.8-1.10.9/>)

Author: Apache Airflow

Published: 2020-02-23T00:00:00Z

Content type: release

Language: en

Sources: [Apache Airflow Blog](<https://devfeed.tech/sources/apache-airflow-blog.md>)

Topics: [airflow](<https://devfeed.tech/topics/airflow.md>), [changelog](<https://devfeed.tech/topics/changelog.md>), [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [ide](<https://devfeed.tech/topics/ide.md>)

Tags: [2](<https://devfeed.tech/tags/2.md>), [3](<https://devfeed.tech/tags/3.md>), [airflow](<https://devfeed.tech/tags/airflow.md>), [apache-airflow](<https://devfeed.tech/tags/apache-airflow.md>), [bug](<https://devfeed.tech/tags/bug.md>), [bug-fixes](<https://devfeed.tech/tags/bug-fixes.md>), [changelog](<https://devfeed.tech/tags/changelog.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [ide](<https://devfeed.tech/tags/ide.md>), [new-features](<https://devfeed.tech/tags/new-features.md>), [release](<https://devfeed.tech/tags/release.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

Apache Airflow 1.10.8 and 1.10.9 include new features, improvements, bug fixes, and documentation changes. The releases add DAG tagging and UI filtering, introduce DebugExecutor for local IDE debugging, expand manually triggered DAG options, and document configuration settings. Airflow 1.10.9 also addresses a compatibility break caused by Werkzeug 1.0.

### Source excerpt

Airflow 1.10.8 contains 160 commits since 1.10.7 and includes 4 new features, 42 improvements, 36 bug fixes, and several doc changes. We released 1.10.9 on the same day as one of the Flask dependencies (Werkzeug) released 1.0 which broke Airflow 1.10.8. Details: PyPI: https://pypi.org/project/apache-airflow/1.10.9/ Docs: https://airflow.apache.org/docs/1.10.9/ Changelog (1.10.8): http://airflow.apache.org/docs/1.10.8/changelog.html#airflow-1-10-8-2020-01-07 Changelog (1.10.9): http://airflow.apache.org/docs/1.10.9/changelog.html#airflow-1-10-9-2020-02-10 Some of the noteworthy new features (user-facing) are: Add tags to DAGs and use it for filtering in the UI (RBAC only) New Executor: DebugExecutor for Local debugging from your IDE Allow passing conf in "Add DAG Run" (Triggered Dags) view Allow dags to run for future execution dates for manually triggered DAGs (only if schedule_interval=None) Dedicated page in documentation for all configs in airflow.cfg Add tags to DAGs and use it for filtering in the UI In order to filter DAGs (e.g. by team), you can add tags in each dag. The filter is saved in a cookie and can be reset by the reset button. For example: In your Dag file, pass a list of tags you want to add to DAG object: dag = DAG( dag_id='example_dag_tag', schedule_interval='0 0 * * *', tags=['example'] ) Screenshot: Note: This feature is only available for the RBAC UI (enabled using rbac=True in [webserver] section in your airflow.cfg). Special Note / Deprecations Python 2 Python 2 has reached end of its life on Jan 2020. Airflow Master no longer supports Python 2. Airflow 1.10.* would be the last series to support Python 2. We strongly recommend users to use Python >= 3.6 Use Airflow RBAC UI Airflow 1.10.9 ships with 2 UIs, the default is non-RBAC Flask-admin based UI and Flask-appbuilder based UI. The Flask-AppBuilder (FAB) based UI is allowed Role-based Access Control and has more advanced features compared to the legacy Flask-admin based UI. This UI can be e

## Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa

DevFeed: [Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa](<https://devfeed.tech/articles/deploying-a-flask-based-rest-api-to-aws-lambda-serverless-using-zappa-26284.md>)

Original publisher: [Read original article](<https://masnun.com/deploying-flask-based-rest-api-aws-lambda-serverless-using-zappa/>)

Author: masnun

Published: 2017-11-24T15:41:25Z

Content type: tutorial

Language: en

Sources: [Abu Ashraf Masnun](<https://devfeed.tech/sources/abu-ashraf-masnun.md>)

Topics: [AWS Lambda](<https://devfeed.tech/topics/aws-lambda.md>), [Python](<https://devfeed.tech/topics/python.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>)

Tags: [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cli](<https://devfeed.tech/tags/cli.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [django](<https://devfeed.tech/tags/django.md>), [flask](<https://devfeed.tech/tags/flask.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [run](<https://devfeed.tech/tags/run.md>), [s3](<https://devfeed.tech/tags/s3.md>), [serverless](<https://devfeed.tech/tags/serverless.md>)

### AI overview

A tutorial on deploying a Flask-based REST API to AWS Lambda with Zappa. It explains how Zappa automates configuration for API Gateway and S3 and supports deploying WSGI applications, then begins covering Flask setup and AWS credentials.

### Source excerpt

I have heard about AWS Lambda and all the cool things happening in the serverless world. I have also deployed Go functions using the Apex framework for serverless deployment. But recently I have started working on some Python projects again and decided to see how well the Python community is adapting to the serverless era. [...] The post Deploying A Flask based REST API to AWS Lambda (Serverless) using Zappa appeared first on Abu Ashraf Masnun.

## Build a Python REST API with Serverless, Lambda, and DynamoDB

DevFeed: [Build a Python REST API with Serverless, Lambda, and DynamoDB](<https://devfeed.tech/articles/build-a-python-rest-api-with-serverless-lambda-and-dynamodb-14186.md>)

Original publisher: [Read original article](<https://www.serverless.com/blog/flask-python-rest-api-serverless-lambda-dynamodb>)

Author: Alex DeBrie

Published: 2017-11-16T00:00:00Z

Content type: tutorial

Language: en

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

Topics: [Serverless](<https://devfeed.tech/topics/serverless.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [aws-lambda](<https://devfeed.tech/tags/aws-lambda.md>), [cloud-computing](<https://devfeed.tech/tags/cloud-computing.md>), [dynamodb](<https://devfeed.tech/tags/dynamodb.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [faas](<https://devfeed.tech/tags/faas.md>), [flask](<https://devfeed.tech/tags/flask.md>), [framework](<https://devfeed.tech/tags/framework.md>), [function-as-a-service](<https://devfeed.tech/tags/function-as-a-service.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [lambda](<https://devfeed.tech/tags/lambda.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [serverless](<https://devfeed.tech/tags/serverless.md>), [serverless-architecture](<https://devfeed.tech/tags/serverless-architecture.md>), [serverless-framework](<https://devfeed.tech/tags/serverless-framework.md>)

### AI overview

A tutorial on building and deploying a Python REST API with Serverless, Lambda, and DynamoDB, using the Flask web framework.

### Source excerpt

Deploy a Serverless REST API in minutes using the popular Flask web framework

## Using Word2Vec to Power a Recommendation Engine

DevFeed: [Using Word2Vec to Power a Recommendation Engine](<https://devfeed.tech/articles/using-word2vec-to-power-a-recommendation-engine-15944.md>)

Original publisher: [Read original article](<https://developer.squareup.com/blog/using-word2vec-to-power-a-recommendation-engine>)

Author: Nicole Mitchell

Published: 2017-08-31T17:12:47Z

Content type: article

Language: en

Sources: [Square Corner Blog RSS Feed](<https://devfeed.tech/sources/square-corner-blog-rss-feed.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [data](<https://devfeed.tech/topics/data.md>), [App](<https://devfeed.tech/topics/app.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>)

Tags: [data](<https://devfeed.tech/tags/data.md>), [data-science](<https://devfeed.tech/tags/data-science.md>), [demo](<https://devfeed.tech/tags/demo.md>), [flask](<https://devfeed.tech/tags/flask.md>), [python](<https://devfeed.tech/tags/python.md>), [visualization](<https://devfeed.tech/tags/visualization.md>)

### AI overview

Square interns describe an Intern Hack Week project that used Word2Vec and transaction data to explore a recommendation engine for food and beverage sellers. The prototype aimed to provide neighborhood-specific pricing and menu-item insights, and was implemented as a Python Flask app with D3 visualizations for demonstration purposes.

### Source excerpt

By Nicole Mitchell & Joy Wang

## Building Microservices in Python and Flask (GitHub Project Included)

DevFeed: [Building Microservices in Python and Flask (GitHub Project Included)](<https://devfeed.tech/articles/building-microservices-in-python-and-flask-github-project-included-24958.md>)

Original publisher: [Read original article](<https://codeahoy.com/2016/07/10/writing-microservices-in-python-using-flask/>)

Author: umer

Published: 2016-07-10T00:00:00Z

Content type: tutorial

Language: en

Sources: [Code Ahoy - Articles](<https://devfeed.tech/sources/code-ahoy-articles.md>)

Topics: [Microservice](<https://devfeed.tech/topics/microservice.md>), [Flask](<https://devfeed.tech/topics/flask.md>), [Python](<https://devfeed.tech/topics/python.md>), [REST API](<https://devfeed.tech/topics/rest-api.md>), [Architecture & Design](<https://devfeed.tech/topics/architecture-design.md>), [Code](<https://devfeed.tech/topics/code.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [building](<https://devfeed.tech/tags/building.md>), [code](<https://devfeed.tech/tags/code.md>), [flask](<https://devfeed.tech/tags/flask.md>), [github](<https://devfeed.tech/tags/github.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [python](<https://devfeed.tech/tags/python.md>), [rest-api](<https://devfeed.tech/tags/rest-api.md>), [services](<https://devfeed.tech/tags/services.md>)

### AI overview

A tutorial on building microservices in Python with Flask. It uses a fictional Cinema 3 project to demonstrate separate movie, show-time, booking, and user services that communicate through a REST API, with service discovery discussed as a real-world technique.

### Source excerpt

After years of building applications and platforms using the Service Oriented Architecture, I became very interested in microservices last year. So much so that I chose the job offer based on the sole fact that it was providing me an opportunity to design and develop microservices on the AWS platform. I'll share the pros and cons of microservices in a later post. In this post, we'll see how to build microservices in Python using a light-weight framework called Flask. Unlike other web frameworks (e.g. Rails,) Flask is very flexible and doesn't force you to adopt a specific layout style for your projects. It's light-weight because it doesn't require users to use particular tools or libraries. For example, Flask doesn't come with any database access libraries. You will use extensions to add the functionality that you want. Cinema 3 I have created a fictional project called Cinema 3 that demonstrates the use of microservices using Python and Flask. In this hypothetical project, we have a few microservices working together to allow users to find movies and books tickets online. The microservices which make up the project are: Movies: Manages information related to movies e.g. title, rating, etc. Show Times: Provides show times for movies. Bookings: Handles online booking. Users: Manages user accounts for our project. The microservices talk to each other using REST API. How do they know the address (host:port) of other services? In this example, each microservice runs on a separate port so we could identify them. In real-world projects, people use more advanced techniques such as service discovery (either server or client side; consul is a popular tool that people use for this purpose.) Sample Code on GitHub Here's a link to the project on GitHub. The source code itself is pretty simple as this is just an example to give you a basic understanding of building microservices using Flask. If you have any comments or question about the project, please let me know in the commen

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