Apache Flink Libraries for Python

raw JSON →
2.2.0 verified Fri May 01 auth: no python

Python library providing Flink libraries (e.g., connectors, state backend interfaces) for building streaming applications with Apache Flink. Version 2.2.0 supports Python >=3.9. Release cadence follows Flink major versions (~1-2 years).

pip install apache-flink-libraries
error ModuleNotFoundError: No module named 'apache_flink_libraries'
cause Incorrect import path after version 2.0.0.
fix
Use 'from pyflink_libraries import ...' instead.
error ModuleNotFoundError: No module named 'pyflink'
cause Missing 'apache-flink' core package.
fix
Run 'pip install apache-flink' to install the core Flink Python API.
error pyflink_libraries.exceptions.FlinkRuntimeError: Cannot find a suitable Flink cluster
cause No Flink cluster is running or configured.
fix
Start a Flink cluster (e.g., 'docker-compose up -d') or configure local execution mode.
breaking In version 2.0+, the package structure changed from 'apache-flink-libraries' to 'pyflink_libraries' as the Python import name. Code using old imports will break.
fix Update imports to use 'pyflink_libraries' as the package name.
gotcha This library is separate from the main 'apache-flink' Python package. Do not confuse the two; install and import both if needed.
fix Install 'apache-flink' for core Flink API and 'apache-flink-libraries' for additional libraries.
gotcha The library requires a Flink cluster or a local session to run. TableEnvironment creation may fail if no Flink service is available.
fix Ensure a Flink cluster is running or use local execution with appropriate settings.

Initialize Flink table environment and use Kafka connector.

from pyflink_libraries import FlinkLibraries
from pyflink_libraries.connectors import KafkaConnector
from pyflink.table import EnvironmentSettings, TableEnvironment

# Create batch table environment
settings = EnvironmentSettings.in_batch_mode()
tenv = TableEnvironment.create(settings)

# Example: use Kafka connector
kafka = KafkaConnector(
    properties={'bootstrap.servers': 'localhost:9092'},
    topic='test-topic'
)

print('Flink Libraries %s loaded successfully' % FlinkLibraries.__version__)