Flink SQL Gateway Python Client
A client library for accessing Flink Job Manager REST API (mostly generated by OpenAPI Generator)
Compartibility Overview
| API Versions | Compatible Flink Versions | Comment | |
|---|---|---|---|
| API V1 | flink-1.16.2 -> flink-2.1 | Allow users to submit statements to the gateway and execute. |
Usage
First, create a client:
from flink_job_manager_api import Client
from flink_job_manager_api.api.default import get_cluster_overview, get_dashboard_configuration
from flink_job_manager_api.models import DashboardConfiguration
BASE_URL = "http://localhost:8081"
# Sync Client:
with Client(BASE_URL) as client:
response: ClusterOverviewWithVersion = get_cluster_overview.sync(client=client)
print(f"Flink version: {response.flink_version}")
print(f"Flink commit: {response.flink_commit}")
print(f"Jobs cancelled: {response.jobs_cancelled}")
print(f"Jobs failed: {response.jobs_failed}")
print(f"Jobs finished: {response.jobs_finished}")
print(f"Jobs running: {response.jobs_running}")
print(f"Slots available: {response.slots_available}")
print(f"Slots free and blocked: {response.slots_free_and_blocked}")
print(f"Slots total: {response.slots_total}")
print(f"Taskmanagers: {response.taskmanagers}")
print(f"Taskmanagers blocked: {response.taskmanagers_blocked}")
# Async Client:
async with Client(BASE_URL) as client:
response = await get_dashboard_configuration.asyncio(client=client)
Advanced customizations
Developer
- Quick start
# code gen
make gen
make release
# release production
make release_production
- Manual release
# 1. test, exit if fail
cd $(rev-parse --show-toplevel)/flink-job-manager-api && pytest tests
# 2. check current version
cd $(rev-parse --show-toplevel)
cat flink-job-manager-api/pyproject.toml | grep version
version=$(cat flink-job-manager-api/pyproject.toml| grep version | cut -d '"' -f2)
# 3. tag & release
release_tag='VERSION_TO_BE_SET'
poetry -C flink-job-manager-api/flink-job-manager-api/ version $release_tag
cd $(rev-parse --show-toplevel)
git add -u
git commit -m
git tag -d $release_tag || true
git tag "release-$version"
git push origin "release-$version"
Metadata
Release files for flink-job-manager-api 1.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| flink_job_manager_api-1.0.2.tar.gz | 61.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| flink_job_manager_api-1.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 277.3 kB
Release files / flink_job_manager_api-1.0.2.tar.gz
| Download URL | flink_job_manager_api-1.0.2.tar.gz |
|---|---|
| Size | 61.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7498b5adbde2398c441ade14257eadd586b766b3e516c78b69a7b017fcaea690
|
|
BLAKE2b-256 checksum How to use checksums |
1fba7434eb93dc33f08ac82a0fc41214c4e313db80190a78d161fc8b59968bab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 23, 2025.
Transparency logRelease files / flink_job_manager_api-1.0.2-py3-none-any.whl
| Download URL | flink_job_manager_api-1.0.2-py3-none-any.whl |
|---|---|
| Size | 215.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0bf26b03c2b5ce71bb96ec6d873a3bbcb4a1f8b02d7bddf4300b3eefe4402d3
|
|
BLAKE2b-256 checksum How to use checksums |
693a55baa565c3efbd36a1e1f4ed65a0b9f2c8614800489b5fa7ed17e49ab9d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.12.9
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 23, 2025.
Transparency log