skillfed

futures

Backport of the concurrent.futures package from Python 3

futures v3.4.0 3.1M downloads/30d#2,740 on PyPI236
Permissive license PSF Abandoned released

What it is and what it does

This package brings Python 3's concurrent.futures module to Python 2.6 and 2.7, enabling developers to write concurrent code using thread and process pools. It is a pure backport of the standard library module, allowing Python 2 codebases to use the same executor API that Python 3 provides natively.

The package is now abandoned and should only be installed for maintaining existing Python 2 codebases. The package explicitly warns against using ProcessPoolExecutor for mission-critical work due to unfixable problems. ThreadPoolExecutor is the safer choice if you must use this backport.

Use it for:

  • Running background tasks concurrently in legacy Python 2 applications using ThreadPoolExecutor.
  • Parallelizing work across multiple threads in Python 2 codebases with ThreadPoolExecutor.
  • Conditional dependency in setup.py for packages that support both Python 2 and 3 using environment markers.
  • Maintaining existing Python 2 applications that already depend on concurrent.futures.

Worth the install?

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

Backport of Python 3's concurrent.futures module to Python 2.6 and 2.7, providing thread and process pool executors for parallel task execution.

No, unless you are actively maintaining a Python 2 codebase that requires concurrent.futures. The package is abandoned, and Python 3 includes concurrent.futures in its standard library. If you are on Python 3, do not install; if you must support Python 2, use ThreadPoolExecutor only and avoid ProcessPoolExecutor.

Install

futures on PyPI

pip

pip install futures

uv

uv add futures

poetry

poetry add futures

Installing futures

Before you install

Low install friction with no runtime dependencies. However, the package is abandoned as of 2022-10-31 with no active maintenance. Only install if you are actively maintaining legacy Python 2 code.

License in practice

Licensed under the Python Software Foundation License (permissive), which allows use in proprietary and open-source projects with minimal restrictions.

Quickstart

pip install futures

from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=4) as executor:
    future = executor.submit(some_function, arg)
    result = future.result()

Requires Python >=2.6, <3. Will not install on Python 3. ProcessPoolExecutor has known unfixable problems on Python 2 and should not be used for mission-critical work.

Verify before relying

  • Whether the known ProcessPoolExecutor issues documented in Issue 29 affect your specific use case.
  • Current state of downstream packages that may depend on this backport.
  • Whether Python 2 end-of-life status impacts your deployment environment.

Package facts

License PSF (permissive)
Python support capped below the current Python release (>=2.6, <3)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance abandoned — 1,383 days since the last release
Last repo commit
First released
Downloads 3,123,547/month — #2,740 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: futures-3.4.0-py2-none-any.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Python Software Foundation LicenseProgramming Language :: Python :: 2 :: OnlyProgramming Language :: Python :: 2.6Programming Language :: Python :: 2.7

Tags

python 2 concurrent futuresthread pool executor python 2process pool python 2parallel execution python 2background tasks python 2concurrent programming python 2
python-2-legacyconcurrency

More Software Development packages