apache/beam · warning

This version of Apache Beam has not been sufficiently…

Error message

This version of Apache Beam has not been sufficiently tested on Python %s.%s. You may encounter bugs or missing features.

What it means

On import, apache_beam/__init__.py emits a UserWarning when the running interpreter is Python 3.9 or earlier, or 3.15 or later — versions outside the officially tested support window. The pipeline still runs but features/behavior may be broken. Python 2 raises RuntimeError instead.

Solutions

  1. Upgrade (or downgrade) to a supported Python version, e.g. 3.10–3.14.
  2. Create a virtualenv/conda env pinned to a supported interpreter: `python3.12 -m venv env`.
  3. Pin python_version in CI/requirements tooling (pyenv, tox, setup.py classifiers).
  4. If you must proceed on an unsupported version, test thoroughly — the warning is non-fatal.

Example fix

# before (3.9 default)
$ python -m pip install apache-beam
# after
$ python3.12 -m venv env && source env/bin/activate
$ pip install apache-beam
Defensive patterns

Strategy: validation

Validate before calling

import sys
min_major, min_minor, max_minor = 3, 10, 14
if not (min_minor <= sys.version_info.minor <= max_minor and sys.version_info.major == 3):
    raise SystemExit(f"Use Python 3.{min_minor}-{max_minor}; found {sys.version}")

Type guard

def is_supported_python() -> bool:
  import sys
  return sys.version_info[:2] in [(3,10),(3,11),(3,12),(3,13),(3,14)]

Prevention

When it happens

Trigger: import apache_beam with sys.version_info.minor <= 9 or >= 15 (e.g. Python 3.9 EOL interpreters or brand-new 3.15 betas).

Common situations: Running Beam on an OS default Python that lags or leads supported versions; CI images with outdated Python; trying a just-released Python version before Beam supports it.

Understand the failure class

Background: "unsupported platform" / "not supported on this platform" errors: what they mean and how to fix them — this error's family across 47 libraries.

Related errors


AI-assisted analysis of apache/beam@12126d8942 (2026-09-13). Data as JSON: /api/errors/3902c3e6500c69ef. Report an issue: GitHub.

Appendix: source

Thrown at sdks/python/apache_beam/__init__.py:74

  :class:`beam.Pipeline <apache_beam.pipeline.Pipeline>`
* Text read/write transforms are available as
  :class:`beam.io.ReadFromText <apache_beam.io.textio.ReadFromText>`,
  :class:`beam.io.WriteToText <apache_beam.io.textio.WriteToText>`.

Examples
--------
The `examples subdirectory
<https://github.com/apache/beam/tree/master/sdks/python/apache_beam/examples>`_
has some examples.

"""

import sys
import warnings

if sys.version_info.major == 3:
  if sys.version_info.minor <= 9 or sys.version_info.minor >= 15:
    warnings.warn(
        'This version of Apache Beam has not been sufficiently tested on '
        'Python %s.%s. You may encounter bugs or missing features.' %
        (sys.version_info.major, sys.version_info.minor))
  pass
else:
  raise RuntimeError(
      'The Apache Beam SDK for Python is only supported on Python 3. '
      'It is not supported on Python [' + str(sys.version_info) + '].')

# pylint: disable=wrong-import-position
import apache_beam.internal.pickler
from apache_beam import coders
from apache_beam import io
from apache_beam import metrics
from apache_beam import typehints
from apache_beam import version
from apache_beam.pipeline import *
from apache_beam.pvalue import PCollection

View on GitHub (pinned to 12126d8942)