skillfed

Flask-Executor

An easy to use Flask wrapper for concurrent.futures

flask-executor v1.0.0 465.3K downloads/30d#6,509 on PyPI179
Permissive license MIT Abandoned released

What it is and what it does

Flask-Executor is a thin wrapper around Python's concurrent.futures that integrates ThreadPoolExecutor and ProcessPoolExecutor into Flask applications. It lets you submit background tasks from request handlers without setting up separate worker processes or complex task queue infrastructure. The package automatically wraps submitted callables with copies of the current Flask application and request contexts, so background code can access flask.current_app, flask.request, and flask.g as if it were running in the request handler.

You can submit tasks directly via executor.submit(), store futures for later retrieval, decorate functions with @executor.job for Celery-like syntax, attach default callbacks to all futures, or configure exception propagation to surface errors from background threads. It depends only on Flask and the standard library's futures module, making it a minimal alternative to full task queues when you don't need distributed workers or persistence.

Use it for:

  • Send emails or notifications asynchronously after a user action without blocking the HTTP response.
  • Run CPU-intensive calculations in background threads while returning immediately to the client.
  • Batch process data or generate reports in the background and retrieve results later via stored futures.
  • Decorate utility functions with @executor.job to submit them like Celery tasks without a separate broker.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Flask-Executor wraps Python's concurrent.futures module to provide a lightweight in-process task queue for Flask applications, letting you submit background tasks without separate worker processes.

Yes, if you need a lightweight in-process task queue for Flask and don't require distributed workers or long-term maintenance. The package is stable and has no known vulnerabilities, but it is abandoned—no updates since early 2023. Use it for simple background tasks in small to medium applications, but plan to monitor Flask compatibility yourself or migrate to an actively maintained alternative (like Celery or RQ) if your needs grow.

Install

flask-executor on PyPI

pip

pip install flask-executor

uv

uv add flask-executor

poetry

poetry add flask-executor

Installing Flask-Executor

Before you install

Installation is straightforward with low friction. However, the package is abandoned—last release was 2022-08-18 and no commits since 2023-01-14. It will continue to work with current Flask and Python versions, but you should expect no maintenance or security updates.

License in practice

MIT license is permissive and imposes no restrictions on use or redistribution. You can use this package freely in commercial or proprietary projects.

Quickstart

pip install flask-executor

from flask import Flask
from flask_executor import Executor

app = Flask(__name__)
executor = Executor(app)

executor.submit(some_function, arg1, arg2)

Verify before relying

  • Whether the package remains compatible with recent Flask and Python versions despite being unmaintained since early 2023.
  • Whether ThreadPoolExecutor context propagation (application and request contexts) works as documented with current Flask internals.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 2 — Flask, futures
Maintenance abandoned — 1,457 days since the last release
Last repo commit
First released
Downloads 465,319/month — #6,509 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: Flask_Executor-1.0.0-py3-none-any.whl

Keywords: flask, concurrent.futures

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

flask background tasksconcurrent.futures wrapperlightweight task queueflask async jobsthreadpool executor flaskin-process task scheduling
task-queuebackground-jobsconcurrency

More Application Frameworks packages